Esempio n. 1
0
 public void OnEventAboutToTrigger(RuleDealStatDamage evt)
 {
     if (evt.Initiator != Owner.Unit)
     {
         return;
     }
     evt.Immune = true;
 }
        public void OnEventDidTrigger(RuleDealStatDamage evt)
        {
            if (!checkPetOrMaster(evt.Target))
            {
                return;
            }
            if (!this.TriggerOnStatDamageOrEnergyDrain)
            {
                return;
            }

            if (reduce_below0 && !evt.Target.Descriptor.State.MarkedForDeath)
            {
                return;
            }
            this.RunAction(on_self ? evt.Target : evt.Initiator);
        }
Esempio n. 3
0
        private void triggerEffect()
        {
            int bonus = this.ContextValue.Calculate(this.Context);

            if (Stat != StatType.Unknown)
            {
                ModifiableValue    stat = this.Owner.Stats.GetStat(this.Stat);
                RuleDealStatDamage rule = new RuleDealStatDamage(this.Owner.Unit, this.Owner.Unit, this.Stat, DiceFormula.Zero, bonus);
                rule.Reason = (RuleReason)this.Fact;
                this.Context.TriggerRule <RuleDealStatDamage>(rule);
            }
            else
            {
                var hp_damage = new DamageBundle(new BaseDamage[1]
                {
                    (BaseDamage) new DirectDamage(new DiceFormula(0, DiceType.Zero), bonus)
                }
                                                 );
                RuleDealDamage rule = new RuleDealDamage(this.Owner.Unit, this.Owner.Unit, hp_damage);
                rule.Reason = (RuleReason)this.Fact;
                this.Context.TriggerRule <RuleDealDamage>(rule);
            }
        }
 public void OnEventAboutToTrigger(RuleDealStatDamage evt)
 {
 }
Esempio n. 5
0
 public void OnEventDidTrigger(RuleDealStatDamage evt)
 {
 }
 public void OnEventAboutToTrigger(RuleDealStatDamage evt)
 {
     evt.Immune = true;
 }