Module:Donnees jeu : Différence entre versions
(13 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
− | local | + | local DataLoad = mw.loadData('Module:Donnees jeu/Data') |
local AmeliorationType = mw.loadData('Module:Donnees jeu/AmeliorationType') | 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) | function trim(s) | ||
Ligne 9 : | Ligne 18 : | ||
function version(faction) | function version(faction) | ||
− | + | return mw.getCurrentFrame():preprocess("<ref name=\"" .. faction .. "\">Données en version " .. Data["Version"][faction]["version"] .. " (" .. Data["Version"][faction]["periode"] .. ")</ref>") | |
end | end | ||
Ligne 15 : | Ligne 24 : | ||
local typeCarteStr = trim(frame.args[1]) or "" | local typeCarteStr = trim(frame.args[1]) or "" | ||
local nomCarteStr = trim(frame.args[2]) or "" | local nomCarteStr = trim(frame.args[2]) or "" | ||
− | local | + | local formationStr = trim(frame.args[3]) or "Generique" |
− | local | + | local typeDonnees = trim(frame.args[4]) or "Cout" |
local typeAmeliorationStr = "" | local typeAmeliorationStr = "" | ||
if typeCarteStr == "Amelioration" then | if typeCarteStr == "Amelioration" then | ||
− | typeAmeliorationStr = | + | typeAmeliorationStr = trim(frame.args[2]) or "" |
− | formationStr = | + | formationStr = trim(frame.args[3]) or "Generique" |
nomCarteStr = trim(frame.args[4]) or "" | nomCarteStr = trim(frame.args[4]) or "" | ||
typeDonnees = trim(frame.args[5]) or "" | typeDonnees = trim(frame.args[5]) or "" | ||
end | end | ||
− | if typeDonnees == "Cout" then | + | if typeDonnees == "Cout" or typeDonnees == "Hyperespace" then |
if Data[typeCarteStr] == nil then | if Data[typeCarteStr] == nil then | ||
return typeCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | return typeCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | ||
end | end | ||
if typeCarteStr == "Amelioration" then | if typeCarteStr == "Amelioration" then | ||
+ | local texteRetour = "" | ||
if Data[typeCarteStr][typeAmeliorationStr] == nil then | if Data[typeCarteStr][typeAmeliorationStr] == nil then | ||
return typeCarteStr .. " - " .. typeAmeliorationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | return typeCarteStr .. " - " .. typeAmeliorationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | ||
Ligne 41 : | Ligne 51 : | ||
return typeCarteStr .. " - " .. typeAmeliorationStr .. " - " .. formationStr .. " - " .. nomCarteStr.. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" | return typeCarteStr .. " - " .. typeAmeliorationStr .. " - " .. formationStr .. " - " .. nomCarteStr.. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" | ||
end | 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 | end | ||
− | if Data[typeCarteStr][ | + | if Data[typeCarteStr][formationStr] == nil then |
− | return typeCarteStr .. " - " .. | + | return typeCarteStr .. " - " .. formationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" |
end | end | ||
− | if Data[typeCarteStr][ | + | if Data[typeCarteStr][formationStr][nomCarteStr] == nil then |
− | return typeCarteStr .. " - " .. | + | return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" |
end | end | ||
− | return Data[typeCarteStr][nomCarteStr][typeDonnees] .. version(formationStr) | + | if Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees] == nil then |
+ | return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" | ||
+ | end | ||
+ | return Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees] .. version(formationStr) | ||
end | end | ||
if typeDonnees == "Amelioration" then | if typeDonnees == "Amelioration" then | ||
− | retour = "== Améliorations ==\n" | + | retour = "== Améliorations " .. version(formationStr) .. " ==\n" |
if Data[typeCarteStr] == nil then | if Data[typeCarteStr] == nil then | ||
return typeCarteStr .. " : non défini" | return typeCarteStr .. " : non défini" | ||
end | end | ||
− | if Data[typeCarteStr][nomCarteStr] == nil then | + | if Data[typeCarteStr][formationStr] == nil then |
− | return typeCarteStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | + | return typeCarteStr .. " - " .. formationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" |
+ | end | ||
+ | if Data[typeCarteStr][formationStr][nomCarteStr] == nil then | ||
+ | return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" | ||
end | end | ||
− | if Data[typeCarteStr][nomCarteStr][typeDonnees] == nil then | + | if Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees] == nil then |
− | return typeCarteStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" | + | return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" |
end | end | ||
− | for k, a in pairs (Data[typeCarteStr][nomCarteStr][typeDonnees]) do | + | for k, a in pairs (Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees]) do |
retour = retour .. "* " .. AmeliorationType[k].icone .. " " .. AmeliorationType[k].lien .. " x " .. a .. "\n" | retour = retour .. "* " .. AmeliorationType[k].icone .. " " .. AmeliorationType[k].lien .. " x " .. a .. "\n" | ||
end | end | ||
Ligne 68 : | Ligne 88 : | ||
retour = retour .. "* Aucune\n" | retour = retour .. "* Aucune\n" | ||
end | end | ||
− | retour = retour .. version(formationStr) .. "\n" | + | -- retour = retour .. version(formationStr) .. "\n" |
return retour | return retour | ||
end | end | ||
end | end | ||
return p | return p |
Version actuelle datée du 19 mars 2021 à 21:06
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" or typeDonnees == "Hyperespace" 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][formationStr] == nil then return typeCarteStr .. " - " .. formationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][formationStr][nomCarteStr] == nil then return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees] == nil then return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" end return Data[typeCarteStr][formationStr][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][formationStr] == nil then return typeCarteStr .. " - " .. formationStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][formationStr][nomCarteStr] == nil then return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " : non défini [[Catégorie:Données de jeu manquantes]]" end if Data[typeCarteStr][formationStr][nomCarteStr][typeDonnees] == nil then return typeCarteStr .. " - " .. formationStr .. " - " .. nomCarteStr .. " - " .. typeDonnees .. " : non défini [[Catégorie:Données de jeu manquantes]]" end for k, a in pairs (Data[typeCarteStr][formationStr][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