From d014aafe45e0ecd2f3d5ba7c12ca2496569a086d Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 10 May 2026 10:32:57 -0400 Subject: [PATCH] Guild state set properly when breaking fealty --- .../net/client/handlers/BreakFealtyHandler.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/engine/net/client/handlers/BreakFealtyHandler.java b/src/engine/net/client/handlers/BreakFealtyHandler.java index ce83e9f47..787106c45 100644 --- a/src/engine/net/client/handlers/BreakFealtyHandler.java +++ b/src/engine/net/client/handlers/BreakFealtyHandler.java @@ -77,19 +77,30 @@ public class BreakFealtyHandler extends AbstractClientMsgHandler { switch (guild.getGuildState()) { case Sworn: - guild.setNation(null); + guild.setNation(Guild.getErrantNation()); GuildManager.updateAllGuildTags(guild); GuildManager.updateAllGuildBinds(guild, null); + guild.setGuildState(mbEnums.GuildState.Errant); break; case Province: + case Protectorate: guild.setNation(guild); GuildManager.updateAllGuildTags(guild); GuildManager.updateAllGuildBinds(guild, guild.getOwnedCity()); + + boolean isNation = false; + + for (Guild subGuild : guild.getSubGuildList()) + if (subGuild.getOwnedCity() != null) + isNation = true; + + if (isNation) + guild.setGuildState(mbEnums.GuildState.Nation); + else + guild.setGuildState(mbEnums.GuildState.Sovereign); break; } - guild.downgradeGuildState(); - SendGuildEntryMsg msg = new SendGuildEntryMsg(player); dispatch = Dispatch.borrow(player, msg); DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);