diff --git a/src/engine/net/client/handlers/DismissGuildHandler.java b/src/engine/net/client/handlers/DismissGuildHandler.java index 02957ce1..10dd32e3 100644 --- a/src/engine/net/client/handlers/DismissGuildHandler.java +++ b/src/engine/net/client/handlers/DismissGuildHandler.java @@ -85,8 +85,8 @@ public class DismissGuildHandler extends AbstractClientMsgHandler { return true; } nation.getSubGuildList().remove(toDismiss); - toDismiss.downgradeGuildState(); - toDismiss.setNation(null); + toDismiss.guildState = mbEnums.GuildState.Errant; + toDismiss.setNation(Guild.getErrantNation()); GuildManager.updateAllGuildBinds(toDismiss, null); break; @@ -96,24 +96,32 @@ public class DismissGuildHandler extends AbstractClientMsgHandler { return true; } nation.getSubGuildList().remove(toDismiss); - toDismiss.downgradeGuildState(); + toDismiss.guildState = mbEnums.GuildState.Sovereign; toDismiss.setNation(toDismiss); break; case Petitioner: nation.getSubGuildList().remove(toDismiss); - toDismiss.downgradeGuildState(); + if (toDismiss.getNation().isEmptyGuild()) { + toDismiss.guildState = mbEnums.GuildState.Errant; + toDismiss.setNation(Guild.getErrantNation()); + } else { + toDismiss.guildState = mbEnums.GuildState.Sovereign; + toDismiss.setNation(toDismiss); + } break; case Protectorate: nation.getSubGuildList().remove(toDismiss); - toDismiss.downgradeGuildState(); + toDismiss.guildState = mbEnums.GuildState.Sovereign; + ; + toDismiss.setNation(toDismiss); break; } GuildManager.updateAllGuildTags(toDismiss); if (nation.getSubGuildList().isEmpty()) - nation.downgradeGuildState(); + nation.guildState = mbEnums.GuildState.Sovereign; SendGuildEntryMsg msg = new SendGuildEntryMsg(player); dispatch = Dispatch.borrow(player, msg);