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); }
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) { }
public void OnEventDidTrigger(RuleDealStatDamage evt) { }
public void OnEventAboutToTrigger(RuleDealStatDamage evt) { evt.Immune = true; }