diff --git a/Assets/Sounds/footstep-tile.wav b/Assets/Sounds/footstep-tile.wav index 6d554be..d0bf22d 100644 Binary files a/Assets/Sounds/footstep-tile.wav and b/Assets/Sounds/footstep-tile.wav differ diff --git a/Characters/Character.cs b/Characters/Character.cs index a3c9a45..bf9305d 100644 --- a/Characters/Character.cs +++ b/Characters/Character.cs @@ -292,4 +292,9 @@ public partial class Character : CharacterBody2D, IFaction .EmitOneShot(); } } + + public virtual void Footstep() + { + throw new System.NotImplementedException(); + } } diff --git a/Characters/Player.cs b/Characters/Player.cs index de26980..ab4cfdc 100644 --- a/Characters/Player.cs +++ b/Characters/Player.cs @@ -2,6 +2,7 @@ using Godot; using GodotUtilities; using SupaLidlGame.Utils; using SupaLidlGame.BoundingBoxes; +using SupaLidlGame.Extensions; namespace SupaLidlGame.Characters; @@ -102,4 +103,12 @@ public sealed partial class Player : Character .DirectionTo(GetGlobalMousePosition()) .Angle(); } + + public override void Footstep() + { + GetNode("Effects/Footstep") + .OnWorld() + .WithPitchDeviation(0.125f) + .Play(); + } } diff --git a/Characters/Player.tscn b/Characters/Player.tscn index 18f7943..cc9b366 100644 --- a/Characters/Player.tscn +++ b/Characters/Player.tscn @@ -90,6 +90,23 @@ tracks/0/keys = { "update": 1, "values": [2, 3, 4, 5, 6, 7] } +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("..") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.2, 0.5), +"transitions": PackedFloat32Array(1, 1), +"values": [{ +"args": [], +"method": &"Footstep" +}, { +"args": [], +"method": &"Footstep" +}] +} [sub_resource type="Animation" id="Animation_vobpw"] resource_name = "roll" diff --git a/State/NPC/Doc/DocShungiteDartState.cs b/State/NPC/Doc/DocShungiteDartState.cs index 18ae6af..6b12977 100644 --- a/State/NPC/Doc/DocShungiteDartState.cs +++ b/State/NPC/Doc/DocShungiteDartState.cs @@ -23,8 +23,6 @@ public partial class DocShungiteDartState : DocAttackState public override NPCState Enter(IState nextState) { - Doc.CanAttack = true; - Doc.ShouldMove = true; return base.Enter(nextState); }