diff --git a/src/engine/net/client/handlers/AbandonAssetMsgHandler.java b/src/engine/net/client/handlers/AbandonAssetMsgHandler.java index 28d9014b..dd21cdcb 100644 --- a/src/engine/net/client/handlers/AbandonAssetMsgHandler.java +++ b/src/engine/net/client/handlers/AbandonAssetMsgHandler.java @@ -166,16 +166,24 @@ public class AbandonAssetMsgHandler extends AbstractClientMsgHandler { return; } + // Dislodge any realm + + if (sourceGuild.getOwnedCity().realm != null) + sourceGuild.getOwnedCity().realm.abandonRealm(); + + if (sourceGuild.getNation().equals(sourceGuild)) + sourceGuild.guildState = GuildState.Errant; + else + sourceGuild.guildState = GuildState.Sworn; + + sourceGuild.setCityUUID(0); + // Guild no longer owns his tree. if (!DbManager.GuildQueries.SET_GUILD_OWNED_CITY(sourceGuild.getObjectUUID(), 0)) { Logger.error("Failed to update Owned City to Database"); return; } - sourceGuild.setCityUUID(0); - sourceGuild.guildState = GuildState.Errant; - sourceGuild.setNation(null); - // Transfer the city assets TransferCityAssets(sourcePlayer, targetBuilding);