public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid) { var leftmostAttack = BattleHelpers.LeftmostCardInHandThat(item => item.CardType == CardType.AttackCard); if (leftmostAttack != null) { leftmostAttack.DamageModifiers.Add(new AppliesWeakDamageModifier()); } }
public override int GetCostModifier() { if (BattleHelpers.DoesAnyEnemyHave <MarkedStatusEffect>()) { return(-1); } else { return(0); } }
public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid) { var randomCard = BattleHelpers.RandomCardInHandThat(item => item.CardTags.Contains(BattleCardTags.SWARM) && item.GetDisplayedEnergyCost() > 0); if (randomCard == null) { action().CreateCardToBattleDeckDrawPile(new HellishSwarm(), CardCreationLocation.SHUFFLE); } else { randomCard.StaticBaseEnergyCost--; } }
public override int GetIncrementalDamageAddition(int currentBaseDamage, AbstractCard damageSource, AbstractBattleUnit target) { return(1 * BattleHelpers.CardsInHandInOrder().Where(item => item.CardTags.Contains(BattleCardTags.SWARM)).Count()); }
public static bool ShouldRetainVigilCardInHand(AbstractCard card) { return(BattleHelpers.GetActiveVigilCard() == card); }