Changes
no edit summary
local BaseData = require('Module:BaseData')
local Equipment = require('Module:Equipment')
local Equipment = require('Module:Equipment')
local EquipmentCardKai = require('Module:EquipmentCardKai')
local Formatting = require('Module:Formatting')
local Formatting = require('Module:Formatting')
local format = require('Module:StringInterpolation').format
local format = require('Module:StringInterpolation').format
local EquipmentInfoKai = {
local EquipmentInfoKai = BaseData{
_template = [[{|class="typography-xl-output" style="border: 1px solid darkgray; width: 400px;"
_template = [[{|class="${table_class}" id="${table_id}" style="border: 1px solid darkgray; width: 400px; float: ${float};"
|-
|-
| colspan="2" style="position: relative; padding: 1px 40px; text-align: center; background-color: ${back};${extra_style};"|<div style="position: absolute; right: 5px;">${edit_link}</div>
| colspan="2" style="position: relative; padding: 1px 40px; text-align: center; background-color: ${back};${extra_style};"|<div style="position: absolute; right: 5px;">${edit_link}</div>
_empty_card = "Empty equipment card slot.png",
_empty_card = "Empty equipment card slot.png",
_shown_ship_types = {
_shown_ship_types = {
2,
2, 3,
21, 4,
5, 6,
21,
8, 9,
10, 7,
11, 18,
13, 14,
20, 16,
17, 19,
},
_fields = {
"edit_link",
"back",
"name",
"localized_name",
"alternative_names",
"id",
"japanese_name",
"icon",
"eq_type",
"effects",
"scrap",
"image",
"compatibility_details",
},
}
}
}
function EquipmentInfoKai:edit_link(equipment_data_module)
function EquipmentInfoKai:Infobox(args)
return Formatting:format_edit_link(equipment_data_module, self._edit_link_text, self._equipment_data_documentation)
return self{
_args = args,
}:create_infobox()
end
end
function EquipmentInfoKai:back(equipment)
function EquipmentInfoKai:edit_link()
self._vars.edit_link = Formatting:format_edit_link(self._equipment_data_module, self._edit_link_text, self._equipment_data_documentation)
end
end
function EquipmentInfoKai:extra_style(equipment)
function EquipmentInfoKai:back()
local back = equipment:back()
local back = self._equipment:back()
self._vars.back, self._vars.extra_style = Formatting:format_equipment_back(back), Formatting:extra_style_background_image(false, back and back >= 4)
end
end
function EquipmentInfoKai:name(equipment)
function EquipmentInfoKai:name()
self._vars.name = Formatting:format_link(self._equipment:link())
end
end
function EquipmentInfoKai:localized_name(equipment)
function EquipmentInfoKai:localized_name()
local localized_name = equipment:localized_name()
local localized_name = self._equipment:localized_name()
if localized_name then
if localized_name then
self._vars.localized_name = format{self._localized_name_template, localized_name = localized_name}
else
self._vars.localized_name = ""
end
end
end
end
function EquipmentInfoKai:alternative_names(equipment)
function EquipmentInfoKai:alternative_names()
local alternative_names = {}
local alternative_names = {}
local list_name = equipment:list_name()
local list_name = self._equipment:list_name()
local library_name = equipment:library_name()
local library_name = self._equipment:library_name()
local comparison_name = equipment:comparison_name()
local comparison_name = self._equipment:comparison_name()
if list_name then
if list_name then
local list_japanese_name = equipment:list_japanese_name()
local list_japanese_name = self._equipment:list_japanese_name()
local list_reading = equipment:list_reading()
local list_reading = self._equipment:list_reading()
if list_reading ~= false then
if list_reading ~= false then
list_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(list_japanese_name), Formatting:format_stat(list_reading)))
list_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(list_japanese_name), Formatting:format_stat(list_reading)))
end
end
local list_localized_name = equipment:list_localized_name()
local list_localized_name = self._equipment:list_localized_name()
if list_localized_name then
if list_localized_name then
list_name = Formatting:tooltip(Formatting:format_stat(list_name), Formatting:format_stat(list_localized_name))
list_name = Formatting:tooltip(Formatting:format_stat(list_name), Formatting:format_stat(list_localized_name))
end
end
if library_name then
if library_name then
local library_japanese_name = equipment:library_japanese_name()
local library_japanese_name = self._equipment:library_japanese_name()
local library_reading = equipment:library_reading()
local library_reading = self._equipment:library_reading()
if library_reading ~= false then
if library_reading ~= false then
library_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(library_japanese_name), Formatting:format_stat(library_reading)))
library_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(library_japanese_name), Formatting:format_stat(library_reading)))
end
end
local library_localized_name = equipment:library_localized_name()
local library_localized_name = self._equipment:library_localized_name()
if library_localized_name then
if library_localized_name then
library_name = Formatting:tooltip(Formatting:format_stat(library_name), Formatting:format_stat(library_localized_name))
library_name = Formatting:tooltip(Formatting:format_stat(library_name), Formatting:format_stat(library_localized_name))
end
end
if comparison_name then
if comparison_name then
local comparison_japanese_name = equipment:comparison_japanese_name()
local comparison_japanese_name = self._equipment:comparison_japanese_name()
local comparison_reading = equipment:comparison_reading()
local comparison_reading = self._equipment:comparison_reading()
if comparison_reading ~= false then
if comparison_reading ~= false then
comparison_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(comparison_japanese_name), Formatting:format_stat(comparison_reading)))
comparison_japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(comparison_japanese_name), Formatting:format_stat(comparison_reading)))
end
end
local comparison_localized_name = equipment:comparison_localized_name()
local comparison_localized_name = self._equipment:comparison_localized_name()
if comparison_localized_name then
if comparison_localized_name then
comparison_name = Formatting:tooltip(Formatting:format_stat(comparison_name), Formatting:format_stat(comparison_localized_name))
comparison_name = Formatting:tooltip(Formatting:format_stat(comparison_name), Formatting:format_stat(comparison_localized_name))
end
end
if #alternative_names == 0 then
if #alternative_names == 0 then
self._vars.alternative_names = ""
else
self._vars.alternative_names = format{self._alternative_names_template, names = table.concat(alternative_names, "<br/>")}
end
end
end
end
function EquipmentInfoKai:id(equipment)
function EquipmentInfoKai:id()
self._vars.id = Formatting:format_stat(self._equipment:id())
end
end
function EquipmentInfoKai:japanese_name(equipment)
function EquipmentInfoKai:japanese_name()
self._vars.japanese_name = tostring(Formatting:japanese_text(Formatting:format_stat(self._equipment:japanese_name()), Formatting:format_stat(self._equipment:reading())))
end
end
function EquipmentInfoKai:icon(equipment)
function EquipmentInfoKai:icon()
self._vars.icon = Formatting:format_image{Formatting:format_equipment_icon(self._equipment:icon())}
end
end
function EquipmentInfoKai:eq_type(equipment)
function EquipmentInfoKai:eq_type()
self._vars.eq_type = Formatting:tooltip(Formatting:format_equipment_type(self._equipment:type()), Formatting:format_equipment_rarity(self._equipment:rarity()))
end
end
function EquipmentInfoKai:effects(equipment)
function EquipmentInfoKai:effects()
self._vars.effects = Formatting:format_stat_bonuses{
firepower = equipment:firepower(),
firepower = self._equipment:firepower(),
bombing = equipment:bombing(),
bombing = self._equipment:bombing(),
torpedo = equipment:torpedo(),
torpedo = self._equipment:torpedo(),
aa = equipment:aa(),
aa = self._equipment:aa(),
armor = equipment:armor(),
armor = self._equipment:armor(),
asw = equipment:asw(),
asw = self._equipment:asw(),
shelling_accuracy = equipment:shelling_accuracy(),
shelling_accuracy = self._equipment:shelling_accuracy(),
torpedo_accuracy = equipment:torpedo_accuracy(),
torpedo_accuracy = self._equipment:torpedo_accuracy(),
evasion = equipment:evasion(),
evasion = self._equipment:evasion(),
los = equipment:los(),
los = self._equipment:los(),
speed = Formatting:format_speed(equipment:speed()),
speed = Formatting:format_speed(self._equipment:speed()),
luck = equipment:luck(),
luck = self._equipment:luck(),
range = Formatting:format_range(equipment:range()),
range = Formatting:format_range(self._equipment:range()),
special = equipment:special(),
special = self._equipment:special(),
}
}
end
end
function EquipmentInfoKai:scrap(equipment)
function EquipmentInfoKai:scrap()
self._vars.scrap = Formatting:format_resources(self._equipment:scrap())
end
end
function EquipmentInfoKai:card(equipment)
function EquipmentInfoKai:image()
local card = equipment:card()
local card = EquipmentCardKai{equipment = self._equipment}
if card == false then
if card == false then
card = self._empty_card
card = self._empty_card
end
end
local card_name = equipment:card_name()
local card_name = self._equipment:card_name()
if card_name then
if card_name then
local card_caption = {}
local card_caption = {}
local card_local = equipment:card_localized_name()
local card_local = self._equipment:card_localized_name()
if card_local then
if card_local then
table.insert(card_caption, Formatting:format_stat_with_max(card_name, card_local))
table.insert(card_caption, Formatting:format_stat_with_max(card_name, card_local))
end
end
table.insert(card_caption, "/")
table.insert(card_caption, "/")
table.insert(card_caption, Formatting:format_stat_with_max(equipment:card_japanese_name(), equipment:card_reading()))
table.insert(card_caption, Formatting:format_stat_with_max(self._equipment:card_japanese_name(), self._equipment:card_reading()))
return Formatting:format_image{card,
return Formatting:format_image{card,
}
}
end
end
self._vars.card = Formatting:format_image{card}
end
end
function EquipmentInfoKai:compatibility_details(equipment)
function EquipmentInfoKai:compatibility_details()
local result = {}
local result = {}
for index, ship_type in ipairs(self._shown_ship_types) do
for index, ship_type in ipairs(self._shown_ship_types) do
table.insert(result, self._row_starter)
table.insert(result, self._row_starter)
end
end
local compatibility, note = equipment:equippable(ship_type)
local compatibility, note = self._equipment:equippable(ship_type)
local ship_label = Formatting:format_ship_type(ship_type)
local ship_label = Formatting:format_ship_type(ship_type)
if note then
if note then
end
end
function EquipmentInfoKai:Infobox(name)
function EquipmentInfoKai:create_item()
if self._args.name then
self._equipment = Equipment(self._args.name, self._args.model)
else
self._equipment = Equipment(self._args[1])
end
end
function EquipmentInfoKai:get_module()
self._equipment_data_module = Equipment:get_module(self._args.name or self._args[1])
end
function EquipmentInfoKai:create_infobox_prep()
local table_classes = {"typography-xl-optout", "infobox"}
if self._args.classes then
table.insert(table_classes, self._args.classes)
end
local collapsible = self._args.collapsible
if collapsible then
table.insert(table_classes, "mw-collapsible")
table.insert(table_classes, "mw-collapsed")
end
self._vars.table_class = table.concat(table_classes, " ")
self._vars.table_id = collapsible and collapsible ~= "true" and ("mw-customcollapsible-" .. collapsible) or ""
self._vars.float = self._args.float or "none"
end
function EquipmentInfoKai:format_template()
for _, field in ipairs(self._fields) do
self[field](self)
end
return format(self._template, self._vars)
end
function EquipmentInfoKai:add_fields()
return
end
function EquipmentInfoKai:create_infobox()
self:add_fields()
self:create_item()
self:get_module()
self:create_infobox_prep()
return self:format_template()
end
end
return EquipmentInfoKai
return EquipmentInfoKai