Module:Mazunki/Monsters: Difference between revisions

m
whoos csv
m (typo)
m (whoos csv)
 
(9 intermediate revisions by the same user not shown)
Line 45: Line 45:
'SlayerTier', 'SlayerTierName', 'SlayerTierCost',
'SlayerTier', 'SlayerTierName', 'SlayerTierCost',
'SlayerTierPlayerLevel', 'SlayerTierQtyMin', 'SlayerTierQtyMax', 'SlayerCoinReward',
'SlayerTierPlayerLevel', 'SlayerTierQtyMin', 'SlayerTierQtyMax', 'SlayerCoinReward',
'ItemsID', 'ItemsWeight', 'ItemsDenominator', 'ItemsNormalised', 'ItemsQtyMin', 'ItemsQtyMax'
'ItemsID', 'ItemsName', 'ItemsWeight', 'ItemsDenominator', 'ItemsNormalised', 'ItemsQtyMin', 'ItemsQtyMax'
}
}
result = result.."!"..table.concat(headers, "!!")
result = result.."!"..table.concat(headers, "!!")
Line 75: Line 75:
end
end
table.insert(rowTxt, tostring(hasSpecialAttack))
table.insert(rowTxt, tostring(hasSpecialAttack))
table.insert(rowTxt, table.concat(spAtks, ";"))
table.insert(rowTxt, table.concat(spAtks, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(spAtksChance, ";"))
table.insert(rowTxt, table.concat(spAtksChance, arraySeparatorInSheets))
table.insert(rowTxt, Monsters._getMonsterAR(monster))
table.insert(rowTxt, Monsters._getMonsterAR(monster))
Line 122: Line 122:
isNormalLocation = true
isNormalLocation = true
end
end
table.insert(locations, location.name)
table.insert(locations, tostring(location.name))
end
end
table.insert(rowTxt, table.concat(locations, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(locations, arraySeparatorInSheets))
Line 135: Line 135:
else
else
slayer = {
slayer = {
["display"] = "None",
["id"] = notext,
["reward"] = 0
["display"] = notext,
["cost"] = notext,
["slayerLevel"] = notext,
["minQuantity"] = notext,
["maxQuantity"] = notext,
["reward"] = notext
}
}
rowTxt = rowTxt
end
end
table.insert(rowTxt, slayer.id)
table.insert(rowTxt, tostring(slayer.id))
table.insert(rowTxt, slayer.display)
table.insert(rowTxt, tostring(slayer.display))
table.insert(rowTxt, slayer.cost)
table.insert(rowTxt, tostring(slayer.cost))
table.insert(rowTxt, slayer.slayerLevel)
table.insert(rowTxt, tostring(slayer.slayerLevel))
table.insert(rowTxt, slayer.minQuantity)
table.insert(rowTxt, tostring(slayer.minQuantity))
table.insert(rowTxt, slayer.maxQuantity)
table.insert(rowTxt, tostring(slayer.maxQuantity))
table.insert(rowTxt, slayer.reward)
table.insert(rowTxt, tostring(slayer.reward))


local itemIds = {}
local itemIds = {}
local itemNames = {}
local itemWeights = {}
local itemWeights = {}
local itemNormalised = {}
local itemNormalised = {}
Line 162: Line 167:
for _, droppable in pairs(monster.lootTable) do
for _, droppable in pairs(monster.lootTable) do
table.insert(itemIds, droppable[1])
table.insert(itemIds, droppable[1])
local numerator = droppable[2]*monster.lootChance
table.insert(itemNames, Items.getItemByID(droppable[1]).name)
local numerator = droppable[2]
table.insert(itemWeights, numerator)
table.insert(itemWeights, numerator)
table.insert(itemNormalised, itemDenominator/numerator)
table.insert(itemNormalised, itemDenominator/(numerator*monster.lootChance))
table.insert(itemQtyMins, 1)
table.insert(itemQtyMins, 1)
table.insert(itemQtyMaxs, droppable[3])
table.insert(itemQtyMaxs, droppable[3])
end
end
table.insert(rowTxt, table.concat(itemIds, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemIds, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemNames, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemWeights, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemWeights, arraySeparatorInSheets))
table.insert(rowTxt, itemDenominator)
table.insert(rowTxt, itemDenominator/monster.lootChance)
table.insert(rowTxt, table.concat(itemNormalised, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemNormalised, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemQtyMins, arraySeparatorInSheets))
table.insert(rowTxt, table.concat(itemQtyMins, arraySeparatorInSheets))
892

edits