Esempio n. 1
0
 public override void OnPlay(AbstractBattleUnit _t, EnergyPaidInformation energyPaid)
 {
     var target = CardTargeting.RandomTargetableEnemy();
     action().AttackUnitForDamage(target, Owner, BaseDamage, this);
     CardAbilityProcs.ProcExert(this);
     action().ApplyStatusEffect(target, new AdvancedStatusEffect(), 1);
 }
Esempio n. 2
0
 public override void EndOfBattlePassiveTrigger()
 {
     if (!this.CardAttachedTo.IsExhausted())
     {
         CardAbilityProcs.ChangeMoney(GildedValue);
     }
 }
Esempio n. 3
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().AttackWithCard(this, CardTargeting.RandomTargetableEnemy());
     action().AttackWithCard(this, CardTargeting.RandomTargetableEnemy());
     action().AttackWithCard(this, CardTargeting.RandomTargetableEnemy());
     CardAbilityProcs.ProcExert(this);
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_AttackTarget(target);
     CardAbilityProcs.Discharge(this, () =>
     {
         action().AttackUnitForDamage(target, this.Owner, 20, this);
     });
 }
Esempio n. 5
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyStatusEffectToTarget(new WeakenedStatusEffect(), 3, target);
     CardAbilityProcs.Technocannibalize(this, () =>
     {
         Action_AttackTarget(target);
     });
 }
Esempio n. 6
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is LethalTriggerProc)
     {
         action().DrawCards(1 * Stacks);
         CardAbilityProcs.ChangeMoney(5 * Stacks);
     }
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyDefenseToTarget(target);
     CardAbilityProcs.Sly(this, () =>
     {
         Action_ApplyDefenseToTarget(target);
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyStatusEffectToOwner(new StrengthStatusEffect(), 2);
     CardAbilityProcs.Technocannibalize(this, () =>
     {
         Action_ApplyStatusEffectToOwner(new StrengthStatusEffect(), 2);
     });
 }
Esempio n. 9
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().ApplyDefense(target, this.Owner, BaseDefenseValue);
     CardAbilityProcs.Discharge(this, () =>
     {
         state().energy++;
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_AttackTarget(target);
     CardAbilityProcs.Patient(this, () =>
     {
         Action_AttackTarget(target);
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyStatusEffectToTarget(new WeakenedStatusEffect(), 2, target);
     CardAbilityProcs.Ambush(this, () =>
     {
         CardAbilityProcs.ChangeMoney(5);
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().CreateCardToHand(new ShieldDrone());
     CardAbilityProcs.Discharge(this, () =>
     {
         action().CreateCardToHand(new ShieldDrone());
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_AttackTarget(target);
     Action_ApplyStatusEffectToTarget(new VulnerableStatusEffect(), 2, target);
     CardAbilityProcs.Brute(this, () =>
     {
         CardAbilityProcs.Refund(this, 1);
     });
 }
Esempio n. 14
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     foreach (var ally in state().AllyUnitsInBattle)
     {
         Action_ApplyStatusEffectToTarget(new BarricadeStatusEffect(), 10, ally);
     }
     CardAbilityProcs.Refund(this);
     this.Action_Exhaust();
 }
Esempio n. 15
0
        public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
        {
            CardAbilityProcs.GainDataPoints(this, 5);
            action().ApplyStress(target, 30);
            var erosions         = state().Deck.TotalDeckList.Where(item => item.CardType == CardType.ErosionCard);
            var numberOfErosions = erosions.Count();

            action().ApplyStatusEffect(target, new StrengthStatusEffect(), numberOfErosions);
            Action_Exhaust();
        }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     foreach (var enemy in state().EnemyUnitsInBattle)
     {
         action().ApplyStatusEffect(enemy, new VulnerableStatusEffect(), 1);
     }
     CardAbilityProcs.Ambush(this, () =>
     {
         state().energy++;
     });
 }
Esempio n. 17
0
        public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
        {
            action().CreateCardToHand(new AutocannonSentry());
            action().CreateCardToHand(new AutocannonSentry());

            CardAbilityProcs.Discharge(this, () =>
            {
                CardAbilityProcs.GainDataPoints(this, 1);
                Action_Exhaust();
            });
        }
Esempio n. 18
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().ApplyStatusEffect(target, new ChargedStatusEffect(), 2);
     CardAbilityProcs.Technocannibalize(this, () =>
     {
         foreach (var enemy in state().EnemyUnitsInBattle)
         {
             action().ApplyStatusEffect(enemy, new FumesStatusEffect(), 4);
             action().AttackWithCard(this, enemy);
         }
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyDefenseToTarget(this.Owner);
     action().TauntEnemy(target, this.Owner);
     CardAbilityProcs.Brute(this, () =>
     {
         foreach (var enemy in state().EnemyUnitsInBattle)
         {
             action().TauntEnemy(enemy, this.Owner);
         }
     });
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().AttackWithCard(this, target);
     CardAbilityProcs.Inferno(this, () =>
     {
         action().DrawCards(1);
     });
     CardAbilityProcs.Ambush(this, () =>
     {
         action().AttackWithCard(this, target);
     });
 }
Esempio n. 21
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     CardAbilityProcs.Technocannibalize(this, () =>
     {
         CardAbilityProcs.GainEnergy(this, 1);
         action().ApplyStatusEffect(target, new ChargedStatusEffect());
     });
     CardAbilityProcs.Inferno(this, () =>
     {
         CardAbilityProcs.GainEnergy(this, 1);
         action().ApplyStatusEffect(target, new ChargedStatusEffect());
     });
 }
Esempio n. 22
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     action().AttackUnitForDamage(target, Owner, BaseDamage, this);
     if (Owner.CurrentStress > 40)
     {
         action().AttackUnitForDamage(target, Owner, BaseDamage, this);
     }
     if (Owner.CurrentStress > 70)
     {
         action().AttackUnitForDamage(target, Owner, BaseDamage, this);
     }
     CardAbilityProcs.ProcExert(this);
 }
        public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
        {
            Action_AttackTarget(target);
            foreach (var ally in state().AllyUnitsInBattle)
            {
                action().ApplyStatusEffect(ally, new TemporaryStrengthStatusEffect(), 2);
            }

            foreach (var enemy in state().EnemyUnitsInBattle)
            {
                action().ApplyStatusEffect(enemy, new VulnerableStatusEffect(), 2);
            }

            CardAbilityProcs.ProcExert(this);
        }
Esempio n. 24
0
        public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
        {
            var ambush = CardAbilityProcs.Ambush(this, () =>
            {
                foreach (var ally in state().AllyUnitsInBattle)
                {
                    Action_ApplyDefenseToTarget(ally);
                }
            });

            if (!ambush)
            {
                Action_ApplyDefenseToTarget(target);
            }
        }
 public override bool SlayInner(AbstractCard damageSource, AbstractBattleUnit target)
 {
     if (target.IsBoss)
     {
         CardAbilityProcs.ChangeMoney(20);
     }
     if (target.IsElite)
     {
         CardAbilityProcs.ChangeMoney(10);
     }
     else
     {
         //todo: Minion exclusion
         CardAbilityProcs.ChangeMoney(5);
     }
     return(true);
 }
Esempio n. 26
0
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyStatusEffectToOwner(new SufficientlyAdvancedTechnologyStatusEffect(), 10);
     CardAbilityProcs.GainDataPoints(this, 1);
 }
Esempio n. 27
0
 public override void OnManualDiscard()
 {
     CardAbilityProcs.ProcNascent(this);
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     CardAbilityProcs.Refund(this, 2);
 }
 public override bool SlayInner(AbstractCard damageSource, AbstractBattleUnit target)
 {
     CardAbilityProcs.GainDataPoints(damageSource, DataPointsToAcquire);
     return(true);
 }
 public override void OnPlay(AbstractBattleUnit target, EnergyPaidInformation energyPaid)
 {
     Action_ApplyStatusEffectToOwner(new BarricadeStatusEffect(), 4);
     action().CreateCardToHand(new HurtfulWordsAndGestures());
     CardAbilityProcs.Refund(this);
 }