From f636f4d2ec0bbd6ca15962b66ad1a97cdaa07499 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Mon, 21 Aug 2023 19:36:46 -0500 Subject: [PATCH] optimized equipment dropping system --- src/engine/gameManager/LootManager.java | 19 ++++++------------- src/engine/objects/Mob.java | 4 ++-- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/engine/gameManager/LootManager.java b/src/engine/gameManager/LootManager.java index 4162f94f..a569324d 100644 --- a/src/engine/gameManager/LootManager.java +++ b/src/engine/gameManager/LootManager.java @@ -66,27 +66,25 @@ public enum LootManager { } - public static void GenerateMobLoot(Mob mob, boolean fromDeath) { + public static void GenerateMobLoot(Mob mob) { //determine if mob is in hotzone - boolean inHotzone = ZoneManager.inHotZone(mob.getLoc()); //iterate the booty sets if (mob.getMobBase().bootySet != 0 && _bootySetMap.containsKey(mob.getMobBase().bootySet) == true) - RunBootySet(_bootySetMap.get(mob.getMobBase().bootySet), mob, inHotzone, fromDeath); + RunBootySet(_bootySetMap.get(mob.getMobBase().bootySet), mob, inHotzone); if (mob.bootySet != 0 && _bootySetMap.containsKey(mob.bootySet) == true) - RunBootySet(_bootySetMap.get(mob.bootySet), mob, inHotzone, fromDeath); + RunBootySet(_bootySetMap.get(mob.bootySet), mob, inHotzone); //lastly, check mobs inventory for godly or disc runes to send a server announcement - - if (!fromDeath) for (Item it : mob.getInventory()) { ItemBase ib = it.getItemBase(); - + if(ib == null) + break; if (ib.isDiscRune() || ib.getName().toLowerCase().contains("of the gods")) { ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().getName() + " has found the " + ib.getName() + ". Are you tough enough to take it?"); chatMsg.setMessageType(10); @@ -97,16 +95,11 @@ public enum LootManager { } - private static void RunBootySet(ArrayList entries, Mob mob, boolean inHotzone, boolean fromDeath) { + private static void RunBootySet(ArrayList entries, Mob mob, boolean inHotzone) { boolean hotzoneWasRan = false; float dropRate = 1.0f; - if (fromDeath) { - GenerateEquipmentDrop(mob); - return; - } - // Iterate all entries in this bootySet and process accordingly for (BootySetEntry bse : entries) { diff --git a/src/engine/objects/Mob.java b/src/engine/objects/Mob.java index a7e26c1b..74cf0f8c 100644 --- a/src/engine/objects/Mob.java +++ b/src/engine/objects/Mob.java @@ -1347,7 +1347,7 @@ public class Mob extends AbstractIntelligenceAgent { playerAgroMap.clear(); if (!this.isPlayerGuard && this.equip != null) - LootManager.GenerateMobLoot(this, true); + LootManager.GenerateEquipmentDrop(this); } try { @@ -1437,7 +1437,7 @@ public class Mob extends AbstractIntelligenceAgent { if (isPlayerGuard) return; - LootManager.GenerateMobLoot(this, false); + LootManager.GenerateMobLoot(this); } @Override