Module:Currency

From Brighter Shores Wiki
Revision as of 21:50, 6 November 2024 by Karner (talk | contribs)
Jump to navigation Jump to search

Documentation for this module may be created at Module:Currency/doc

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	local a = args[1] or args.Amount or args.amount or '0'
	return p.parse(a)
end

function p.parse(a)
	local val = tonumber(a)
	if val == nil then
		return nil
	end
	
	-- Initialize output string
	local output = ''
	
	-- Calculate gold, silver, and copper values
	local gold = math.floor(val / 1000000)
	local silver = math.floor((val % 1000000) / 1000)
	local copper = val % 1000

	-- Append gold if present
	if gold > 0 then
		output = output .. gold .. ' [[File:Gold coin.png|link=]] '
	end
	
	-- Append silver if present
	if silver > 0 then
		output = output .. silver .. ' [[File:Silver coin.png|link=]] '
	end
	
	-- Append copper if present or if total value is exactly 0
	if copper > 0 or val == 0 then
		output = output .. copper .. ' [[File:Copper coin.png|link=]]'
	end

	return output
end

return p