forked from MagicBane/Server
				
			
				 3 changed files with 65 additions and 0 deletions
			
			
		| @ -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