diff --git a/src/engine/gameManager/LootManager.java b/src/engine/gameManager/LootManager.java index ef00efec..5346995a 100644 --- a/src/engine/gameManager/LootManager.java +++ b/src/engine/gameManager/LootManager.java @@ -124,15 +124,19 @@ public enum LootManager { case "LOOT": if (ThreadLocalRandom.current().nextInt(1, 100 + 1) < (bse.dropChance * dropRate)) GenerateLootDrop(mob, bse.genTable); //generate normal loot drop - if(ThreadLocalRandom.current().nextInt(2500) < 10 * dropRate){ + if(!hasExtraRolled && ThreadLocalRandom.current().nextInt(2500) < 10 * dropRate){ MobLoot extraLoot = rollForContract(bse.genTable, mob); - if (extraLoot != null) + if (extraLoot != null) { mob.getCharItemManager().addItemToInventory(extraLoot); + hasExtraRolled = true; + } } - if(ThreadLocalRandom.current().nextInt(2500) < 10 * dropRate){ + if(!hasExtraRolled && ThreadLocalRandom.current().nextInt(2500) < 10 * dropRate){ MobLoot extraLoot = rollForRune(bse.genTable, mob); - if (extraLoot != null) + if (extraLoot != null) { mob.getCharItemManager().addItemToInventory(extraLoot); + hasExtraRolled = true; + } } break; case "ITEM":