It works, your solution is really very simple and solves the problem, congratulations!
I had already resolved otherwise, I added a check only when declaring or canceling wars. Both ways will do.
org.l2jmobius.gameserver.model.clan.Clan.java
public void broadcastClanStatus()
{
for (PlayerInstance member : getOnlineMembers(0))
{
member.sendPacket(PledgeShowMemberListDeleteAll.STATIC_PACKET);
member.sendPacket(new PledgeShowMemberListAll(this, member));
+ World.getInstance().forEachVisibleObject(member, PlayerInstance.class, player ->
+ {
+ if (!member.isVisibleFor(player))
+ {
+ return;
+ }
+
+ player.sendPacket(new RelationChanged(member, member.getRelation(player), member.isAutoAttackable(player)));
+ if (member.hasSummon())
+ {
+ player.sendPacket(new RelationChanged(member.getSummon(), member.getRelation(player), member.isAutoAttackable(player)));
+ }
+ });
}
}
Thanks for the help!