public override IEnumerator UsePower(int index = 0)
        {
            //"Draw a card. Increase damage dealt by hero targets by 1 until the end of the turn."
            int increase = GetPowerNumeral(0, 1);

            var coroutine = DrawCard();

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
            }

            var effect = new IncreaseDamageStatusEffect(increase);

            effect.SourceCriteria.IsHero   = true;
            effect.SourceCriteria.IsTarget = true;
            effect.CardSource = Card;
            effect.UntilThisTurnIsOver(Game);

            coroutine = AddStatusEffect(effect);
            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
            }
        }
        public IEnumerator IncreaseDamageResponse(PhaseChangeAction _, OnPhaseChangeStatusEffect sourceEffect)
        {
            int increaseNumeral = sourceEffect.PowerNumeralsToChange[0];

            IncreaseDamageStatusEffect statusEffect = new IncreaseDamageStatusEffect(increaseNumeral);

            statusEffect.UntilThisTurnIsOver(Game);
            statusEffect.UntilTargetLeavesPlay(base.CharacterCard);
            IEnumerator coroutine = base.AddStatusEffect(statusEffect);

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
            }
            yield break;
        }
        public IEnumerator IncreaseMeleeResponse(GameAction ga)
        {
            // "... increase melee damage dealt by {TheGoalieCharacter} this turn by 2."
            IncreaseDamageStatusEffect targetLock = new IncreaseDamageStatusEffect(2);

            targetLock.SourceCriteria.IsSpecificCard = base.CharacterCard;
            targetLock.DamageTypeCriteria.AddType(DamageType.Melee);
            targetLock.UntilThisTurnIsOver(base.Game);
            targetLock.UntilCardLeavesPlay(base.CharacterCard);
            IEnumerator statusCoroutine = base.GameController.AddStatusEffect(targetLock, true, GetCardSource());

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(statusCoroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(statusCoroutine);
            }
            yield break;
        }