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; }