62 734
modifications
mAucun résumé des modifications |
Aucun résumé des modifications |
||
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 22 : | Ligne 22 : | ||
end | end | ||
return n | return n | ||
end | |||
function formatChance(chance) | |||
chanceCeil = math.ceil(chance) | |||
if chanceCeil == chance then | |||
return chanceCeil | |||
else | |||
return string.format("%.2f", chance) | |||
end | |||
end | end | ||
Ligne 41 : | Ligne 50 : | ||
local itemType = item.type | local itemType = item.type | ||
local itemMin = item.min or 1 | |||
local itemMax = item.max or 1 | |||
if itemMin > itemMax then | |||
return "<error> item : propriété 'min' > 'max'" | |||
end | |||
local itemChance | local itemChance | ||
if isAuto == true then | if isAuto == true then | ||
itemChance = ( | itemChance = ( itemMax - itemMin + 1 ) / numberOfItems | ||
else | else | ||
itemChance = item.chance | itemChance = item.chance | ||
end | |||
if not itemChance then | |||
return "<error> item : propriété chance non renseignée" | |||
end | end | ||
itemChance = itemChance * globalChance | |||
local suffix = ' (' | local suffix = ' (' | ||
local itemQuantity = item.quantity | |||
if itemQuantity then | if itemQuantity then | ||
suffix = suffix .. itemQuantity .. ', ' | suffix = suffix .. itemQuantity .. ', ' | ||
elseif itemMax > 1 then | |||
suffix = suffix .. itemMin .. '-' .. itemMax .. ', ' | |||
end | |||
suffix = suffix .. formatChance(100 * itemChance) .. ' %' | |||
local itemPlayerLevel = item.level | |||
local itemEvent = item.event | |||
if itemPlayerLevel then | |||
suffix = suffix .. ', disponible au niveau ' .. itemPlayerLevel | |||
if itemEvent then | |||
suffix = suffix .. " et lors de l'événement " .. itemEvent | |||
end | |||
elseif itemEvent then | |||
suffix = suffix .. ", disponible lors de l'événement " .. itemEvent | |||
end | end | ||
suffix = suffix | suffix = suffix .. ')' | ||
if itemType == 'item' then | if itemType == 'item' then | ||
return '*' .. itemValue .. suffix | return '*' .. itemValue .. suffix | ||
elseif itemType == 'sublist' then | elseif itemType == 'sublist' then | ||
local | local subModuledata = 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">' .. subModuledata.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 subIsAuto = subModuledata.auto | ||
local | subIsAuto = subIsAuto == nil or subIsAuto == true | ||
local subNumberOfItems = countItems(subModuledata) | |||
for i, subitem in pairs( | for i, subitem in pairs(subModuledata.items) do | ||
sublist = sublist .. addItem(subitem, | sublist = sublist .. addItem(subitem, subIsAuto, subNumberOfItems, itemChance) .. '\n' | ||
end | end | ||
modifications