diff --git a/Scenes/Enemies/slime_enemy.gd b/Scenes/Enemies/slime_enemy.gd index 2537ebd..ee03b8c 100644 --- a/Scenes/Enemies/slime_enemy.gd +++ b/Scenes/Enemies/slime_enemy.gd @@ -29,7 +29,10 @@ func animate_slime(): $AnimatedSprite2D.play("move_down") elif normal_velocity.y < -0.707: $AnimatedSprite2D.play("move_up") - + +func take_damage(): + pass + func _on_player_detect_area_body_entered(body): if body is Player: target = body diff --git a/Scenes/GameScene/game_scene.tscn b/Scenes/GameScene/game_scene.tscn index 30e420e..20c23aa 100644 --- a/Scenes/GameScene/game_scene.tscn +++ b/Scenes/GameScene/game_scene.tscn @@ -803,16 +803,6 @@ tile_set = SubResource("TileSet_bqpwv") tile_map_data = PackedByteArray("AAD/////AAAMAAgAAAD//wAAAAAMAAgAAAD//wEAAAAMAAgAAAD//wIAAAAMAAgAAAD//wMAAAAMAAgAAAAAAP//AAAMAAgAAAAAAAAAAAAMAAgAAAAAAAEAAAAMAAgAAAAAAAIAAAAMAAgAAAAAAAMAAAAQAAgAAAD+/wQAAAARAAkAAAD+/wUAAAAMAAgAAAD//wQAAAAMAAgAAAD//wUAAAAMAAgAAAAAAAQAAAANAAgAAAD+/wYAAAAMAAgAAAD+/wcAAAAMAAgAAAD+/wgAAAAMAAgAAAD+/wkAAAAMAAgAAAD//wYAAAAMAAgAAAD//wcAAAAMAAgAAAD//wgAAAAMAAgAAAD//wkAAAAMAAgAAAAAAP3/AAAMAAgAAAAAAP7/AAAMAAgAAAABAP3/AAAMAAgAAAABAP7/AAAMAAgAAAACAP3/AAAMAAgAAAACAP7/AAAMAAgAAAADAP3/AAAMAAgAAAADAP7/AAAMAAgAAAAEAP3/AAAMAAgAAAAEAP7/AAAMAAgAAAAFAP3/AAAMAAgAAAAFAP7/AAAMAAgAAAAFAPv/AAALAAgAAAAFAPz/AAARAAkAAAAGAPv/AAAMAAgAAAAGAPz/AAAMAAgAAAAGAP3/AAAQAAgAAAAGAPr/AAAMAAgAAAAHAPr/AAAMAAgAAAAHAPv/AAAMAAgAAAAIAPr/AAAMAAgAAAAIAPv/AAAMAAgAAAAJAPr/AAAMAAgAAAAJAPv/AAAMAAgAAAAKAPr/AAAMAAgAAAAKAPv/AAAMAAgAAAALAPr/AAAQAAsAAAALAPv/AAANAAgAAAD9//3/AAAMAAgAAAD9//7/AAARAAgAAAD+//3/AAAMAAgAAAD+//7/AAAMAAgAAAD///3/AAAMAAgAAAD///7/AAAMAAgAAAD7//v/AAAMAAgAAAD7//z/AAARAAgAAAD7//3/AAALAAgAAAD8//v/AAAMAAgAAAD8//z/AAAMAAgAAAD8//3/AAAMAAgAAAD0//r/AAALAAgAAAD0//v/AAALAAgAAAD1//r/AAAMAAgAAAD1//v/AAAMAAgAAAD2//r/AAAMAAgAAAD2//v/AAAMAAgAAAD3//r/AAAMAAgAAAD3//v/AAAMAAgAAAD4//r/AAAMAAgAAAD4//v/AAAMAAgAAAD5//r/AAAMAAgAAAD5//v/AAAMAAgAAAD6//r/AAAMAAgAAAD6//v/AAAMAAgAAAD7//r/AAAMAAgAAAD8//r/AAAMAAgAAAAGAAMAAAANAAkAAAAGAAIAAAANAAgAAAAGAAEAAAANAAgAAAAGAAAAAAANAAgAAAAGAP//AAANAAgAAAAGAP7/AAANAAgAAAAFAAMAAAAMAAkAAAAFAAIAAAAMAAgAAAAFAAEAAAAMAAgAAAAFAAAAAAAMAAgAAAAFAP//AAAMAAgAAAAEAAMAAAAMAAkAAAAEAAIAAAAMAAgAAAAEAAEAAAAMAAgAAAAEAAAAAAAMAAgAAAAEAP//AAAMAAgAAAADAAMAAAAMAAkAAAADAAIAAAAMAAgAAAADAAEAAAAMAAgAAAADAAAAAAAMAAgAAAADAP//AAAMAAgAAAACAAMAAAAMAAkAAAACAAIAAAAMAAgAAAACAAEAAAAMAAgAAAACAAAAAAAMAAgAAAACAP//AAAMAAgAAAABAAMAAAAMAAkAAAABAAIAAAAMAAgAAAABAAEAAAAMAAgAAAABAAAAAAAMAAgAAAABAP//AAAMAAgAAAALAP3/AAANAAkAAAALAPz/AAANAAgAAAAKAP3/AAAMAAkAAAAKAPz/AAAMAAgAAAAJAP3/AAAMAAkAAAAJAPz/AAAMAAgAAAAIAP3/AAAMAAkAAAAIAPz/AAAMAAgAAAAHAP3/AAAMAAkAAAAHAPz/AAAMAAgAAAALAPn/AAANAAgAAAALAPj/AAANAAgAAAALAPf/AAANAAcAAAAKAPn/AAAMAAgAAAAKAPj/AAAMAAgAAAAKAPf/AAAMAAcAAAAJAPn/AAAMAAgAAAAJAPj/AAAMAAgAAAAJAPf/AAAMAAcAAAAIAPn/AAAMAAgAAAAIAPj/AAAMAAgAAAAIAPf/AAAMAAcAAAAHAPn/AAAMAAgAAAAHAPj/AAAMAAgAAAAHAPf/AAAMAAcAAAAGAPn/AAAMAAgAAAAGAPj/AAAMAAgAAAAGAPf/AAAMAAcAAAAFAPr/AAARAAgAAAAFAPn/AAAMAAgAAAAFAPj/AAAMAAgAAAAFAPf/AAAMAAcAAAAEAPr/AAALAAkAAAAEAPn/AAALAAgAAAAEAPj/AAALAAgAAAAEAPf/AAALAAcAAAAEAPz/AAAMAAcAAAADAPz/AAAMAAcAAAACAPz/AAAMAAcAAAABAPz/AAAMAAcAAAAAAPz/AAAMAAcAAAD///z/AAAMAAcAAAD+//z/AAAMAAcAAAD9//z/AAAQAAkAAAD9//v/AAANAAgAAAD9//r/AAANAAgAAAD9//n/AAANAAcAAAD8//n/AAAMAAcAAAD7//n/AAAMAAcAAAD6//n/AAAMAAcAAAD5//n/AAAMAAcAAAD4//n/AAAMAAcAAAD3//n/AAAMAAcAAAD2//n/AAAMAAcAAAD6//z/AAAMAAkAAAD5//z/AAAMAAkAAAD4//z/AAAMAAkAAAD3//z/AAAMAAkAAAD2//z/AAAMAAkAAAD8//7/AAAMAAkAAAD7//7/AAALAAkAAAD+////AAARAAgAAAD9////AAALAAkAAAD+/wMAAAALAAgAAAD+/wIAAAALAAgAAAD+/wEAAAALAAgAAAD+/wAAAAALAAgAAAD9/wkAAAALAAkAAAD9/wgAAAALAAgAAAD9/wcAAAALAAgAAAD9/wYAAAALAAgAAAD9/wUAAAALAAgAAAD9/wQAAAALAAcAAAAAAAkAAAANAAkAAAAAAAgAAAANAAgAAAAAAAcAAAAQAAgAAAAAAAYAAAAQAAkAAAAAAAUAAAANAAgAAAD1//n/AAAMAAcAAAD0//n/AAALAAcAAAD0//z/AAAPAAgAAAD0//3/AAAOAAkAAAD1//z/AAAMAAkAAAAHAAcAAAANAAoAAAAGAAcAAAAMAAoAAAAFAAcAAAAMAAoAAAAEAAcAAAAMAAoAAAADAAcAAAAMAAoAAAACAAcAAAAMAAoAAAABAAcAAAAQAAoAAAABAAYAAAANAAcAAAA=") tile_set = SubResource("TileSet_bqpwv") -[node name="Player" parent="." unique_id=1991398375 instance=ExtResource("1_2p8i2")] -push_strength = 100 - -[node name="Camera2D" type="Camera2D" parent="Player" unique_id=1335060572] -zoom = Vector2(5, 5) -limit_left = -192 -limit_top = -144 -limit_right = 192 -limit_bottom = 160 - [node name="PuzzleButton" parent="." unique_id=125477561 instance=ExtResource("7_ohrk8")] position = Vector2(183, -86) @@ -860,6 +850,16 @@ position = Vector2(-77, 11) position = Vector2(137, -107) collision_mask = 1 +[node name="Player" parent="." unique_id=1991398375 instance=ExtResource("1_2p8i2")] +push_strength = 100 + +[node name="Camera2D" type="Camera2D" parent="Player" unique_id=1335060572] +zoom = Vector2(5, 5) +limit_left = -192 +limit_top = -144 +limit_right = 192 +limit_bottom = 160 + [node name="LockedDoor" parent="." unique_id=964088255 instance=ExtResource("6_elpgg")] position = Vector2(137, -107) script = ExtResource("7_nr542") diff --git a/Scenes/Player/player.gd b/Scenes/Player/player.gd index a4141a0..1ba9b88 100644 --- a/Scenes/Player/player.gd +++ b/Scenes/Player/player.gd @@ -6,6 +6,7 @@ class_name Player @export var push_strength: int = 50 @export var move_acceleration: float = 50 var is_attacking: bool = false +var can_interact: bool = false # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -26,7 +27,7 @@ func _physics_process(delta: float) -> void: push_blocks() update_scrolls() move_and_slide() - if Input.is_action_just_pressed("Interact"): + if Input.is_action_just_pressed("Interact") and not can_interact: attack() func move_player(): @@ -62,11 +63,13 @@ func update_scrolls(): func _on_area_2d_body_entered(body: Node2D) -> void: if body.is_in_group("interactable"): + can_interact = true body.can_interact = true func _on_area_2d_body_exited(body: Node2D) -> void: if body.is_in_group("interactable"): + can_interact = false body.can_interact = false @@ -105,6 +108,7 @@ func _on_sword_area_2d_body_entered(body: Node2D) -> void: body.queue_free() func attack(): + $Sword/SwordSFX.play() if not $Sword/SwordTimer.is_stopped(): return var player_animation: String = $AnimatedSprite2D.animation diff --git a/Scenes/Player/player.tscn b/Scenes/Player/player.tscn index d8072a8..2fc26a5 100644 --- a/Scenes/Player/player.tscn +++ b/Scenes/Player/player.tscn @@ -7,6 +7,7 @@ [ext_resource type="Texture2D" uid="uid://6dmy1j0t5mqy" path="res://Ninja Adventure - Asset Pack/Items/Scroll/ScrollEmpty.png" id="3_xpcdj"] [ext_resource type="Texture2D" uid="uid://ff3wjwfsais6" path="res://Ninja Adventure - Asset Pack/Ui/LifeReceptacle/heart_2.png" id="4_mtuoh"] [ext_resource type="Texture2D" uid="uid://38ldil8moinv" path="res://Ninja Adventure - Asset Pack/Items/Weapons/Sword2/SpriteInHand.png" id="5_htcer"] +[ext_resource type="AudioStream" uid="uid://bso7qwqwgjpme" path="res://Ninja Adventure - Asset Pack/Sounds/Game/Sword2.wav" id="8_jlvik"] [sub_resource type="AtlasTexture" id="AtlasTexture_eksi1"] atlas = ExtResource("2_dd0ac") @@ -500,6 +501,10 @@ debug_color = Color(0.6497558, 0.52038795, 0, 0.41960785) wait_time = 0.3 one_shot = true +[node name="SwordSFX" type="AudioStreamPlayer" parent="Sword" unique_id=913634626] +stream = ExtResource("8_jlvik") +volume_db = -5.0 + [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1687360666] libraries/ = SubResource("AnimationLibrary_jlvik")