Editing Module:Infobox Monster
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3: | Line 3: | ||
local Infobox = require('Module:Infobox') |
local Infobox = require('Module:Infobox') |
||
local parse = require('Module:Param Parse') |
local parse = require('Module:Param Parse') |
||
local attack_styles = { |
|||
['none'] = 'None', |
|||
['impact'] = 'Impact', |
|||
['cryonae'] = 'Cryonae', |
|||
['arborae'] = 'Arborae', |
|||
['tempestae'] = 'Tempestae', |
|||
['infernae'] = 'Infernae', |
|||
['necromae'] = 'Necromae', |
|||
} |
|||
function attack_style_func(style) |
|||
local attack_style = attack_styles[string.lower(style or '')] |
|||
if attack_style then |
|||
if attack_style == 'None' then |
|||
return 'None' |
|||
else |
|||
return '[[File:'..attack_style..'.png|18px|link='..attack_style..']] [['..attack_style..']]' |
|||
end |
|||
end |
|||
return nil |
|||
end |
|||
function p.main(frame) |
function p.main(frame) |
||
Line 40: | Line 18: | ||
parse.premium, |
parse.premium, |
||
parse.episode, |
parse.episode, |
||
{name = 'level', func = parse.number}, -- TODO - same as below |
|||
{name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property |
{name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property |
||
{name = 'xp', func = parse.number}, -- TODO - same as above |
{name = 'xp', func = parse.number}, -- TODO - same as above |
||
{name = 'att_style', func = attack_style_func}, |
|||
{name = 'immune_to', func = attack_style_func}, |
|||
{name = 'vulnerable_to', func = attack_style_func}, |
|||
parse.variant, |
parse.variant, |
||
parse.passive, |
parse.passive, |
||
parse.examine, |
parse.examine, |
||
parse.profession_bubble_a, |
|||
parse.profession_bubble_b, |
|||
} |
} |
||
Line 71: | Line 45: | ||
{tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, |
{tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, |
||
{tag='td', content=Infobox.param('premium'), colspan="14"}, |
{tag='td', content=Infobox.param('premium'), colspan="14"}, |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
:add_row{ |
:add_row{ |
||
Line 80: | Line 58: | ||
{tag='td', content=Infobox.param('xp'), colspan="14"}, |
{tag='td', content=Infobox.param('xp'), colspan="14"}, |
||
} |
} |
||
⚫ | |||
if infobox:is_param_defined(Infobox.param('att_style')) > 0 then |
|||
⚫ | |||
{tag='th', content='[[Attack Style]]', colspan="6"}, |
|||
⚫ | |||
⚫ | |||
end |
|||
if infobox:is_param_defined(Infobox.param('immune_to')) > 0 then |
|||
⚫ | |||
⚫ | |||
{tag='td', content=Infobox.param('immune_to'), colspan="14"}, |
|||
} |
|||
end |
|||
if infobox:is_param_defined(Infobox.param('vulnerable_to')) > 0 then |
|||
⚫ | |||
{tag='th', content='Vulnerable to', colspan="6"}, |
|||
{tag='td', content=Infobox.param('vulnerable_to'), colspan="14"}, |
|||
} |
|||
end |
|||
if infobox:is_param_defined(Infobox.param('variant')) > 0 then |
|||
infobox:add_row{ |
|||
{tag='th', content='[[Variant]] of', colspan="6"}, |
{tag='th', content='[[Variant]] of', colspan="6"}, |
||
{tag='td', content=Infobox.param('variant'), colspan="14"}, |
{tag='td', content=Infobox.param('variant'), colspan="14"}, |
||
} |
} |
||
⚫ | |||
end |
|||
infobox:add_row{ |
|||
{tag='th', content='[[File:Passive activity icon.png|14px|link=Passive activity]] [[Passive activity|Passive]]', colspan="6"}, |
{tag='th', content='[[File:Passive activity icon.png|14px|link=Passive activity]] [[Passive activity|Passive]]', colspan="6"}, |
||
{tag='td', content=Infobox.param('passive'), colspan="14"}, |
{tag='td', content=Infobox.param('passive'), colspan="14"}, |
||
Line 112: | Line 70: | ||
{tag='td', content=Infobox.param('examine'), colspan="14"} |
{tag='td', content=Infobox.param('examine'), colspan="14"} |
||
} |
} |
||
⚫ | |||
local bubble_a = infobox:is_param_defined(Infobox.param('profession_bubble_a')) > 0 |
|||
local bubble_b = infobox:is_param_defined(Infobox.param('profession_bubble_b')) > 0 |
|||
if bubble_a and bubble_b then |
|||
infobox:add_row{ |
|||
{tag='td', content=Infobox.param('profession_bubble_a'), class='infobox-bubble-item', colspan="10"}, |
|||
{tag='td', content=Infobox.param('profession_bubble_b'), class='infobox-bubble-item', colspan="10"}, |
|||
addClass = 'infobox-bubble-row' |
|||
} |
|||
elseif bubble_a then |
|||
infobox:add_row{ |
|||
{tag='td', content=Infobox.param('profession_bubble_a'), class='infobox-bubble-item', colspan="20"}, |
|||
addClass = 'infobox-bubble-row' |
|||
} |
|||
elseif bubble_b then |
|||
infobox:add_row{ |
|||
{tag='td', content=Infobox.param('profession_bubble_b'), class='infobox-bubble-item', colspan="20"}, |
|||
addClass = 'infobox-bubble-row' |
|||
} |
|||
else |
|||
⚫ | |||
end |
|||
return infobox |
return infobox |