Description
This module is the Lua back-end for {{EC}}, to display information about in-game currencies.
Usage
{{#invoke:EC|getEC|<parameter list>}}
For parameter details see Template:EC/doc
------
-- Lua script to get Currency Icon
--
-- Parameters:
-- 1: Currency = (Currency,count)
-- count is optional
-- count can include "," only first "," separates fields
-- multiple separated by "$" (dollar sign)
-- 2: Include Name/Text Link (Optional)
-- N = Currency Name
-- E = "Event Currency"
-- e = "event currency"
-- A = Alternate Text
-- L = Currency Name link (without Icon)
-- uses Alternate Text if present
-- T = Currency Name text only (without Icon)
-- 3: Alternate Text (Optional)
-- 4: Icon or Image (Optional)
-- Display Image file if present
-- 5: Size in pixels (Optional)
-- for Icon default 22
-- for Image default 50
--
-- The list of available currency is kept in the module data
--
-- Unknown Currency is returned if Currency Type is not in data.
-- <nowiki>
------
local p = {}
local currencyData = mw.loadData( 'Module:EC/data' )
function p.getEC(frame)
local tArgs
if frame == mw.getCurrentFrame() then
fParent = frame:getParent()
tArgs = fParent.args
if (fParent.args[1]) then
tArgs = fParent.args
else
tArgs = frame.args
end
else
tArgs = frame
end
local currency = tArgs[1] or ""
local inclName = tArgs[2] or ""
local altText = tArgs[3] or ""
local imgType = tArgs[4] or ""
local size = tArgs[5]
if not size or size == "" then
size = "22"
if imgType ~= "" then size = "50" end
end
local imgSize = ".png|x" .. size .. "px|"
if imgType ~= "" then
imgType = "F"
else
imgType = "I"
end
currency = mw.ustring.gsub(mw.ustring.lower(currency),
"^%s*(.-)%s*$", "%1") or ''
local currencyFileAll = ""
local space = ""
for cur in mw.text.gsplit(currency, "%s*%$%s*") do
local cName, count = mw.ustring.match(cur,
"^([^,]-)%s*,%s*([%/%,%d%?%-]*)$")
if not cName then cName = cur end
-- strip "EC-" from start of name
cName = mw.ustring.gsub(cName, "^ec%-", "")
local imageFile = "[[File:work_in_progress"
local imageLink = cName .. "|link=Work In Progress]]"
local nameText = "Work In Progress"
if currencyData[cName] then
local data = currencyData[cName]
-- check for Alias, switch to Alias if present
if data["A"] and currencyData[data["A"]] then
data = currencyData[data["A"]]
end
if data[imgType] then
imageFile = "[[File:"
.. mw.ustring.gsub(data[imgType], " ", "_")
end
if data["N"] then
nameText = data["N"]
imageLink = nameText
.. "|link="
.. nameText
.. "]]"
end
end
local nameLink = ""
local dispIcon = 1
local bracket = nil
if mw.ustring.match(inclName, "^[NEeALT]$") then
if inclName == "N" then
nameLink = "[[" .. nameText .. "]]"
elseif inclName == "E" then
nameLink = "[[" .. nameText .. "|Event Currency]]"
elseif inclName == "e" then
nameLink = "[[" .. nameText .. "|event currency]]"
elseif inclName == "T" then
nameLink = nameText
elseif inclName == "A" or inclName == "L" then
nameLink = "[[" .. nameText
if altText ~= "" then
nameLink = nameLink .. "|" .. altText
end
nameLink = nameLink .. "]]"
end
if inclName == "L" or inclName == "T" then
dispIcon = nil
else
bracket = 1
end
end
currencyFileAll = currencyFileAll .. space
.. nameLink
if dispIcon then
if bracket then
currencyFileAll = currencyFileAll .. " ("
end
currencyFileAll = currencyFileAll
.. imageFile .. imgSize .. imageLink
if bracket then
currencyFileAll = currencyFileAll .. ")"
end
if count and count ~= "" then
if imgType and imgType == "I" then
if nameText == "Elixirs" then
currencyFileAll = currencyFileAll .. count .. " <small>([[Merlin's Shop]])</small><br />"
elseif nameText == "Maleficent Coins" then
currencyFileAll = currencyFileAll .. count .. " <small>(During TC)</small><br />"
else
currencyFileAll = currencyFileAll .. count
end
else
currencyFileAll = currencyFileAll .. "'''" .. count .. "'''"
end
end
end
space = " "
end
return currencyFileAll
end
return p
-- </nowiki>
-- [[Category:Lua Modules]]
Community content is available under CC-BY-SA unless otherwise noted.