Module:Sprite Damage
From ALttP Speedrunning Wiki
Documentation for this module may be created at Damage/doc&action=edit&redlink=1 Module:Sprite Damage/doc
local p = {} local damage_table = mw.loadData('Module:Sprite Damage/weapon table') local sprite_table = mw.loadData('Module:Sprite Damage/sprites table') local bump_table = mw.loadData('Module:Sprite Damage/bump table') function p.main(frame) local args = frame:getParent().args args[1] = args[1] or 'A' return p._main(args) end function p._getDamageForId(m, w) local d = sprite_table[m][w] return damage_table[w][d] end function p.getDamageForId(frame) local args = frame:getParent().args local m = args.id m = m:gsub('0x', '') m = tonumber(m, 16) local w = args.weapon return p._getDamageForId(m, w) end function p.getHPForId(frame) local args = frame:getParent().args local m = args.id m = m:gsub('0x', '') m = tonumber(m, 16) return p._getHPForId(m, w) end function p._getHPForId(m) return sprite_table[m].hp end local mails = { GREEN = 1, BLUE = 2, RED = 3 } function p._getBumpForId(s, m) m = m:upper() return bump_table[sprite_table[s].bump][(mails[m] or m) or 1] end return p