local localdata = require('Module:Infobox/Localdata')
--------------------------------------------------------
----- Calcul des champs à afficher -----
--------------------------------------------------------
-- Succès
function buildSuccess(localdata)
local success = nil
local icon = require('Module:Icône')
if localdata['achèvement'] then
success = localdata['achèvement']
end
if localdata['gamerscore'] or localdata['type trophée'] then
if success == nil then
success = mw.title.getCurrentTitle().text
end
success = success ..'<div style="float:right;padding-left:15px;position:relative;white-space:nowrap;">'
if localdata['gamerscore'] then
success = success ..'<span style="padding-left:4px;">'.. icon._build({ 'gamerscore' }) ..'</span>'
success = success ..'<span style="padding-left: 2px;position:relative;top:1px;">'.. localdata['gamerscore'] ..'</span>'
end
if localdata['type trophée'] then
success = success ..'<span style="padding-left:4px;">'.. icon._build({ 'trophéeps3' }) ..'</span>'
success = success ..'<span style="padding-left: 2px;position:relative;top:1px;">'.. localdata['type trophée'] ..'</span>'
end
success = success..'</div>'
end
return success
end
-- Sujet
function buildSubject(localdata)
local subject
local questType = localdata['type']
if questType then
local types = {
['principale'] = 'Quête principale',
['répétable'] = 'Quête répétable',
['annexe'] = 'Quête annexe',
['secondaire'] = 'Quête secondaire',
['quotidienne'] = 'Quête quotidienne',
['non marquée'] = 'Quête non marquée',
['aléatoire'] = 'Quête aléatoire',
}
subject = types[questType:lower()] or 'Quête'
else
subject = 'Quête'
end
return subject
end
-- Lien
function buildLink(localdata)
local link = 'Quêtes'
local questType = localdata['type']
if questType then
questType = questType:lower()
if questType == 'opération' then
link = 'Opérations quotidiennes'
elseif questType == 'évènement' or questType == 'public'
or questType == 'saisonnier' then
link = 'Évènements'
end
end
return link
end
--------------------------------------------------------
----- Construction de l'infobox -----
--------------------------------------------------------
return {
parts = {
{ type = 'title', value = 'nom', subtitle = 'sous-titre', icon = 'icône', subhead = { games = 'jeux', subject = buildSubject(localdata), link = buildLink(localdata) }},
{ type = 'images', imageparameters = { 'image', 'image2', 'image3', 'image4', 'image5' }, captionparameter = { 'légende', 'image desc' }},
{ type = 'table', title = 'Informations', rows = {
{ type = 'row', label = 'Lieu', value = 'lieu' },
{ type = 'row', label = 'Lieu de fin', value = 'lieu de fin' },
{ type = 'row', label = 'Donnée par', value = 'donneur' },
{ type = 'row', label = 'Faction', value = 'faction' },
{ type = 'row', label = 'Autres PNJ', value = { 'autres pnj', 'autres pnjs' } },
{ type = 'row', label = 'Récompenses', value = 'récompenses' },
{ type = 'row', label = 'Succès', value = function (localdata) return buildSuccess(localdata) end },
}},
{ type = 'table', title = 'Technique', rows = {
{ type = 'row', label = 'Editor ID', value = 'editorid' },
{ type = 'row', label = '[[Form ID]]', value = 'formid' }
}},
{ type = 'table', title = 'Quêtes associées', rows = {
{ type = 'succession', value = {
before = function(localdata) return localdata['précédente'] end,
after = function(localdata) return localdata['suivante'] end
}},
{ type = 'row1col', value = { 'relative', 'associée' } }
}},
{ type = 'images', imageparameters = 'animation', defaultcaption = 'Animation de la quête' },
{ type = 'text', value = 'pied' }
}
}