Changes

m
36 revisions imported
Line 1: Line 1:  
local BaseTable = require('Module:BaseTable')
 
local BaseTable = require('Module:BaseTable')
 
local Formatting = require('Module:Formatting')
 
local Formatting = require('Module:Formatting')
local ResourceIcons = require('Module:ResourceIcons')
+
local ResourceIcons = require('Module:Data/Asset')
 
local Ship = require('Module:Ship')
 
local Ship = require('Module:Ship')
   −
local format = require('Module:StringInterpolation').format
+
local format = require('Module:Core').format
    
local ShipRemodelListKai = BaseTable{
 
local ShipRemodelListKai = BaseTable{
_header_template = [[! colspan=5 | Before Remodel
+
_header_template = [[! colspan=6 | Before Remodel
 
! rowspan=2 style="width:30px;" | ⇒
 
! rowspan=2 style="width:30px;" | ⇒
 
! colspan=3 | After Remodel
 
! colspan=3 | After Remodel
! colspan=2 | Required Resources
+
! colspan=3 | Required Resources
 
|-
 
|-
 
! style="width: 50px;" | No.
 
! style="width: 50px;" | No.
Line 17: Line 17:  
! style="width: 30px;" | Level
 
! style="width: 30px;" | Level
 
! style="width: 30px;" | ${blueprint}
 
! style="width: 30px;" | ${blueprint}
 +
! style="width: 30px;" | ${catapult}
 
! style="width: 50px;" | No.
 
! style="width: 50px;" | No.
 
! style="width: 100px;" | Name
 
! style="width: 100px;" | Name
 
! style="width: 30px;" | Type
 
! style="width: 30px;" | Type
! style="width: 30px; text-align: center; vertical-align: middle; background-color: forestgreen;" | ${fuel}
+
! style="width: 30px; text-align: center; vertical-align: middle; background-color: darkgoldenrod;" | ${ammo}
! style="width: 30px; text-align: center; vertical-align: middle; background-color: darkgoldenrod;" | ${ammo}]],
+
! style="width: 30px; text-align: center; vertical-align: middle; background-color: lightgrey;" | ${steel}
 +
! style="width: 30px;" | ${devmat}]],
 
_header_template_bottom = [[! style="width: 50px;" | No.
 
_header_template_bottom = [[! style="width: 50px;" | No.
 
! style="width: 100px;" | Name
 
! style="width: 100px;" | Name
Line 27: Line 29:  
! style="width: 30px;" | Level
 
! style="width: 30px;" | Level
 
! style="width: 30px;" | ${blueprint}
 
! style="width: 30px;" | ${blueprint}
 +
! style="width: 30px;" | ${catapult}
 
! rowspan=2 style="width:30px;" | ⇒
 
! rowspan=2 style="width:30px;" | ⇒
 
! style="width: 50px;" | No.
 
! style="width: 50px;" | No.
 
! style="width: 100px;" | Name
 
! style="width: 100px;" | Name
 
! style="width: 30px;" | Type
 
! style="width: 30px;" | Type
! style="width: 30px; text-align: center; vertical-align: middle; background-color: forestgreen;" | ${fuel}
   
! style="width: 30px; text-align: center; vertical-align: middle; background-color: darkgoldenrod;" | ${ammo}
 
! style="width: 30px; text-align: center; vertical-align: middle; background-color: darkgoldenrod;" | ${ammo}
 +
! style="width: 30px; text-align: center; vertical-align: middle; background-color: lightgrey;" | ${steel}
 +
! style="width: 30px;" | ${devmat}
 
|-
 
|-
! colspan=5 | Before Remodel
+
! colspan=6 | Before Remodel
 
! colspan=3 | After Remodel
 
! colspan=3 | After Remodel
! colspan=2 | Required Resources]],
+
! colspan=3 | Required Resources]],
 
_columns = {
 
_columns = {
 
"id",
 
"id",
Line 43: Line 47:  
"remodel_level",
 
"remodel_level",
 
"remodel_blueprint",
 
"remodel_blueprint",
 +
"remodel_catapult",
 
"arrow",
 
"arrow",
 
"id_after",
 
"id_after",
Line 49: Line 54:  
"ammo",
 
"ammo",
 
"steel",
 
"steel",
 +
"devmat",
 
},
 
},
 
_empty_cell = [[| style="text-align: center; vertical-align: middle;" | -]],
 
_empty_cell = [[| style="text-align: center; vertical-align: middle;" | -]],
Line 58: Line 64:  
_arrow = "⇒",
 
_arrow = "⇒",
 
_question_marks = "??",
 
_question_marks = "??",
 +
_fragment_prefix = "shipremodellistkai",
 
}
 
}
   Line 69: Line 76:     
function ShipRemodelListKai:name(ship)
 
function ShipRemodelListKai:name(ship)
return {values = {value = tostring(mw.html.create('span'):attr('id', "shipremodellistkai-" .. tostring(ship:api_id() or mw.ustring.lower(mw.ustring.gsub(text, "%s+")))):wikitext(Formatting:format_link(ship:link())))}, bg_color = self._transparent, text_align = self._center_align}
+
return {values = {value = Formatting:id_span(tostring(ship:api_id() or mw.ustring.lower(mw.ustring.gsub(ship:name(), "%s+", self._dash))), self._fragment_prefix, Formatting:format_link(ship:link()))}, bg_color = self._transparent, text_align = self._center_align}
 
end
 
end
   Line 80: Line 87:  
local remodel_level = false
 
local remodel_level = false
 
if self._remodel_to then
 
if self._remodel_to then
 +
if self._remodel_to == ship:remodel_from() then
 +
self._remodel_is_reversion = true
 +
else
 +
self._remodel_is_reversion = false
 +
end
 
self._remodel_to = Ship(self._remodel_to)
 
self._remodel_to = Ship(self._remodel_to)
remodel_level = self._remodel_to:remodel_level()
+
if self._remodel_is_reversion then
 +
remodel_level = ship:remodel_to_level()
 +
else
 +
remodel_level = self._remodel_to:remodel_level()
 +
end
 
end
 
end
 
return {values = {value = remodel_level == false and self._dash or Formatting:format_stat(remodel_level)}, bg_color = self._transparent, text_align = self._center_align}
 
return {values = {value = remodel_level == false and self._dash or Formatting:format_stat(remodel_level)}, bg_color = self._transparent, text_align = self._center_align}
 
end
 
end
   −
function ShipRemodelListKai:remodel_blueprint()
+
function ShipRemodelListKai:remodel_blueprint(ship)
 
local value = self._dash
 
local value = self._dash
 
if self._remodel_to then
 
if self._remodel_to then
value = Formatting:format_blueprint_requirement_simple(self._remodel_to:remodel_blueprint(), true)
+
if self._remodel_is_reversion then
 +
value = Formatting:format_blueprint_requirement(ship:remodel_to_blueprint(), true)
 +
else
 +
value = Formatting:format_blueprint_requirement(self._remodel_to:remodel_blueprint(), true)
 +
end
 +
elseif self._remodel_to == nil then
 +
value = self._question_marks
 +
end
 +
return {values = {value = value}, bg_color = self._transparent, text_align = self._center_align}
 +
end
 +
 
 +
function ShipRemodelListKai:remodel_catapult(ship)
 +
local value = self._dash
 +
if self._remodel_to then
 +
if self._remodel_is_reversion then
 +
value = Formatting:format_catapult_requirement(ship:remodel_to_catapult(), true)
 +
else
 +
value = Formatting:format_catapult_requirement(self._remodel_to:remodel_catapult(), true)
 +
end
 
elseif self._remodel_to == nil then
 
elseif self._remodel_to == nil then
 
value = self._question_marks
 
value = self._question_marks
Line 115: Line 149:  
local name_after = self._remodel_to == nil and self._question_marks or self._dash
 
local name_after = self._remodel_to == nil and self._question_marks or self._dash
 
if self._remodel_to then
 
if self._remodel_to then
local text = select(2, self._remodel_to:link())
+
name_after = Formatting:fragment_link(tostring(self._remodel_to:api_id() or mw.ustring.lower(mw.ustring.gsub(self._remodel_to:name(), "%s+", self._dash))), self._fragment_prefix, self._remodel_to:name())
name_after = Formatting:format_link("", text, "shipremodellistkai-" .. tostring(self._remodel_to:api_id() or mw.ustring.lower(mw.ustring.gsub(text, "%s+"))))
   
end
 
end
 
return {values = {value = name_after}, bg_color = self._transparent, text_align = self._center_align}
 
return {values = {value = name_after}, bg_color = self._transparent, text_align = self._center_align}
Line 129: Line 162:  
end
 
end
   −
function ShipRemodelListKai:ammo()
+
function ShipRemodelListKai:ammo(ship)
 
local ammo = self._remodel_to == nil and self._question_marks or self._dash
 
local ammo = self._remodel_to == nil and self._question_marks or self._dash
 
if self._remodel_to then
 
if self._remodel_to then
ammo = Formatting:format_ship_code(self._remodel_to:remodel_cost().ammo)
+
if self._remodel_is_reversion then
 +
ammo = ship:remodel_to_cost().ammo
 +
else
 +
ammo = self._remodel_to:remodel_cost().ammo
 +
end
 
end
 
end
return {values = {value = ammo}, bg_color = self._transparent, text_align = self._center_align}
+
return {values = {value = ammo or self._dash}, bg_color = self._transparent, text_align = self._center_align}
 
end
 
end
   −
function ShipRemodelListKai:steel()
+
function ShipRemodelListKai:steel(ship)
 
local steel = self._remodel_to == nil and self._question_marks or self._dash
 
local steel = self._remodel_to == nil and self._question_marks or self._dash
 
if self._remodel_to then
 
if self._remodel_to then
steel = Formatting:format_ship_code(self._remodel_to:remodel_cost().steel)
+
if self._remodel_is_reversion then
 +
steel = ship:remodel_to_cost().steel
 +
else
 +
steel = self._remodel_to:remodel_cost().steel
 +
end
 +
end
 +
return {values = {value = steel or self._dash}, bg_color = self._transparent, text_align = self._center_align}
 +
end
 +
 
 +
function ShipRemodelListKai:devmat(ship)
 +
local devmat = self._remodel_to == nil and self._question_marks or self._dash
 +
if self._remodel_to then
 +
if self._remodel_is_reversion then
 +
devmat = ship:remodel_to_cost().devmat
 +
else
 +
devmat = self._remodel_to:remodel_cost().devmat
 +
end
 
end
 
end
return {values = {value = steel}, bg_color = self._transparent, text_align = self._center_align}
+
return {values = {value = devmat or self._dash}, bg_color = self._transparent, text_align = self._center_align}
 
end
 
end
   Line 152: Line 205:  
local header_icons = {
 
local header_icons = {
 
blueprint = ResourceIcons.blueprint,
 
blueprint = ResourceIcons.blueprint,
fuel = ResourceIcons.fuel,
+
catapult = ResourceIcons.prototype_deck_catapult_item,
 
ammo = ResourceIcons.ammo,
 
ammo = ResourceIcons.ammo,
 +
steel = ResourceIcons.steel,
 +
devmat = ResourceIcons.devmat,
 
}
 
}
 
for key, value in pairs(header_icons) do
 
for key, value in pairs(header_icons) do
header_icons[key] = Formatting:format_image{value, caption = Formatting:format_resource_name(key), size = key == "blueprint" and "x18px" or nil}
+
header_icons[key] = Formatting:format_image{value, caption = Formatting:format_resource_name(key), size = (key == "blueprint" or key == "catapult") and "24px" or nil}
 
end
 
end
 
self._header = format(self._header_template, header_icons)
 
self._header = format(self._header_template, header_icons)
Bots, gkautomate
12,557

edits