From bbdc58c217e59b5fa6d0159385cb18b6857ae075 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Wed, 19 Mar 2025 12:28:38 -0500 Subject: [PATCH] enable r8 hotzone --- src/engine/gameManager/HotzoneManager.java | 67 +++++++++++++-------- src/engine/server/world/WorldServer.java | 4 +- src/engine/workthreads/HourlyJobThread.java | 2 +- 3 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/engine/gameManager/HotzoneManager.java b/src/engine/gameManager/HotzoneManager.java index 0acf3dad..7d8fe229 100644 --- a/src/engine/gameManager/HotzoneManager.java +++ b/src/engine/gameManager/HotzoneManager.java @@ -26,6 +26,7 @@ public class HotzoneManager { hotzoneMob.killCharacter("Hotzone Over"); hotzoneMob.despawn(); hotzoneMob.spawnTime = 1000000000; + DbManager.MobQueries.DELETE_MOB( hotzoneMob); } Random random = new Random(); Zone newHotzone = null; @@ -75,13 +76,13 @@ public class HotzoneManager { } } - public static void GenerateHotzoneEpicLoot(Mob mob){ + public static void GenerateHotzoneEpicLoot(Mob mob) { mob.getCharItemManager().clearInventory(); Random random = new Random(); int roll = random.nextInt(100); int itemId; ItemBase runeBase; - if(roll >= 90){ + if (roll >= 90) { //35 or 40 roll = ThreadLocalRandom.current().nextInt(HellgateManager.static_rune_ids_high.size() + 1); itemId = HellgateManager.static_rune_ids_high.get(0); @@ -97,7 +98,7 @@ public class HotzoneManager { if (rune != null) mob.getCharItemManager().addItemToInventory(rune); } - }else if (roll >= 76 && roll <= 89){ + } else if (roll >= 50 && roll <= 89) { //30,35 or 40 roll = ThreadLocalRandom.current().nextInt(HellgateManager.static_rune_ids_mid.size() + 1); itemId = HellgateManager.static_rune_ids_mid.get(0); @@ -113,7 +114,7 @@ public class HotzoneManager { if (rune != null) mob.getCharItemManager().addItemToInventory(rune); } - }else{ + } else { //5-30 roll = ThreadLocalRandom.current().nextInt(HellgateManager.static_rune_ids_low.size() + 1); itemId = HellgateManager.static_rune_ids_low.get(0); @@ -130,35 +131,49 @@ public class HotzoneManager { mob.getCharItemManager().addItemToInventory(rune); } } - if(roll >= 95){ + roll = ThreadLocalRandom.current().nextInt(1, 101); + if (roll >= 95) { //glass - int glassRoll = ThreadLocalRandom.current().nextInt(1,101); - if(glassRoll < 5){ - int glassID = LootManager.rollRandomItem(126); - ItemBase glassItem = ItemBase.getItemBase(glassID); - if (glassItem != null) { - MobLoot glass = new MobLoot(mob, glassItem, true); - - if (glass != null) - mob.getCharItemManager().addItemToInventory(glass); - } + int glassID = LootManager.rollRandomItem(126); + ItemBase glassItem = ItemBase.getItemBase(glassID); + if (glassItem != null) { + MobLoot glass = new MobLoot(mob, glassItem, true); + + if (glass != null) + mob.getCharItemManager().addItemToInventory(glass); } } - //guard captain - roll = ThreadLocalRandom.current().nextInt(LootManager.racial_guard_uuids.size() + 1); - itemId = LootManager.racial_guard_uuids.get(0); - try { - itemId = LootManager.racial_guard_uuids.get(roll); - } catch (Exception e) { + roll = ThreadLocalRandom.current().nextInt(1, 101); + if (roll >= 95) { + //r8 banescroll + int baneID = 910018; + ItemBase baneItem = ItemBase.getItemBase(baneID); + if (baneItem != null) { + MobLoot bane = new MobLoot(mob, baneItem, true); + if (bane != null) + mob.getCharItemManager().addItemToInventory(bane); + } } - runeBase = ItemBase.getItemBase(itemId); - if (runeBase != null) { - MobLoot rune = new MobLoot(mob, runeBase, true); - if (rune != null) - mob.getCharItemManager().addItemToInventory(rune); + roll = ThreadLocalRandom.current().nextInt(1, 101); + if (roll >= 95) { + //guard captain + roll = ThreadLocalRandom.current().nextInt(LootManager.racial_guard_uuids.size() + 1); + itemId = LootManager.racial_guard_uuids.get(0); + try { + itemId = LootManager.racial_guard_uuids.get(roll); + } catch (Exception e) { + + } + runeBase = ItemBase.getItemBase(itemId); + if (runeBase != null) { + MobLoot rune = new MobLoot(mob, runeBase, true); + + if (rune != null) + mob.getCharItemManager().addItemToInventory(rune); + } } } diff --git a/src/engine/server/world/WorldServer.java b/src/engine/server/world/WorldServer.java index 14e9d05e..389d39dc 100644 --- a/src/engine/server/world/WorldServer.java +++ b/src/engine/server/world/WorldServer.java @@ -534,8 +534,8 @@ public class WorldServer { printThreads(); Logger.info("Threads Running:"); - //Logger.info("Starting Hotzone..."); - //HotzoneManager.SelectRandomHotzone(); + Logger.info("Starting Hotzone..."); + HotzoneManager.SelectRandomHotzone(); return true; } diff --git a/src/engine/workthreads/HourlyJobThread.java b/src/engine/workthreads/HourlyJobThread.java index beae6e8b..24f374bc 100644 --- a/src/engine/workthreads/HourlyJobThread.java +++ b/src/engine/workthreads/HourlyJobThread.java @@ -36,7 +36,7 @@ public class HourlyJobThread implements Runnable { ConcurrentHashMap map = DbManager.getMap(Enum.GameObjectType.City); - //HotzoneManager.SelectRandomHotzone(); + HotzoneManager.SelectRandomHotzone(); if (map != null) { for (AbstractGameObject ago : map.values()) {