Module:Sensibilités
Apparence
Ceci est un module permettant de calculer les sensibilités d'un Pokémon suivant son ou ses types.
Exemple d'appel du module :
{{#invoke:Sensibilités|tableau|generation=6|type1=Psy|type2=Ténèbres}}
Où "type1" et "type2" (optionnel) sont les types du Pokémon, et "generation" le numéro de la génération dans laquelle on se trouve.
local p = {}
local ressources = {
["de"] = require("Module:Ressources/de"),
["enleverAccents"] = require("Module:Ressources/enleverAccents")
}
function p.tableau(frame)
-- code, genmin
local conf = {
{"normal", 1},
{"plante", 1},
{"feu", 1},
{"eau", 1},
{"electrik", 1},
{"glace", 1},
{"combat", 1},
{"poison", 1},
{"sol", 1},
{"vol", 1},
{"psy", 1},
{"insecte", 1},
{"roche", 1},
{"spectre", 1},
{"dragon", 1},
{"tenebres", 2},
{"acier", 2},
{"fee", 6}
}
local types = {
normal = "normal",
plante = "plante",
feu = "feu",
eau = "eau",
electrik = "électrik",
glace = "glace",
combat = "combat",
poison = "poison",
sol = "sol",
vol = "vol",
psy = "psy",
insecte = "insecte",
roche = "roche",
spectre = "spectre",
dragon = "dragon",
tenebres = "ténèbres",
acier = "acier",
fee = "fée"
}
local typesCap = {
normal = "Normal",
plante = "Plante",
feu = "Feu",
eau = "Eau",
electrik = "Électrik",
glace = "Glace",
combat = "Combat",
poison = "Poison",
sol = "Sol",
vol = "Vol",
psy = "Psy",
insecte = "Insecte",
roche = "Roche",
spectre = "Spectre",
dragon = "Dragon",
tenebres = "Ténèbres",
acier = "Acier",
fee = "Fée"
}
-- coefG1, coefG2-5, coefG6-7+, coefPDMRB, coefPDMTOC, coefPDMPI coefPMDM
local relations = {
normal = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
spectre = {0, 0, 0, 0.5, 0.5, 0.5, 0},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
plante = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
eau = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
plante = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
sol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
vol = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
roche = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
feu = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
eau = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
plante = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
roche = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
eau = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
eau = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
plante = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 1, 1, 1, 1, 1, 1},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
electrik = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
plante = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
electrik = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {0, 0, 0, 0.5, 0.5, 0.5, 0},
vol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 1, 1, 1, 1, 1, 1},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
glace = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
eau = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
plante = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
vol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
combat = {
normal = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
psy = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
insecte = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
roche = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
spectre = {0, 0, 0, 0.5, 0.5, 0.5, 0},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
acier = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
fee = {0, 0, 0.5, 0, 0, 0, 0.875},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
poison = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
sol = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {2, 1, 1, 1, 1, 1, 1},
roche = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
spectre = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0, 0, 0.5, 0.5, 0.5, 0},
fee = {0, 0, 2, 0, 0, 0, 1.2},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
sol = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
electrik = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {0, 0, 0, 0.5, 0.5, 0.5, 0},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
roche = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
vol = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
electrik = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
roche = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
psy = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
poison = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 0, 0, 0.5, 0.5, 0.5, 0},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
insecte = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
poison = {2, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
psy = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 0.5, 0, 0, 0, 0.875},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
roche = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
combat = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {0.5, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
vol = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
spectre = {
normal = {0, 0, 0, 0.5, 0.5, 0.5, 0},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
acier = {0, 0.5, 1, 0.9, 0.7, 0.7, 1},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
dragon = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {2, 2, 2, 1.5, 1.4, 1.4, 1.2},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 0, 0, 0, 0, 0},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
tenebres = {
normal = {0, 1, 1, 1, 1, 1, 1},
feu = {0, 1, 1, 1, 1, 1, 1},
eau = {0, 1, 1, 1, 1, 1, 1},
plante = {0, 1, 1, 1, 1, 1, 1},
electrik = {0, 1, 1, 1, 1, 1, 1},
glace = {0, 1, 1, 1, 1, 1, 1},
combat = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
poison = {0, 1, 1, 1, 1, 1, 1},
sol = {0, 1, 1, 1, 1, 1, 1},
vol = {0, 1, 1, 1, 1, 1, 1},
psy = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
insecte = {0, 1, 1, 1, 1, 1, 1},
roche = {0, 1, 1, 1, 1, 1, 1},
spectre = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
dragon = {0, 1, 1, 1, 1, 1, 1},
tenebres = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
acier = {0, 0.5, 1, 0.9, 0.7, 0.7, 1},
fee = {0, 0, 0.5, 0, 0, 0, 0.875},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
acier = {
normal = {0, 1, 1, 1, 1, 1, 1},
feu = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
eau = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
plante = {0, 1, 1, 1, 1, 1, 1},
electrik = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
glace = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
combat = {0, 1, 1, 1, 1, 1, 1},
poison = {0, 1, 1, 1, 1, 1, 1},
sol = {0, 1, 1, 1, 1, 1, 1},
vol = {0, 1, 1, 1, 1, 1, 1},
psy = {0, 1, 1, 1, 1, 1, 1},
insecte = {0, 1, 1, 1, 1, 1, 1},
roche = {0, 2, 2, 1.5, 1.4, 1.4, 1.2},
spectre = {0, 1, 1, 1, 1, 1, 1},
dragon = {0, 1, 1, 1, 1, 1, 1},
tenebres = {0, 1, 1, 1, 1, 1, 1},
acier = {0, 0.5, 0.5, 0.9, 0.7, 0.7, 0.875},
fee = {0, 0, 2, 0, 0, 0, 1.2},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
fee = {
normal = {0, 0, 1, 0, 0, 0, 1},
feu = {0, 0, 0.5, 0, 0, 0, 0.875},
eau = {0, 0, 1, 0, 0, 0, 1},
plante = {0, 0, 1, 0, 0, 0, 1},
electrik = {0, 0, 1, 0, 0, 0, 1},
glace = {0, 0, 1, 0, 0, 0, 1},
combat = {0, 0, 2, 0, 0, 0, 1.2},
poison = {0, 0, 0.5, 0, 0, 0, 0.875},
sol = {0, 0, 1, 0, 0, 0, 1},
vol = {0, 0, 1, 0, 0, 0, 1},
psy = {0, 0, 1, 0, 0, 0, 1},
insecte = {0, 0, 1, 0, 0, 0, 1},
roche = {0, 0, 1, 0, 0, 0, 1},
spectre = {0, 0, 1, 0, 0, 0, 1},
dragon = {0, 0, 2, 0, 0, 0, 1.2},
tenebres = {0, 0, 2, 0, 0, 0, 1.2},
acier = {0, 0, 0.5, 0, 0, 0, 0.875},
fee = {0, 0, 1, 0, 0, 0, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
},
aucun = {
normal = {1, 1, 1, 1, 1, 1, 1},
feu = {1, 1, 1, 1, 1, 1, 1},
eau = {1, 1, 1, 1, 1, 1, 1},
plante = {1, 1, 1, 1, 1, 1, 1},
electrik = {1, 1, 1, 1, 1, 1, 1},
glace = {1, 1, 1, 1, 1, 1, 1},
combat = {1, 1, 1, 1, 1, 1, 1},
poison = {1, 1, 1, 1, 1, 1, 1},
sol = {1, 1, 1, 1, 1, 1, 1},
vol = {1, 1, 1, 1, 1, 1, 1},
psy = {1, 1, 1, 1, 1, 1, 1},
insecte = {1, 1, 1, 1, 1, 1, 1},
roche = {1, 1, 1, 1, 1, 1, 1},
spectre = {1, 1, 1, 1, 1, 1, 1},
dragon = {1, 1, 1, 1, 1, 1, 1},
tenebres = {1, 1, 1, 1, 1, 1, 1},
acier = {1, 1, 1, 1, 1, 1, 1},
fee = {1, 1, 1, 1, 1, 1, 1},
aucun = {1, 1, 1, 1, 1, 1, 1}
}
}
local nom = frame:getArgument("nom"):expand()
if nom == nil then nom = mw.text.split(frame:getParent():getTitle(),"/",true)[1] end
local jeu = frame:getArgument("jeu"):expand()
if jeu ~= nil then jeu = string.lower(jeu) end
local generation = frame:getArgument("generation"):expand()
if generation == nil then
if jeu == "pdmrb" then generation = 3 elseif jeu == "pdmtoc" then generation = 4 elseif jeu == "pdmpi" then generation = 5 elseif jeu == "pmdm" then generation = 6 else generation = 1 end
else generation = tonumber(generation) end
local type1 = frame:getArgument("type1"):expand()
if type1 == nil then type1 = "aucun" else type1 = ressources.enleverAccents(mw.ustring.lower(type1)) end
local type2 = frame:getArgument("type2"):expand()
if type2 == nil then type2 = "aucun" else type2 = ressources.enleverAccents(mw.ustring.lower(type2)) end
-- position du coef a charger depuis les tables de relations
local poscoef = 1
if generation >=6 then poscoef = 3
elseif generation >= 2 then poscoef = 2
end
if jeu == "pdmrb" then poscoef = 4 elseif jeu == "pdmtoc" then poscoef = 5 elseif jeu == "pdmpi" then poscoef = 6 elseif jeu == "pmdm" then poscoef = 7 end
local efficacites = {}
local remarques = {}
local colonne = 1
for _,subconf in ipairs(conf) do
local genmin = subconf[2]
if generation >= genmin then
local code = subconf[1]
local coef = relations[code][type1][poscoef]*relations[code][type2][poscoef]
local classe = "standard"
if jeu == "pdmrb" then
if coef > 1.5 then classe = "doublefaiblesse"
elseif coef > 1 then classe = "faiblesse"
elseif coef == 0.5 then classe = "immunité"
elseif coef < 0.9 then classe = "doublerésistance"
elseif coef < 1 then classe = "résistance"
end
elseif jeu == "pdmtoc" or jeu == "pdmpi" then
if coef > 1.4 then classe = "doublefaiblesse"
elseif coef > 1 then classe = "faiblesse"
elseif coef == 0.5 then classe = "immunité"
elseif coef < 0.7 then classe = "doublerésistance"
elseif coef < 1 then classe = "résistance"
end
elseif jeu == "pmdm" then
if coef > 1.2 then classe = "doublefaiblesse"
elseif coef > 1 then classe = "faiblesse"
elseif coef == 0 then classe = "immunité"
elseif coef < 0.875 then classe = "doublerésistance"
elseif coef < 1 then classe = "résistance"
end
else
if coef > 2 then classe = "doublefaiblesse"
elseif coef > 1 then classe = "faiblesse"
elseif coef == 0 then classe = "immunité"
elseif coef < 0.5 then classe = "doublerésistance"
elseif coef < 1 then classe = "résistance"
end
end
local affichage = ""
if coef == 0.5 then affichage = "× ½"
elseif coef == 0.25 then affichage = "× ¼"
elseif coef ~= 1 then affichage = "× " .. string.gsub( mw.ustring.sub( coef, 1, 4 ), "%.", "," ) end
table.insert(efficacites, "<td class='colonne-" .. colonne .. "' style='padding: 0; border: 0;'>[[Fichier:Miniature Type "..typesCap[code].." EV vertical.png|x32px|link="..typesCap[code].." (type)]]<div class='"..classe.."'>"..affichage)
colonne = colonne + 1
if frame:getArgument("remarque-"..types[code]):expand() then
local numremarque = table.getn(remarques)+1
table.insert(efficacites, " <sup><small>[[#remarque-sensibilite-"..numremarque.."|"..numremarque.."]]</small></sup>")
table.insert(remarques, "<li id='remarque-sensibilite-"..numremarque.."'>"..numremarque.." : "..frame:getArgument("remarque-"..types[code]):expand().."</li>")
end
table.insert(efficacites, "</div></td>")
end
end
local nbr_colonnes = colonne - 1
if table.getn(remarques) > 0 then
table.insert(remarques, 1, "<tr><th colspan='"..nbr_colonnes.."'>Remarque(s)</th></tr><tr><td colspan='"..nbr_colonnes.."' style='text-align: justify;'><small><ul>")
table.insert(remarques, "</ul></small></td></tr>")
end
-- contrainte : A + 5xB = nombreTypes
local colspans = {}
if nbr_colonnes == 15 then colspans = {5,2}
elseif nbr_colonnes == 17 then colspans = {2,3}
else colspans = {3,3}
end
if jeu == "pdmrb" then
legende = { "× ½", "× 0,81", "× 0,9", "× 1,5", "× 2,25" }
elseif jeu == "pdmtoc" then
legende = { "× ½", "× 0,49", "× 0,7", "× 1,4", "× 1,96" }
elseif jeu == "pdmpi" then
legende = { "× ½", "× 0,49", "× 0,7", "× 1,4", "× 1,96" }
elseif jeu == "pmdm" then
legende = { "× 0", "× 0,76", "× 0,87", "× 1,2", "× 1,44" }
else
legende = { "× 0", "× ¼", "× ½", "× 2", "× 4" }
end
return "<table class='tableaustandard centre sensibilite sensibilite-" .. nbr_colonnes .. "types ".. mw.ustring.lower(frame:getArgument("type1"):expand()).."' style='max-width: 100%;'><tr><th colspan='"..nbr_colonnes.."'>Sensibilités " .. ressources.de(nom) .. nom .."</th></tr><tr><th colspan='"..nbr_colonnes.."'>Liste des sensibilités</th></tr><tr class='ligne-efficacités'>"..table.concat(efficacites, "").."</tr><tr class='ligne-légende' style='font-size: 90%;'><th colspan='"..colspans[1].."'>Légende</th><td colspan='"..colspans[2].."'><span style='background: #AAAAAA;'>"..legende[1].."</span> : [[Table des types#Immunité|Immunité]]</td><td colspan='"..colspans[2].."'><span style='background: #3AF24B;'>"..legende[2].."</span> : Double [[Table des types#Résistance|résistance]]</td><td colspan='"..colspans[2].."'><span style='background: #AAFFAA;'>"..legende[3].."</span> : [[Table des types#Résistance|Résistance]]</td><td colspan='"..colspans[2].."'><span style='background: #FFAAAA;'>"..legende[4].."</span> : [[Table des types#Faiblesse|Faiblesse]]</td><td colspan='"..colspans[2].."'><span style='background: #FF5E4D;'>"..legende[5].."</span> : Double [[Table des types#Faiblesse|faiblesse]]</td></tr>"..table.concat(remarques, "").."</table>"
end
return p