diff --git a/overlay/oxide/plugins/RunicGateway.cs b/overlay/oxide/plugins/RunicGateway.cs index c21244b..6c7560c 100644 --- a/overlay/oxide/plugins/RunicGateway.cs +++ b/overlay/oxide/plugins/RunicGateway.cs @@ -1975,6 +1975,23 @@ namespace Oxide.Plugins Dictionary frame = ClanFrame("clan.disbanded", clan); PutPlayer(frame, "steamId", "name", steamId); + + // Protocol 7: who was in it. The website tells a disbanded clan's members, and by the + // time it reads this frame the next board may already have removed the roster it would + // otherwise ask — the board is re-sent seconds after this, and after an outage it is + // applied before the backlog. The game has deleted the clan from its database by now, + // and walked `Members` to drop each one's membership, but it never empties the list + // itself — so it is still whole here, bounded by the clan's own member limit. + if (clan.Members != null) + { + List members = new List(); + + foreach (ClanMember member in clan.Members) + members.Add(member.SteamId.ToString()); + + frame["members"] = members; + } + EmitFrame(frame); ScheduleClansBoard();