Work SFX work

Fix up Eden Pillar behavior
This commit is contained in:
2025-11-26 02:12:24 -08:00
parent db7a1df1f7
commit ed9e611fd9
86 changed files with 2822 additions and 2603 deletions

View File

@@ -48,6 +48,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
[Node] private AudioStreamPlayer3D _absorbSFX { get; set; } = default!;
[Node] private AudioStreamPlayer3D _hitSFX { get; set; } = default!;
[Node] private AudioStreamPlayer3D _morphSFX { get; set; } = default!;
[Node] private AudioStreamPlayer3D _dieSFX { get; set; } = default!;
[Node] private AudioStreamPlayer3D _aggroSFX { get; set; } = default!;
protected bool _activated = false;
private Vector3 _previousPosition = Vector3.Zero;
@@ -80,6 +82,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
Activate();
_activated = true;
_aggroSFX.Play();
if (this is IHaveFollowBehavior)
_enemyLogic.Input(new EnemyLogic.Input.Follow());
if (this is IHaveFleeBehavior)
@@ -142,6 +146,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
_enemyLogic.Input(new EnemyLogic.Input.Defeated());
_player.ExperiencePointsComponent.Gain(ExpGiven);
EnemyModelView.PlayDeathAnimation();
_hitSFX.Play();
_dieSFX.Play();
var tweener = CreateTween();
tweener.TweenInterval(1.0f);
tweener.TweenCallback(Callable.From(QueueFree));