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