62 734
modifications
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 14 : | Ligne 14 : | ||
return args | return args | ||
end | |||
function countItems(moduledata) | |||
n = 0 | |||
for i, item in pairs(moduledata.items) do | |||
n = n + (item.max or 1) | |||
end | |||
return n | |||
end | end | ||
Ligne 21 : | Ligne 29 : | ||
-- é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, numberOfItems, globalChance) | ||
if type(item) ~= 'table' then | if type(item) ~= 'table' then | ||
return | return "<error> item: pas une table" | ||
end | end | ||
Ligne 29 : | Ligne 37 : | ||
if not itemValue then | if not itemValue then | ||
return | return "<error> item: propriété 'value' non renseignée" | ||
end | end | ||
Ligne 36 : | Ligne 44 : | ||
if isAuto == true then | if isAuto == true then | ||
itemChance = | itemChance = ( (item.max or 1) - (item.min or 1) + 1 ) / numberOfItems | ||
else | else | ||
itemChance = item.chance | itemChance = item.chance | ||
end | end | ||
if isAuto == false then | |||
itemChance = itemChance * globalChance | |||
end | |||
local itemQuantity = item.quantity | local itemQuantity = item.quantity | ||
Ligne 60 : | Ligne 70 : | ||
'<div class="avt-dropdown-box-title">' .. moduledata.title .. suffix .. '</div>' .. | '<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 isAuto = moduledata.auto or true | local isAuto = moduledata.auto or true | ||
local | local numberOfItems = countItems(moduledata) | ||
for i, subitem in pairs(moduledata.items) do | for i, subitem in pairs(moduledata.items) do | ||
sublist = sublist .. addItem(subitem, isAuto, | sublist = sublist .. addItem(subitem, isAuto, numberOfItems, itemChance) .. '\n' | ||
end | end | ||
Ligne 72 : | Ligne 82 : | ||
return sublist | return sublist | ||
else | else | ||
return ' | return "<error> item: propriété 'type' non reconnu" | ||
end | end | ||
end | end | ||
Ligne 89 : | Ligne 99 : | ||
isAuto = moduledata.auto == nil or moduledata.auto == true | isAuto = moduledata.auto == nil or moduledata.auto == true | ||
local | local numberOfItems = countItems(moduledata) | ||
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, numberOfItems, 1) .. '\n' | ||
end | end | ||
modifications