package engine.gameManager; import engine.Enum; import engine.InterestManagement.WorldGrid; import engine.net.DispatchMessage; import engine.net.client.msg.chat.ChatSystemMsg; import engine.objects.Guild; import engine.objects.Mob; import engine.objects.Zone; import org.pmw.tinylog.Logger; import java.util.Random; public class HotzoneManager { public static Mob hotzoneMob = null; public static void SelectRandomHotzone(){ if(hotzoneMob != null){ hotzoneMob.killCharacter("Hotzone Over"); } Random random = new Random(); Zone newHotzone = null; while (newHotzone == null || newHotzone.getObjectUUID() == 931 || newHotzone.getObjectUUID() == 913) newHotzone = (Zone) ZoneManager.macroZones.toArray()[random.nextInt(ZoneManager.macroZones.size())]; ZoneManager.setHotZone(newHotzone); int R8UUId = 0; switch(random.nextInt(5)) { case 1: R8UUId = 14152; break; case 2: R8UUId = 14179; break; case 3: R8UUId = 14180; break; case 4: R8UUId = 14220; break; default: R8UUId = 14319; break; } Mob created = Mob.createMob(R8UUId,newHotzone.getLoc(), Guild.getErrantGuild(),true,newHotzone,null,0,"",85); if(created == null){ Logger.error("Failed To Generate Hotzone R8 Mob"); return; } ChatSystemMsg chatMsg = new ChatSystemMsg(null, created.getFirstName() + " has spawned in " + newHotzone.getName() + ". Glory and riches await adventurers who dare defeat it!"); chatMsg.setMessageType(10); chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID()); DispatchMessage.dispatchMsgToAll(chatMsg); created.bindLoc = newHotzone.getLoc(); created.runAfterLoad(); WorldGrid.addObject(created,created.bindLoc.x,created.bindLoc.z); created.teleport(created.bindLoc); hotzoneMob = created; HellgateManager.SpecialLootHandler(created,true,true); } }