You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					62 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					62 lines
				
				2.1 KiB
			| 
											8 months ago
										 | 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);
 | ||
|  |     }
 | ||
|  | }
 |