Editing Module:Enemy List
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 2: | Line 2: | ||
local yesno = require('Module:Yesno') |
local yesno = require('Module:Yesno') |
||
local album_xp_data = require('Module:Experience/data').album |
local album_xp_data = require('Module:Experience/data').album |
||
local Array = require('Module:Array') |
|||
local lang = mw.language.getContentLanguage() |
|||
local function formatNum(n) |
|||
if n == nil then |
|||
return '' |
|||
end |
|||
return lang:formatNum(n) |
|||
end |
|||
local p = {} |
local p = {} |
||
Line 59: | Line 50: | ||
:tag('td'):wikitext(monster['Unlock level']):done() |
:tag('td'):wikitext(monster['Unlock level']):done() |
||
:tag('td'):wikitext(monster['Profession Level A']):done() |
:tag('td'):wikitext(monster['Profession Level A']):done() |
||
:tag('td'):wikitext |
:tag('td'):wikitext(monster.Health):done() |
||
:tag('td'):wikitext(format_attack_style(monster['Attack style'])):done() |
:tag('td'):wikitext(format_attack_style(monster['Attack style'])):done() |
||
:tag('td'):wikitext(format_attack_style(monster['Immune to'])):done() |
:tag('td'):wikitext(format_attack_style(monster['Immune to'])):done() |
||
Line 70: | Line 61: | ||
row |
row |
||
:tag('td'):wikitext(table.concat(location_text, ', ')):done() |
:tag('td'):wikitext(table.concat(location_text, ', ')):done() |
||
:tag('td'):wikitext |
:tag('td'):wikitext(monster.Experience):done() |
||
:tag('td'):wikitext |
:tag('td'):wikitext(monster['Album XP']):done() |
||
end |
end |
||
Line 86: | Line 77: | ||
('[[Profession A::%s]]'):format(profession), |
('[[Profession A::%s]]'):format(profession), |
||
('[[Passive::%s]]'):format(passive and 'true' or 'false'), |
('[[Passive::%s]]'):format(passive and 'true' or 'false'), |
||
⚫ | |||
'?Image#70px;x70px', |
'?Image#70px;x70px', |
||
'?Unlock level', |
'?Unlock level', |
||
Line 95: | Line 87: | ||
'?Location JSON', |
'?Location JSON', |
||
'?Experience', |
'?Experience', |
||
⚫ | |||
'?Variant of#-', |
|||
'sort=Profession Level A', |
'sort=Profession Level A', |
||
'order=asc' |
'order=asc' |
||
} |
} |
||
data = Array.filter(data, function(monster) |
|||
return monster.Quest == nil and monster[1] ~= '[[:Training Dummy|Training Dummy]]' |
|||
end) |
|||
local location_cache = {} |
|||
for _, monster in ipairs(data) do |
for _, monster in ipairs(data) do |
||
monster['Album XP'] = album_xp_data[monster['Profession Level A']] |
monster['Album XP'] = album_xp_data[monster['Profession Level A']] |
||
if monster['Location JSON'] == nil and monster['Variant of'] ~= nil then |
|||
local variant_cat = monster['Variant of'] |
|||
if location_cache[variant_cat] == nil then |
|||
local of_variant = mw.smw.ask{ |
|||
'[['..variant_cat..']]', |
|||
'?Location JSON' |
|||
} |
|||
location_cache[variant_cat] = of_variant and of_variant[1]['Location JSON'] |
|||
end |
|||
monster['Location JSON'] = location_cache[variant_cat] |
|||
end |
|||
monster['Location JSON'] = mw.text.jsonDecode(monster['Location JSON'] or '{}') |
monster['Location JSON'] = mw.text.jsonDecode(monster['Location JSON'] or '{}') |
||
end |
end |