|
|
@ -27,6 +27,7 @@ import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
|
|
|
|
import java.util.concurrent.ThreadLocalRandom; |
|
|
|
|
|
|
|
|
|
|
|
public class Zone extends AbstractGameObject { |
|
|
|
public class Zone extends AbstractGameObject { |
|
|
|
|
|
|
|
|
|
|
@ -103,6 +104,46 @@ public class Zone extends AbstractGameObject { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//custom constructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Zone(int template, Vector3fImmutable loc, String name){ |
|
|
|
|
|
|
|
this.parentZoneID = 100;//seafloor
|
|
|
|
|
|
|
|
this.playerCityID = 0; |
|
|
|
|
|
|
|
this.isPlayerCity = false; |
|
|
|
|
|
|
|
this.zoneName = name; |
|
|
|
|
|
|
|
this.xCoord = loc.x; |
|
|
|
|
|
|
|
this.zCoord = loc.z; |
|
|
|
|
|
|
|
this.yCoord = loc.y; |
|
|
|
|
|
|
|
this.loadNum = template; |
|
|
|
|
|
|
|
this.safeZone = (byte)0; |
|
|
|
|
|
|
|
this.Icon1 = "T_Bandits"; |
|
|
|
|
|
|
|
this.Icon2 = "B_Standard"; |
|
|
|
|
|
|
|
this.Icon3 = "H_T_Bandits"; |
|
|
|
|
|
|
|
this.hash = null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.minLvl = 10; |
|
|
|
|
|
|
|
this.maxLvl = 75; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//this needs to be here specifically for new zones created after server boot (e.g. player city zones)
|
|
|
|
|
|
|
|
Zone parentZone = ZoneManager.getZoneByUUID(parentZoneID); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.setParent(parentZone); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.minLvl == 0 && parentZone != null) { |
|
|
|
|
|
|
|
this.minLvl = parentZone.minLvl; |
|
|
|
|
|
|
|
this.maxLvl = parentZone.maxLvl; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (parentZone != null) |
|
|
|
|
|
|
|
parentZone.addNode(this); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// If zone doesn't yet hava a hash then write it back to the zone table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (hash == null) |
|
|
|
|
|
|
|
setHash(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static void serializeForClientMsg(Zone zone, ByteBufferWriter writer) { |
|
|
|
public static void serializeForClientMsg(Zone zone, ByteBufferWriter writer) { |
|
|
|
|
|
|
|
|
|
|
|
if (zone.loadNum == 0 && zone.playerCityID == 0) |
|
|
|
if (zone.loadNum == 0 && zone.playerCityID == 0) |
|
|
|