public IEnumerator ApplyStatusesResponse(DealDamageAction dda)
        {
            // "... reduce damage dealt by that target to {TheGoalieCharacter} by 1 and increase damage dealt by {TheGoalieCharacter} to that target by 1 until the end of your next turn."
            ReduceDamageStatusEffect reduction = new ReduceDamageStatusEffect(1);

            reduction.SourceCriteria.IsSpecificCard = dda.DamageSource.Card;
            reduction.TargetCriteria.IsSpecificCard = base.CharacterCard;
            reduction.UntilCardLeavesPlay(dda.DamageSource.Card);
            reduction.UntilCardLeavesPlay(base.CharacterCard);
            reduction.UntilEndOfNextTurn(base.TurnTaker);
            IncreaseDamageStatusEffect increase = new IncreaseDamageStatusEffect(1);

            increase.SourceCriteria.IsSpecificCard = base.CharacterCard;
            increase.TargetCriteria.IsSpecificCard = dda.DamageSource.Card;
            increase.UntilCardLeavesPlay(dda.DamageSource.Card);
            increase.UntilCardLeavesPlay(base.CharacterCard);
            increase.UntilEndOfNextTurn(base.TurnTaker);
            IEnumerator reduceCoroutine   = AddStatusEffect(reduction);
            IEnumerator increaseCoroutine = AddStatusEffect(increase);

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(reduceCoroutine));

                yield return(base.GameController.StartCoroutine(increaseCoroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(reduceCoroutine);
                base.GameController.ExhaustCoroutine(increaseCoroutine);
            }
            yield break;
        }
Esempio n. 2
0
        private IEnumerator IncreaseDamageStatusEffectResponse()
        {
            var effect = new IncreaseDamageStatusEffect(2);

            effect.SourceCriteria.IsVillain = true;
            effect.SourceCriteria.IsTarget  = true;
            effect.UntilEndOfNextTurn(TurnTaker);
            effect.CardSource = Card;

            return(AddStatusEffect(effect));
        }
        private IEnumerator Mark(DealDamageAction arg)
        {
            // Dragons deal 1 more damage to target
            IncreaseDamageStatusEffect idse = new IncreaseDamageStatusEffect(1);

            idse.SourceCriteria.HasAnyOfTheseKeywords = new List <string>()
            {
                "dragon"
            };
            idse.TargetCriteria.IsSpecificCard = arg.Target;
            idse.UntilEndOfNextTurn(TurnTaker);
            var mark = AddStatusEffect(idse);

            if (UseUnityCoroutines)
            {
                yield return(this.GameController.StartCoroutine(mark));
            }
            else
            {
                this.GameController.ExhaustCoroutine(mark);
            }
        }