Module:Infobox/Armure gamebryo

De Les Archives de Vault-Tec
Documentation du module

Ce module contient le paramétrage de l'infobox {{Infobox armure gamebryo}}.

Documentation transclues de Module:Infobox/Armure gamebryo/doc.
local localdata = require( 'Module:Infobox/Localdata' )

--------------------------------------------------------
-----              Fonctions communes              -----
--------------------------------------------------------

function buildObjectTable(index, objectName, hasSeparator)
	local objectTable
	if objectName or index == '' then
		objectTable = { type = 'table', title = objectName, separator = hasSeparator, rows = {
			{ type = 'row', label = 'Résistance aux dégâts', value = 'rd' .. index },
			{ type = 'row', label = 'Résistance aux radiations', value = 'rr' .. index },
			{ type = 'row', label = 'Résistance à l\'énergie', value = 're' .. index },
			{ type = 'row', label = 'Seuil de dégâts', value = 'sd' .. index },
			{ type = 'row', label = 'Points de vie', value = 'pv' },
			{ type = 'row', label = 'Poids', value = 'poids' },
			{ type = 'row', label = 'Valeur', value = 'valeur' },
			{ type = 'row', label = 'Classe', value = 'classe' },
			{ type = 'row', label = 'Variantes', value = 'variante' .. index },
			{ type = 'row', label = 'Plan', value = 'plan' .. index },
			{ type = 'row', label = 'Effets', value = 'effets' },
			{ type = 'row', label = 'Réparation', value = { 'réparation' .. index, 'reparation' .. index }},
			{ type = 'row', label = 'Editor ID', value = 'editorid' .. index },
			{ type = 'row', label = '[[Form ID|Base ID]]', value = 'baseid' .. index }
		}}
	else
		objectTable = { type = 'text' }
	end
	return objectTable
end

--------------------------------------------------------
-----         Calcul des champs à afficher         -----
--------------------------------------------------------

local objectName2 = localdata['nom objet2']

-- Type d'armure ou vêtement

local armorType = (localdata['type'] or 'armure'):lower()
local isUnique = armorType:find('unique')
local armorType = armorType:gsub(' unique', '')

local ibSubject
if objectName2 then
	local cases = {
		['armure']   = 'Ensemble d\'armure',
		['tenue']    = 'Tenue',
		['vêtement'] = 'Ensemble de vêtement'
	}
	ibSubject = 'Ensemble ' .. (cases[armorType] or 'd\'armure')
else
	local cases = {
		['armure']      = 'Armure',
		['casque']      = 'Casque',
		['couvre-chef'] = 'Couvre-chef',
		['tenue']       = 'Tenue',
		['vêtement']    = 'Vêtement'
	}
	ibSubject = cases[armorType] or 'Armure'
end

if isUnique then
	ibSubject = ibSubject .. ' unique'
end

-- Gestion de l'affichage des pièces d'armure

local objectTableLabel1

if objectName2 then
	objectTableLabel1 = localdata['nom'] or
			require( 'Module:Outils' ).simpletitle(mw.getCurrentFrame())
end

local objectTable1 = buildObjectTable('', objectTableLabel1, objectTableLabel1 == nil)
local objectTable2 = buildObjectTable('2', objectName2, false)

--------------------------------------------------------
-----          Construction de l'infobox           -----
--------------------------------------------------------

return {
	parts = {
		{ type = 'title', value = 'nom', subtitle = 'sous-titre', icon = 'icône', subhead = { games = 'jeux', subject = ibSubject, link = 'Armures et vêtements' }},
		{ type = 'images', imageparameters = { 'image', 'image2', 'image3', 'image4', 'image5' }, captionparameter = { 'légende', 'image desc' }},
		objectTable1,
		objectTable2,
		{ type = 'text', value = 'pied' }
	}
}