diff --git a/Assets/Audio/SFX/HammerHit.wav b/Assets/Audio/SFX/HammerHit.wav new file mode 100644 index 0000000..1c72a59 Binary files /dev/null and b/Assets/Audio/SFX/HammerHit.wav differ diff --git a/Assets/Audio/SFX/HammerHit.wav.import b/Assets/Audio/SFX/HammerHit.wav.import new file mode 100644 index 0000000..f423e5e --- /dev/null +++ b/Assets/Audio/SFX/HammerHit.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dmgokar32otvr" +path="res://.godot/imported/HammerHit.wav-e7d35f1a3d3022177d665d6f2eb69a9d.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/HammerHit.wav" +dest_files=["res://.godot/imported/HammerHit.wav-e7d35f1a3d3022177d665d6f2eb69a9d.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Audio/SFX/HammerPoint.wav b/Assets/Audio/SFX/HammerPoint.wav new file mode 100644 index 0000000..d07236e Binary files /dev/null and b/Assets/Audio/SFX/HammerPoint.wav differ diff --git a/Assets/Audio/SFX/HammerPoint.wav.import b/Assets/Audio/SFX/HammerPoint.wav.import new file mode 100644 index 0000000..7e904cb --- /dev/null +++ b/Assets/Audio/SFX/HammerPoint.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://clpebkune16oc" +path="res://.godot/imported/HammerPoint.wav-d08385bab6f27e27d308496f733770b5.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/HammerPoint.wav" +dest_files=["res://.godot/imported/HammerPoint.wav-d08385bab6f27e27d308496f733770b5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Scenes/Prefabs/Entities/Enemies/Barrel.tscn b/Scenes/Prefabs/Entities/Enemies/Barrel.tscn index 072e060..b9cb49a 100644 --- a/Scenes/Prefabs/Entities/Enemies/Barrel.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Barrel.tscn @@ -113,8 +113,10 @@ metadata/_custom_type_script = "uid://cmg61722ktg2m" script = ExtResource("12_d7wml") hitbox = NodePath("../Hitbox") -[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="destroy" unbinds=1] +[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"] diff --git a/Scenes/Prefabs/Entities/Enemies/Blooper.tscn b/Scenes/Prefabs/Entities/Enemies/Blooper.tscn index 68c77ce..20bccef 100644 --- a/Scenes/Prefabs/Entities/Enemies/Blooper.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Blooper.tscn @@ -103,6 +103,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/BobOmb.tscn b/Scenes/Prefabs/Entities/Enemies/BobOmb.tscn index 4f039cd..ee82adf 100644 --- a/Scenes/Prefabs/Entities/Enemies/BobOmb.tscn +++ b/Scenes/Prefabs/Entities/Enemies/BobOmb.tscn @@ -191,6 +191,8 @@ metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Bowser.tscn b/Scenes/Prefabs/Entities/Enemies/Bowser.tscn index 3629a4d..3b5e128 100644 --- a/Scenes/Prefabs/Entities/Enemies/Bowser.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Bowser.tscn @@ -403,8 +403,8 @@ hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] -[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]] [connection signal="killed" from="." to="." method="show_smoke" unbinds=1] +[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]] [connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"] [connection signal="timeout" from="JumpTimer" to="." method="jump"] [connection signal="timeout" from="HammerTime" to="." method="throw_hammers"] @@ -414,6 +414,7 @@ metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]] [connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="fireball_hit" unbinds=1] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/BulletBill.tscn b/Scenes/Prefabs/Entities/Enemies/BulletBill.tscn index a50c900..47cb75d 100644 --- a/Scenes/Prefabs/Entities/Enemies/BulletBill.tscn +++ b/Scenes/Prefabs/Entities/Enemies/BulletBill.tscn @@ -80,12 +80,14 @@ script = ExtResource("11_myh77") [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="on_screen_entered"] [connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="OffScreenDespawner" method="on_screen_exited"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"] -[connection signal="level_start" from="LevelEditorToggleDetection" to="." method="on_screen_entered"] [connection signal="level_start" from="LevelEditorToggleDetection" to="." method="_ready"] +[connection signal="level_start" from="LevelEditorToggleDetection" to="." method="on_screen_entered"] [connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"] [connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] diff --git a/Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn b/Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn index 702e211..aa2934b 100644 --- a/Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn +++ b/Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn @@ -164,12 +164,14 @@ movement_node = NodePath("../BasicEnemyMovement") metadata/_custom_type_script = "uid://d4a7yp6e55u8t" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"] -[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced" unbinds=1] +[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"] [connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"] [connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"] diff --git a/Scenes/Prefabs/Entities/Enemies/DryBones.tscn b/Scenes/Prefabs/Entities/Enemies/DryBones.tscn index c1d7a0e..c2fc63a 100644 --- a/Scenes/Prefabs/Entities/Enemies/DryBones.tscn +++ b/Scenes/Prefabs/Entities/Enemies/DryBones.tscn @@ -205,6 +205,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="." method="summon_particle" unbinds=1] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/FighterFly.tscn b/Scenes/Prefabs/Entities/Enemies/FighterFly.tscn index 59d7d01..32d417c 100644 --- a/Scenes/Prefabs/Entities/Enemies/FighterFly.tscn +++ b/Scenes/Prefabs/Entities/Enemies/FighterFly.tscn @@ -191,6 +191,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Goomba.tscn b/Scenes/Prefabs/Entities/Enemies/Goomba.tscn index 81361aa..562044d 100644 --- a/Scenes/Prefabs/Entities/Enemies/Goomba.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Goomba.tscn @@ -164,6 +164,8 @@ metadata/_custom_type_script = "uid://maqpreddu5kg" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="LevelPersistance" method="set_as_active" unbinds=1] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn b/Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn index 2e74ac4..9f524f4 100644 --- a/Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn +++ b/Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn @@ -200,6 +200,7 @@ hitbox = NodePath("../Sprite/Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"] diff --git a/Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn b/Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn index 30b9373..33b64df 100644 --- a/Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn +++ b/Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn @@ -184,6 +184,8 @@ metadata/_custom_type_script = "uid://maqpreddu5kg" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="LevelPersistance" method="set_as_active" unbinds=1] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] @@ -191,8 +193,8 @@ metadata/_custom_type_script = "uid://maqpreddu5kg" [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="LevelPersistance" method="set_as_active" unbinds=1] [connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"] [connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] -[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced" unbinds=1] +[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"] [connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"] [connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"] diff --git a/Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn b/Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn index e4abe95..e73f9a9 100644 --- a/Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn +++ b/Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn @@ -17,3 +17,5 @@ points = PackedVector2Array(0, 0, -96, 0) width = 1.0 texture = ExtResource("3_kfyly") texture_mode = 1 + +[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced" unbinds=1] diff --git a/Scenes/Prefabs/Entities/Enemies/HammerBro.tscn b/Scenes/Prefabs/Entities/Enemies/HammerBro.tscn index 4cec9fd..ca7d979 100644 --- a/Scenes/Prefabs/Entities/Enemies/HammerBro.tscn +++ b/Scenes/Prefabs/Entities/Enemies/HammerBro.tscn @@ -313,6 +313,8 @@ metadata/_custom_type_script = "uid://d4a7yp6e55u8t" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="timeout" from="JumpTimer" to="." method="jump" binds= [false]] [connection signal="timeout" from="HammerTimer" to="." method="do_hammer_throw"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Lakitu.tscn b/Scenes/Prefabs/Entities/Enemies/Lakitu.tscn index af5e10b..683daab 100644 --- a/Scenes/Prefabs/Entities/Enemies/Lakitu.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Lakitu.tscn @@ -181,6 +181,8 @@ metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="." method="summon_cloud_particle" unbinds=1] [connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="on_screen_entered"] [connection signal="timeout" from="ThrowTimer" to="." method="on_timeout"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" flags=3 binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn b/Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn index 8910460..be9d9f1 100644 --- a/Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn +++ b/Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn @@ -105,6 +105,7 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"] diff --git a/Scenes/Prefabs/Entities/Enemies/MontyMole.tscn b/Scenes/Prefabs/Entities/Enemies/MontyMole.tscn index c9945bd..ef415f1 100644 --- a/Scenes/Prefabs/Entities/Enemies/MontyMole.tscn +++ b/Scenes/Prefabs/Entities/Enemies/MontyMole.tscn @@ -184,6 +184,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn b/Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn index e143770..57d0643 100644 --- a/Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn +++ b/Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn @@ -309,6 +309,8 @@ process_mode = 3 script = SubResource("GDScript_ofvpu") [connection signal="timeout" from="Timer" to="." method="on_timeout"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Podoboo.tscn b/Scenes/Prefabs/Entities/Enemies/Podoboo.tscn index 2f63d7f..99f3448 100644 --- a/Scenes/Prefabs/Entities/Enemies/Podoboo.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Podoboo.tscn @@ -81,6 +81,7 @@ metadata/_custom_type_script = "uid://5octqlf4ohel" [connection signal="killed" from="." to="GibSpawner" method="summon_gib" binds= [0, true]] [connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [500]] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer" unbinds=1] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die" unbinds=1] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Pokey.tscn b/Scenes/Prefabs/Entities/Enemies/Pokey.tscn index 64bb8f6..919cc69 100644 --- a/Scenes/Prefabs/Entities/Enemies/Pokey.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Pokey.tscn @@ -377,6 +377,7 @@ script = SubResource("GDScript_30hxr") [connection signal="killed" from="." to="." method="summon_part_gibs" unbinds=1] [connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn b/Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn index 704898f..76f21be 100644 --- a/Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn +++ b/Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn @@ -399,12 +399,13 @@ metadata/_custom_type_script = "uid://cmg61722ktg2m" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="player_stomped_on" from="Sprite/StompHitbox/EnemyPlayerDetection" to="." method="on_player_stomped_on"] +[connection signal="hammer_player_hit" from="Sprite/EntityHitbox/EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="Sprite/EntityHitbox/EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="Sprite/EntityHitbox/EnemyPlayerDetection" to="." method="damage_player"] [connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite/Wrench" method="hide"] -[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_flip_v" binds= [true]] [connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="play" binds= ["Dead"]] [connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_offset" binds= [Vector2(0, -8)]] +[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_flip_v" binds= [true]] [connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"] [connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"] diff --git a/Scenes/Prefabs/Entities/Enemies/SideStepper.tscn b/Scenes/Prefabs/Entities/Enemies/SideStepper.tscn index 632eb89..5bb054c 100644 --- a/Scenes/Prefabs/Entities/Enemies/SideStepper.tscn +++ b/Scenes/Prefabs/Entities/Enemies/SideStepper.tscn @@ -146,6 +146,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Sigebou.tscn b/Scenes/Prefabs/Entities/Enemies/Sigebou.tscn index 95b42a7..4e93388 100644 --- a/Scenes/Prefabs/Entities/Enemies/Sigebou.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Sigebou.tscn @@ -144,6 +144,8 @@ json_file_path = "res://Assets/Sprites/Enemies/Sigebou.json" metadata/_custom_type_script = "uid://cqif1li7otvpl" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Spike.tscn b/Scenes/Prefabs/Entities/Enemies/Spike.tscn index d755de6..db1c8a7 100644 --- a/Scenes/Prefabs/Entities/Enemies/Spike.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Spike.tscn @@ -297,6 +297,8 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Spiny.tscn b/Scenes/Prefabs/Entities/Enemies/Spiny.tscn index fbed52e..624a120 100644 --- a/Scenes/Prefabs/Entities/Enemies/Spiny.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Spiny.tscn @@ -160,6 +160,8 @@ script = ExtResource("14_878x2") metadata/_custom_type_script = "uid://33no4mylhh1r" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Enemies/Thwomp.tscn b/Scenes/Prefabs/Entities/Enemies/Thwomp.tscn index dd16470..e57821f 100644 --- a/Scenes/Prefabs/Entities/Enemies/Thwomp.tscn +++ b/Scenes/Prefabs/Entities/Enemies/Thwomp.tscn @@ -144,6 +144,7 @@ script = ExtResource("11_jkv5r") metadata/_custom_type_script = "uid://5octqlf4ohel" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] diff --git a/Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn b/Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn index 28bb970..e2fae1c 100644 --- a/Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn +++ b/Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn @@ -253,6 +253,7 @@ hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="kick"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="kick"] diff --git a/Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn b/Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn index 5a4697e..4b39e9a 100644 --- a/Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn +++ b/Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn @@ -95,6 +95,7 @@ position = Vector2(0, -8) [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="on_player_hit"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="on_player_stomped_on"] diff --git a/Scenes/Prefabs/Entities/Objects/CannonBall.tscn b/Scenes/Prefabs/Entities/Objects/CannonBall.tscn index 3f89ceb..b650a5b 100644 --- a/Scenes/Prefabs/Entities/Objects/CannonBall.tscn +++ b/Scenes/Prefabs/Entities/Objects/CannonBall.tscn @@ -52,6 +52,7 @@ metadata/_custom_type_script = "uid://c3gg32ivrlq8n" script = ExtResource("5_il73j") metadata/_custom_type_script = "uid://5octqlf4ohel" +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"] diff --git a/Scenes/Prefabs/Entities/Objects/Firebar.tscn b/Scenes/Prefabs/Entities/Objects/Firebar.tscn index 2365309..de8bc8b 100644 --- a/Scenes/Prefabs/Entities/Objects/Firebar.tscn +++ b/Scenes/Prefabs/Entities/Objects/Firebar.tscn @@ -32,7 +32,7 @@ func _physics_process(delta: float) -> void: $RotationJoint.global_rotation_degrees = snapped(bar_rotation, 11.25) func on_area_entered(area: Area2D) -> void: - if area.owner is Player: + if area.owner is Player and area.name != \"HammerHitbox\": area.owner.damage() " diff --git a/Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn b/Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn index c5e24e5..28a01c0 100644 --- a/Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn +++ b/Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn @@ -168,6 +168,8 @@ rect = Rect2(-128, -128, 256, 256) [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] +[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="on_player_hit"] diff --git a/Scenes/Prefabs/Entities/Player.tscn b/Scenes/Prefabs/Entities/Player.tscn index 682cb96..cbe7f7a 100644 --- a/Scenes/Prefabs/Entities/Player.tscn +++ b/Scenes/Prefabs/Entities/Player.tscn @@ -540,9 +540,11 @@ resource_json = ExtResource("7_2mfvl") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="HammerHitbox" type="Area2D" parent="SpriteScaleJoint/Sprite"] +unique_name_in_owner = true visible = false position = Vector2(16, 16) -monitorable = false +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/HammerHitbox"] position = Vector2(-3.49691e-07, -8) @@ -1138,7 +1140,6 @@ anim_speed_max = 1.0 [connection signal="frame_changed" from="SpriteScaleJoint/Sprite" to="SpriteScaleJoint/Sprite" method="on_frame_changed"] [connection signal="sprite_frames_changed" from="SpriteScaleJoint/Sprite" to="SpriteScaleJoint/Sprite" method="on_frame_changed"] -[connection signal="area_entered" from="SpriteScaleJoint/Sprite/HammerHitbox" to="." method="on_hammer_area_entered"] [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"] [connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"] [connection signal="body_entered" from="LavaPoisonDetect" to="." method="die" unbinds=1] diff --git a/Scripts/Classes/Components/EnemyPlayerDetection.gd b/Scripts/Classes/Components/EnemyPlayerDetection.gd index 884bfe8..db0bf94 100644 --- a/Scripts/Classes/Components/EnemyPlayerDetection.gd +++ b/Scripts/Classes/Components/EnemyPlayerDetection.gd @@ -8,18 +8,26 @@ extends Node signal player_hit(player: Player) signal player_stomped_on(player: Player) signal invincible_player_hit(player: Player) +signal hammer_player_hit(player: Player) func _ready() -> void: hitbox.area_entered.connect(area_entered) func area_entered(area: Area2D) -> void: if area.owner is Player: - player_entered(area.owner) + if area.name == "HammerHitbox": + hammer_entered(area.owner) + else: + player_entered(area.owner) func player_entered(player: Player) -> void: - if player.is_invincible or player.has_hammer: + if player.is_invincible: invincible_player_hit.emit(player) elif (player.velocity.y >= 15 or (player.global_position.y + height < owner.global_position.y)) and player.in_water == false: player_stomped_on.emit(player) else: player_hit.emit(player) + +func hammer_entered(player: Player) -> void: + if player.has_hammer: + hammer_player_hit.emit(player) diff --git a/Scripts/Classes/Entities/Enemies/Barrel.gd b/Scripts/Classes/Entities/Enemies/Barrel.gd index d63ee81..bbdae71 100644 --- a/Scripts/Classes/Entities/Enemies/Barrel.gd +++ b/Scripts/Classes/Entities/Enemies/Barrel.gd @@ -14,6 +14,10 @@ func die() -> void: func die_from_object(_node: Node2D) -> void: destroy() + +func die_from_hammer(_node: Node2D) -> void: + AudioManager.play_sfx("hammer_hit", global_position) + destroy() func summon_particle() -> void: var node = BARREL_DESTRUCTION_PARTICLE.instantiate() diff --git a/Scripts/Classes/Entities/Enemies/Boo.gd b/Scripts/Classes/Entities/Enemies/Boo.gd index cd3b9ed..826ddec 100644 --- a/Scripts/Classes/Entities/Enemies/Boo.gd +++ b/Scripts/Classes/Entities/Enemies/Boo.gd @@ -33,7 +33,7 @@ func handle_movement(delta: float) -> void: func on_area_entered(area: Area2D) -> void: if area.owner is Player: - if area.owner.is_invincible: + if area.owner.is_invincible or area.name == "HammerHitbox": die() else: area.owner.damage() diff --git a/Scripts/Classes/Entities/Enemies/BooBuddies.gd b/Scripts/Classes/Entities/Enemies/BooBuddies.gd index eae0764..277da2d 100644 --- a/Scripts/Classes/Entities/Enemies/BooBuddies.gd +++ b/Scripts/Classes/Entities/Enemies/BooBuddies.gd @@ -11,7 +11,7 @@ func _physics_process(delta: float) -> void: i.get_node("Sprite").scale.x = sign(get_tree().get_first_node_in_group("Players").global_position.x + 1 - i.global_position.x) func on_area_entered(area: Area2D) -> void: - if area.owner is Player: + if area.owner is Player and area.name != "HammerHitbox": area.owner.damage() func flag_die() -> void: diff --git a/Scripts/Classes/Entities/Enemies/BowserFlame.gd b/Scripts/Classes/Entities/Enemies/BowserFlame.gd index 664c210..e1c2a28 100644 --- a/Scripts/Classes/Entities/Enemies/BowserFlame.gd +++ b/Scripts/Classes/Entities/Enemies/BowserFlame.gd @@ -22,7 +22,7 @@ func flag_die() -> void: queue_free() func on_area_entered(area: Area2D) -> void: - if area.owner is Player: + if area.owner is Player and area.name != "HammerHitbox": area.owner.damage() func play_sfx() -> void: diff --git a/Scripts/Classes/Entities/Enemies/Podoboo.gd b/Scripts/Classes/Entities/Enemies/Podoboo.gd index 2e60ead..7d45988 100644 --- a/Scripts/Classes/Entities/Enemies/Podoboo.gd +++ b/Scripts/Classes/Entities/Enemies/Podoboo.gd @@ -53,3 +53,8 @@ func flag_die() -> void: func die() -> void: killed.emit() queue_free() + +func die_from_hammer() -> void: + AudioManager.play_sfx("hammer_hit", global_position) + killed.emit() + queue_free() diff --git a/Scripts/Classes/Entities/Enemy.gd b/Scripts/Classes/Entities/Enemy.gd index 699ed12..f8260df 100644 --- a/Scripts/Classes/Entities/Enemy.gd +++ b/Scripts/Classes/Entities/Enemy.gd @@ -37,3 +37,12 @@ func flag_die() -> void: Global.score += 500 if score_note_adder != null: score_note_adder.spawn_note(500) + +func die_from_hammer(obj: Node2D) -> void: + var dir = sign(global_position.x - obj.global_position.x) + if dir == 0: + dir = [-1, 1].pick_random() + DiscoLevel.combo_amount += 1 + AudioManager.play_sfx("hammer_hit", global_position) + killed.emit(dir) + queue_free() diff --git a/Scripts/Classes/Entities/Items/Hammer.gd b/Scripts/Classes/Entities/Items/Hammer.gd index e11dd12..7d26399 100644 --- a/Scripts/Classes/Entities/Items/Hammer.gd +++ b/Scripts/Classes/Entities/Items/Hammer.gd @@ -21,5 +21,5 @@ func flag_die() -> void: queue_free() func on_area_entered(area: Area2D) -> void: - if area.owner is Player: + if area.owner is Player and area.name != "HammerHitbox": area.owner.damage() diff --git a/Scripts/Classes/Entities/Objects/Explosion.gd b/Scripts/Classes/Entities/Objects/Explosion.gd index dad08b7..ef2ec93 100755 --- a/Scripts/Classes/Entities/Objects/Explosion.gd +++ b/Scripts/Classes/Entities/Objects/Explosion.gd @@ -14,5 +14,5 @@ func on_body_entered(body: Node2D) -> void: func on_area_entered(area: Area2D) -> void: - if area.owner is Player: + if area.owner is Player and area.name != "HammerHitbox": area.owner.damage() diff --git a/Scripts/Classes/Entities/Objects/SpikeBall.gd b/Scripts/Classes/Entities/Objects/SpikeBall.gd index b5e87d4..e37a054 100644 --- a/Scripts/Classes/Entities/Objects/SpikeBall.gd +++ b/Scripts/Classes/Entities/Objects/SpikeBall.gd @@ -43,7 +43,7 @@ func on_area_entered(area: Area2D) -> void: if area.owner.has_node("ShellDetection"): area.owner.die_from_object(self) elif area.owner is Player: - if area.owner.is_invincible: + if area.owner.is_invincible or area.name == "HammerHitbox": destroy() else: area.owner.damage() diff --git a/Scripts/Classes/Entities/Player.gd b/Scripts/Classes/Entities/Player.gd index 373b8c3..5ef16ff 100644 --- a/Scripts/Classes/Entities/Player.gd +++ b/Scripts/Classes/Entities/Player.gd @@ -330,6 +330,7 @@ func _process(delta: float) -> void: if is_invincible: DiscoLevel.combo_meter = 100 %Hammer.visible = has_hammer + %HammerHitbox.collision_layer = has_hammer func apply_gravity(delta: float) -> void: if in_water or flight_meter > 0: @@ -893,9 +894,6 @@ func hammer_get() -> void: $HammerTimer.start() AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.HAMMER, 0, false) -func on_hammer_area_entered(area: Area2D) -> void: - pass - func wing_get() -> void: AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.WING, 0, false, false) flight_meter = 10 diff --git a/Scripts/Classes/Singletons/AudioManager.gd b/Scripts/Classes/Singletons/AudioManager.gd index 6832df8..562322a 100644 --- a/Scripts/Classes/Singletons/AudioManager.gd +++ b/Scripts/Classes/Singletons/AudioManager.gd @@ -38,6 +38,7 @@ const DEFAULT_SFX_LIBRARY := { "firework": "res://Assets/Audio/SFX/Firework.wav", "timer_beep": "res://Assets/Audio/SFX/TimerBeep.wav", "hachisuke": "res://Assets/Audio/SFX/Hachisuke.wav", + "hammer_hit": "res://Assets/Audio/SFX/HammerHit.wav", "burner": "res://Assets/Audio/SFX/Burner.wav", "rank_up_1": "res://Assets/Audio/SFX/RankUpCBA.wav", "rank_up_2": "res://Assets/Audio/SFX/RankUpSP.wav", diff --git a/Scripts/Parts/DeathPit.gd b/Scripts/Parts/DeathPit.gd index 99705e8..262116f 100755 --- a/Scripts/Parts/DeathPit.gd +++ b/Scripts/Parts/DeathPit.gd @@ -1,5 +1,5 @@ extends Area2D func area_entered(area: Area2D) -> void: - if area.owner is Player and area.owner.state_machine.state.name != "Dead": + if area.owner is Player and area.name != "HammerHitbox" and area.owner.state_machine.state.name != "Dead": area.owner.die(true)