Realms refactored to pull map color from database not hardcoded enum.

This commit is contained in:
2023-02-08 09:09:54 -05:00
parent abd8697d56
commit 5cfb451041
6 changed files with 48 additions and 136 deletions
@@ -984,11 +984,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
return false;
}
RealmType realmType = RealmType.getRealmTypeByUUID(serverRealm.getRealmID());
if (
(realmType.equals(RealmType.MAELSTROM)) ||
(realmType.equals(RealmType.OBLIVION))) {
if (serverRealm == null || serverRealm.getCanPlaceCities() == false) {
PlaceAssetMsg.sendPlaceAssetError(origin, 57, playerCharacter.getName()); // No building may be placed within this territory
return false;
}
@@ -1240,8 +1236,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
private static boolean validateBuildingPlacement(Zone serverZone, PlaceAssetMsg msg, ClientConnection origin, PlayerCharacter player, PlacementInfo placementInfo) {
RealmType currentRealm;
if (serverZone.isPlayerCity() == false) {
PlaceAssetMsg.sendPlaceAssetError(origin, 52, player.getName());
return false;
@@ -1295,11 +1289,11 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
return false;
}
currentRealm = RealmType.getRealmTypeByUUID(RealmMap.getRealmIDAtLocation(player.getLoc()));
Realm serverRealm = RealmMap.getRealmAtLocation(player.getLoc());
if (
(currentRealm.equals(RealmType.MAELSTROM)) ||
(currentRealm.equals(RealmType.OBLIVION))) {
// Cannot place buildings on seafloor or other restricted realms
if (serverRealm == null || serverRealm.getCanPlaceCities() == false) {
PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); // No building may be placed within this territory
return false;
}
+3 -15
View File
@@ -21,7 +21,6 @@
package engine.net.client.msg;
import engine.Enum.RealmType;
import engine.net.AbstractConnection;
import engine.net.ByteBufferReader;
import engine.net.ByteBufferWriter;
@@ -67,23 +66,12 @@ public class WorldRealmMsg extends ClientNetMsg {
Realm serverRealm;
realmCount = RealmType.values().length - 1;
// Realm count without seafloor
realmCount = Realm._realms.size();
writer.putInt(realmCount);
for (RealmType realmType : RealmType.values()) {
realmID = realmType.getRealmID();
// Don't serialize seafloor
if (realmID == 0)
continue;
serverRealm = Realm.getRealm(realmID);
serverRealm.serializeForClientMsg(writer);
}
for (Realm realm : Realm._realms.values())
realm.serializeForClientMsg(writer);
writer.putInt(0x0);
writer.putInt(3000000);