public override void Apply(TriggeredAbilities abilities)
        {
            _abilities = abilities;
            _modifier  = new AddToList <TriggeredAbility>(_triggeredAbility);
            _modifier.Initialize(ChangeTracker);
            _triggeredAbility.Initialize(OwningCard, Game);

            _abilities.AddModifier(_modifier);
        }
        public override void Apply(TriggeredAbilities abilities)
        {
            if (!_triggered)
            {
                return;
            }

            _triggeredAbilities         = abilities;
            _triggeredAbilitiesModifier = new SetList <TriggeredAbility>(
                new List <TriggeredAbility>());
            _triggeredAbilitiesModifier.Initialize(ChangeTracker);
            _triggeredAbilities.AddModifier(_triggeredAbilitiesModifier);
        }
Beispiel #3
0
        //this may need to be updated for future triggered abilities
        //this only works for simple triggered abilities
        public void RunTriggeredAbilities(PlayerAction playerAction, Card card)
        {
            foreach (var triggeredAbility in TriggeredAbilities.ToList())
            {
                if (triggeredAbility.Trigger.IsMet(playerAction, card))
                {
                    if (triggeredAbility.TriggeredAbilityDurationType != TriggeredAbilityDurationType.Once)
                    {
                        triggeredAbility.Ability.Resolved = false;
                    }

                    RuleStack.Push(triggeredAbility.Ability);

                    //we may not need this since resolved abilities won't play 2 times anyway
//                    if (triggeredAbility.TriggeredAbilityDurationType == TriggeredAbilityDurationType.Once)
//                    {
//                        TriggeredAbilities.Remove(triggeredAbility);
//                    }
                }
            }
        }
 public override void Apply(TriggeredAbilities abilities)
 {
     abilities.DisableAll();
       _triggeredAbilities = abilities;
 }
Beispiel #5
0
 public override void Apply(TriggeredAbilities abilities)
 {
     _abilties = abilities;
     _triggeredAbility.Initialize(OwningCard, Game);
     _abilties.Add(_triggeredAbility);
 }
 public override void Apply(TriggeredAbilities abilities)
 {
     _abilties = abilities;
       _triggeredAbility.Initialize(OwningCard, Game);
       _abilties.Add(_triggeredAbility);
 }
Beispiel #7
0
 public override void Apply(TriggeredAbilities abilities)
 {
     abilities.DisableAll();
     _triggeredAbilities = abilities;
 }