Module:Fiche de créature/Fallout 4

De Les Archives de Vault-Tec
Révision datée du 21 janvier 2023 à 23:40 par Kharmitch (discussion | contributions) (Harmonisation des identifiants techniques)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Documentation du module

Ce module contient la structure du modèle {{Fiche de créature de Fallout 4}}.

Documentation transclues de Module:Fiche de créature/Fallout 4/doc.
local localdata = require( 'Module:Infobox/Localdata' )
local tooltip = require( 'Module:Infobulle' )

COMPORTEMENT_LOOKUP = {
	["agressivité"] = {
		['0'] = { tag = "Non agressif", label = "N'engage pas les affrontements." },
		['1'] = { tag = "Agressif", label = "Attaque les ennemis à vue." },
		['2'] = { tag = "Très agressif", label = "Attaque les ennemis et les créatures neutres à vue." },
		['3'] = { tag = "Frénétique", label = "Attaque n'importe qui à vue." }
	},
	["assurance"] = {
		['0'] = { tag = "Lâche", label = "Fuit ou évite les affrontements." },
		['1'] = { tag = "Prudent", label = "Fuit ou évite les menaces plus faibles que lui." },
		['2'] = { tag = "Normal", label = "Fuit ou évite les menaces plus fortes que lui." },
		['3'] = { tag = "Courageux", label = "Fuit ou évite les affrontements s'il est sévèrement dépassé." },
		['4'] = { tag = "Téméraire", label = "Ne fuit ou n'évite jamais les affrontements." }
	},
	["assistance"] = {
		['0'] = { tag = "N'aide personne", label = "N'aide personne lors des affrontements." },
		['1'] = { tag = "Aide les alliés", label = "Aide les alliés lors des affrontements." },
		['2'] = { tag = "Aide les amis", label = "Aide les amis et les alliés lors des affrontements." }
	}
}

function formatcomportement(localdata, setting)
	local comportement = localdata[setting] or "0"
	comportement = COMPORTEMENT_LOOKUP[setting][comportement]
	if not comportement then
		return nil
	else
		return tooltip._build({ comportement.tag, comportement.label })
	end
end

return {
	parts = {
		{ type = "table", rows = {
			{ type = "row", label = "Nom", icon = "sic", value = "nom" },
			{ type = "row", label = "[[Form ID]]", icon = "réparation", value = "formid" },
			{ type = "row", label = "[[Editor ID]]", icon = "réparation", value = "editorid" },
			{ type = "row", label = "[[Niveau]]", icon = "niveau", value = "niveau" },
			{ type = "row", label = "[[Points d'expérience]]", icon = "xp", value = "xp" },
			{ type = "row", label = "[[Perception]]", icon = "oeil", value = "perception" },
			{ type = "row", label = "[[Points de vie]]", icon = "pv", value = "pv" },
			{ type = "row", label = "[[Résistance aux dégâts]]", icon = "rd", value = "rd" },
			{ type = "row", label = "[[Résistance au poison]]", icon = "poison", value = "rp" },
			{ type = "row", label = "[[Résistance aux radiations|Résistance aux rads]]", icon = "radiation", value = "rr" },
			{ type = "row", label = "[[Résistance à l'énergie]]", icon = "énergie", value = "re" },
		}},
		{ type = "table", title = "[[Attributs de l'IA Gamebryo|Comportement]]", rows = {
			{ type = "row", label = "Agressivité", icon = "poing", value = function(localdata) return formatcomportement(localdata, "agressivité") end },
			{ type = "row", label = "Assurance", icon = "confiance", value = function(localdata) return formatcomportement(localdata, "assurance") end },
			{ type = "row", label = "Assistance", icon = "groupe", value = function(localdata) return formatcomportement(localdata, "assistance") end }
		}},
		{ type = "list", title = "Attaques", prefix = "attaque", max = 5 },
		{ type = "list", title = "Capacités", prefix = "capacité", max = 5 },
		{ type = "list", title = "Objets", prefix = "objet", max = 15 }
	}
}