Arena System
This commit is contained in:
@@ -2,6 +2,7 @@ package engine.objects;
|
||||
|
||||
import engine.InterestManagement.WorldGrid;
|
||||
import engine.gameManager.ArenaManager;
|
||||
import engine.gameManager.ChatManager;
|
||||
import engine.gameManager.MovementManager;
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.server.MBServerStatics;
|
||||
@@ -19,7 +20,14 @@ public class Arena {
|
||||
}
|
||||
public Boolean disqualify() {
|
||||
HashSet<AbstractWorldObject> inRange = WorldGrid.getObjectsInRangePartial(this.loc, 250f, MBServerStatics.MASK_PLAYER);
|
||||
HashSet<AbstractWorldObject> warningRange = WorldGrid.getObjectsInRangePartial(this.loc, 500f, MBServerStatics.MASK_PLAYER);
|
||||
for(AbstractWorldObject obj : warningRange){
|
||||
PlayerCharacter pc = (PlayerCharacter)obj;
|
||||
if(pc.equals(this.player1) || pc.equals(this.player2))
|
||||
continue;
|
||||
|
||||
ChatManager.chatSystemInfo(pc, "WARNING!! You are entering an arena zone!");
|
||||
}
|
||||
//boot out all non competitors
|
||||
for(AbstractWorldObject obj : inRange){
|
||||
if(obj.equals(this.player1))
|
||||
|
||||
@@ -202,23 +202,31 @@ public class Contract extends AbstractGameObject {
|
||||
vd.getOptions().clear();
|
||||
|
||||
switch(optionId){
|
||||
default:
|
||||
MenuOption option1 = new MenuOption(15020431, "Join Arena Que", 15020431);
|
||||
vd.getOptions().add(option1);
|
||||
MenuOption option2 = new MenuOption(15020432, "Leave Arena Que", 15020432);
|
||||
vd.getOptions().add(option2);
|
||||
break;
|
||||
case 15020431:
|
||||
ArenaManager.joinQueue(pc);
|
||||
ChatManager.chatSystemInfo(pc, "You Have Joined The Arena Que");
|
||||
if(pc.isBoxed){
|
||||
ChatManager.chatSystemInfo(pc, "You Cannot Join The Que, You Are Boxed");
|
||||
}else {
|
||||
if (ArenaManager.playerQueue.contains(pc)) {
|
||||
ChatManager.chatSystemInfo(pc, "You Are Already In The Arena Que");
|
||||
} else {
|
||||
ArenaManager.joinQueue(pc);
|
||||
ChatManager.chatSystemInfo(pc, "You Have Joined The Arena Que");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 15020432:
|
||||
if(ArenaManager.playerQueue.contains(pc))
|
||||
if(ArenaManager.playerQueue.contains(pc)) {
|
||||
ArenaManager.leaveQueue(pc);
|
||||
ChatManager.chatSystemInfo(pc, "You Have Left The Arena Que");
|
||||
ChatManager.chatSystemInfo(pc, "You Have Left The Arena Que");
|
||||
}else{
|
||||
ChatManager.chatSystemInfo(pc, "You Are Not In The Arena Que");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
MenuOption option1 = new MenuOption(15020431, "Join Arena Que", 15020431);
|
||||
vd.getOptions().add(option1);
|
||||
MenuOption option2 = new MenuOption(15020432, "Leave Arena Que", 15020432);
|
||||
vd.getOptions().add(option2);
|
||||
return vd;
|
||||
}
|
||||
public static VendorDialog HandleEnrollmentOfficer(int optionId, NPC npc, PlayerCharacter pc){
|
||||
|
||||
Reference in New Issue
Block a user