« Module:Infobox/Quête » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
(12 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
local localdata = require('Module:Infobox/Localdata') | local localdata = require('Module:Infobox/Localdata') | ||
function | |||
local | -------------------------------------------------------- | ||
----- 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', 'petit' }) ..'</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', 'petit' }) ..'</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 | if questType then | ||
local types = { | local types = { | ||
['principale'] = 'principale', | ['principale'] = 'Quête principale', | ||
['répétable'] = 'répétable', | ['répétable'] = 'Quête répétable', | ||
['annexe'] = 'annexe', | ['annexe'] = 'Quête annexe', | ||
['secondaire'] = 'secondaire', | ['secondaire'] = 'Quête secondaire', | ||
['quotidienne'] = 'quotidienne', | ['quotidienne'] = 'Quête quotidienne', | ||
['non marquée'] = 'non marquée', | ['non marquée'] = 'Quête non marquée', | ||
['aléatoire'] = 'aléatoire' | ['aléatoire'] = 'Quête aléatoire', | ||
-- Opération | |||
['opération'] = 'Opération quotidienne', | |||
-- Évènement | |||
['évènement'] = 'Évènement', | |||
['public'] = 'Évènement public', | |||
['saisonnier'] = 'Évènement saisonnier' | |||
} | } | ||
subject = types[questType:lower()] or 'Quête' | |||
else | |||
subject = 'Quête' | |||
end | end | ||
if | 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 | end | ||
return | return link | ||
end | end | ||
-------------------------------------------------------- | |||
----- Construction de l'infobox ----- | |||
-------------------------------------------------------- | |||
return { | return { | ||
parts = { | parts = { | ||
{ type = 'title', value = 'nom', subtitle = 'sous-titre', icon = 'icône', subhead = { games = 'jeux', subject = buildSubject(localdata | { 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 = 'images', imageparameters = { 'image', 'image2', 'image3', 'image4', 'image5' }, captionparameter = { 'légende', 'image desc' }}, | ||
{ type = 'table', title = 'Informations', rows = { | { type = 'table', title = 'Informations', rows = { | ||
Ligne 36 : | Ligne 100 : | ||
{ type = 'row', label = 'Autres PNJ', value = { 'autres pnj', 'autres pnjs' } }, | { type = 'row', label = 'Autres PNJ', value = { 'autres pnj', 'autres pnjs' } }, | ||
{ type = 'row', label = 'Récompenses', value = 'récompenses' }, | { type = 'row', label = 'Récompenses', value = 'récompenses' }, | ||
{ type = 'row', label = ' | { type = 'row', label = 'Succès', value = function (localdata) return buildSuccess(localdata) end }, | ||
}}, | }}, | ||
{ type = 'table', title = 'Technique', rows = { | { type = 'table', title = 'Technique', rows = { | ||
{ type = 'row', label = 'Editor ID', value = ' | { type = 'row', label = 'Editor ID', value = 'editorid' }, | ||
{ type = 'row', label = '[[Form | { type = 'row', label = '[[Form ID]]', value = 'formid' } | ||
}}, | }}, | ||
{ type = 'table', title = 'Quêtes associées', rows = { | { type = 'table', title = 'Quêtes associées', rows = { | ||
{ type = 'succession', value = { | { type = 'succession', value = { | ||
before = localdata['précédente'], | before = function(localdata) return localdata['précédente'] end, | ||
after = localdata['suivante'] | after = function(localdata) return localdata['suivante'] end | ||
}}, | }}, | ||
{ type = 'row1col', value = { 'relative', 'associée' } } | { type = 'row1col', value = { 'relative', 'associée' } } | ||
}} | }}, | ||
{ type = 'images', imageparameters = 'animation', defaultcaption = 'Animation de la quête' }, | |||
{ type = 'text', value = 'pied' } | |||
} | } | ||
} | } |
Dernière version du 29 juin 2024 à 14:42
Ce module contient le paramétrage de l'infobox {{Infobox quête}}.
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', 'petit' }) ..'</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', 'petit' }) ..'</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',
-- Opération
['opération'] = 'Opération quotidienne',
-- Évènement
['évènement'] = 'Évènement',
['public'] = 'Évènement public',
['saisonnier'] = 'Évènement saisonnier'
}
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' }
}
}