forked from MagicBane/Server
				
			
				 3 changed files with 65 additions and 0 deletions
			
			
		| @ -0,0 +1,61 @@@@ -0,0 +1,61 @@ | ||||
| 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); | ||||
|     } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue