arena circle addition
This commit is contained in:
@@ -3,6 +3,7 @@ package engine.gameManager;
|
|||||||
import engine.Enum;
|
import engine.Enum;
|
||||||
import engine.InterestManagement.WorldGrid;
|
import engine.InterestManagement.WorldGrid;
|
||||||
import engine.exception.MsgSendException;
|
import engine.exception.MsgSendException;
|
||||||
|
import engine.math.Vector3f;
|
||||||
import engine.math.Vector3fImmutable;
|
import engine.math.Vector3fImmutable;
|
||||||
import engine.objects.*;
|
import engine.objects.*;
|
||||||
import engine.server.MBServerStatics;
|
import engine.server.MBServerStatics;
|
||||||
@@ -56,14 +57,23 @@ public class ArenaManager {
|
|||||||
|
|
||||||
private static void createArena() {
|
private static void createArena() {
|
||||||
if (playerQueue.size() > 1) {
|
if (playerQueue.size() > 1) {
|
||||||
|
|
||||||
Collections.shuffle(playerQueue);
|
Collections.shuffle(playerQueue);
|
||||||
Arena newArena = new Arena();
|
Arena newArena = new Arena();
|
||||||
|
|
||||||
//set starting time
|
//set starting time
|
||||||
newArena.startTime = System.currentTimeMillis();
|
newArena.startTime = System.currentTimeMillis();
|
||||||
|
|
||||||
//decide an arena location
|
//decide an arena location
|
||||||
newArena.loc = selectRandomArenaLocation();
|
newArena.loc = selectRandomArenaLocation();
|
||||||
|
|
||||||
|
//create building for arena
|
||||||
|
//arena mesh uuid = 423600
|
||||||
|
Vector3f rot = new Vector3f(0.0f, 0.0f, 0.0f);
|
||||||
|
float w = 1f;
|
||||||
|
Building building = DbManager.BuildingQueries.CREATE_BUILDING(992, 0, "Duelling Arena", 423600, newArena.loc, 3.0f, 0, Enum.ProtectionState.PROTECTED, 0, 1, null, 423600, w, rot.y);
|
||||||
|
newArena.arenaCircle = building;
|
||||||
|
|
||||||
// Assign players to the arena
|
// Assign players to the arena
|
||||||
newArena.player1 = playerQueue.remove(0);
|
newArena.player1 = playerQueue.remove(0);
|
||||||
newArena.player2 = playerQueue.remove(0);
|
newArena.player2 = playerQueue.remove(0);
|
||||||
@@ -90,6 +100,14 @@ public class ArenaManager {
|
|||||||
Zone sdr = ZoneManager.getZoneByUUID(656);
|
Zone sdr = ZoneManager.getZoneByUUID(656);
|
||||||
MovementManager.translocate(arena.player1, Vector3fImmutable.getRandomPointOnCircle(sdr.getLoc(),50f), null);
|
MovementManager.translocate(arena.player1, Vector3fImmutable.getRandomPointOnCircle(sdr.getLoc(),50f), null);
|
||||||
MovementManager.translocate(arena.player2, Vector3fImmutable.getRandomPointOnCircle(sdr.getLoc(),50f), null);
|
MovementManager.translocate(arena.player2, Vector3fImmutable.getRandomPointOnCircle(sdr.getLoc(),50f), null);
|
||||||
|
|
||||||
|
Building building = arena.arenaCircle;
|
||||||
|
Zone zone = building.getParentZone();
|
||||||
|
DbManager.BuildingQueries.DELETE_FROM_DATABASE(building);
|
||||||
|
DbManager.removeFromCache(building);
|
||||||
|
zone.zoneBuildingSet.remove(building);
|
||||||
|
WorldGrid.RemoveWorldObject(building);
|
||||||
|
|
||||||
activeArenas.remove(arena);
|
activeArenas.remove(arena);
|
||||||
|
|
||||||
if(winner != null){
|
if(winner != null){
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ public class Arena {
|
|||||||
public PlayerCharacter player2;
|
public PlayerCharacter player2;
|
||||||
public Long startTime;
|
public Long startTime;
|
||||||
public Vector3fImmutable loc;
|
public Vector3fImmutable loc;
|
||||||
|
public Building arenaCircle;
|
||||||
|
|
||||||
public Arena(){
|
public Arena(){
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user