Rework enemy behavior (still in progress but shouldn't crash)

This commit is contained in:
2025-10-20 19:24:50 -07:00
parent 20b659681a
commit 44fd8c82b0
135 changed files with 2165 additions and 2415 deletions

View File

@@ -2,6 +2,7 @@ using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using Zennysoft.Ma.Adapter;
using Zennysoft.Ma.Adapter.Entity;
namespace Zennysoft.Game.Ma;
@@ -107,21 +108,22 @@ public partial class ThrownItem : RigidBody3D
{
switch (throwableItem.ThrowableItemTag)
{
case ThrowableItemTag.LowerTargetTo1HP:
enemy.TakeDamage(enemy.CurrentHP.Value - 1, ignoreDefense: true, ignoreElementalResistance: true);
break;
//case ThrowableItemTag.LowerTargetTo1HP:
// enemy.TakeDamage(enemy.CurrentHP.Value - 1, ignoreDefense: true, ignoreElementalResistance: true);
// break;
case ThrowableItemTag.TeleportToRandomLocation:
_effectService.TeleportToRandomRoom(enemy);
break;
case ThrowableItemTag.WarpToExitIfFound:
_effectService.WarpToExit(enemy);
break;
default:
enemy.TakeDamage(throwableItem.ThrowDamage, throwableItem.ElementType);
var damageDealt = DamageCalculator.CalculateDamage(new Damage(throwableItem.ThrowDamage, throwableItem.ElementType, false, false, false), 10, new ElementalResistanceSet(0, 0, 0, 0, 0));
enemy.TakeDamage(damageDealt);
break;
}
}
else
enemy.TakeDamage(ItemThatIsThrown.ThrowDamage);
{
var damageDealt = DamageCalculator.CalculateDamage(new Damage(ItemThatIsThrown.ThrowDamage, ElementType.None, false, false, false), 10, new ElementalResistanceSet(0, 0, 0, 0, 0));
enemy.TakeDamage(damageDealt);
}
}
}