Revamp boss logic

This commit is contained in:
2025-03-18 00:12:36 -07:00
parent f50eaa1847
commit 13e2ef90c8
84 changed files with 2547 additions and 3655 deletions

View File

@@ -31,8 +31,12 @@ public partial class ThrownItem : RigidBody3D
private void ThrownItem_BodyEntered(Node body)
{
if (body is IEnemy enemy)
{
CalculateEffect(enemy);
QueueFree();
QueueFree();
}
else if (ItemThatIsThrown is ThrowableItem)
QueueFree();
}
public void Throw(EffectService effectService)
@@ -85,7 +89,7 @@ public partial class ThrownItem : RigidBody3D
switch (throwableItem.ThrowableItemTag)
{
case ThrowableItemTag.LowerTargetTo1HP:
enemy.TakeDamage(enemy.CurrentHP - 1, ignoreDefense: true, ignoreElementalResistance: true);
enemy.TakeDamage(enemy.CurrentHP.Value - 1, ignoreDefense: true, ignoreElementalResistance: true);
break;
case ThrowableItemTag.TeleportToRandomLocation:
_effectService.TeleportToRandomRoom(enemy);
@@ -99,6 +103,6 @@ public partial class ThrownItem : RigidBody3D
}
}
else
enemy.TakeDamage(((InventoryItem)ItemThatIsThrown).ThrowDamage);
enemy.TakeDamage(ItemThatIsThrown.ThrowDamage);
}
}