- Welcome to the Kancolle Wiki!
- If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord
Difference between revisions of "Module:EquipmentInfoKai"
Jump to navigation
Jump to search
com>Ckwng (Infobox for equipment) |
com>Ckwng (Fix stats, add No. before id, fix ship class ordering, fix ship class rows) |
||
Line 8: | Line 8: | ||
|- | |- | ||
| colspan="2" style="text-align: center; background-color: ${back};${extra_style};"|<p style="font-size:25px">'''${name}'''</p> | | colspan="2" style="text-align: center; background-color: ${back};${extra_style};"|<p style="font-size:25px">'''${name}'''</p> | ||
− | <p style="font-size:20px">'''${id} ${japanese_name}'''</p> | + | <p style="font-size:20px">'''No.${id} ${japanese_name}'''</p> |
|- | |- | ||
| colspan="2" style="text-align: center; background-color: whitesmoke;"|<p>'''${icon} ${eq_type}, ${rarity}'''</p> | | colspan="2" style="text-align: center; background-color: whitesmoke;"|<p>'''${icon} ${eq_type}, ${rarity}'''</p> | ||
Line 24: | Line 24: | ||
2, | 2, | ||
3, | 3, | ||
+ | -- | ||
+ | 21, | ||
4, | 4, | ||
+ | -- | ||
5, | 5, | ||
6, | 6, | ||
− | + | -- | |
8, | 8, | ||
9, | 9, | ||
+ | -- | ||
10, | 10, | ||
+ | 7, | ||
+ | -- | ||
11, | 11, | ||
+ | 18, | ||
+ | -- | ||
13, | 13, | ||
14, | 14, | ||
+ | -- | ||
+ | 20, | ||
16, | 16, | ||
+ | -- | ||
17, | 17, | ||
− | |||
19, | 19, | ||
− | |||
− | |||
} | } | ||
} | } | ||
Line 72: | Line 80: | ||
function EquipmentInfoKai:rarity(equipment) | function EquipmentInfoKai:rarity(equipment) | ||
− | return Formatting: | + | return Formatting:format_equipment_rarity(equipment:rarity()) |
end | end | ||
function EquipmentInfoKai:effects(equipment) | function EquipmentInfoKai:effects(equipment) | ||
return Formatting:format_stat_bonuses{ | return Formatting:format_stat_bonuses{ | ||
− | firepower = | + | firepower = equipment:firepower(), |
− | bombing = | + | bombing = equipment:bombing(), |
− | torpedo = | + | torpedo = equipment:torpedo(), |
− | aa = | + | aa = equipment:aa(), |
− | armor = | + | armor = equipment:armor(), |
− | asw = | + | asw = equipment:asw(), |
− | shelling_accuracy = | + | shelling_accuracy = equipment:shelling_accuracy(), |
− | torpedo_accuracy = | + | torpedo_accuracy = equipment:torpedo_accuracy(), |
− | los = | + | los = equipment:los(), |
speed = Formatting:format_speed(equipment:speed()), | speed = Formatting:format_speed(equipment:speed()), | ||
− | luck = | + | luck = equipment:luck(), |
range = Formatting:format_range(equipment:range()), | range = Formatting:format_range(equipment:range()), | ||
special = equipment:special(), | special = equipment:special(), | ||
Line 104: | Line 112: | ||
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 | ||
− | if index % 2 == | + | if index % 2 == 1 then |
table.insert(result, self._row_starter) | table.insert(result, self._row_starter) | ||
end | end |
Revision as of 12:48, 16 February 2015
Documentation for this module may be created at Module:EquipmentInfoKai/doc
local Effects = require('Module:Effects')
local Equipment = require('Module:Equipment')
local Formatting = require('Module:Formatting')
local format = require('Module:StringInterpolation').format
local EquipmentInfoKai = {
_template = [[{|style="border: 1px solid darkgray; width: 400px;"
|-
| colspan="2" style="text-align: center; background-color: ${back};${extra_style};"|<p style="font-size:25px">'''${name}'''</p>
<p style="font-size:20px">'''No.${id} ${japanese_name}'''</p>
|-
| colspan="2" style="text-align: center; background-color: whitesmoke;"|<p>'''${icon} ${eq_type}, ${rarity}'''</p>
<p>'''Effects: ${effects}'''</p>
<p>'''Scrap value: ${scrap}'''</p>
|-
| colspan="2" style="text-align: center;" | ${card}
|-
| colspan="2" style="text-align: center; background-color: LightSkyBlue;" | '''Refittable Class'''
${compatibility_details}
|}]],
_row_starter = "|-",
_compatibility_cell = [[| style="width: 200px; text-align: center; background-color: ${bg_color};" | ${label}]],
_shown_ship_types = {
2,
3,
--
21,
4,
--
5,
6,
--
8,
9,
--
10,
7,
--
11,
18,
--
13,
14,
--
20,
16,
--
17,
19,
}
}
function EquipmentInfoKai:back(equipment)
return Formatting:format_equipment_back(equipment:back())
end
function EquipmentInfoKai:extra_style(equipment)
return equipment:back() >= 4 and Effects.sparkles or ""
end
function EquipmentInfoKai:name(equipment)
return Formatting:format_link(equipment:link())
end
function EquipmentInfoKai:id(equipment)
return Formatting:format_stat(equipment:id())
end
function EquipmentInfoKai:japanese_name(equipment)
return Formatting:format_stat(equipment:japanese_name())
end
function EquipmentInfoKai:icon(equipment)
return Formatting:format_image(Formatting:format_equipment_icon(equipment:icon()))
end
function EquipmentInfoKai:eq_type(equipment)
return Formatting:format_equipment_type(equipment:type())
end
function EquipmentInfoKai:rarity(equipment)
return Formatting:format_equipment_rarity(equipment:rarity())
end
function EquipmentInfoKai:effects(equipment)
return Formatting:format_stat_bonuses{
firepower = equipment:firepower(),
bombing = equipment:bombing(),
torpedo = equipment:torpedo(),
aa = equipment:aa(),
armor = equipment:armor(),
asw = equipment:asw(),
shelling_accuracy = equipment:shelling_accuracy(),
torpedo_accuracy = equipment:torpedo_accuracy(),
los = equipment:los(),
speed = Formatting:format_speed(equipment:speed()),
luck = equipment:luck(),
range = Formatting:format_range(equipment:range()),
special = equipment:special(),
}
end
function EquipmentInfoKai:scrap(equipment)
return Formatting:format_resources(equipment:scrap())
end
function EquipmentInfoKai:card(equipment)
return Formatting:format_image(equipment:card())
end
function EquipmentInfoKai:compatibility_details(equipment)
local result = {}
for index, ship_type in ipairs(self._shown_ship_types) do
if index % 2 == 1 then
table.insert(result, self._row_starter)
end
local compatibility, note = equipment:equippable(ship_type)
local ship_label = Formatting:format_ship_type(ship_type)
if note then
ship_label = Formatting:tooltip(ship_label, note)
end
table.insert(result, format{self._compatibility_cell, bg_color = Formatting:format_equipment_compatibility(compatibility), label = ship_label})
end
return table.concat(result, "\n")
end
function EquipmentInfoKai:Infobox(name)
local equipment = Equipment(name)
return format{self._template,
back = self:back(equipment),
extra_style = self:extra_style(equipment),
name = self:name(equipment),
id = self:id(equipment),
japanese_name = self:japanese_name(equipment),
icon = self:icon(equipment),
eq_type = self:eq_type(equipment),
rarity = self:rarity(equipment),
effects = self:effects(equipment),
scrap = self:scrap(equipment),
card = self:card(equipment),
compatibility_details = self:compatibility_details(equipment),
}
end
return EquipmentInfoKai