Module:Param Parse: Difference between revisions
m
Fix pcall
Im Wired In (talk | contribs) (Switch to saving only the unlock level as it should always be for profession A) |
m (Fix pcall) |
||
(13 intermediate revisions by 5 users not shown) | |||
Line 3:
--]=]
-- <nowiki>
require('strict')
local Infobox = require('Module:Infobox')
local currency = require('Module:Currency').parse
Line 34 ⟶ 35:
return nil
end
local num = parse.number(out)
if num == nil then
return nil
Line 110 ⟶ 111:
-- Premade Params --
--------------------
-- Standardized actions function
parse.actions = {
name = 'actions',
func = parse.has_content,
}
-- Standardized name function
Line 131 ⟶ 138:
func = {name = parse.get_rarity_func, params = {Infobox.raw_param('name')}}
}
-- Standardized description function
function parse.description_func(description, examine)
if not description and examine then
description = examine
end
return parse.has_content(description)
end
parse.description = {
name = 'description',
func = {name = parse.description_func, params = {Infobox.raw_param('description'), Infobox.raw_param('examine')}},
smw_property = 'Description',
category_incomplete = 'Needs description',
}
Line 265 ⟶ 279:
-- Release
local function unix_time(date)
-- Convert a time to unix time
if date == nil then
Line 305 ⟶ 319:
-- Value
function parse.value_func(val)
local status, val = pcall(currency, val)
if status then
return val
end
end
parse.value = {
Line 463 ⟶ 480:
smw_func = parse.difficulty_smw,
category_incomplete = 'Needs difficulty'
}
local valid_quest_types = {
['main'] = 'Main',
['side'] = 'Side'
}
function parse.quest_type_func(type)
local valid_type = valid_quest_types[string.lower(type or '')]
if valid_type then
return valid_type
else
return 'None'
end
return nil
end
function parse.quest_type_smw(type)
local valid_type = valid_quest_types[string.lower(type or '')]
if valid_type then
return valid_type
end
return nil
end
-- Quest type
parse.quest_type = {
name = 'quest_type',
func = parse.quest_type_func,
smw_property = 'quest_type',
smw_func = parse.quest_type_smw,
category_incomplete = 'Needs quest_type'
}
Line 485 ⟶ 532:
local level_valid = parse.number(level)
local profession_valid = parse.has_content(profession)
local profession_valid_link = profession_valid
if not profession_valid and not level_valid then
Line 501 ⟶ 549:
end
return '[[File:'..profession_valid..'_icon.png|link='..
end
Line 524 ⟶ 572:
smw_property = 'Unlock level',
smw_func = {name = parse.unlock_level_smw, params = {Infobox.raw_param('profession_a'), Infobox.raw_param('unlock_level')}},
category_incomplete = 'Needs unlock level',
}
Line 530 ⟶ 579:
name = 'knowledge',
func = parse.number,
smw_property = 'Knowledge',
category_incomplete = 'Needs knowledge',
}
parse.health = {
name = 'health',
func = parse.number,
smw_property = 'Health',
category_incomplete = 'Needs health',
}
parse.experience = {
name = 'experience',
func = parse.number,
smw_property = 'Experience',
category_incomplete = 'Needs experience',
}
local valid_attack_styles = {
['none'] = 'None',
['impact'] = 'Impact',
['cryonae'] = 'Cryonae',
['arborae'] = 'Arborae',
['tempestae'] = 'Tempestae',
['infernae'] = 'Infernae',
['necromae'] = 'Necromae',
}
local function attack_style_func(style)
local attack_style = valid_attack_styles[string.lower(style or '')]
if attack_style then
if attack_style == 'None' then
return 'None'
else
return string.format('[[File:%s damage icon.png|18px|link=%s]] [[%s]]', attack_style, attack_style, attack_style)
end
end
return nil
end
local function attack_style_smw(style)
local attack_style = valid_attack_styles[string.lower(style or '')]
if attack_style then
return attack_style
else
return nil
end
end
parse.attack_style = {
name = 'attack_style',
func = attack_style_func,
smw_property = 'Attack style',
smw_func = attack_style_smw,
category_incomplete = 'Needs attack style',
}
parse.immune_to = {
name = 'immune_to',
func = attack_style_func,
smw_property = 'Immune to',
smw_func = attack_style_smw,
category_incomplete = 'Needs immune to',
}
parse.vulnerable_to = {
name = 'vulnerable_to',
func = attack_style_func,
smw_property = 'Vulnerable to',
smw_func = attack_style_smw,
category_incomplete = 'Needs vulnerable to',
}
|