Module:Donnees jeu : Différence entre versions
Ligne 6 : | Ligne 6 : | ||
local Data = {} | local Data = {} | ||
for key,value in pairs(DataLoad) do | for key,value in pairs(DataLoad) do | ||
− | Data[key] = mw.loadData(value) | + | if type(value) ~= "table" then |
+ | Data[key] = mw.loadData(value) | ||
+ | else | ||
+ | Data[key] = value | ||
+ | end | ||
end | end | ||
Version du 26 juillet 2019 à 13:09
La documentation pour ce module peut être créée à Module:Donnees jeu/doc
local p = {} local DataLoad = mw.loadData('Module:Donnees jeu/Data') local AmeliorationType = mw.loadData('Module:Donnees jeu/AmeliorationType') local Data = {} for key,value in pairs(DataLoad) do if type(value) ~= "table" then Data[key] = mw.loadData(value) else Data[key] = value end end function trim(s) return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end function version(faction) return mw.getCurrentFrame():preprocess("<ref name=\"" .. faction .. "\">Données en version " .. Data["Version"][faction]["version"] .. " (" .. Data["Version"][faction]["periode"] .. ")</ref>") end function p.affichage(frame) local typeCarteStr = trim(frame.args[1]) or "" local nomCarteStr = trim(frame.args[2]) or "" local formationStr = trim(frame.args[3]) or "Generique" local typeDonnees = trim(frame.args[4]) or "Cout" local typeAmeliorationStr = "" if typeCarteStr == "Amelioration" then typeAmeliorationStr = trim(frame.args[2]) or "" formationStr = trim(frame.args[3]) or "Generique" nomCarteStr = trim(frame.args[4]) or "" typeDonnees = trim(frame.args[5]) or "" end if typeDonnees == "Cout" then if Data[typeCarteStr] == nil then return typeCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if typeCarteStr == "Amelioration" then local texteRetour = "" if Data[typeCarteStr][typeAmeliorationStr] == nil then return typeCarteStr .. " - " .. typeAmeliorationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][typeAmeliorationStr][formationStr] == nil then return typeCarteStr .. " - " .. typeAmeliorationStr .. " - " .. formationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr] == nil then return typeCarteStr .. " - " .. typeAmeliorationStr .. " - " .. formationStr .. " - " .. nomCarteStr.. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr][typeDonnees] == nil then return typeCarteStr .. " - " .. typeAmeliorationStr .. " - " .. formationStr .. " - " .. nomCarteStr.. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" end texteRetour = Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr][typeDonnees] .. version(formationStr) if typeDonnees == "Cout" and Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr]["Ref"] ~= nil then texteRetour = texteRetour .. mw.getCurrentFrame():preprocess("<ref>" .. Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr]["Ref"] .. "</ref>") end return texteRetour end if Data[typeCarteStr][nomCarteStr] == nil then return typeCarteStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][nomCarteStr][typeDonnees] == nil then return typeCarteStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" end return Data[typeCarteStr][nomCarteStr][typeDonnees] .. version(formationStr) end if typeDonnees == "Amelioration" then retour = "== Améliorations " .. version(formationStr) .. " ==\n" if Data[typeCarteStr] == nil then return typeCarteStr .. " : non défini" end if Data[typeCarteStr][nomCarteStr] == nil then return typeCarteStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][nomCarteStr][typeDonnees] == nil then return typeCarteStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" end for k, a in pairs (Data[typeCarteStr][nomCarteStr][typeDonnees]) do retour = retour .. "* " .. AmeliorationType[k].icone .. " " .. AmeliorationType[k].lien .. " x " .. a .. "\n" end if retour == "== Améliorations ==\n" then retour = retour .. "* Aucune\n" end -- retour = retour .. version(formationStr) .. "\n" return retour end end return p