private void ApplyBonus(ItemEffectHandler.HandlerOperation operation) { foreach (var handler in Effects.Select(effect => EffectManager.Instance.GetItemEffectHandler(effect, Owner, this))) { handler.Operation = operation; handler.Apply(); } }
private void ApplyEffects(BasePlayerItem item, ItemEffectHandler.HandlerOperation operation) { foreach (var handler in item.Effects.Select(effect => EffectManager.Instance.GetItemEffectHandler(effect, Owner, this))) { handler.Operation = operation; if (Owner.Inventory.GetEquipedItems().Any(x => x != item && x.GetExoEffects().ToList().Exists(y => item.GetExoEffects().Any(z => z == y))) && item.GetExoEffects().Any(x => x == handler.Effect)) { handler.Operation = ItemEffectHandler.HandlerOperation.NONAPPLY; } handler.Apply(); } }