- 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:ShipBattleCardKai"
Jump to navigation
Jump to search
(try to always hd) |
|||
Line 15: | Line 15: | ||
hell_offset_l1 = {image = "Hell plane 2.png", style = {top = "9px", left = "44px"}, size = "30x30px"}, | hell_offset_l1 = {image = "Hell plane 2.png", style = {top = "9px", left = "44px"}, size = "30x30px"}, | ||
hell_offset_r1 = {image = "Hell plane 2.png", style = {top = "9px", left = "109px"}, size = "30x30px"}, | hell_offset_r1 = {image = "Hell plane 2.png", style = {top = "9px", left = "109px"}, size = "30x30px"}, | ||
− | flagship = {image = "Flagship battle card icon.png", style = {top = "3px", left = "139px"}}, | + | flagship = {image = "Flagship battle card icon.png", style = {top = "3px", left = "139px", size = "18x18px"}}, |
+ | flagship_hd = {image = "Flagship battle card icon.png", style = {top = "3px", left = "139px"}}, | ||
revenge_r2 = {image = "Hell plane 3.png", style = {top = "3px", left = "130px"}, size = "30x33px"}, | revenge_r2 = {image = "Hell plane 3.png", style = {top = "3px", left = "130px"}, size = "30x33px"}, | ||
revenge_kai_l2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "60px"}, size = "35x44px"}, | revenge_kai_l2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "60px"}, size = "35x44px"}, | ||
Line 70: | Line 71: | ||
function ShipBattleCardKai:get_source(ship, args) | function ShipBattleCardKai:get_source(ship, args) | ||
return args.damaged and ship:battle_card_damaged(true) or ship:battle_card(true) | return args.damaged and ship:battle_card_damaged(true) or ship:battle_card(true) | ||
+ | end | ||
+ | |||
+ | function ShipBattleCardKai:get_layer(hd, layer) | ||
+ | return hd and self._battle_card_layers[layer .. "_hd"] or self._battle_card_layers[layer] | ||
end | end | ||
Line 92: | Line 97: | ||
if ship_layers then | if ship_layers then | ||
for _, layer in ipairs(ship_layers) do | for _, layer in ipairs(ship_layers) do | ||
− | self:_add_layer(stack, self. | + | self:_add_layer(stack, self:get_layer(args.hd, layer), ship, args, link) |
end | end | ||
end | end | ||
if args.flagship then | if args.flagship then | ||
− | self:_add_layer(stack, self. | + | self:_add_layer(stack, self:get_layer(args.hd, "flagship"), ship, args, link) |
end | end | ||
if args.layers then | if args.layers then | ||
for _, layer in ipairs(split(args.layers)) do | for _, layer in ipairs(split(args.layers)) do | ||
− | if self. | + | if self:get_layer(args.hd, layer) then |
− | self:_add_layer(stack, self. | + | self:_add_layer(stack, self:get_layer(args.hd, layer), ship, args, link) |
end | end | ||
end | end |
Revision as of 03:47, 28 March 2019
Documentation for this module may be created at Module:ShipBattleCardKai/doc
local Formatting = require('Module:Formatting')
local ShipAsset = require('Module:ShipAsset')
local split = require("Module:Utils").split
local ShipBattleCardKai = ShipAsset{
_battle_card_size = "160x40px",
_battle_card_size_hd = "240x60px",
_battle_card_layers = {
takoyaki = {image = "Hell plane 2.png", style = {top = "5px", left = "50px"}, size = "30x30px"},
hell = {image = "Hell plane 2.png", style = {top = "5px", left = "50px"}, size = "30x30px"},
hell_r = {image = "Hell plane 2.png", style = {top = "5px", left = "120px"}, size = "30x30px"},
hell_l1 = {image = "Hell plane 2.png", style = {top = "9px", left = "44px"}, size = "30x30px"},
hell_r1 = {image = "Hell plane 2.png", style = {top = "9px", left = "109px"}, size = "30x30px"},
hell_offset_l1 = {image = "Hell plane 2.png", style = {top = "9px", left = "44px"}, size = "30x30px"},
hell_offset_r1 = {image = "Hell plane 2.png", style = {top = "9px", left = "109px"}, size = "30x30px"},
flagship = {image = "Flagship battle card icon.png", style = {top = "3px", left = "139px", size = "18x18px"}},
flagship_hd = {image = "Flagship battle card icon.png", style = {top = "3px", left = "139px"}},
revenge_r2 = {image = "Hell plane 3.png", style = {top = "3px", left = "130px"}, size = "30x33px"},
revenge_kai_l2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "60px"}, size = "35x44px"},
revenge_kai_r1 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "5px", left = "104px"}, size = "35x44px"},
revenge_kai_r2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "125px"}, size = "35x44px"},
revenge_kai_offset_l2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "60px"}, size = "35x44px"},
revenge_kai_offset_r2 = {image = "Abyssal Revenge Torpedo Bomber Kai.png", style = {top = "0px", left = "125px"}, size = "35x44px"},
hell_kai_l1 = {image = "Abyssal Hell Dive Bomber Kai.png", style = {top = "5px", left = "39px"}, size = "35x35px"},
hell_kai_r1 = {image = "Abyssal Hell Dive Bomber Kai.png", style = {top = "5px", left = "104px"}, size = "35x35px"},
hell_kai_offset_l1 = {image = "Abyssal Hell Dive Bomber Kai.png", style = {top = "5px", left = "39px"}, size = "35x35px"},
hell_kai_offset_r1 = {image = "Abyssal Hell Dive Bomber Kai.png", style = {top = "5px", left = "104px"}, size = "35x35px"},
attack_seaplane_kai_r = {image = "Abyssal Attack Seaplane Kai.png", style = {top = "0px", left = "120px"}, size = "35x35px"},
liberation_r = {image = "Abyssal Liberation Land-based Dive Bomber 561 Equipment.png", style = {top = "10px", left = "120px"}, size = "32x24px"},
liberation_r1 = {image = "Abyssal Liberation Land-based Dive Bomber 561 Equipment.png", style = {top = "15px", left = "104px"}, size = "32x24px"},
liberation_r2 = {image = "Abyssal Liberation Land-based Dive Bomber 561 Equipment.png", style = {top = "3px", left = "125px"}, size = "32x24px"},
liberation_ace_r1 = {image = "Abyssal Liberation Land-based Dive Bomber Ace 562 Equipment.png", style = {top = "15px", left = "104px"}, size = "32x24px"},
liberation_ace_r2 = {image = "Abyssal Liberation Land-based Dive Bomber Ace 562 Equipment.png", style = {top = "3px", left = "125px"}, size = "32x24px"},
cat_r = {image = "Hell plane 1.png", style = {top = "8px", left = "126px"}, size = "25x30px"},
cat_r1 = {image = "Hell plane 1.png", style = {top = "13px", left = "106px"}, size = "25x30px"},
cat_r2 = {image = "Hell plane 1.png", style = {top = "1px", left = "127px"}, size = "25x30px"},
hell_cat_kai_r = {image = "Abyssal_Cat_Fighter_Kai_556_Equipment.png", style = {top = "8px", left = "126px"}, size = "35x30px"},
hell_cat_kai_r1 = {image = "Abyssal_Cat_Fighter_Kai_556_Equipment.png", style = {top = "5px", left = "104px"}, size = "35x30px"},
hell_cat_kai_r2 = {image = "Abyssal_Cat_Fighter_Kai_556_Equipment.png", style = {top = "1px", left = "127px"}, size = "35x30px"},
attack_hawk_r = {image = "Abyssal_Patrolling_Attack_Hawk_574_Equipment.png", style = {top = "8px", left = "126px"}, size = "30x28px"},
attack_hawk_r1 = {image = "Abyssal_Patrolling_Attack_Hawk_574_Equipment.png", style = {top = "13px", left = "106px"}, size = "30x28px"},
attack_hawk_r2 = {image = "Abyssal_Patrolling_Attack_Hawk_574_Equipment.png", style = {top = "1px", left = "127px"}, size = "30x28px"},
revenge_night_r = {image = "Abyssal_Night_Revenge_Torpedo_Bomber_583_Equipment.png", style = {top = "8px", left = "126px"}, size = "35x30px"},
revenge_night_r1 = {image = "Abyssal_Night_Revenge_Torpedo_Bomber_583_Equipment.png", style = {top = "5px", left = "104px"}, size = "35x30px"},
revenge_night_r2 = {image = "Abyssal_Night_Revenge_Torpedo_Bomber_583_Equipment.png", style = {top = "2px", left = "128px"}, size = "30x30px"},
dive_night_r = {image = "Abyssal_Night_Dive_Bomber_582_Equipment.png", style = {top = "8px", left = "126px"}, size = "35x30px"},
dive_night_r1 = {image = "Abyssal_Night_Dive_Bomber_582_Equipment.png", style = {top = "13px", left = "106px"}, size = "26x26px"},
dive_night_r2 = {image = "Abyssal_Night_Dive_Bomber_582_Equipment.png", style = {top = "1px", left = "127px"}, size = "35x30px"},
cat_night_r = {image = "Abyssal_Night_Cat_Fighter_581_Equipment.png", style = {top = "8px", left = "126px"}, size = "35x30px"},
cat_night_r1 = {image = "Abyssal_Night_Cat_Fighter_581_Equipment.png", style = {top = "13px", left = "106px"}, size = "30x28px"},
cat_night_r2 = {image = "Abyssal_Night_Cat_Fighter_581_Equipment.png", style = {top = "1px", left = "127px"}, size = "35x30px"},
status_expedition = {image = "Battle Card Status Expedition.png", style = {top = "0px", left = "0px"}},
status_repair = {image = "Battle Card Status Repair.png", style = {top = "0px", left = "0px"}},
status_light_damage = {image = "Battle Card Status Light Damage.png", style = {top = "0px", left = "0px"}},
status_medium_damage = {image = "Battle Card Status Medium Damage.png", style = {top = "0px", left = "0px"}},
status_heavy_damage = {image = "Battle Card Status Heavy Damage.png", style = {top = "0px", left = "0px"}},
status_sunk = {image = "Battle Card Status Sunk.png", style = {top = "0px", left = "0px"}},
status_light_damage_installation = {image = "Battle Card Status Light Damage Installation.png", style = {top = "0px", left = "0px"}},
status_medium_damage_installation = {image = "Battle Card Status Medium Damage Installation.png", style = {top = "0px", left = "0px"}},
status_heavy_damage_installation = {image = "Battle Card Status Heavy Damage Installation.png", style = {top = "0px", left = "0px"}},
status_sunk_installation = {image = "Battle Card Status Sunk Installation.png", style = {top = "0px", left = "0px"}},
smudge_light = {image = "Battle Card Smudge Light.png", style = {top = "0px", left = "0px"}},
smudge_medium = {image = "Battle Card Smudge Medium.png", style = {top = "0px", left = "0px"}},
smudge_heavy = {image = "Battle Card Smudge Heavy.png", style = {top = "0px", left = "0px"}},
ring = {image = "Battle Card Marriage Ring.png", style = {top = "19px", left = "138px"}},
ring_glow = {image = "Battle Card Marriage Ring Glow.png", style = {top = "10px", left = "126px", opacity = "0.7"}},
},
}
function ShipBattleCardKai:get_source(ship, args)
return args.damaged and ship:battle_card_damaged(true) or ship:battle_card(true)
end
function ShipBattleCardKai:get_layer(hd, layer)
return hd and self._battle_card_layers[layer .. "_hd"] or self._battle_card_layers[layer]
end
function ShipBattleCardKai:get(ship, args, link)
if not args then
args = ship
ship = args.ship
link = args.link
end
args[1] = self:get_source(ship, args)
if not args.size then
args.size = args.hd and self._battle_card_size_hd or self._battle_card_size
end
if not args.caption then
ship:name()
end
args.link = link
local image = Formatting:format_image(args)
local ship_layers = ship:battle_card_layers()
if ship_layers or args.flagship or args.layers or args.grayscale then
local stack = self:_create_stack(image, args.grayscale)
if ship_layers then
for _, layer in ipairs(ship_layers) do
self:_add_layer(stack, self:get_layer(args.hd, layer), ship, args, link)
end
end
if args.flagship then
self:_add_layer(stack, self:get_layer(args.hd, "flagship"), ship, args, link)
end
if args.layers then
for _, layer in ipairs(split(args.layers)) do
if self:get_layer(args.hd, layer) then
self:_add_layer(stack, self:get_layer(args.hd, layer), ship, args, link)
end
end
end
image = tostring(stack)
end
return image
end
return ShipBattleCardKai