public override void Dispel(Unit caster, BaseUnit owner, Effect effect) { foreach (var template in Bonuses) { owner.RemoveBonus(effect.Index, template.Attribute); } owner.BroadcastPacket(new SCBuffRemovedPacket(owner.ObjId, effect.Index), true); }
public override void Start(Unit caster, BaseUnit owner, Effect effect) { foreach (var template in Bonuses) { var bonus = new Bonus(); bonus.Template = template; bonus.Value = template.Value; // TODO using LinearLevelBonus owner.AddBonus(effect.Index, bonus); } owner.BroadcastPacket(new SCBuffCreatedPacket(effect), true); }