From c5cb586e4b1084da804ac4c34f693b5ea21e42c0 Mon Sep 17 00:00:00 2001 From: Zenny Date: Tue, 13 Jan 2026 21:38:12 -0800 Subject: [PATCH] Change item effect service to only affect regular enemy types for strong item effects --- Zennysoft.Game.Ma/src/items/EffectService.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Zennysoft.Game.Ma/src/items/EffectService.cs b/Zennysoft.Game.Ma/src/items/EffectService.cs index 037fcbfb..8143b3f9 100644 --- a/Zennysoft.Game.Ma/src/items/EffectService.cs +++ b/Zennysoft.Game.Ma/src/items/EffectService.cs @@ -3,7 +3,6 @@ using System.Linq; using System; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; -using Zennysoft.Game.Implementation; namespace Zennysoft.Game.Ma; @@ -35,7 +34,7 @@ public class EffectService var currentMonsterRoom = (MonsterRoom)currentRoom; - var enemyList = validRooms.SelectMany(x => x.GetEnemiesInCurrentRoom()); + var enemyList = validRooms.SelectMany(x => x.GetEnemiesInCurrentRoom()).OfType(); foreach (var enemy in enemyList) enemy.MoveEnemyToNewRoom(currentMonsterRoom); @@ -48,7 +47,7 @@ public class EffectService return; var currentMonsterRoom = (MonsterRoom)currentRoom; - var enemyList = currentMonsterRoom.GetEnemiesInCurrentRoom().ToList(); + var enemyList = currentMonsterRoom.GetEnemiesInCurrentRoom().OfType().ToList(); var enemiesToKill = enemyList.Count / 2; for (var i = 0; i < enemiesToKill; i++) enemyList[i].Die(); @@ -61,13 +60,13 @@ public class EffectService if (currentRoom is not MonsterRoom) return; - var currentEnemies = currentRoom.EnemiesInRoom; + var currentEnemies = currentRoom.EnemiesInRoom.OfType().ToList(); foreach (var enemy in currentEnemies) { enemy.OnMorph(); DropHealingItem(enemy.GlobalPosition); } - if (!currentEnemies.IsEmpty) + if (currentEnemies.Any()) SfxDatabase.Instance.Play(SoundEffect.TurnAllEnemiesIntoHealingItems); }