Teleport enemy to random room item

This commit is contained in:
2025-03-02 11:55:19 -08:00
parent 2439791d05
commit 05295f535a
20 changed files with 166 additions and 59 deletions

View File

@@ -1,6 +1,7 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using System.Linq;
namespace GameJamDungeon;
@@ -39,8 +40,20 @@ public partial class ThrownItem : RigidBody3D
{
if (ItemThatIsThrown is ThrowableItem throwableItem)
{
switch (throwableItem.ThrowableItemTags.Single())
{
case ThrowableItemTag.LowerTargetTo1HP:
enemy.TakeDamage(enemy.CurrentHP - 1, ignoreDefense: true, ignoreElementalResistance: true);
break;
case ThrowableItemTag.TeleportToRandomLocation:
throwableItem.TeleportToRandomRoom(enemy);
break;
}
if (throwableItem.ThrowableItemTags.Contains(ThrowableItemTag.LowerTargetTo1HP))
enemy.TakeDamage(enemy.CurrentHP - 1, ignoreDefense: true, ignoreElementalResistance: true);
else if (throwableItem.ThrowableItemTags.Contains(ThrowableItemTag.TeleportToRandomLocation))
//enemy teleport
return;
else
enemy.TakeDamage(throwableItem.ThrowDamage, throwableItem.ElementType);
}