Browse Source

Rework of ismacro and iscontinent.

master
MagicBot 2 years ago
parent
commit
94b863a835
  1. 4
      src/engine/gameManager/ZoneManager.java
  2. 2
      src/engine/net/client/handlers/PlaceAssetMsgHandler.java
  3. 20
      src/engine/objects/Zone.java

4
src/engine/gameManager/ZoneManager.java

@ -444,7 +444,7 @@ public enum ZoneManager {
boolean validLocation = true; boolean validLocation = true;
Bounds treeBounds; Bounds treeBounds;
if (currentZone.isContininent() == false) if (currentZone.isContinent() == false)
return false; return false;
@ -456,7 +456,7 @@ public enum ZoneManager {
for (Zone zone : zoneList) { for (Zone zone : zoneList) {
if (zone.isContininent()) if (zone.isContinent())
continue; continue;
if (Bounds.collide(treeBounds, zone.getBounds(), 0.0f)) if (Bounds.collide(treeBounds, zone.getBounds(), 0.0f))

2
src/engine/net/client/handlers/PlaceAssetMsgHandler.java

@ -978,7 +978,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
// All trees must be placed within a continent. // All trees must be placed within a continent.
if (!serverZone.isContininent()) { if (!serverZone.isContinent()) {
PlaceAssetMsg.sendPlaceAssetError(origin, 69, ""); // Tree must be within a territory PlaceAssetMsg.sendPlaceAssetError(origin, 69, ""); // Tree must be within a territory
return false; return false;

20
src/engine/objects/Zone.java

@ -23,7 +23,6 @@ import org.pmw.tinylog.Logger;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Set; import java.util.Set;
@ -288,8 +287,7 @@ public class Zone extends AbstractGameObject {
public boolean isMacroZone() { public boolean isMacroZone() {
// Player cities are not considered a macrozone // Macro zones have icons.
// although their parent is always a continent.
if (this.isPlayerCity == true) if (this.isPlayerCity == true)
return false; return false;
@ -297,7 +295,7 @@ public class Zone extends AbstractGameObject {
if (this.parent == null) if (this.parent == null)
return false; return false;
return (this.parent.isContininent() == true); return !this.getIcon1().equals("");
} }
public boolean isNPCCity() { public boolean isNPCCity() {
@ -440,7 +438,7 @@ public class Zone extends AbstractGameObject {
if (zone == this) if (zone == this)
continue; continue;
if (zone.isContininent() && zone.getPlayerCityUUID() == 0) if (zone.isContinent() && zone.getPlayerCityUUID() == 0)
continue; continue;
if (zone.getPlayerCityUUID() != 0){ if (zone.getPlayerCityUUID() != 0){
@ -464,12 +462,18 @@ public class Zone extends AbstractGameObject {
return RuinedZone; return RuinedZone;
} }
public boolean isContininent() { public boolean isContinent() {
if (this.parent == null) if (this.equals(ZoneManager.getSeaFloor()))
return false;
if (this.getNodes().isEmpty())
return false; return false;
return this.parent.equals(ZoneManager.getSeaFloor()); if (this.getNodes().get(0).isMacroZone())
return true;
return false;
} }
/** /**

Loading…
Cancel
Save