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) de Kingdom Hearts.

Fonction StatsKH1.CategorieEnnemi

Cette fonction détermine à quelles catégories ajouter un ennemi, selon qu'il est un ennemi standard ou un boss et qu'il apparaisse dans Kingdom Hearts ou uniquement Kingdom Hearts: Final Mix.

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
KHboss 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)
KHFM Indique que l'ennemi est exclusif à Kingdom Hearts: Final Mix si le paramètre est utilisé

Fonction StatsKH1.Ennemi

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

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
KHloc Avant[1-11]
Après[1-3]
Caractéristiques de l'ennemi, avant et après avoir sauvé Kairi à la Forteresse Oubliée. Jusqu'à 11 lignes sont disponibles avant la rescousse, et jusqu'à 3 lignes après, pour permettre d'afficher différentes caractéristiques par mondes (notamment pour l'Ombre et les ennemis qui viennent en renfort à Ansem lors du combat final). Dans l'ordre :
  • Monde
  • HP
  • Expérience
  • Force
  • Défense
  • Charge MP offerte en frappant l'ennemi
KHHP
KHEXP
KHFOR
KHDEF
KHCharge
KHarme Normal (ex. "KHarme")
Avant
Après
Résistances aux différents éléments et altérations d'état. La valeur normale est disponible si les valeurs sont identiques avant et après avoir sauvé Kairi. Avant et Après permet d'insérer des valeurs différentes. En outre, si un ennemi n'apparaît qu'avant la rescousse de Kairi ou après, les valeurs Avant ou Après doivent être renseignées à la place des valeurs normales (par ex. KHarmeAvant au lieu de KHarme).
KHbrasier
KHglacier
KHfoudre
KHgravité
KHstop
KHko
KHautre
KHrecomp - Renseigne les récompenses abandonnées par l'ennemi

local StatsKH1 = {}
--<includeonly>
function StatsKH1.CategorieEnnemi(args)
	if (args["boss"] or args["KHboss"]) then
        if args["KHFM"] then return "[[Catégorie:Boss Kingdom Hearts: Final Mix]]" else return "[[Catégorie:Boss Kingdom Hearts]]" end 
    else
        if args["KHFM"] then return "[[Catégorie:Ennemis Kingdom Hearts: Final Mix]]" else return "[[Catégorie:Ennemis Kingdom Hearts]]" end 
    end
end
--</includeonly>
function StatsKH1.Ennemi(args, multiples)
	local Template=require("Module:Stats/Template")
    local stringBuilder = ""
    if multiples then stringBuilder = stringBuilder .. Template.OpenTab(args, "KH1") 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:30%; padding-left: 1em;"},
        {["label"] = "HP", ["style"]="width:14%;"},
        {["label"] = "EXP", ["style"]="width:14%;"},
        {["label"] = "Force", ["style"]="width:14%;"},
        {["label"] = "Défense", ["style"]="width:14%;"},
        {["label"] = "Charge MP", ["style"]="width:14%;"},
    })
    if args["KHlocAvant1"]~= nil then
        if args["KHlocAprès1"] ~= nil then stringBuilder = stringBuilder .. Template.Separator("Avant la rescousse de Kairi", 6) end
        for i=1,11 do
            if args["KHlocAvant"..tostring(i)] ~= nil then
                stringBuilder = stringBuilder .. Template.DataRow({
                    {["data"]=args["KHlocAvant"..tostring(i)], ["class"] = "textData"},
                    {["data"]=(args["KHHPAvant"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHEXPAvant"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHFORAvant"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHDEFAvant"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHChargeAvant"..tostring(i)] or "?"), ["class"]="numberData"}
                })
            end
        end
    end
    if args["KHlocAprès1"]~= nil then
        if args["KHlocAvant1"] ~= nil then stringBuilder = stringBuilder .. Template.Separator("Après la rescousse de Kairi", 6) end
        for i=1,3 do
            if args["KHlocAprès"..tostring(i)] ~= nil then
                stringBuilder = stringBuilder .. Template.DataRow({
                    {["data"]=args["KHlocAprès"..tostring(i)], ["class"]="textData"}, 
                    {["data"]=(args["KHHPAprès"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHEXPAprès"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHFORAprès"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHDEFAprès"..tostring(i)] or "?"), ["class"]="numberData"}, 
                    {["data"]=(args["KHChargeAprès"..tostring(i)] or "?"), ["class"]="numberData"}
                })
            end
        end 
    end
    stringBuilder = stringBuilder .. Template.CloseContainer()
    stringBuilder = stringBuilder .. Template.ContainerLine()
    stringBuilder = stringBuilder .. Template.OpenBox()
    stringBuilder = stringBuilder .. Template.Header("Faiblesses/Résistances", 8)
    stringBuilder = stringBuilder .. Template.LabelRow({
        {["label"] = "Arme", ["style"]="width:12.5%;"},
        {["label"] = "Brasier", ["style"]="width:12.5%;"},
        {["label"] = "Glacier", ["style"]="width:12.5%;"},
        {["label"] = "Foudre", ["style"]="width:12.5%;"},
        {["label"] = "Gravité", ["style"]="width:12.5%;"},
        {["label"] = "Stop", ["style"]="width:12.5%;"},
        {["label"] = "KO", ["style"]="width:12.5%;"},
        {["label"] = "Autre", ["style"]="width:12.5%;"}
    })
    if (args["KHlocAvant1"] ~= nil and (args["KHgravitéAvant"] ~= nil or args["KHgravité"] ~= nil)) then
        if (args["KHgravitéAvant"] ~= nil and args["KHgravitéAprès"] ~= nil) then stringBuilder = stringBuilder .. Template.Separator("Avant la rescousse de Kairi", 8) end
        stringBuilder = stringBuilder .. Template.DataRow({
            {["data"] = (args["KHarmeAvant"] or args["KHarme"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHbrasierAvant"] or args["KHbrasier"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHglacierAvant"] or args["KHglacier"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHfoudreAvant"] or args["KHfoudre"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHgravitéAvant"] or args["KHgravité"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHstopAvant"] or args["KHstop"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHkoAvant"] or args["KHko"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHautreAvant"] or args["KHautre"] or "x1.0"), ["class"]="numberData"}
        })
    end
    if (args["KHlocAprès1"] ~= nil and args["KHgravitéAprès"] ~= nil) then
        if (args["KHgravitéAvant"] ~= nil and args["KHgravitéAprès"] ~= nil) then stringBuilder = stringBuilder .. Template.Separator("Après la rescousse de Kairi", 8) end
        stringBuilder = stringBuilder .. Template.DataRow({
            {["data"] = (args["KHarmeAprès"] or args["KHarme"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHbrasierAprès"] or args["KHbrasier"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHglacierAprès"] or args["KHglacier"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHfoudreAprès"] or args["KHfoudre"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHgravitéAprès"] or args["KHgravité"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHstopAprès"] or args["KHstop"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHkoAprès"] or args["KHko"] or "x1.0"), ["class"]="numberData"}, 
            {["data"] = (args["KHautreAprès"] or args["KHautre"] or "x1.0"), ["class"]="numberData"}, 
        })
    end
    stringBuilder = stringBuilder .. Template.CloseContainer()
    if args["KHrecomp"] ~= nil then
        stringBuilder = stringBuilder .. Template.ContainerLine()
        stringBuilder = stringBuilder .. Template.OpenBox()
        stringBuilder = stringBuilder .. Template.Header("Récompenses", 1)
        stringBuilder = stringBuilder .. Template.DataRow({
            {["data"] = args["KHrecomp"], ["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 StatsKH1