diff --git a/src/engine/net/client/handlers/ClaimAssetMsgHandler.java b/src/engine/net/client/handlers/ClaimAssetMsgHandler.java index 7ab2f3e0..6a6cff9b 100644 --- a/src/engine/net/client/handlers/ClaimAssetMsgHandler.java +++ b/src/engine/net/client/handlers/ClaimAssetMsgHandler.java @@ -17,9 +17,8 @@ import engine.mbEnums.BuildingGroup; import engine.net.client.ClientConnection; import engine.net.client.msg.ClaimAssetMsg; import engine.net.client.msg.ClientNetMsg; -import engine.objects.Blueprint; -import engine.objects.Building; -import engine.objects.PlayerCharacter; +import engine.net.client.msg.ErrorPopupMsg; +import engine.objects.*; import org.pmw.tinylog.Logger; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -111,9 +110,9 @@ public class ClaimAssetMsgHandler extends AbstractClientMsgHandler { // Can't claim a tree if your guild already owns one // *** Refactor : Send error to player here - if ((sourcePlayer.getGuild().isNation()) && - (blueprint.getBuildingGroup() == BuildingGroup.TOL)) + if(blueprint.getBuildingGroup() == BuildingGroup.TOL && !validateTreeClaim(sourcePlayer)){ return true; + } // Process the transfer of the building(s) @@ -135,4 +134,24 @@ public class ClaimAssetMsgHandler extends AbstractClientMsgHandler { return true; } + private boolean validateTreeClaim(PlayerCharacter sourcePlayer) { + + if(sourcePlayer.guild.equals(Guild.getErrantGuild())) { + ErrorPopupMsg.sendErrorMsg(sourcePlayer, "Errant Players Cannot Claim Cities!"); + return false; + } + + if(sourcePlayer.guild.getOwnedCity() != null) { + ErrorPopupMsg.sendErrorMsg(sourcePlayer, "Your Guild Already Owns A City!"); + return false; + } + + if(!GuildStatusController.isGuildLeader(sourcePlayer.getGuildStatus())) { + ErrorPopupMsg.sendErrorMsg(sourcePlayer, "Only A Guild Leader Can Claim A Tree Of Life!"); + return false; + } + + return true; + } + } \ No newline at end of file