void ReduceBuffsDuration(FightActor actor, short duration) { foreach (var buff in actor.GetBuffs().Where(buff => buff.Dispellable == FightDispellableEnum.DISPELLABLE).Where(buff => buff.Duration > 0 && buff.Delay == 0).ToArray()) { buff.Duration -= duration; if (buff.Duration <= 0) { actor.RemoveBuff(buff); } } actor.TriggerBuffs(actor, BuffTriggerType.OnDispelled); ContextHandler.SendGameActionFightModifyEffectsDurationMessage(Fight.Clients, Effect.Id, Caster, actor, (short)-duration); }