Module:BTD6 stats: Difference between revisions
mNo edit summary |
changed to the new system |
||
| Line 11: | Line 11: | ||
local template_names = { | local template_names = { | ||
attacks = "BTD6 attack", | attacks ="BTD6 attack", | ||
projectiles = "BTD6 projectile", | projectiles ="BTD6 projectile", | ||
abilities = "BTD6 ability", | collectables="BTD6 collectable", | ||
effects = "BTD6 effect", | abilities ="BTD6 ability", | ||
effects ="BTD6 effect", | |||
buffs ="BTD6 buff", | |||
zones ="BTD6 zone", | |||
subtowers ="BTD6 tower" | |||
} | } | ||
| Line 33: | Line 34: | ||
if type(v) == "table" and ssub(k, 1, 1) ~= "_" then | if type(v) == "table" and ssub(k, 1, 1) ~= "_" then | ||
template[k] = {} | template[k] = {} | ||
if prev_data[k] == nil then prev_data[k] = {} end | if prev_data[k] == nil then prev_data[k] = {} end | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if k == "subtowers" then tinsert(template[k], sformat(header, | if k == "subtowers" then tinsert(template[k], sformat(header, i)) end | ||
if prev_data[k][ | if prev_data[k][i] == nil then prev_data[k][i] = {} end | ||
-- parse sub-table of table | -- parse sub-table of table | ||
tinsert(template[k], parse_stats(frame, | tinsert(template[k], parse_stats(frame, i, v[i], prev_data[k][i], template_names[k])) | ||
end | end | ||
| Line 78: | Line 78: | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if prev_data[k][ | if prev_data[k][i] == nil then prev_data[k][i] = {} end | ||
-- parse sub-table of table | -- parse sub-table of table | ||
tinsert(template[k], parse_stats(frame, | tinsert(template[k], parse_stats(frame, i, v[i], prev_data[k][i], template_names[k])) | ||
end | end | ||
| Line 116: | Line 116: | ||
if type(v) == "table" and ssub(k, 1, 1) ~= "_" then | if type(v) == "table" and ssub(k, 1, 1) ~= "_" then | ||
if template[k] == nil then template[k] = {} end | if template[k] == nil then template[k] = {} end | ||
if prev_data[k] == nil then prev_data[k] = {} end | if prev_data[k] == nil then prev_data[k] = {} end | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if prev_data[k][ | if prev_data[k][i] == nil then prev_data[k][i] = {} end | ||
-- parse sub-table of table | -- parse sub-table of table | ||
parse_stats_full(frame, | parse_stats_full(frame, i, v[i], prev_data[k][i], template_names[k]) | ||
end | end | ||
| Line 138: | Line 137: | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if k == "subtowers" then tinsert(template[k], sformat(header, | if k == "subtowers" then tinsert(template[k], sformat(header, i)) end | ||
tinsert(template[k], parse_stats_full(frame, | tinsert(template[k], parse_stats_full(frame, i, nil, v[i], template_names[k])) | ||
end | end | ||
| Line 169: | Line 168: | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if prev_data[k][ | if prev_data[k][i] == nil then prev_data[k][i] = {} end | ||
-- parse sub-table of table | -- parse sub-table of table | ||
parse_stats_full(frame, | parse_stats_full(frame, i, v[i], prev_data[k][i], template_names[k]) | ||
end | end | ||
| Line 186: | Line 185: | ||
-- iterate through attacks/abilities/subtowers | -- iterate through attacks/abilities/subtowers | ||
for | for _, i in ipairs(v["_order"]) do | ||
if prev_data[k][ | if prev_data[k][i] == nil then prev_data[k][i] = {} end | ||
-- parse sub-table of table | -- parse sub-table of table | ||
tinsert(template[k], parse_stats_full(frame, | tinsert(template[k], parse_stats_full(frame, i, nil, v[i], template_names[k])) | ||
end | end | ||
| Line 204: | Line 203: | ||
-- stats of a single tower | -- stats of a single tower | ||
function p.base_stats(frame) | function p.base_stats(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
local header_level = frame.args["header level"] ~= nil and frame.args["header level"] or "3" | local header_level = frame.args["header level"] ~= nil and frame.args["header level"] or "3" | ||
local header = "<h" .. header_level .. ">%s</h" .. header_level .. ">" | local header = "<h" .. header_level .. ">%s</h" .. header_level .. ">" | ||
| Line 221: | Line 220: | ||
-- stats of a paragon | -- stats of a paragon | ||
function p.paragon(frame) | function p.paragon(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
local out = parse_tower(frame, data, my_data, "<h3>%s</h3>") | local out = parse_tower(frame, data, my_data, "<h3>%s</h3>") | ||
| Line 229: | Line 228: | ||
-- stat changes of a tower | -- stat changes of a tower | ||
function p.tower_upgrade_stats(frame) | function p.tower_upgrade_stats(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
local ret = {} | local ret = {} | ||
| Line 241: | Line 240: | ||
local upgrade_crosspaths = { | local upgrade_crosspaths = { | ||
["_100"] = {{"_110"}, {"_101"}}, | |||
["_200"] = {{"_210", "_220"}, {"_201", "_202"}}, | |||
["_010"] = {{"_110"}, {"_011"}}, | |||
["_020"] = {{"_120", "_220"}, {"_021", "_022"}}, | |||
["_001"] = {{"_101"}, {"_011"}}, | |||
["_002"] = {{"_102", "_202"}, {"_012", "_022"}}, | |||
["_300"] = {{"_310", "_320"}, {"_301", "_302"}}, | ["_300"] = {{"_310", "_320"}, {"_301", "_302"}}, | ||
["_400"] = {{"_410", "_420"}, {"_401", "_402"}}, | ["_400"] = {{"_410", "_420"}, {"_401", "_402"}}, | ||
| Line 282: | Line 275: | ||
-- stat changes of a hero | -- stat changes of a hero | ||
function p.hero_level_changes(frame) | function p.hero_level_changes(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
local ret = {} | local ret = {} | ||
| Line 303: | Line 296: | ||
-- stat changes of a hero | -- stat changes of a hero | ||
function p.hero_level_stats(frame) | function p.hero_level_stats(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
local ret = {} | local ret = {} | ||
| Line 323: | Line 316: | ||
function p.last_updated(frame) | function p.last_updated(frame) | ||
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s", frame.args[1])) | local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1])) | ||
return string.format("<div class='hatnote'>This data was last updated for: [[Bloons TD 6 v%s|version %s]]</div>", data["_last_updated"], data["_last_updated"]) | return string.format("<div class='hatnote'>This data was last updated for: [[Bloons TD 6 v%s|version %s]]</div>", data["_last_updated"], data["_last_updated"]) | ||
end | end | ||
return p | return p | ||