From b96b22232729c978372bd2ee92f712bae2a9a06f Mon Sep 17 00:00:00 2001 From: MagicBot Date: Tue, 8 Aug 2023 18:30:21 -0400 Subject: [PATCH] Booty moved to LootManager --- src/engine/devcmd/cmds/SimulateBootyCmd.java | 5 ++--- src/engine/gameManager/LootManager.java | 9 +++++---- src/engine/gameManager/NPCManager.java | 4 +--- src/engine/objects/MobBase.java | 4 ++-- src/engine/objects/NPC.java | 2 +- src/engine/server/world/WorldServer.java | 4 ++-- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/engine/devcmd/cmds/SimulateBootyCmd.java b/src/engine/devcmd/cmds/SimulateBootyCmd.java index a6696881..f6ef0bb0 100644 --- a/src/engine/devcmd/cmds/SimulateBootyCmd.java +++ b/src/engine/devcmd/cmds/SimulateBootyCmd.java @@ -2,7 +2,6 @@ package engine.devcmd.cmds; import engine.devcmd.AbstractDevCmd; import engine.gameManager.LootManager; -import engine.gameManager.NPCManager; import engine.gameManager.ZoneManager; import engine.loot.BootySetEntry; import engine.objects.*; @@ -33,7 +32,7 @@ public class SimulateBootyCmd extends AbstractDevCmd { output += "Special Loot:" + newline; if (mob.bootySet != 0) { - for (BootySetEntry entry : NPCManager._bootySetMap.get(mob.bootySet)) { + for (BootySetEntry entry : LootManager._bootySetMap.get(mob.bootySet)) { ItemBase item = ItemBase.getItemBase(entry.itemBase); if (item != null) { output += "[" + entry.bootyType + "] " + item.getName() + " [Chance] " + entry.dropChance + newline; @@ -118,7 +117,7 @@ public class SimulateBootyCmd extends AbstractDevCmd { else dropRate = LootManager.NORMAL_DROP_RATE; - for (BootySetEntry entry : NPCManager._bootySetMap.get(mob.getMobBase().bootySet)) { + for (BootySetEntry entry : LootManager._bootySetMap.get(mob.getMobBase().bootySet)) { if (entry.bootyType.equals("GOLD")) output += "NORMAL TABLE [" + entry.bootyType + "] " + entry.genTable + ": " + entry.dropChance + newline; diff --git a/src/engine/gameManager/LootManager.java b/src/engine/gameManager/LootManager.java index 56b19d59..3b42d940 100644 --- a/src/engine/gameManager/LootManager.java +++ b/src/engine/gameManager/LootManager.java @@ -42,6 +42,7 @@ public enum LootManager { public static float HOTZONE_DROP_RATE; public static float HOTZONE_EXP_RATE; public static float HOTZONE_GOLD_RATE; + public static HashMap> _bootySetMap = new HashMap<>(); // Bootstrap routine to initialize the Loot Manager @@ -73,11 +74,11 @@ public enum LootManager { //iterate the booty sets - if (mob.getMobBase().bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.getMobBase().bootySet) == true) - RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, inHotzone, fromDeath); + if (mob.getMobBase().bootySet != 0 && _bootySetMap.containsKey(mob.getMobBase().bootySet) == true) + RunBootySet(_bootySetMap.get(mob.getMobBase().bootySet), mob, inHotzone, fromDeath); - if (mob.bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.bootySet) == true) - RunBootySet(NPCManager._bootySetMap.get(mob.bootySet), mob, inHotzone, fromDeath); + if (mob.bootySet != 0 && _bootySetMap.containsKey(mob.bootySet) == true) + RunBootySet(_bootySetMap.get(mob.bootySet), mob, inHotzone, fromDeath); //lastly, check mobs inventory for godly or disc runes to send a server announcement diff --git a/src/engine/gameManager/NPCManager.java b/src/engine/gameManager/NPCManager.java index 114da8ad..7465fddc 100644 --- a/src/engine/gameManager/NPCManager.java +++ b/src/engine/gameManager/NPCManager.java @@ -2,7 +2,6 @@ package engine.gameManager; import engine.Enum; import engine.InterestManagement.WorldGrid; -import engine.loot.BootySetEntry; import engine.net.Dispatch; import engine.net.DispatchMessage; import engine.net.client.msg.PetMsg; @@ -18,14 +17,13 @@ public enum NPCManager { NPC_MANAGER; public static HashMap> _runeSetMap = new HashMap<>(); - public static HashMap> _bootySetMap = new HashMap<>(); public static void LoadAllRuneSets() { _runeSetMap = DbManager.ItemBaseQueries.LOAD_RUNES_FOR_NPC_AND_MOBS(); } public static void LoadAllBootySets() { - _bootySetMap = DbManager.LootQueries.LOAD_BOOTY_TABLES(); + LootManager._bootySetMap = DbManager.LootQueries.LOAD_BOOTY_TABLES(); } public static void applyRuneSetEffects(Mob mob) { diff --git a/src/engine/objects/MobBase.java b/src/engine/objects/MobBase.java index 66620a25..80adffb0 100644 --- a/src/engine/objects/MobBase.java +++ b/src/engine/objects/MobBase.java @@ -12,7 +12,7 @@ package engine.objects; import ch.claude_martin.enumbitset.EnumBitSet; import engine.Enum; import engine.gameManager.DbManager; -import engine.gameManager.NPCManager; +import engine.gameManager.LootManager; import engine.loot.BootySetEntry; import engine.server.MBServerStatics; @@ -119,7 +119,7 @@ public class MobBase extends AbstractGameObject { if (equipmentSetID == 0) return equip; - equipList = NPCManager._bootySetMap.get(equipmentSetID); + equipList = LootManager._bootySetMap.get(equipmentSetID); if (equipList == null) return equip; diff --git a/src/engine/objects/NPC.java b/src/engine/objects/NPC.java index ae21de63..a45da7a3 100644 --- a/src/engine/objects/NPC.java +++ b/src/engine/objects/NPC.java @@ -617,7 +617,7 @@ public class NPC extends AbstractCharacter { public static boolean UpdateEquipSetID(NPC npc, int equipSetID) { - if (!NPCManager._bootySetMap.containsKey(equipSetID)) + if (!LootManager._bootySetMap.containsKey(equipSetID)) return false; if (!DbManager.NPCQueries.UPDATE_EQUIPSET(npc, equipSetID)) diff --git a/src/engine/server/world/WorldServer.java b/src/engine/server/world/WorldServer.java index d312ca10..f08a93ea 100644 --- a/src/engine/server/world/WorldServer.java +++ b/src/engine/server/world/WorldServer.java @@ -333,8 +333,8 @@ public class WorldServer { Logger.info("Loading NPC and Mob Rune Sets"); NPCManager.LoadAllRuneSets(); - Logger.info("Loading Mobile Booty Sets"); - NPCManager.LoadAllBootySets(); + Logger.info("Loading Booty Sets"); + LootManager._bootySetMap = DbManager.LootQueries.LOAD_BOOTY_TABLES(); // Load new loot system Logger.info("Initializing Loot Manager");