fix(CS): stop crown re-capture loop + show seal panel only to the master
Some checks failed
.NET Core / build (push) Has been cancelled
Some checks failed
.NET Core / build (push) Has been cancelled
- The occupier can no longer re-register its own throne (canCapture = eligible != occupier), which caused a repeating 60s panel loop; only a DIFFERENT guild can contest. - The 60s registration panel (0xB2/0x15) is now sent ONLY to the master on the crown, not broadcast to switch-holders/other players. Shield(0x16) + capture(0x18) still broadcast. +1 test (15 total).
This commit is contained in:
@@ -231,7 +231,11 @@ public class CastleSiegeContext
|
||||
|
||||
var wasHolding = this._crownHoldGuild is not null;
|
||||
|
||||
if (eligibleGuild is null || !masterHolding)
|
||||
// The guild that already occupies the throne just holds it — no re-registration (avoids a capture loop).
|
||||
// Only a DIFFERENT guild taking both switches can register/capture (contest).
|
||||
var canCapture = eligibleGuild is not null && eligibleGuild != this._occupier;
|
||||
|
||||
if (!canCapture || !masterHolding)
|
||||
{
|
||||
this._crownHoldGuild = null;
|
||||
this._crownHoldStartUtc = null;
|
||||
|
||||
Reference in New Issue
Block a user