diff --git a/src/engine/gameManager/GuildManager.java b/src/engine/gameManager/GuildManager.java index 499450ad..1f025224 100644 --- a/src/engine/gameManager/GuildManager.java +++ b/src/engine/gameManager/GuildManager.java @@ -186,8 +186,13 @@ public enum GuildManager { if (guild.getNation() == null) return mbEnums.GuildState.Errant; - if (guild.getNation() == guild) - return guild.getSubGuildList().isEmpty() ? mbEnums.GuildState.Sovereign : mbEnums.GuildState.Nation; + if (guild.getNation() == guild) { + // Check if any subguild in the list has an owned city + boolean hasCityOwningSubguild = guild.getSubGuildList().stream() + .anyMatch(subGuild -> subGuild.getOwnedCity() != null); + + return hasCityOwningSubguild ? mbEnums.GuildState.Nation : mbEnums.GuildState.Sovereign; + } if (guild.getOwnedCity() == null) return mbEnums.GuildState.Sworn;