void AddPassives() { for (int i = 0; i < Abilities.Length; i++) { Buff passive = Abilities[i].Passive; if (passive != null) { Abilities[i].PassiveInstance = BuffInstance.ApplyBuff(null, passive, this, _eventHandler, null); } } }
public void Apply(AbilityEffect origin, AbilityCaster caster, EventHandler target, AbilityData data) { if (!_doesStack) { BuffInstance existingBuff = target.Buffs.FirstOrDefault( (buffInst) => buffInst.Caster == caster && buffInst.Buff == this); if (existingBuff != null) { existingBuff.Remove(); } } BuffInstance.ApplyBuff(origin, this, caster, target, data); }