Modification de Module:Liste d'objets de Fallout 76
La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.
Version actuelle | Votre texte | ||
Ligne 14 : | Ligne 14 : | ||
return args | return args | ||
end | end | ||
Ligne 38 : | Ligne 21 : | ||
-- également les chances globales d'obtenir cet élément. | -- également les chances globales d'obtenir cet élément. | ||
-- Précision au dixième de pourcent près | -- Précision au dixième de pourcent près | ||
function addItem(item, isAuto, | function addItem(item, isAuto, chanceByItem, globalChance) | ||
if type(item) ~= 'table' then | if type(item) ~= 'table' then | ||
return | return '<Error> ITEM IS NOT A TABLE' | ||
end | end | ||
Ligne 46 : | Ligne 29 : | ||
if not itemValue then | if not itemValue then | ||
return | return '<Error> ITEM HAS NO VALUE' | ||
end | end | ||
local itemType = item.type | local itemType = item.type | ||
local itemChance | local itemChance | ||
if isAuto | if isAuto then | ||
itemChance = | itemChance = chanceByItem | ||
else | else | ||
itemChance = item.chance | itemChance = item.chance | ||
end | end | ||
itemChance = itemChance * globalChance | |||
local itemQuantity = item.quantity | |||
itemChance = | |||
local suffix = ' (' | local suffix = ' (' | ||
if itemQuantity then | if itemQuantity then | ||
suffix = suffix .. itemQuantity .. ', ' | suffix = suffix .. itemQuantity .. ', ' | ||
end | end | ||
suffix = suffix .. ')' | suffix = suffix .. string.format("%.2f", 100 * itemChance) .. ' %)' | ||
if itemType == 'item' then | if itemType == 'item' then | ||
return '*' .. itemValue .. suffix | return '*' .. itemValue .. suffix | ||
elseif itemType == 'sublist' then | elseif itemType == 'sublist' then | ||
local | local moduledata = require( 'Module:Liste d\'objets de Fallout 76/' .. itemValue ) | ||
local sublist = '<div class="avt-dropdown-box mw-collapsible mw-collapsed">' .. | local sublist = '<div class="avt-dropdown-box mw-collapsible mw-collapsed">' .. | ||
'<div class="avt-dropdown-box-title">' .. | '<div class="avt-dropdown-box-title">' .. moduledata.title .. suffix .. '</div>' .. | ||
'<div class="avt-dropdown-box-content mw-collapsible-content">\n' | '<div class="avt-dropdown-box-content mw-collapsible-content">\n' | ||
local | local isAuto = moduledata.auto or true | ||
local chanceByItem = 1 / #moduledata.items | |||
local | |||
for i, subitem in pairs( | for i, subitem in pairs(moduledata.items) do | ||
sublist = sublist .. addItem(subitem, | sublist = sublist .. addItem(subitem, isAuto, chanceByItem, itemChance) .. '\n' | ||
end | end | ||
Ligne 118 : | Ligne 72 : | ||
return sublist | return sublist | ||
else | else | ||
return | return 'ITEM HAS AN UNRECOGNIZED TYPE' | ||
end | end | ||
end | end | ||
Ligne 132 : | Ligne 86 : | ||
'<div class="avt-dropdown-box-content mw-collapsible-content">\n' | '<div class="avt-dropdown-box-content mw-collapsible-content">\n' | ||
local isAuto = moduledata.auto | local isAuto = moduledata.auto or true | ||
local chanceByItem = 1 / #moduledata.items | |||
local | |||
for i, item in pairs(moduledata.items) do | for i, item in pairs(moduledata.items) do | ||
list = list .. addItem(item, isAuto, | list = list .. addItem(item, isAuto, chanceByItem, 1) .. '\n' | ||
end | end | ||