Example #1
0
        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();
            }
        }
Example #2
0
        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();
                }
            }
        }