Module:Damage display

From ALttP Speedrunning Wiki
Jump to: navigation, search

Documentation for this module may be created at display/doc&action=edit&redlink=1 Module:Damage display/doc

local p = {}

function p.main(frame)
	local args = frame:getParent().args

	local dmg = args[1] or 0

	return p._main(dmg)
end

function p._main(d)
	local title = string.format('$%02X damage; (%s decimal)', d, d)

	local i = math.floor(d / 8)
	local f = d % 8

	if i == 0 and f == 0 then
			return mw.html.create('div')
							:wikitext('[[File:hit-0.png|link=]]')
							:done()
	end

	local ret = mw.html.create('div')
					:attr('title', title)
					:css({	['line-height'] = '0',
							display = 'inline-block' })

	if i > 0 then
		ret	:tag('div')
				:css('max-width', '36px')
				:wikitext(string.rep('[[File:hit-8.png|link=]]', i))
				:done()
	end

	if f > 0 then
		ret	:tag('div')
				:wikitext(string.format('[[File:hit-%s.png|link=]]', f))
				:done()
	end

	return tostring(ret)
end

return p