Browse Source

extra sanity checks for claiming an abandoned tree

debug-guards
FatBoy-DOTC 3 weeks ago
parent
commit
c601ba36b8
  1. 29
      src/engine/net/client/handlers/ClaimAssetMsgHandler.java

29
src/engine/net/client/handlers/ClaimAssetMsgHandler.java

@ -17,9 +17,8 @@ import engine.mbEnums.BuildingGroup; @@ -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 { @@ -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 { @@ -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;
}
}
Loading…
Cancel
Save