private IEnumerator ExtraTurnCheck() { DisableCards(); DrawEffectCoroutine drawEffectCoroutine = new DrawEffectCoroutine(this); yield return(drawEffectCoroutine); Card drawEffectCard = drawEffectCoroutine.DrawEffectCard; extraTurn = drawEffectCard.IsRed; yield return(PimPamPumEvent(this + " has drawn: " + drawEffectCard + (extraTurn ? " he gets another turn. " : " he ends the turn normally."))); if (extraTurn) { yield return(base.OnStartTurn()); } else { base.WillinglyEndTurn(); } }
protected override IEnumerator ShootPimPamPumTrigger(int target) { DrawEffectCoroutine drawEffectCoroutine = new DrawEffectCoroutine(this); yield return(drawEffectCoroutine); Card drawEffectCard = drawEffectCoroutine.DrawEffectCard; if (drawEffectCard.Suit == Suit.Spades) { yield return(PimPamPumEvent(this + " has shot an undodgeable PimPamPum! " + drawEffectCard)); yield return(GameController.Instance.HitPlayer(PlayerNumber, target)); } else { yield return(PimPamPumEvent(this + " has shot an standard PimPamPum! " + drawEffectCard)); yield return(base.ShootPimPamPumTrigger(target)); } }
protected override IEnumerator DieTrigger(int killer) { DrawEffectCoroutine drawEffectCoroutine = new DrawEffectCoroutine(this); yield return(drawEffectCoroutine); Card drawEffectCard = drawEffectCoroutine.DrawEffectCard; if (drawEffectCard.Suit != Suit.Spades) { yield return(PimPamPumEvent(this + " draws! to stay alive: " + drawEffectCard)); hp = 1; Draw(1); } else { yield return(PimPamPumEvent(this + " draws! and dies: " + drawEffectCard)); yield return(base.DieTrigger(killer)); } }