Difference between revisions of "Module:Sprite Damage"

From ALttP Speedrunning Wiki
Jump to: navigation, search
Line 3: Line 3:
 
local damage_table = mw.loadData('Module:Sprite Damage/weapon table')
 
local damage_table = mw.loadData('Module:Sprite Damage/weapon table')
 
local sprite_table = mw.loadData('Module:Sprite Damage/sprites 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)
 
function p.main(frame)
Line 42: Line 43:
 
function p._getHPForId(m)
 
function p._getHPForId(m)
 
return sprite_table[m].hp
 
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 1]
 
end
 
end
  
 
return p
 
return p

Revision as of 11:36, 6 June 2019

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 1]
end

return p