Module:SpriteFinder
From Against the Storm Official Wiki
Documentation for this module may be created at Module:SpriteFinder/doc
--- --- Replaces sprite XML tags in descriptions with small icons. --- ---@module SpriteFinder SpriteFinder = {} --region Dependencies local GoodsData = require("Module:GoodsData") --endregion --region Private constants local ARG_ID = "id" local BLANK_RETURN = "?" local ICON_SIZE = mw.getCurrentFrame():expandTemplate{ title="ImgS" } --endregion --region Private methods local function toTitleCase(lowercaseString) return lowercaseString:gsub("(%a)([%w_']*)", function(first, rest) return first:upper() .. rest:lower() end) end --endregion --region public methods function SpriteFinder.main(frame) local goodID = frame.args[ARG_ID] if not goodID or "" == goodID then return BLANK_RETURN end goodID = toTitleCase(goodID) local goodName = GoodsData.getGoodNameByID(goodID) if not goodName or "" == goodName then return BLANK_RETURN end local goodIcon = GoodsData.getGoodIconByID(goodID) if not goodIcon or "" == goodIcon then return BLANK_RETURN end return "[[File:" .. goodIcon .. "|" .. ICON_SIZE .. "|alt=" .. goodName .. "|link=" .. goodName .. "]]" end --endregion return SpriteFinder