Module:Donnees jeu
Révision datée du 16 avril 2019 à 11:44 par Alexandrep (discussion | contributions)
La documentation pour ce module peut être créée à Module:Donnees jeu/doc
local p = {} local Data = mw.loadData('Module:Donnees jeu/Data') local AmeliorationType = mw.loadData('Module:Donnees jeu/AmeliorationType') 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 referenceText = "" 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 if typeDonnees == "Cout" and Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr]["ref"] ~= nil then referenceText = mw.getCurrentFrame():preprocess("<ref>" .. Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr]["ref"] .. "</ref>") end return Data[typeCarteStr][typeAmeliorationStr][formationStr][nomCarteStr][typeDonnees] .. version(formationStr) .. referenceText 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