Module:CoinDisplay: Difference between revisions

From IdleOn MMO Wiki
mNo edit summary
mNo edit summary
Line 25: Line 25:
until(n == 0)
until(n == 0)
return table.concat(ret, " ")
return table.concat(reverse(ret), " ")
end
end



Revision as of 07:14, 10 March 2024

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

local p = {}

function p.Main(frame)
	local n = tonumber(frame.args.coins)
	local ret = {}
	local coins = {"Copper", "Silver", "Gold", "Platinum", "Dementia", "Void", "Lustre", "Starfire", "Dreadlo", "Godshard", "Sunder", "Tydal", "Marbiglass", "Orberal", "Eclipse"} 
	local coininc = 1
	local stringpiece = [=[[[File:%s Coin.png|link=]] %s]=]
	
	repeat
		-- Set denomVStr to remaining n if on last type, or get last 2 for current denom.
		local denomV = n
		if coininc < #coins then
			denomV = denomV % 100
		end
		if denomV > 0 then
			ret[#ret+1] = string.format(stringpiece, coins[coininc], tostring(denomV))
		end	
		if coininc < #coins then
			n = math.floor(n / 100)
		else
			n = 0
		end
		coininc = coininc + 1
	until(n == 0)
	
	return table.concat(reverse(ret), " ")
end

local function reverse(tab)
	local new = {}
    for i = 0, #tab do
        new[#new+1] = tab[#tab-i]
    end
    return tab
end


return p