From 6d4566b94a6032b575f0017e7b1520f63e7bf80b Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Thu, 27 Jul 2023 19:40:42 -0500 Subject: [PATCH] mob loot rolling finalized --- src/engine/loot/LootManager.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/engine/loot/LootManager.java b/src/engine/loot/LootManager.java index 49d80f60..96e963ea 100644 --- a/src/engine/loot/LootManager.java +++ b/src/engine/loot/LootManager.java @@ -187,11 +187,12 @@ public class LootManager { Enum.ItemType outType = outItem.getItemBase().getType(); if (outType.ordinal() == Enum.ItemType.WEAPON.ordinal() || outType.ordinal() == Enum.ItemType.ARMOR.ordinal() || outType.ordinal() == Enum.ItemType.JEWELRY.ordinal()) { if (outItem.getItemBase().isGlass() == false) { - int prefixChance = ThreadLocalRandom.current().nextInt(100); - if(prefixChance < mob.level) { + int prefixChanceRoll = ThreadLocalRandom.current().nextInt(101); + double prefixChance = 2.057 * mob.level - 28.67; + if(prefixChanceRoll < prefixChance) { ModTypeTable prefixTable = modTypeTables.get(selectedRow.pModTable); - int prefixroll = ThreadLocalRandom.current().nextInt(100)-1; + int prefixroll = ThreadLocalRandom.current().nextInt(101); if (modTables.get(prefixTable.getRowForRange(prefixroll).modTableID) != null) { ModTable prefixModTable = modTables.get(prefixTable.getRowForRange(prefixroll).modTableID); ModTableRow prefixMod = prefixModTable.getRowForRange(TableRoll(mob.level)); @@ -201,9 +202,10 @@ public class LootManager { } } } - int suffixChance = ThreadLocalRandom.current().nextInt(100); - if(suffixChance < mob.level) { - int suffixroll = ThreadLocalRandom.current().nextInt(100)-1; + int suffixChanceRoll = ThreadLocalRandom.current().nextInt(101); + double suffixChance = 2.057 * mob.level - 28.67; + if(suffixChanceRoll < suffixChance) { + int suffixroll = ThreadLocalRandom.current().nextInt(101); ModTypeTable suffixTable = modTypeTables.get(selectedRow.sModTable); if (modTables.get(suffixTable.getRowForRange(suffixroll).modTableID) != null) { ModTable suffixModTable = modTables.get(suffixTable.getRowForRange(suffixroll).modTableID);