public override void ProcessProc(AbstractProc proc)
 {
     if (proc is ExhaustedCardProc)
     {
         ActionManager.Instance.ApplyStatusEffect(OwnerUnit, new TemporaryStrengthStatusEffect(), Stacks);
     }
 }
Example #2
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is CharacterDeathProc)
     {
         ActionManager.Instance.ApplyStatusEffect(OwnerUnit, new StrengthStatusEffect(), Stacks);
     }
 }
        public override void ProcessProc(AbstractProc proc)
        {
            // dealt 20 or more damage to a foe
            // foe dies

            if (proc is CharacterDeathProc)
            {
                var death = (CharacterDeathProc)proc;
                if (death.CharacterDead.IsEnemy)
                {
                    Stacks--;
                }
            }

            if (proc is CharacterDamagedProc)
            {
                var damage = (CharacterDamagedProc)proc;
                if (proc.TriggeringCardIfAny != null &&
                    damage.CharacterDamaged.IsEnemy &&
                    damage.DamageInflicted > 19)
                {
                    Stacks--;
                }
            }
        }
Example #4
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is LethalTriggerProc)
     {
         action().DrawCards(1 * Stacks);
         CardAbilityProcs.ChangeMoney(5 * Stacks);
     }
 }
Example #5
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is CardCreatedProc)
     {
         proc.TriggeringCardIfAny.AddSticker(new SufficientlyAdvancedTechnologyCardSticker
         {
             Stacks = Stacks
         });
     }
 }
Example #6
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is SacrificeProc)
     {
         foreach (var ally in state().AllyUnitsInBattle)
         {
             action().ApplyStatusEffect(ally, new ChargedStatusEffect(), Stacks);
         }
     }
 }
Example #7
0
 public override void ProcessProc(AbstractProc proc)
 {
     if (proc is SacrificeProc)
     {
         foreach (var enemy in state().EnemyUnitsInBattle)
         {
             action().DamageUnitNonAttack(enemy, this.OwnerUnit, 10);
         }
         action().DrawCards(1);
     }
 }
Example #8
0
        public override void ProcessProc(AbstractProc proc)
        {
            if (proc is TauntProc)
            {
                var tauntproc = proc as TauntProc;
                var tauntee   = tauntproc.Tauntee;

                action().ApplyStatusEffect(tauntee, new VulnerableStatusEffect(), Stacks);
                action().ApplyStatusEffect(tauntee, new WeakenedStatusEffect(), Stacks);
            }
        }
 public override void OnProcWhileThisIsInDeck(AbstractProc proc)
 {
     if (proc is CharacterDeathProc)
     {
         var death = (CharacterDeathProc)proc;
         if (death.CharacterDead == Owner)
         {
             foreach (var enemy in state().EnemyUnitsInBattle)
             {
                 action().DamageUnitNonAttack(enemy, Owner, 40);
             }
         }
     }
 }
    public static void TriggerProc(AbstractProc proc)
    {
        foreach (var unit in GameState.Instance.EnemyUnitsInBattle.Concat(GameState.Instance.AllyUnitsInBattle))
        {
            foreach (var statusEffect in unit.StatusEffects)
            {
                statusEffect.ProcessProc(proc);
            }
        }

        foreach (var card in GameState.Instance.Deck.TotalDeckList)
        {
            card.OnProcWhileThisIsInDeck(proc);
        }
    }
 public virtual void ProcessProc(AbstractProc proc)
 {
 }
Example #12
0
 public override void OnProcWhileThisIsInDeck(AbstractProc proc)
 {
     // todo
     // this.Owner.ApplyAugmentation(new PowerfulPerk());
 }