Module:Infobox Monster: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
No edit summary
(Calculate weapon strength from unlock level)
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 function weapon_strength(passive, profession_a, unlock_level)
unlock_level = parse.unlock_level_smw(profession_a, unlock_level)
passive = parse.yes_no_smw(passive)
-- Only passive enemies have weapon strength requirements
if unlock_level == nil or not passive then
return nil
end
-- Weapon strength requirement is always 20 higher than unlock level
return unlock_level + 20
end


function p.main(frame)
function p.main(frame)
local args = frame:getParent().args
local args = frame:getParent().args

local config = {
local config = {
infobox_name = 'Monster',
infobox_name = 'Monster',
class = {Infobox.smw_param('episode')},
class = {Infobox.smw_param('episode')},
}
}

local params = {
local params = {
parse.name_with_variant_category,
parse.name_with_variant_category,
Line 28: Line 39:
parse.passive,
parse.passive,
parse.knowledge,
parse.knowledge,
{
parse.weapon_strength,
name = 'weapon_strength',
func = { name = weapon_strength, params = { Infobox.raw_param('passive'), Infobox.raw_param('profession_a'), Infobox.raw_param('unlock_level') } }
},
parse.aggressive,
parse.aggressive,
parse.description,
parse.description,