Change item effect service to only affect regular enemy types for strong item effects

This commit is contained in:
2026-01-13 21:38:12 -08:00
parent 1e97eb9ede
commit c5cb586e4b

View File

@@ -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<Enemy>();
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<Enemy>().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<Enemy>().ToList();
foreach (var enemy in currentEnemies)
{
enemy.OnMorph();
DropHealingItem(enemy.GlobalPosition);
}
if (!currentEnemies.IsEmpty)
if (currentEnemies.Any())
SfxDatabase.Instance.Play(SoundEffect.TurnAllEnemiesIntoHealingItems);
}