public override void CounterFinished() { if (Caller.HasOnePlayableCardInHand(true, (c) => { return(c as SC_OffensiveMove); })) { if (Caller.AI) { interceptNext = true; Caller.BecomeActive(false); } else { Caller.IntChoices["CounterCard"] = -1; StartCoroutine(CounterCardCoroutine()); if (Caller.IsLocalPlayer) { UI.ShowBooleanChoiceUI("Play an offensive move?", "Skip", (b) => { Caller.SetIntChoiceServerRpc("CounterCard", b ? 0 : 1); }); } } } else { base.CounterFinished(); } }
public virtual void BaseFinishedUsing(bool countered = false) { activeCard = originalCard = null; if (Is(CardType.Basic)) { if (!Has(CommonEffectType.Break)) { NextTurn(true); } else if (activePlayer.Turn) { activePlayer.BecomeActive(); } } else if (Caller.IsLocalPlayer || Caller.AI) { if (!countered && Receiver.Stamina <= 2 && this as SC_OffensiveMove) { StartPinfallChoice(); } else if (IsSpecial) { Caller.BecomeActive(); } else { NextTurn(); } } }