Guild state set properly when breaking fealty

This commit is contained in:
2026-05-10 10:32:57 -04:00
parent d331093acd
commit d014aafe45
@@ -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);