TurnStart / PlayActions / Echo / TurnEndActions / JudgeResult from a real participant in Pvp mode forward to the other participant once BothAfterReady. Scripted's bot-burst case arms (gated on FakeOpponentViewerId) precede the PvP forwarder so they're unaffected. The bot-emission TurnStart/TurnEnd/Judge guard was tightened from `ReferenceEquals(from, A or B)` (always true) to call IsRealForwardableFromScripted directly in the `when` clause. The prior shape used `goto default` to drop non-bot senders, which would have short-circuited the new PvP forwarder for TurnStart in PvP mode.
19 KiB
19 KiB