Module:Illustration

From Terra Invicta Official Wiki
Revision as of 17:38, 9 December 2025 by Llamageddon (talk | contribs)

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

-- This is meant to be a way to reference and use the illustrations in the game easily on the wiki and inside other templates.
-- No idea what I'm doing really, and need a break, so just leaving whatever this is here for now.

local p = {}

-- Almost 1500 lines, probably want to split into categories for more specific functions to use efficiently?
local illusData = mw.loadData('Module:Illustration/data')
-- Syntax borrowed from modules this one is emulating.
-- Commenting out for use later ##local ssub = string.sub
local tinsert = table.insert
local tconcat = table.concat
local slower = string.lower

-- Currently just trying to get this to output all entries for a key into a readable string, to test the basics work.
function p.Illusnametest (frame)
	-- This just checks matching dataName. More useful within other modules/templates.
	-- Next function planned will convert displayName to dataName first. More useful for humans.
	local illusdataName = frame.args[1]
	-- Check input makes sense
	if not illusdataName then
		return 'No illustration data name specified.'	
	end
	if not illusData[illusdataName] then
		illusdataName = slower(illusdataName)	
	end
	if not illusData[illusdataName] then
		illusdataName = mw.text.trim(illusdataName)	
	end
	if not illusData[illusdataName] then
		return 'Data name not recognized.'	
	end
	
	local returnString = 'Illustrations: '
	if illusData[illusdataName] then
		local Illustrations = {}
        for j, file in ipairs(illusData[illusdataName]) do
            if file ~= '' then
                tinsert(Illustrations, file)
            end
        end
	    returnString = returnString .. tconcat( Illustrations, ' , ')
        returnString = returnString .. 'Did this work?'
	end
    return returnString
end

return p