Aller au contenu

« Module:Liste d'objets de Fallout 76 » : différence entre les versions

aucun résumé des modifications
Kharmitch (discussion | contributions)
Aucun résumé des modifications
Kharmitch (discussion | contributions)
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, chanceByItem, globalChance)
function addItem(item, isAuto, numberOfItems, globalChance)
if type(item) ~= 'table' then
if type(item) ~= 'table' then
return '<Error> ITEM IS NOT A TABLE'
return "<error> item: pas une table"
end
end
Ligne 29 : Ligne 37 :
if not itemValue then
if not itemValue then
return '<Error> ITEM HAS NO VALUE'
return "<error> item: propriété 'value' non renseignée"
end
end
Ligne 36 : Ligne 44 :


     if isAuto == true then
     if isAuto == true then
         itemChance = chanceByItem
         itemChance = ( (item.max or 1) - (item.min or 1) + 1 ) / numberOfItems
     else
     else
         itemChance = item.chance
         itemChance = item.chance
     end
     end


    itemChance = itemChance * globalChance
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 chanceByItem = 1 / #moduledata.items
         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, chanceByItem, itemChance) .. '\n'
sublist = sublist .. addItem(subitem, isAuto, numberOfItems, itemChance) .. '\n'
end
end
Ligne 72 : Ligne 82 :
return sublist
return sublist
else
else
return 'ITEM HAS AN UNRECOGNIZED TYPE'
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 chanceByItem = 1 / #moduledata.items
     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, chanceByItem, 1) .. '\n'
list = list .. addItem(item, isAuto, numberOfItems, 1) .. '\n'
end
end
Bureaucrate, commentadmin, emailconfirmed, Administrateurs d’interface, staff, Administrateur
62 734

modifications