From 328abd6b54fa4196b3294c3123a66fee071cc260 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Tue, 1 Aug 2023 21:13:34 +0200 Subject: [PATCH] fix: angle enemy bounce --- src/Actors/Enemies/Beings/Enemy.gd | 36 +++++++++++++++--------------- src/Levels/2 Tutorial Level.tscn | 5 +---- src/Levels/3 Tutorial Level.tscn | 4 ++-- src/Levels/4 Tutorial Level.tscn | 10 ++++++--- src/Levels/5 Tutorial Level.tscn | 5 +---- src/Levels/6 Tutorial Level.tscn | 4 ++-- 6 files changed, 31 insertions(+), 33 deletions(-) diff --git a/src/Actors/Enemies/Beings/Enemy.gd b/src/Actors/Enemies/Beings/Enemy.gd index 1f5e3a3..91d6b74 100644 --- a/src/Actors/Enemies/Beings/Enemy.gd +++ b/src/Actors/Enemies/Beings/Enemy.gd @@ -2,25 +2,25 @@ extends Actor class_name Enemy func _on_StompDetector_body_entered(body: Node) -> void: - if !body.is_in_group("player"): - return - var incoming_vel_vector: Vector2 = body.velocity.normalized() - print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))))) - if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(40): - print("too shallow entry") - return - signalManager.emit_signal("got_stomped") - remove_from_group("harmful") - $StompDetector.remove_from_group("weakpoint") - get_node("EnemyBody").disabled = true - die() + if !body.is_in_group("player"): + return + var incoming_vel_vector: Vector2 = body.velocity.normalized() + print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))))) + if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(90): + print("too shallow entry") + return + signalManager.emit_signal("got_stomped") + remove_from_group("harmful") + $StompDetector.remove_from_group("weakpoint") + get_node("EnemyBody").disabled = true + die() func die() -> void: - queue_free() - # TODO make batterr - levelState.kills += 1 + queue_free() + # TODO make batterr + levelState.kills += 1 func _on_EnemySkin_area_entered(area:Area2D) -> void: - if area.is_in_group("harmful"): - get_node("EnemyBody").disabled = true - die() + if area.is_in_group("harmful"): + get_node("EnemyBody").disabled = true + die() diff --git a/src/Levels/2 Tutorial Level.tscn b/src/Levels/2 Tutorial Level.tscn index f121226..ddbd769 100644 --- a/src/Levels/2 Tutorial Level.tscn +++ b/src/Levels/2 Tutorial Level.tscn @@ -63,10 +63,7 @@ drag_margin_top = 0.1 drag_margin_bottom = 0.1 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 9 - -[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 8 +frame = 5 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true diff --git a/src/Levels/3 Tutorial Level.tscn b/src/Levels/3 Tutorial Level.tscn index 02d659f..9ed97d8 100644 --- a/src/Levels/3 Tutorial Level.tscn +++ b/src/Levels/3 Tutorial Level.tscn @@ -80,10 +80,10 @@ wait_time = 20.0 unique_name_in_owner = true [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 9 +frame = 2 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 8 +frame = 1 [node name="Blobby" parent="." instance=ExtResource( 10 )] unique_name_in_owner = true diff --git a/src/Levels/4 Tutorial Level.tscn b/src/Levels/4 Tutorial Level.tscn index 3911f49..7732d4b 100644 --- a/src/Levels/4 Tutorial Level.tscn +++ b/src/Levels/4 Tutorial Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=2] +[gd_scene load_steps=29 format=2] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2] @@ -19,6 +19,7 @@ [ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=17] [ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=18] [ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=19] +[ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.tscn" type="PackedScene" id=20] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -164,10 +165,10 @@ unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 2 +frame = 1 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 1 +frame = 0 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true @@ -208,6 +209,9 @@ position = Vector2( 0, 24 ) scale = Vector2( 0.5, 0.5 ) next_scene = "res://src/Levels/5 Tutorial Level.tscn" +[node name="DartingEnemy" parent="ElevatorButton/Portal" instance=ExtResource( 20 )] +position = Vector2( -192, -301 ) + [node name="Obstacles" type="Node2D" parent="."] position = Vector2( -412, -173 ) diff --git a/src/Levels/5 Tutorial Level.tscn b/src/Levels/5 Tutorial Level.tscn index b472cbc..5d79692 100644 --- a/src/Levels/5 Tutorial Level.tscn +++ b/src/Levels/5 Tutorial Level.tscn @@ -285,11 +285,8 @@ wait_time = 20.0 unique_name_in_owner = true drag_margin_bottom = 0.3 -[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 10 - [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 9 +frame = 12 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true diff --git a/src/Levels/6 Tutorial Level.tscn b/src/Levels/6 Tutorial Level.tscn index 0ed04e7..3756956 100644 --- a/src/Levels/6 Tutorial Level.tscn +++ b/src/Levels/6 Tutorial Level.tscn @@ -259,10 +259,10 @@ visible = false drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 7 +frame = 8 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 6 +frame = 7 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true