|
|
|
@ -408,60 +408,6 @@ public class Zone extends AbstractGameObject {
@@ -408,60 +408,6 @@ public class Zone extends AbstractGameObject {
|
|
|
|
|
// TODO Auto-generated method stub
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Zone findRuinedCityZone(float centerX, float centerY, float centerZ){ |
|
|
|
|
Bounds cityBounds; |
|
|
|
|
cityBounds = Bounds.borrow(); |
|
|
|
|
Zone RuinedZone = null; |
|
|
|
|
cityBounds.setBounds(new Vector2f(centerX, centerZ), new Vector2f(Enum.CityBoundsType.ZONE.extents, Enum.CityBoundsType.ZONE.extents), 0.0f); |
|
|
|
|
Zone currentZone = ZoneManager.findSmallestZone(new Vector3fImmutable(centerX, centerY, centerZ)); |
|
|
|
|
if (currentZone != null) |
|
|
|
|
if (this.getObjectUUID() == currentZone.getObjectUUID()){ |
|
|
|
|
|
|
|
|
|
if (currentZone.getPlayerCityUUID() != 0){ |
|
|
|
|
//null player city? skip..
|
|
|
|
|
if (City.GetCityFromCache(currentZone.getPlayerCityUUID()) == null) |
|
|
|
|
RuinedZone = null; |
|
|
|
|
else //no tol? skip...
|
|
|
|
|
if (City.GetCityFromCache(currentZone.getPlayerCityUUID()).getTOL() == null) |
|
|
|
|
RuinedZone = null; |
|
|
|
|
else |
|
|
|
|
if (City.GetCityFromCache(currentZone.getPlayerCityUUID()).getTOL().getRank() == -1) |
|
|
|
|
RuinedZone = currentZone; |
|
|
|
|
//Dead tree? skip.
|
|
|
|
|
cityBounds.release(); |
|
|
|
|
return RuinedZone; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (Zone zone : this.getNodes()) { |
|
|
|
|
|
|
|
|
|
if (zone == this) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
if (zone.isContinent() && zone.getPlayerCityUUID() == 0) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
if (zone.getPlayerCityUUID() != 0){ |
|
|
|
|
//null player city? skip..
|
|
|
|
|
if (City.GetCityFromCache(zone.getPlayerCityUUID()) == null) |
|
|
|
|
continue; |
|
|
|
|
//no tol? skip...
|
|
|
|
|
if (City.GetCityFromCache(zone.getPlayerCityUUID()).getTOL() == null) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
//Dead tree? skip.
|
|
|
|
|
if (Bounds.collide(zone.bounds, cityBounds, 0.0f)){ |
|
|
|
|
if (City.GetCityFromCache(zone.getPlayerCityUUID()).getTOL().getRank() == -1){ |
|
|
|
|
RuinedZone = zone; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
cityBounds.release(); |
|
|
|
|
return RuinedZone; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean isContinent() { |
|
|
|
|
|
|
|
|
|
if (this.equals(ZoneManager.getSeaFloor())) |
|
|
|
|