Module:Illustration: Difference between revisions
From Terra Invicta Official Wiki
Llamageddon (talk | contribs) mNo edit summary |
Llamageddon (talk | contribs) mNo edit summary |
||
| Line 94: | Line 94: | ||
local returnString = '' | local returnString = '' | ||
if illusData[illusdataName] then | 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, '<br />') | |||
end | |||
return returnString | |||
end | |||
-- Test function trying to create and use dynamic variables | |||
function p.IllusCountTest (frame) | |||
local illusdataName = frame.args[1] | |||
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 = '' | |||
if illusData[illusdataName] then | |||
local illusCount = #illusData[illusdataName] | |||
-- count entries and create variable for each one | |||
for i, value in ipairs(myArray) do | |||
-- Not sure how to do this with local variables... | |||
_G["illusNum_" .. i] = value | |||
end | |||
local Illustrations = {} | local Illustrations = {} | ||
for j, file in ipairs(illusData[illusdataName]) do | for j, file in ipairs(illusData[illusdataName]) do | ||
Revision as of 20:30, 9 December 2025
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)
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 .. '<br />Did this work?'
end
return returnString
end
-- This will simply output the filename based on the dataName.
-- Simplest implementation, intended for use inside other modules/templates.
-- Todo: isolate multiple entry outputs for per-image manipulation elsewhere.
function p.Illus (frame)
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 = ''
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, ' ')
end
return returnString
end
-- This will return just the illustration file name(s) as strings with a new line between multiple entries
-- Mainly intended for quickly adding images to galleries (until better functionality added, anyway)
function p.Illuslist (frame)
local illusdataName = frame.args[1]
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 = ''
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, '<br />')
end
return returnString
end
-- Test function trying to create and use dynamic variables
function p.IllusCountTest (frame)
local illusdataName = frame.args[1]
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 = ''
if illusData[illusdataName] then
local illusCount = #illusData[illusdataName]
-- count entries and create variable for each one
for i, value in ipairs(myArray) do
-- Not sure how to do this with local variables...
_G["illusNum_" .. i] = value
end
local Illustrations = {}
for j, file in ipairs(illusData[illusdataName]) do
if file ~= '' then
tinsert(Illustrations, file)
end
end
returnString = returnString .. tconcat( Illustrations, '<br />')
end
return returnString
end
return p


