public override void InitAbility(Ability Ab) { this.Ab = Ab; this.DamagesHandler = new DealDamagesHandler(); if (Ab.Info.Info.GroupMates) { this.HealHandler = new SimpleHealGroupHandler(); } else { this.HealHandler = new SimpleHealHandler(); } HealHandler.InitAbility(Ab); DamagesHandler.InitAbility(Ab); DamagesHandler.OnCastEvents += OnDealDamageTarget; }
public Ability(AbilityInterface Interface, Ability Parent, Ability_Stats Info, Unit Caster, bool IsBuff, string OverrideHandler = "") { this.Parent = Parent; this.Info = Info; this.Caster = Caster; this.Interface = Interface; if (OverrideHandler == "") { this.Handler = AbilityMgr.GetAbilityHandler(Info.Entry, Info.Info.HandlerName); } else { this.Handler = AbilityMgr.GetAbilityHandler(0, OverrideHandler); } this.IsBuff = IsBuff; if (Handler != null) { Handler.InitAbility(this); } }