Kingdom Hearts Wiki
Advertisement
Kingdom Hearts Wiki

Ce module contient les fonctions permettant de créer des modèles concernant les stats (d'ennemis, objets, etc) exclusifs à Kingdom Hearts III Re Mind.

Pour les ennemis de Kingdom Hearts III, utiliser Module:Stats/KH3 à la place.

Fonction StatsREM.CategorieEnnemi

Cette fonction détermine à quelles catégories ajouter un ennemi, selon qu'il est un ennemi standard ou un boss.

Elle reçoit un paramètre "args", version nettoyée des arguments tirés de l'appel du modèle. Il s'agit d'un tableau contenant les informations reprises dans le tableau ci-dessous.

Arguments Utilisation
REMboss Indique que l'ennemi est un boss si le paramètre est utilisé
boss Indique que l'ennemi est un boss si le paramètre est utilisé (permet d'utiliser un argument comment si l'ennemi est un boss pour toutes ses apparitions dans la série)

Fonction StatsREM.Ennemi

Cette fonction génère le tableau de statistiques d'un ennemi de Re Mind.

Elle reçoit deux paramètres :

  • args, version nettoyée des arguments tirés de l'appel du modèle. Il s'agit d'un tableau contenant les informations reprises dans le tableau ci-dessous.
  • multiples : valeur booléenne indiquant si d'autres tableaux de stats sont utilisés (permet de générer le tabber).
Paramètre Sous-paramètre Utilisation
REMHP - Multiplicateur des HP de l'ennemi
REMEXP - Multiplicateur des HP de l'ennemi
REMloc 1-3 Monde et niveau de combat où l'ennemi est combattu. Si l'attribut HP (par ex. REMHP1) est employé, les HP écrasent le calcul par défaut.
REMniv
REMHP
REMarme - Résistances aux différents éléments et altérations d'état.
REMbrasier
REMglacier
REMfoudre
REMeau
REMrafale
REMténèbres
REMautre
REMcontinu
REMgel
REMélectrocuté
REMko
REMmiel
REMréaction - Résistance aux techniques de réaction
REMcontre - Compteur caché qui permet à un ennemi d'esquiver ou contre-attaquer si Sora exécute trop d'attaque d'affilée, afin d'empêcher qu'un ennemi soit paralysé par un combo.
REMattraction - Multiplicateur d'Attraction
REMdégâts - Attribut qui limite les dégâts maximum subis en une attaque
REMrecomp - Renseigne les récompenses abandonnées par l'ennemi

local StatsREM = {}

local KH3Niv = require("Module:Stats/KH3").KH3Niv
--<includeonly>
function StatsREM.CategorieEnnemi(args) 
    if args["boss"] or args["REMboss"] then
        return "[[Catégorie:Boss Kingdom Hearts III Re Mind]]"
    else
        return "[[Catégorie:Ennemis Kingdom Hearts III Re Mind]]"
    end 
end
--</includeonly>
function StatsREM.Ennemi(args, multiples)
	local Template=require("Module:Stats/Template")
    local stringBuilder = ""
    if multiples then stringBuilder = stringBuilder .. Template.OpenTab(args, "REM") end -- Ouvre un tab si nécessaire
    stringBuilder = stringBuilder .. Template.OpenContainer(args["theme"])
    stringBuilder = stringBuilder .. Template.OpenBox()
    stringBuilder = stringBuilder .. Template.Header("Statistiques",6)
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Monde", ["style"] = "width:40%; padding-left:1em;"},
        {["label"] = '[[Niveau de combat|Niveau]]', ["style"] = "width:12%;"},
        {["label"] = 'HP', ["style"] = "width:12%;"},
        {["label"] = 'EXP', ["style"] = "width:12%;"},
        {["label"] = "Force", ["style"] = "width:12%;"},
        {["label"] = "Défense", ["style"] = "width:12%;"}
    })
    for i=1,3 do
        if args["REMloc"..tostring(i)] ~= nil then
            stringBuilder = stringBuilder .. Template.DataRow({
                {["data"]=args["REMloc"..tostring(i)], ["class"]="textData"},
                {["data"] = args["REMniv"..tostring(i)], ["class"] = "numberData"},
                {["data"] = (args["REMHP"..tostring(i)] or Template.round(args["REMHP"]*KH3Niv[args["REMniv"..tostring(i)]]["HP"])), ["class"] = "numberData"},
                {["data"] = (args["REMEXP"] == 0 and "-" or Template.round(args["REMEXP"]*KH3Niv[args["REMniv"..tostring(i)]]["EXP"])), ["class"] = "numberData"},
                {["data"] = KH3Niv[args["REMniv"..tostring(i)]]["For"], ["class"] = "numberData"},
                {["data"] = KH3Niv[args["REMniv"..tostring(i)]]["Def"], ["class"] = "numberData"}
            })
        end
    end
    stringBuilder = stringBuilder .. Template.CloseContainer()
    stringBuilder = stringBuilder .. Template.ContainerLine()
    stringBuilder = stringBuilder .. Template.OpenBox()
    stringBuilder = stringBuilder .. Template.Header("Faiblesses/Résistances",4)
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Arme", ["style"]="width:25%;"},
        {["label"] = "Brasier", ["style"]="width:25%;"},
        {["label"] = "Glacier", ["style"]="width:25%;"},
        {["label"] = "Foudre", ["style"]="width:25%;"}
    })
    stringBuilder = stringBuilder .. Template.DataRow({
        {["data"] = (args["REMarme"] or args["KH3arme"] or "x1.0"), ["class"]="numberData"}, 
        {["data"] = (args["REMbrasier"] or args["KH3brasier"] or "x1.0"), ["class"]="numberData"}, 
        {["data"] = (args["REMglacier"] or args["KH3glacier"] or "x1.0"), ["class"]="numberData"}, 
        {["data"] = (args["REMfoudre"] or args["KH3foudre"] or "x1.0"), ["class"]="numberData"}
    })
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Eau"},
        {["label"] = "Rafale"},
        {["label"] = "Ténèbres"},
        {["label"] = "Autre"}
    })
    stringBuilder = stringBuilder .. Template.DataRow({
        {["data"] = (args["REMeau"] or args["KH3eau"] or "x1.0"), ["class"]="numberData"},
        {["data"] = (args["REMrafale"] or args["KH3rafale"] or "x1.0"), ["class"]="numberData"}, 
        {["data"] = (args["REMténèbres"] or args["KH3ténèbres"] or "x1.0"), ["class"]="numberData"}, 
        {["data"] = (args["REMautre"] or args["KH3autre"] or "x1.0"), ["class"]="numberData"}
    })
    stringBuilder = stringBuilder .. Template.MixedRow({
        {["label"]=1, ["text"]="Attaques continues", ["colspan"]=2},
        {["text"]=(args["REMcontinu"] or args["KH3continu"] or "x1.0"), ["colspan"]=2}
    })
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Gel"},
        {["label"] = "Électrocuté"},
        {["label"] = "KO"},
        {["label"] = "Miel"}
    })
    stringBuilder = stringBuilder .. Template.DataRow({
        {["data"] = (args["REMgel"] or args["KH3gel"] or "O"), ["class"]="numberData"}, 
        {["data"] = (args["REMélectrocuté"] or args["KH3électrocuté"] or "O"), ["class"]="numberData"}, 
        {["data"] = (args["REMko"] or args["KH3ko"] or "O"), ["class"]="numberData"},
        {["data"] = (args["REMmiel"] or args["KH3miel"] or "O"), ["class"]="numberData"}
    })
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Résistance réaction"},
        {["label"] = "Contre"},
        {["label"] = "Attraction"},
        {["label"] = "Limite-Dégâts"}
    })
    stringBuilder = stringBuilder .. Template.DataRow({
        {["data"] = (args["REMréaction"] or args["KH3réaction"] or "0"), ["class"]="numberData"}, 
        {["data"] = (args["REMcontre"] or args["KH3contre"] or "-"), ["class"]="numberData"}, 
        {["data"] = (args["REMattraction"] or args["KH3attraction"] or "x1.0"), ["class"]="numberData"},
        {["data"] = (args["REMdégâts"] or args["KH3dégâts"] or "-"), ["class"]="numberData"}
    })
    stringBuilder = stringBuilder .. Template.CloseContainer()
    if args["REMrecomp"] ~= nil then
        stringBuilder = stringBuilder .. Template.ContainerLine()
        stringBuilder = stringBuilder .. Template.OpenBox()
        stringBuilder = stringBuilder .. Template.Header("Récompenses",1)
        stringBuilder = stringBuilder .. Template.DataRow({
            {["data"] = args["REMrecomp"], ["class"] = "textData"}
        })
        stringBuilder = stringBuilder .. Template.CloseContainer()
    end
    stringBuilder = stringBuilder .. Template.CloseFinal()
    if multiples then stringBuilder = stringBuilder .. Template.CloseTab() end -- Ferme un tab si nécessaire
    return stringBuilder
end


return StatsREM