From 6a5bd5f830165dfbc524ed5945215bbdbba9dadd Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Mon, 24 Apr 2023 00:06:59 +0200 Subject: [PATCH] balance, fix: more in jump accel, froggy behavior fixes --- .../blobby-effects-spritesheet.aseprite | Bin 2536 -> 2582 bytes .../blobby-effects-spritesheet.png | Bin .../blobby-effects-spritesheet.png.import | 35 ++ assets/effects/run-dusting1.png | Bin 0 -> 206 bytes .../run-dusting1.png.import} | 6 +- assets/effects/run-dusting2.png | Bin 0 -> 182 bytes assets/effects/run-dusting2.png.import | 35 ++ assets/effects/run-dusting3.png | Bin 0 -> 199 bytes assets/effects/run-dusting3.png.import | 35 ++ assets/effects/run-dusting4.png | Bin 0 -> 213 bytes assets/effects/run-dusting4.png.import | 35 ++ assets/effects/running smoke.tres | 18 + src/Actors/Actor.gd | 6 +- src/Actors/Blobby/Blobby.gd | 12 +- src/Actors/Blobby/Blobby.tscn | 464 ++---------------- src/Actors/Blobby/BlobbyStateMachine.gd | 8 + src/Actors/BlobbyCam.gd | 24 +- src/Actors/Enemies/Beings/BoundFrog.gd | 1 + src/Actors/Enemies/Beings/DartingEnemy.tscn | 5 +- src/Actors/Enemies/Beings/Flyer.tscn | 8 +- src/Actors/Enemies/Beings/WhatAreFrog.gd | 21 +- src/Actors/Enemies/Beings/WhatAreFrog.tscn | 7 +- src/Levels/Level 1.tscn | 4 +- src/Levels/Level 2.tscn | 4 +- src/Levels/Level 3.tscn | 5 +- src/Levels/Level 5.tscn | 88 ++++ 26 files changed, 343 insertions(+), 478 deletions(-) rename assets/{blobby => effects}/blobby-effects-spritesheet.png (100%) create mode 100644 assets/effects/blobby-effects-spritesheet.png.import create mode 100644 assets/effects/run-dusting1.png rename assets/{blobby/blobby-effects-spritesheet.png.import => effects/run-dusting1.png.import} (66%) create mode 100644 assets/effects/run-dusting2.png create mode 100644 assets/effects/run-dusting2.png.import create mode 100644 assets/effects/run-dusting3.png create mode 100644 assets/effects/run-dusting3.png.import create mode 100644 assets/effects/run-dusting4.png create mode 100644 assets/effects/run-dusting4.png.import create mode 100644 assets/effects/running smoke.tres create mode 100644 src/Levels/Level 5.tscn diff --git a/assets/blobby/blobby-effects-spritesheet.aseprite b/assets/blobby/blobby-effects-spritesheet.aseprite index 8fd7df119c160e6371e0b0599a0a223b91edeac9..c142edd7716c4aa47625113efc936d3f12ca6e08 100644 GIT binary patch delta 216 zcmaDMJWYg2jB6uP4ToSj0|UdakBkf{K$;PV-6!{Rh%>THUe2Mw*Y3+RJ8ni@iZw$- zxxV*g8BU4GPdNk_IVOMOP?X;YRB-PG`hMJO?@hm&#J({AkARK@Sh3D0Rt`up2>4LP1V)IWH){j hdd(knh&9%B-vg?ZHWRvMZZ2WfZYyK4*-eyItTy& delta 182 zcmbOx@FVdQ&MBb@0C#&rkpKVy literal 0 HcmV?d00001 diff --git a/assets/blobby/blobby-effects-spritesheet.png.import b/assets/effects/run-dusting1.png.import similarity index 66% rename from assets/blobby/blobby-effects-spritesheet.png.import rename to assets/effects/run-dusting1.png.import index 974025b..79157c9 100644 --- a/assets/blobby/blobby-effects-spritesheet.png.import +++ b/assets/effects/run-dusting1.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/blobby-effects-spritesheet.png-96fbd93f447d801bf91090bfbf2e0c14.stex" +path="res://.import/run-dusting1.png-01275136d032d124ce874b8793ba4a98.stex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/blobby/blobby-effects-spritesheet.png" -dest_files=[ "res://.import/blobby-effects-spritesheet.png-96fbd93f447d801bf91090bfbf2e0c14.stex" ] +source_file="res://assets/effects/run-dusting1.png" +dest_files=[ "res://.import/run-dusting1.png-01275136d032d124ce874b8793ba4a98.stex" ] [params] diff --git a/assets/effects/run-dusting2.png b/assets/effects/run-dusting2.png new file mode 100644 index 0000000000000000000000000000000000000000..e736372d1e879768fcadf65e6a34421a838ad895 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|3OrpLLn`LH zy{gOCV8Fw6q4oEChQ=py#>Unmh7v+1*)OVBee$lqbPcE!3wU7W-hWl{lvTg&y(~L3 zcmC-c99(Rq;tK_CzhY1cDEu7!p+$JZPlU!lM_F5{b$$NrkdOiidb;|#taD0e0suOw BGtmG5 literal 0 HcmV?d00001 diff --git a/assets/effects/run-dusting2.png.import b/assets/effects/run-dusting2.png.import new file mode 100644 index 0000000..1cf6d06 --- /dev/null +++ b/assets/effects/run-dusting2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/run-dusting2.png-5d3138e9a1cad23467a8410ccc9759f5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/effects/run-dusting2.png" +dest_files=[ "res://.import/run-dusting2.png-5d3138e9a1cad23467a8410ccc9759f5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/effects/run-dusting3.png b/assets/effects/run-dusting3.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ea9b0cac66d59cd9b895594299ff8e27aac401 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|8a-VcLn`LH zy>7_Ypuoc#@c6I)g9k5cBO<-S}fq1z}}~&a*=bBEiXp9 z<^P`2$o0)t#u*2?=GwFN7YN?J;2CiQVUS%Z^Br?9 T+rE8@r$B<9u6{1-oD!M<<)J@K literal 0 HcmV?d00001 diff --git a/assets/effects/run-dusting3.png.import b/assets/effects/run-dusting3.png.import new file mode 100644 index 0000000..86f4dc6 --- /dev/null +++ b/assets/effects/run-dusting3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/run-dusting3.png-7bf0422976389cd92d1a9830a793b0ce.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/effects/run-dusting3.png" +dest_files=[ "res://.import/run-dusting3.png-7bf0422976389cd92d1a9830a793b0ce.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/effects/run-dusting4.png b/assets/effects/run-dusting4.png new file mode 100644 index 0000000000000000000000000000000000000000..7b813bbcb2959fe72d9b0db378164385460cf4ba GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|`aNA7Ln`LH zy}p~b#es+Qz}2tujEsu46D9;)QFbVg;$m2QdnT98?R@*Sj6l^G;J}A(xxS^m&fb%* zopaRroFd`>Qu@DdqlwL${EGd5Ck3qVXEFEsWc~SjuJ0u8$L=ymmhWPSOE_{?|FMwX l6Ukpfc1cHbY~iN|B0;I<@4%+uA+Wt~$(697kPM9=^L literal 0 HcmV?d00001 diff --git a/assets/effects/run-dusting4.png.import b/assets/effects/run-dusting4.png.import new file mode 100644 index 0000000..18b60e1 --- /dev/null +++ b/assets/effects/run-dusting4.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/run-dusting4.png-7a5287681d52628233a05d53c88a89b8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/effects/run-dusting4.png" +dest_files=[ "res://.import/run-dusting4.png-7a5287681d52628233a05d53c88a89b8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/effects/running smoke.tres b/assets/effects/running smoke.tres new file mode 100644 index 0000000..8b73b48 --- /dev/null +++ b/assets/effects/running smoke.tres @@ -0,0 +1,18 @@ +[gd_resource type="AnimatedTexture" load_steps=5 format=2] + +[ext_resource path="res://assets/effects/run-dusting2.png" type="Texture" id=1] +[ext_resource path="res://assets/effects/run-dusting3.png" type="Texture" id=2] +[ext_resource path="res://assets/effects/run-dusting1.png" type="Texture" id=3] +[ext_resource path="res://assets/effects/run-dusting4.png" type="Texture" id=4] + +[resource] +frames = 4 +fps = 3.0 +frame_0/texture = ExtResource( 3 ) +frame_0/delay_sec = 0.1 +frame_1/texture = ExtResource( 1 ) +frame_1/delay_sec = 0.1 +frame_2/texture = ExtResource( 2 ) +frame_2/delay_sec = 0.1 +frame_3/texture = ExtResource( 4 ) +frame_3/delay_sec = 0.1 diff --git a/src/Actors/Actor.gd b/src/Actors/Actor.gd index 44b95e6..9a78f5b 100644 --- a/src/Actors/Actor.gd +++ b/src/Actors/Actor.gd @@ -16,7 +16,7 @@ var wallslide_threshold := 1000 var base_floor_friction := 0.5 var floor_friction := base_floor_friction var max_velocity := { - "walk": 120, "run": 160, "fall": 420, "walljump": 200, "idle": 12000, "duck": 160 + "walk": 120, "run": 160, "jump": Vector2(120, 420), "fall": Vector2(120, 420), "walljump": 200, "idle": 12000, "duck": 160 } var velocity_jump_boost_ratio := 10 # This is added to the acceleration force initially @@ -27,8 +27,8 @@ var init_acceleration_force := { # newtonmeters is the unit var acceleration_force := { "walk": Vector2(1800, 1300), - "fall": Vector2(2000, 0), - "jump": Vector2(2000, 0), + "fall": Vector2(1800, 0), + "jump": Vector2(1800, 0), "idle": Vector2(1800, 1233), "duck": Vector2(500, 1300), "run": Vector2(2500, 1400), diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index 7b99b6d..73dc8c1 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -287,8 +287,8 @@ func calculate_jump_velocity( linear_velocity.y += _gravity * delta # TODO This is poop too - if -45 < velocity.x and direction.x < 0 || \ - 45 > velocity.x and direction.x > 0: + if -max_velocity["jump"].x < velocity.x and direction.x < 0 || \ + max_velocity["jump"].x > velocity.x and direction.x > 0: linear_velocity.x = PhysicsFunc.two_step_euler( linear_velocity.x, acceleration_force[state].x * direction.x, mass, @@ -306,14 +306,14 @@ func calculate_fall_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: var state = player_state_machine.state - if velocity.y < max_velocity["fall"]: + if velocity.y < max_velocity["fall"].y: linear_velocity.y = PhysicsFunc.two_step_euler( linear_velocity.y, _gravity * mass, mass, delta ) else: - linear_velocity.y = max_velocity["fall"] - if -45 < velocity.x and direction.x < 0 || \ - 45 > velocity.x and direction.x > 0: + linear_velocity.y = max_velocity["fall"].y + if -max_velocity["fall"].x < velocity.x and direction.x < 0 || \ + max_velocity["fall"].x > velocity.x and direction.x > 0: # TODO This is poop linear_velocity.x = PhysicsFunc.two_step_euler( linear_velocity.x, acceleration_force[state].x * direction.x, diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index df02e98..e59006a 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -1,11 +1,12 @@ -[gd_scene load_steps=122 format=2] +[gd_scene load_steps=124 format=2] -[ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1] +[ext_resource path="res://assets/effects/blobby-effects-spritesheet.png" type="Texture" id=1] [ext_resource path="res://src/Actors/Blobby/DeathShader.tres" type="Material" id=2] [ext_resource path="res://src/Actors/Blobby/BlobbyStateMachine.gd" type="Script" id=3] [ext_resource path="res://src/Actors/Blobby/Blobby.gd" type="Script" id=4] [ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=5] [ext_resource path="res://src/ThirdParty/Demo/IridescenceBall.tscn" type="PackedScene" id=6] +[ext_resource path="res://assets/effects/running smoke.tres" type="Texture" id=7] [sub_resource type="RectangleShape2D" id=2] extents = Vector2( 14.9127, 5.98593 ) @@ -303,7 +304,7 @@ states/wallsliding/node = SubResource( 96 ) states/wallsliding/position = Vector2( 1795.54, 493.009 ) transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ) ] start_node = "idling" -graph_offset = Vector2( 1027.54, -183.431 ) +graph_offset = Vector2( 1082.54, -290.431 ) [sub_resource type="AnimationNodeStateMachinePlayback" id=48] @@ -481,7 +482,7 @@ tracks/13/keys = { "values": [ Vector2( -1, 1 ) ] } tracks/14/type = "value" -tracks/14/path = NodePath("../BlobbyStateEffects:frame") +tracks/14/path = NodePath(".:material:shader_param/sensitivity") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/imported = false @@ -490,10 +491,10 @@ tracks/14/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, -"values": [ 8 ] +"values": [ 0.0 ] } tracks/15/type = "value" -tracks/15/path = NodePath("../BlobbyStateEffects:position") +tracks/15/path = NodePath(".:material:shader_param/scale") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/imported = false @@ -502,66 +503,6 @@ tracks/15/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, -"values": [ Vector2( 3.07106, -16.064 ) ] -} -tracks/16/type = "value" -tracks/16/path = NodePath("../BlobbyStateEffects:visible") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ true ] -} -tracks/17/type = "value" -tracks/17/path = NodePath("../BlobbyStateEffects:scale") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( -1, 1 ) ] -} -tracks/18/type = "value" -tracks/18/path = NodePath("../BlobbyStateEffects:offset") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 4, 0 ) ] -} -tracks/19/type = "value" -tracks/19/path = NodePath(".:material:shader_param/sensitivity") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ 0.0 ] -} -tracks/20/type = "value" -tracks/20/path = NodePath(".:material:shader_param/scale") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, "values": [ 1.0 ] } @@ -811,18 +752,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=69] length = 0.1 @@ -959,18 +888,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=107] resource_name = "duckingLeft" @@ -1108,18 +1025,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=184] resource_name = "dying" @@ -1377,18 +1282,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=106] resource_name = "fallingLeft" @@ -1526,18 +1419,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=70] length = 0.133 @@ -1674,18 +1555,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=7] length = 7.6 @@ -1822,18 +1691,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=103] resource_name = "idlingLeft" @@ -1971,18 +1828,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=71] length = 0.13 @@ -2119,18 +1964,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=105] resource_name = "jumpToFallLeft" @@ -2268,18 +2101,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=8] length = 0.1 @@ -2416,18 +2237,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=104] resource_name = "jumpingLeft" @@ -2565,18 +2374,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=72] length = 0.23 @@ -2713,18 +2510,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=143] resource_name = "runToJumpLeft" @@ -2862,18 +2647,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=49] resource_name = "running" @@ -3012,54 +2785,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:frame") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), -"update": 1, -"values": [ 6, 9, 9, 9, 5, 6, 7 ] -} -tracks/12/type = "value" -tracks/12/path = NodePath("../BlobbyStateEffects:visible") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ true ] -} -tracks/13/type = "value" -tracks/13/path = NodePath("../BlobbyStateEffects:scale") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 1, 1 ) ] -} -tracks/14/type = "value" -tracks/14/path = NodePath("../BlobbyStateEffects:offset") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( -1, -1 ) ] -} [sub_resource type="Animation" id=102] resource_name = "runningLeft" @@ -3198,54 +2923,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:frame") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), -"update": 1, -"values": [ 6, 9, 9, 9, 5, 6, 7 ] -} -tracks/12/type = "value" -tracks/12/path = NodePath("../BlobbyStateEffects:visible") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ true ] -} -tracks/13/type = "value" -tracks/13/path = NodePath("../BlobbyStateEffects:scale") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( -1, 1 ) ] -} -tracks/14/type = "value" -tracks/14/path = NodePath("../BlobbyStateEffects:offset") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 5, -1 ) ] -} [sub_resource type="Animation" id=58] length = 0.133 @@ -3382,18 +3059,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=100] resource_name = "turnToRunLeft" @@ -3531,18 +3196,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=9] length = 0.5 @@ -3679,18 +3332,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=99] resource_name = "walkingLeft" @@ -3828,18 +3469,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=73] length = 0.15 @@ -3976,18 +3605,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=101] resource_name = "wallslideToJumpRight" @@ -4125,18 +3742,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=74] length = 0.1 @@ -4273,18 +3878,6 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} [sub_resource type="Animation" id=97] resource_name = "wallslidingRight" @@ -4422,18 +4015,16 @@ tracks/10/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } -tracks/11/type = "value" -tracks/11/path = NodePath("../BlobbyStateEffects:visible") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} + +[sub_resource type="ParticlesMaterial" id=197] +flag_disable_z = true +direction = Vector3( -10, -1, 0 ) +spread = 1.0 +initial_velocity = 40.0 +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 +linear_accel = -20.0 +damping = 20.0 [sub_resource type="Animation" id=181] length = 0.001 @@ -4659,7 +4250,20 @@ anims/wallslideToJumpRight = SubResource( 101 ) anims/wallsliding = SubResource( 74 ) anims/wallslidingRight = SubResource( 97 ) +[node name="RunningParticles" type="Particles2D" parent="."] +position = Vector2( 0, -17 ) +z_index = 1 +z_as_relative = false +emitting = false +amount = 1 +lifetime = 0.3 +local_coords = false +draw_order = 1 +process_material = SubResource( 197 ) +texture = ExtResource( 7 ) + [node name="BlobbyActionEffects" type="Sprite" parent="."] +visible = false position = Vector2( 3.07106, -16.064 ) scale = Vector2( -1, 1 ) texture = ExtResource( 1 ) @@ -4672,14 +4276,6 @@ anims/RESET = SubResource( 181 ) anims/airstrafing = SubResource( 182 ) anims/airstrafingLeft = SubResource( 183 ) -[node name="BlobbyStateEffects" type="Sprite" parent="."] -position = Vector2( 3.07106, -16.064 ) -scale = Vector2( -1, 1 ) -texture = ExtResource( 1 ) -offset = Vector2( 4, 0 ) -hframes = 10 -frame = 8 - [node name="Blobby3DEffects" type="Sprite" parent="."] unique_name_in_owner = true position = Vector2( 0, -9 ) diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 08b51ba..8a9d037 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -7,6 +7,7 @@ export var init_boost_type = "" onready var anim_player = parent.get_node("BlobbySprite/BlobbymationPlayer") onready var anim_state_playback = parent.get_node("BlobbySprite/AnimationTree").get("parameters/playback") onready var anim_tree = parent.get_node("BlobbySprite/AnimationTree") +onready var running_particles = parent.get_node("RunningParticles") onready var sprite = parent.get_node("BlobbySprite") onready var slope_raycast = get_node("%SlopeRaycast") @@ -201,6 +202,11 @@ func _enter_state(new_state, old_state): else: init_boost = false init_boost_type = "" + + if(new_state == "run"): + running_particles.emitting = true + running_particles.scale.x = facing + if !["run", "walk", "idle", "duck"].has(old_state) && parent.is_on_floor(): emit_signal("got_grounded") @@ -233,6 +239,8 @@ func _enter_state(new_state, old_state): func _exit_state(_old_state, _new_state): + if(_old_state == "run"): + running_particles.emitting = false pass func _set_blendspaces_direction(value): diff --git a/src/Actors/BlobbyCam.gd b/src/Actors/BlobbyCam.gd index a7953c5..8f3016a 100644 --- a/src/Actors/BlobbyCam.gd +++ b/src/Actors/BlobbyCam.gd @@ -65,7 +65,7 @@ func _process(delta: float) -> void: screen_top = screen_center - Vector2(0, screen_rect.y/2) screen_left = screen_center - Vector2(screen_rect.x/2, 0) screen_right = screen_center + Vector2(screen_rect.x/2, 0) - _adjust_horizontal_offset(delta) + _adjust_offset(delta) if(anim_player.is_playing()): position = blobby.position @@ -108,8 +108,8 @@ func _set_boundaries(): # TODO +2 is fixed for camera issue in adjust horizontal limit_right = rect.end.x * cell_size.x - 8 limit_left = rect.position.x * cell_size.x + 8 - limit_top = rect.position.y * cell_size.y - limit_bottom = rect.end.y * cell_size.y + limit_top = rect.position.y * cell_size.y + 8 + limit_bottom = rect.end.y * cell_size.y - 8 original_limit_left = limit_left original_limit_right = limit_right original_limit_top = limit_top @@ -177,15 +177,23 @@ func _adapt_to_input(velocity: Vector2) -> void: # TODO This is a regulatory problem, it doesn't adapt fast enough # TODO Maybe just make background black and dont bother -func _adjust_horizontal_offset(delta: float) -> void: - if (limit_left - position.x - screen_left.x > 0.001): +func _adjust_offset(delta: float) -> void: + var new_offset = offset + if (limit_left - position.x - screen_left.x > 0.1): if (anim_player.is_playing()): anim_player.stop(false) - offset.x += (limit_left - position.x - screen_left.x)/2 - if (limit_right - position.x - screen_right.x < 0.001): + new_offset.x += (limit_left - position.x - screen_left.x)/2 + if (limit_right - position.x - screen_right.x < 0.1): if (anim_player.is_playing()): anim_player.stop(false) - offset.x += (limit_right - position.x - screen_right.x)/2 + new_offset.x += (limit_right - position.x - screen_right.x)/2 + if (limit_top - position.y - screen_top.y > 0.001): + new_offset.y += (limit_top - position.y - screen_top.y)/2 + if (limit_bottom - position.y - screen_bottom.y < 0.001): + new_offset.y += (limit_bottom - position.y - screen_bottom.y)/2 + if(abs(offset.x) >= abs(new_offset.x) + 1): + offset = new_offset + func reset_limits() -> void: limit_left = original_limit_left diff --git a/src/Actors/Enemies/Beings/BoundFrog.gd b/src/Actors/Enemies/Beings/BoundFrog.gd index 11559e7..ba95885 100644 --- a/src/Actors/Enemies/Beings/BoundFrog.gd +++ b/src/Actors/Enemies/Beings/BoundFrog.gd @@ -56,5 +56,6 @@ func disconnect_rope() -> void: func _on_FrogFreeButton_pushed() -> void: $WhatAreFrog.levelState.frees += 1 $WhatAreFrog.is_bound = false + $WhatAreFrog.remove_from_group("harmful") disconnect_rope() is_first_signal = false diff --git a/src/Actors/Enemies/Beings/DartingEnemy.tscn b/src/Actors/Enemies/Beings/DartingEnemy.tscn index 0c4a157..cea0320 100644 --- a/src/Actors/Enemies/Beings/DartingEnemy.tscn +++ b/src/Actors/Enemies/Beings/DartingEnemy.tscn @@ -7,7 +7,7 @@ extents = Vector2( 2.72463, 1.43961 ) [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 15, 3.0301 ) +extents = Vector2( 15, 4.51505 ) [sub_resource type="RectangleShape2D" id=3] extents = Vector2( 15.534, 10.0962 ) @@ -35,14 +35,13 @@ scale = Vector2( 5.68128, 5.29182 ) shape = SubResource( 1 ) [node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]] -visible = false modulate = Color( 0, 0.0392157, 1, 1 ) position = Vector2( 0, -6.44095 ) collision_layer = 2 input_pickable = false [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -position = Vector2( 0, -2.52895 ) +position = Vector2( 0, -1.044 ) shape = SubResource( 2 ) [node name="LedgeDetectorRays" type="Node2D" parent="."] diff --git a/src/Actors/Enemies/Beings/Flyer.tscn b/src/Actors/Enemies/Beings/Flyer.tscn index cd9e70f..482175c 100644 --- a/src/Actors/Enemies/Beings/Flyer.tscn +++ b/src/Actors/Enemies/Beings/Flyer.tscn @@ -222,7 +222,6 @@ valign = 1 [node name="FlyerSprite" type="Sprite" parent="."] unique_name_in_owner = true -scale = Vector2( -1, 1 ) texture = ExtResource( 4 ) hframes = 2 @@ -236,13 +235,13 @@ anims/searchingLeft = SubResource( 34 ) [node name="AnimationTree" type="AnimationTree" parent="FlyerSprite"] tree_root = SubResource( 50 ) anim_player = NodePath("../AnimationPlayer") -active = true root_motion_track = NodePath(".") parameters/playback = SubResource( 51 ) parameters/hunting/blend_position = -1.04288 parameters/searching/blend_position = 1.2903 [node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."] +visible = false position = Vector2( 954, 0 ) scale = Vector2( 10.84, 0.899 ) rect = Rect2( -89, -10, 2, 20 ) @@ -250,12 +249,14 @@ process_parent = true physics_process_parent = true [node name="FeelerRayCast" type="RayCast2D" parent="."] +visible = false enabled = true cast_to = Vector2( 0, -1 ) collision_mask = 56 collide_with_areas = true [node name="EnemyBody" type="CollisionShape2D" parent="." groups=["harmful"]] +visible = false shape = SubResource( 1 ) [node name="NavigationAgent2D" type="NavigationAgent2D" parent="."] @@ -263,6 +264,7 @@ path_desired_distance = 8.0 target_desired_distance = 8.0 [node name="cshape" type="Node2D" parent="."] +visible = false position = Vector2( 0, -3.8147e-06 ) scale = Vector2( 0.1, 0.1 ) @@ -272,6 +274,7 @@ bias = 0.108 softness = 0.1 [node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]] +visible = false modulate = Color( 0, 0.0392157, 1, 1 ) position = Vector2( 0, -1.90735e-06 ) scale = Vector2( 0.7, 0.7 ) @@ -284,6 +287,7 @@ shape = SubResource( 2 ) [node name="EnemySkin" type="Area2D" parent="."] process_priority = -1 +visible = false scale = Vector2( 0.7, 0.7 ) collision_layer = 2 collision_mask = 126 diff --git a/src/Actors/Enemies/Beings/WhatAreFrog.gd b/src/Actors/Enemies/Beings/WhatAreFrog.gd index 1bb1a1c..7eba8ed 100644 --- a/src/Actors/Enemies/Beings/WhatAreFrog.gd +++ b/src/Actors/Enemies/Beings/WhatAreFrog.gd @@ -49,7 +49,7 @@ var detect_timer := 0.0 var reversing_possible_searching := true -# TODO Make parameters tunable!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111!! + func _ready(): default_jump_distance = default_jump_distance * tilemap.cell_size.x jump_timer = Timer.new() @@ -60,6 +60,7 @@ func _ready(): target_lost_timer.connect("timeout", self, "loose_target") add_child(jump_timer) add_child(target_lost_timer) + if(is_bound): add_to_group("harmful") func bind_to_anchor(anchor_node: Node2D, radius: float ) -> void: @@ -69,20 +70,22 @@ func bind_to_anchor(anchor_node: Node2D, radius: float ) -> void: func _on_StompDetector_body_entered(body: Node) -> void: - if !body.is_in_group("player"): + if !body.is_in_group("player") || is_hurt: return var incoming_vel_vector: Vector2 = body.velocity.normalized() # TODO This is not the right angle somehow - print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))))) - if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(60): - print("too shallow entry") - return +# print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))))) +# if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(60): +# print("too shallow entry") +# return signalManager.emit_signal("got_stomped") remove_from_group("harmful") + # TODO Weakpoint group is not needed per se $StompDetector.remove_from_group("weakpoint") get_node("EnemyBody").disabled = true - die() - + is_hurt = true + $FrogSprite.material = invincible_shader + $HurtTimer.start() func execute_movement(delta: float) -> void: @@ -500,5 +503,5 @@ func get_facing_direction() -> float: func _on_HurtTimer_timeout() -> void: is_hurt = false - add_to_group("harmful") + if(is_bound): add_to_group("harmful") $FrogSprite.material = null diff --git a/src/Actors/Enemies/Beings/WhatAreFrog.tscn b/src/Actors/Enemies/Beings/WhatAreFrog.tscn index b05331b..f9668d6 100644 --- a/src/Actors/Enemies/Beings/WhatAreFrog.tscn +++ b/src/Actors/Enemies/Beings/WhatAreFrog.tscn @@ -426,12 +426,12 @@ graph_offset = Vector2( -340, -193 ) extents = Vector2( 12, 9 ) [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 18.5714, 2.85714 ) +extents = Vector2( 15.7143, 2.14286 ) [sub_resource type="RectangleShape2D" id=3] extents = Vector2( 18.2143, 13.5955 ) -[node name="WhatAreFrog" type="KinematicBody2D" groups=["harmful"]] +[node name="WhatAreFrog" type="KinematicBody2D"] collision_layer = 2 collision_mask = 57 collision/safe_margin = 0.001 @@ -553,7 +553,8 @@ input_pickable = false monitorable = false [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -position = Vector2( 0, -1.42857 ) +position = Vector2( -5.68434e-14, -2.14286 ) +scale = Vector2( 0.999999, 0.999999 ) shape = SubResource( 2 ) [node name="EnemySkin" type="Area2D" parent="."] diff --git a/src/Levels/Level 1.tscn b/src/Levels/Level 1.tscn index 8bc3f8b..593eb11 100644 --- a/src/Levels/Level 1.tscn +++ b/src/Levels/Level 1.tscn @@ -36,10 +36,10 @@ unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 8 +frame = 12 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 8 +frame = 7 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true diff --git a/src/Levels/Level 2.tscn b/src/Levels/Level 2.tscn index 59d037d..93ad752 100644 --- a/src/Levels/Level 2.tscn +++ b/src/Levels/Level 2.tscn @@ -44,10 +44,10 @@ unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 4 +frame = 2 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 4 +frame = 2 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true diff --git a/src/Levels/Level 3.tscn b/src/Levels/Level 3.tscn index b016dd2..40da124 100644 --- a/src/Levels/Level 3.tscn +++ b/src/Levels/Level 3.tscn @@ -86,9 +86,8 @@ tile_data = PoolIntArray( 65535, 1610612751, 0, 0, 1610612746, 0, 1, 1610612746, [node name="Flyer" parent="." instance=ExtResource( 45 )] position = Vector2( 552, 288 ) -blindspot_angle = 20 -acceleration = 90 -max_speed = 120 +acceleration = 80 +max_speed = 100 weight = 0.2 [node name="AnimationTree" parent="Flyer/FlyerSprite" index="1"] diff --git a/src/Levels/Level 5.tscn b/src/Levels/Level 5.tscn new file mode 100644 index 0000000..c9baab9 --- /dev/null +++ b/src/Levels/Level 5.tscn @@ -0,0 +1,88 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] +[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2] +[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=3] +[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/NeutralObjects/Coin.tscn" type="PackedScene" id=7] +[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=8] +[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=9] +[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=11] +[ext_resource path="res://src/Levels/Level 4.gd" type="Script" id=12] + +[sub_resource type="AnimationNodeStateMachinePlayback" id=4] + +[node name="Level 5" type="Node2D"] +script = ExtResource( 12 ) +__meta__ = { +"_edit_horizontal_guides_": [ 464.0 ], +"_edit_vertical_guides_": [ 2880.0 ] +} + +[node name="SignalManager" parent="." instance=ExtResource( 2 )] + +[node name="LevelState" parent="." instance=ExtResource( 3 )] +unique_name_in_owner = true + +[node name="UserInterface" parent="." instance=ExtResource( 9 )] +unique_name_in_owner = true + +[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"] +wait_time = 20.0 + +[node name="PauseScreen" parent="UserInterface" index="1"] +margin_left = 48.0 +margin_top = -31.0 +margin_right = 48.0 +margin_bottom = -31.0 + +[node name="BlobbyCam" parent="." instance=ExtResource( 4 )] +unique_name_in_owner = true +drag_margin_top = 0.13 +drag_margin_bottom = 0.3 + +[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] +frame = 3 + +[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] +frame = 3 + +[node name="Blobby" parent="." instance=ExtResource( 8 )] +unique_name_in_owner = true +position = Vector2( 3, -14 ) + +[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] +parameters/playback = SubResource( 4 ) + +[node name="Coin" parent="." instance=ExtResource( 7 )] +position = Vector2( 216, -216 ) + +[node name="Coin2" parent="." instance=ExtResource( 7 )] +position = Vector2( 695, -48 ) + +[node name="Coin3" parent="." instance=ExtResource( 7 )] +position = Vector2( 1272, -192 ) + +[node name="Portal" parent="." instance=ExtResource( 11 )] +position = Vector2( 1368, -552 ) + +[node name="TileMap" type="TileMap" parent="."] +unique_name_in_owner = true +tile_set = ExtResource( 1 ) +cell_size = Vector2( 24, 24 ) +cell_quadrant_size = 3 +cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) +collision_layer = 8 +collision_mask = 8 +bake_navigation = true +format = 1 +tile_data = PoolIntArray( -1966085, 1610612751, 0, -1966084, 1610612746, 0, -1966083, 1610612746, 0, -1966082, 1610612746, 0, -1966081, 1610612746, 0, -2031616, 1610612746, 0, -2031615, 1610612746, 0, -2031614, 1610612746, 0, -2031613, 1610612746, 0, -2031612, 1610612746, 0, -2031611, 1610612746, 0, -2031610, 1610612746, 0, -2031609, 1610612746, 0, -2031608, 1610612746, 0, -2031607, 1610612746, 0, -2031606, 1610612746, 0, -2031605, 1610612746, 0, -2031604, 1610612746, 0, -2031603, 1610612746, 0, -2031602, 1610612746, 0, -2031601, 1610612746, 0, -2031600, 1610612746, 0, -2031599, 1610612746, 0, -2031598, 1610612746, 0, -2031597, 1610612746, 0, -2031596, 1610612746, 0, -2031595, 1610612746, 0, -2031594, 1610612746, 0, -2031593, 1610612746, 0, -2031592, 1610612746, 0, -2031591, 1610612746, 0, -2031590, 1610612746, 0, -2031589, 1610612746, 0, -2031588, 1610612746, 0, -2031587, 1610612746, 0, -2031586, 1610612746, 0, -2031585, 1610612746, 0, -2031584, 1610612746, 0, -2031583, 1610612746, 0, -2031582, 1610612746, 0, -2031581, 1610612746, 0, -2031580, 1610612746, 0, -2031579, 1610612746, 0, -2031578, 1610612746, 0, -2031577, 1610612746, 0, -2031576, 1610612746, 0, -2031575, 1610612746, 0, -2031574, 1610612746, 0, -2031573, 1610612746, 0, -2031572, 1610612746, 0, -2031571, 1610612746, 0, -2031570, 1610612746, 0, -2031569, 1610612746, 0, -2031568, 1610612746, 0, -2031567, 1610612746, 0, -2031566, 1610612746, 0, -2031565, 1610612746, 0, -2031564, 1610612746, 0, -2031563, 1610612746, 0, -2031562, 1610612746, 0, -2031561, 1610612746, 0, -2031560, 1610612746, 0, -2031559, 1610612746, 0, -2031558, 1610612746, 0, -2031557, -1073741809, 0, -1900549, -1610612726, 0, -1900548, 1610612739, 0, -1900547, 1610612738, 0, -1900546, 1610612738, 0, -1900545, 1610612738, 0, -1966080, 1610612738, 0, -1966079, 1610612738, 0, -1966078, 1610612738, 0, -1966077, 1610612738, 0, -1966076, 1610612738, 0, -1966075, 1610612738, 0, -1966074, 1610612738, 0, -1966073, 1610612738, 0, -1966072, 1610612738, 0, -1966071, 1610612738, 0, -1966070, 1610612738, 0, -1966069, 1610612738, 0, -1966068, 1610612738, 0, -1966067, 1610612738, 0, -1966066, 1610612738, 0, -1966065, 1610612738, 0, -1966064, 1610612738, 0, -1966063, 1610612738, 0, -1966062, 1610612738, 0, -1966061, 1610612738, 0, -1966060, 1610612738, 0, -1966059, 1610612738, 0, -1966058, 1610612738, 0, -1966057, 1610612738, 0, -1966056, 1610612738, 0, -1966055, 1610612738, 0, -1966054, 3, 0, -1966053, 3, 0, -1966052, 1610612738, 0, -1966051, 1610612738, 0, -1966050, 1610612738, 0, -1966049, 1610612738, 0, -1966048, 1610612738, 0, -1966047, 1610612738, 0, -1966046, 1610612738, 0, -1966045, 1610612738, 0, -1966044, 1610612738, 0, -1966043, 1610612738, 0, -1966042, 1610612738, 0, -1966041, 1610612738, 0, -1966040, 1610612738, 0, -1966039, 1610612738, 0, -1966038, 1610612738, 0, -1966037, 1610612738, 0, -1966036, 1610612738, 0, -1966035, 1610612738, 0, -1966034, 1610612738, 0, -1966033, 1610612738, 0, -1966032, 1610612738, 0, -1966031, 1610612738, 0, -1966030, 1610612738, 0, -1966029, 1610612738, 0, -1966028, 1610612738, 0, -1966027, 1610612738, 0, -1966026, 1610612738, 0, -1966025, 1610612738, 0, -1966024, 1610612738, 0, -1966023, 1610612738, 0, -1966022, 1610612739, 0, -1966021, -1073741814, 0, -1835013, -1610612726, 0, -1835012, -1610612734, 0, -1900486, -1073741822, 0, -1900485, -1073741814, 0, -1769477, -1610612726, 0, -1769476, -1610612734, 0, -1834950, -1073741822, 0, -1834949, -1073741814, 0, -1703941, -1610612726, 0, -1703940, -1610612734, 0, -1769445, -1610612734, 0, -1769414, -1073741822, 0, -1769413, -1073741814, 0, -1638405, -1610612726, 0, -1638404, -1610612734, 0, -1703909, -1610612734, 0, -1703905, 2, 0, -1703904, 2, 0, -1703878, -1073741822, 0, -1703877, -1073741814, 0, -1572869, -1610612726, 0, -1572868, -1610612734, 0, -1638373, 1610612739, 0, -1638372, 2, 0, -1638371, 2, 0, -1638370, 2, 0, -1638369, 2, 0, -1638368, 2, 0, -1638367, 2, 0, -1638366, 2, 0, -1638365, -1610612729, 0, -1638342, -1073741822, 0, -1638341, -1073741814, 0, -1507333, -1610612726, 0, -1507332, -1610612734, 0, -1572836, 1610612738, 0, -1572835, 1610612738, 0, -1572834, 1610612738, 0, -1572833, 1610612738, 0, -1572832, 1610612738, 0, -1572831, 1610612738, 0, -1572830, 1610612738, 0, -1572829, 1610612743, 0, -1572806, -1073741822, 0, -1572805, -1073741814, 0, -1441797, -1610612726, 0, -1441796, -1610612734, 0, -1507270, -1073741822, 0, -1507269, -1073741814, 0, -1376261, -1610612726, 0, -1376260, -1610612734, 0, -1441751, 7, 0, -1441750, 2, 0, -1441749, 2, 0, -1441748, 2, 0, -1441747, 2, 0, -1441746, 2, 0, -1441745, 2, 0, -1441744, 2, 0, -1441743, 2, 0, -1441742, 2, 0, -1441741, 2, 0, -1441740, 2, 0, -1441739, 2, 0, -1441738, 2, 0, -1441737, 2, 0, -1441736, 2, 0, -1441735, 2, 0, -1441734, 3, 0, -1441733, -1073741814, 0, -1310725, -1610612726, 0, -1310724, -1610612734, 0, -1376215, -1073741817, 0, -1376214, 1610612738, 0, -1376213, 1610612738, 0, -1376212, 1610612738, 0, -1376211, 1610612738, 0, -1376210, 1610612738, 0, -1376209, 1610612738, 0, -1376208, 1610612738, 0, -1376207, 1610612738, 0, -1376206, 1610612738, 0, -1376205, 1610612738, 0, -1376204, 1610612738, 0, -1376203, 1610612738, 0, -1376202, 1610612738, 0, -1376201, 1610612738, 0, -1376200, 1610612738, 0, -1376199, 1610612738, 0, -1376198, 3, 0, -1376197, -1073741814, 0, -1245189, -1610612726, 0, -1245188, -1610612734, 0, -1310683, 2, 0, -1310682, 2, 0, -1310681, 2, 0, -1310662, -1073741822, 0, -1310661, -1073741814, 0, -1179653, -1610612726, 0, -1179652, -1610612734, 0, -1245126, -1073741822, 0, -1245125, -1073741814, 0, -1114117, -1610612726, 0, -1114116, -1610612734, 0, -1179615, 2, 0, -1179614, 2, 0, -1179613, 2, 0, -1179612, 2, 0, -1179590, -1073741822, 0, -1179589, -1073741814, 0, -1048581, -1610612726, 0, -1048580, -1610612734, 0, -1114054, -1073741822, 0, -1114053, -1073741814, 0, -983045, -1610612726, 0, -983044, -1610612734, 0, -983043, -1610612727, 0, -983042, -1610612727, 0, -983041, -1610612727, 0, -1048576, -1610612727, 0, -1048575, -1610612727, 0, -1048574, -1610612727, 0, -1048573, -1610612727, 0, -1048572, -1610612727, 0, -1048571, -1610612727, 0, -1048570, -1610612727, 0, -1048569, -1610612727, 0, -1048568, -1610612727, 0, -1048567, -1610612727, 0, -1048566, -1610612727, 0, -1048565, -1610612727, 0, -1048564, -1610612727, 0, -1048563, -1610612727, 0, -1048562, -1610612727, 0, -1048554, -1610612729, 0, -1048551, -1610612727, 0, -1048550, -1610612727, 0, -1048549, -1610612727, 0, -1048548, -1610612727, 0, -1048547, -1610612727, 0, -1048546, 2, 0, -1048545, 2, 0, -1048544, 2, 0, -1048543, -1610612727, 0, -1048542, -1610612727, 0, -1048541, -1610612727, 0, -1048540, -1610612727, 0, -1048539, -1610612727, 0, -1048538, -1610612727, 0, -1048537, -1610612727, 0, -1048536, -1610612727, 0, -1048535, -1610612727, 0, -1048534, -1610612727, 0, -1048533, -1610612727, 0, -1048518, -1073741822, 0, -1048517, -1073741814, 0, -917509, -1610612726, 0, -917508, -1610612734, 0, -917507, -1610612727, 0, -917506, -1610612727, 0, -917505, -1610612727, 0, -983040, -1610612727, 0, -983039, -1610612727, 0, -983038, -1610612727, 0, -983037, -1610612727, 0, -983036, -1610612727, 0, -983035, -1610612727, 0, -983034, -1610612727, 0, -983033, -1610612727, 0, -983032, -1610612727, 0, -983031, -1610612727, 0, -983030, -1610612727, 0, -983029, -1610612727, 0, -983028, -1610612727, 0, -983027, -1610612727, 0, -983026, -1610612727, 0, -983025, -1610612727, 0, -983024, -1610612727, 0, -983023, -1610612727, 0, -983016, -1610612727, 0, -983015, -1610612727, 0, -983014, -1610612727, 0, -983013, -1610612727, 0, -983012, -1610612727, 0, -983011, -1610612727, 0, -983010, -1610612727, 0, -983009, -1610612727, 0, -983008, -1610612727, 0, -983007, -1610612727, 0, -983006, -1610612727, 0, -983005, -1610612727, 0, -983004, -1610612727, 0, -983003, -1610612727, 0, -983002, -1610612727, 0, -983001, -1610612727, 0, -983000, -1610612727, 0, -982999, -1610612727, 0, -982998, -1610612727, 0, -982997, -1610612727, 0, -982982, -1073741822, 0, -982981, -1073741814, 0, -851973, -1610612726, 0, -851972, -1610612734, 0, -851971, -1610612727, 0, -851970, -1610612727, 0, -851969, -1610612727, 0, -917504, -1610612727, 0, -917503, -1610612727, 0, -917502, -1610612727, 0, -917501, -1610612727, 0, -917500, -1610612727, 0, -917499, -1610612727, 0, -917498, -1610612727, 0, -917497, -1610612727, 0, -917496, -1610612727, 0, -917495, -1610612727, 0, -917494, -1610612727, 0, -917493, -1610612727, 0, -917492, -1610612727, 0, -917491, -1610612727, 0, -917481, -1610612727, 0, -917480, -1610612727, 0, -917479, -1610612727, 0, -917478, -1610612727, 0, -917477, 2, 0, -917476, 2, 0, -917475, 2, 0, -917474, -1610612727, 0, -917473, -1610612727, 0, -917472, -1610612727, 0, -917471, -1610612727, 0, -917470, -1610612727, 0, -917469, -1610612727, 0, -917468, -1610612727, 0, -917467, -1610612727, 0, -917466, -1610612727, 0, -917465, -1610612727, 0, -917464, -1610612727, 0, -917463, -1610612727, 0, -917462, -1610612727, 0, -917461, -1610612727, 0, -917460, -1610612727, 0, -917446, -1073741822, 0, -917445, -1073741814, 0, -786437, -1610612726, 0, -786436, -1610612734, 0, -786435, -1610612727, 0, -786434, -1610612727, 0, -786433, -1610612727, 0, -851968, -1610612727, 0, -851967, -1610612727, 0, -851966, -1610612727, 0, -851965, -1610612727, 0, -851947, -1610612727, 0, -851946, -1610612727, 0, -851945, -1610612727, 0, -851944, -1610612727, 0, -851943, -1610612727, 0, -851942, -1610612727, 0, -851941, -1610612727, 0, -851940, -1610612727, 0, -851939, -1610612727, 0, -851938, -1610612727, 0, -851937, -1610612727, 0, -851936, -1610612727, 0, -851935, -1610612727, 0, -851934, -1610612727, 0, -851933, -1610612727, 0, -851932, -1610612727, 0, -851931, -1610612727, 0, -851930, -1610612727, 0, -851929, -1610612727, 0, -851928, -1610612727, 0, -851927, -1610612727, 0, -851926, -1610612727, 0, -851925, -1610612727, 0, -851924, -1610612727, 0, -851910, -1073741822, 0, -851909, -1073741814, 0, -720901, -1610612726, 0, -720900, -1610612734, 0, -720899, -1610612727, 0, -720898, -1610612727, 0, -720897, -1610612727, 0, -786432, -1610612727, 0, -786431, -1610612727, 0, -786430, -1610612727, 0, -786420, 1610612738, 0, -786419, 1610612738, 0, -786418, 1610612738, 0, -786417, 1610612738, 0, -786416, 1610612738, 0, -786415, 1610612743, 0, -786413, -1610612727, 0, -786412, -1610612727, 0, -786411, -1610612727, 0, -786410, -1610612727, 0, -786409, -1610612727, 0, -786408, -1610612727, 0, -786407, -1610612727, 0, -786406, -1610612727, 0, -786405, -1610612727, 0, -786404, -1610612727, 0, -786403, -1610612727, 0, -786402, -1610612727, 0, -786401, -1610612727, 0, -786400, -1610612727, 0, -786399, -1610612727, 0, -786398, -1610612727, 0, -786397, -1610612727, 0, -786396, -1610612727, 0, -786395, -1610612727, 0, -786394, -1610612727, 0, -786393, -1610612727, 0, -786392, -1610612727, 0, -786391, -1610612727, 0, -786390, -1610612727, 0, -786389, -1610612727, 0, -786388, -1610612727, 0, -786374, -1073741822, 0, -786373, -1073741814, 0, -655365, -1610612726, 0, -655364, -1610612734, 0, -655363, -1610612727, 0, -655362, -1610612727, 0, -655361, -1610612727, 0, -720896, -1610612727, 0, -720895, -1610612727, 0, -720894, -1610612727, 0, -720892, -1610612727, 0, -720883, -1610612727, 0, -720882, -1610612727, 0, -720881, -1610612727, 0, -720878, -1610612727, 0, -720877, -1610612727, 0, -720876, -1610612727, 0, -720875, -1610612727, 0, -720874, -1610612727, 0, -720873, -1610612727, 0, -720872, -1610612727, 0, -720871, -1610612727, 0, -720870, -1610612727, 0, -720869, -1610612727, 0, -720868, -1610612727, 0, -720867, -1610612727, 0, -720866, -1610612727, 0, -720865, -1610612727, 0, -720864, -1610612727, 0, -720863, -1610612727, 0, -720862, -1610612727, 0, -720861, -1610612727, 0, -720860, -1610612727, 0, -720859, -1610612727, 0, -720858, -1610612727, 0, -720857, -1610612727, 0, -720856, -1610612727, 0, -720855, -1610612727, 0, -720854, -1610612727, 0, -720853, -1610612727, 0, -720852, -1610612727, 0, -720838, -1073741822, 0, -720837, -1073741814, 0, -589829, -1610612726, 0, -589828, -1610612734, 0, -589827, -1610612727, 0, -589826, -1610612727, 0, -589825, -1610612727, 0, -655360, -1610612727, 0, -655359, -1610612727, 0, -655358, -1610612727, 0, -655356, -1610612727, 0, -655353, -1610612734, 0, -655351, -1610612727, 0, -655350, -1610612727, 0, -655349, -1610612727, 0, -655348, -1610612727, 0, -655347, -1610612727, 0, -655344, -1610612727, 0, -655343, -1610612727, 0, -655342, 7, 0, -655341, 2, 0, -655340, 2, 0, -655339, 2, 0, -655338, 2, 0, -655337, 2, 0, -655336, 2, 0, -655335, 2, 0, -655334, 2, 0, -655333, 2, 0, -655332, 2, 0, -655331, 2, 0, -655330, 2, 0, -655329, 2, 0, -655328, 2, 0, -655327, 2, 0, -655326, 2, 0, -655325, -1610612729, 0, -655324, -1610612727, 0, -655323, -1610612727, 0, -655322, -1610612727, 0, -655321, -1610612727, 0, -655320, -1610612727, 0, -655319, -1610612727, 0, -655318, -1610612727, 0, -655317, -1610612727, 0, -655316, -1610612727, 0, -655302, -1073741822, 0, -655301, -1073741814, 0, -524293, -1610612726, 0, -524292, -1610612734, 0, -524291, -1610612727, 0, -524290, -1610612727, 0, -524289, -1610612727, 0, -589824, -1610612727, 0, -589823, -1610612727, 0, -589822, -1610612727, 0, -589816, -1610612727, 0, -589813, -1610612727, 0, -589808, 7, 0, -589807, 2, 0, -589806, 3, 0, -589805, 3, 0, -589804, 1610612738, 0, -589803, 1610612738, 0, -589802, 1610612738, 0, -589801, 1610612738, 0, -589800, 1610612738, 0, -589799, 1610612738, 0, -589798, 1610612738, 0, -589797, 1610612738, 0, -589796, 1610612738, 0, -589795, 1610612738, 0, -589794, 1610612738, 0, -589793, 1610612738, 0, -589792, 1610612738, 0, -589791, 1610612738, 0, -589790, 1610612738, 0, -589789, 1610612743, 0, -589788, -1610612727, 0, -589787, -1610612727, 0, -589786, -1610612727, 0, -589785, -1610612727, 0, -589784, -1610612727, 0, -589783, -1610612727, 0, -589782, -1610612727, 0, -589781, -1610612727, 0, -589780, -1610612727, 0, -589766, -1073741822, 0, -589765, -1073741814, 0, -458757, -1610612726, 0, -458756, -1610612734, 0, -458755, -1610612727, 0, -458754, -1610612727, 0, -458753, -1610612727, 0, -524288, -1610612727, 0, -524287, -1610612727, 0, -524284, -1610612727, 0, -524271, 3, 0, -524269, 1610612743, 0, -524268, -1610612727, 0, -524267, -1610612727, 0, -524266, -1610612727, 0, -524265, -1610612727, 0, -524264, -1610612727, 0, -524263, -1610612727, 0, -524262, -1610612727, 0, -524261, -1610612727, 0, -524260, -1610612727, 0, -524259, -1610612727, 0, -524258, -1610612727, 0, -524257, -1610612727, 0, -524256, -1610612727, 0, -524255, -1610612727, 0, -524254, -1610612727, 0, -524253, -1610612727, 0, -524252, 7, 0, -524251, 2, 0, -524250, 2, 0, -524248, -1610612727, 0, -524247, -1610612727, 0, -524246, -1610612727, 0, -524245, -1610612727, 0, -524244, -1610612727, 0, -524230, -1073741822, 0, -524229, -1073741814, 0, -393221, -1610612726, 0, -393220, -1610612734, 0, -393219, -1610612727, 0, -393218, -1610612727, 0, -393217, -1610612727, 0, -458752, -1610612727, 0, -458751, -1610612727, 0, -458748, -1610612727, 0, -458731, -1610612727, 0, -458730, -1610612727, 0, -458729, -1610612727, 0, -458728, -1610612727, 0, -458727, -1610612727, 0, -458726, -1610612727, 0, -458725, -1610612727, 0, -458724, -1610612727, 0, -458723, -1610612727, 0, -458722, -1610612727, 0, -458721, -1610612727, 0, -458720, -1610612727, 0, -458719, -1610612727, 0, -458718, -1610612727, 0, -458717, -1610612727, 0, -458716, -1073741817, 0, -458715, 1610612738, 0, -458714, 1610612738, 0, -458713, 2, 0, -458712, 2, 0, -458711, -1610612727, 0, -458710, -1610612727, 0, -458709, -1610612727, 0, -458694, -1073741822, 0, -458693, -1073741814, 0, -327685, -1610612726, 0, -327684, -1610612734, 0, -327683, -1610612727, 0, -327682, -1610612727, 0, -327681, -1610612727, 0, -393211, -1610612727, 0, -393210, -1610612727, 0, -393209, -1610612727, 0, -393208, -1610612727, 0, -393207, -1610612727, 0, -393206, -1610612727, 0, -393205, -1610612727, 0, -393204, -1610612727, 0, -393203, -1610612727, 0, -393202, -1610612727, 0, -393201, -1610612727, 0, -393200, -1610612727, 0, -393199, -1610612727, 0, -393198, -1610612727, 0, -393197, -1610612727, 0, -393196, -1610612727, 0, -393195, -1610612727, 0, -393194, -1610612727, 0, -393193, -1610612727, 0, -393192, -1610612727, 0, -393191, -1610612727, 0, -393190, -1610612727, 0, -393189, -1610612727, 0, -393188, -1610612727, 0, -393187, -1610612727, 0, -393186, -1610612727, 0, -393185, -1610612727, 0, -393184, -1610612727, 0, -393183, -1610612727, 0, -393182, -1610612727, 0, -393181, -1610612727, 0, -393180, -1610612727, 0, -393179, -1610612727, 0, -393178, -1610612727, 0, -393177, -1610612727, 0, -393176, -1610612727, 0, -393175, -1610612727, 0, -393174, -1610612727, 0, -393173, -1610612727, 0, -393158, -1073741822, 0, -393157, -1073741814, 0, -262149, -1610612726, 0, -262148, -1610612734, 0, -262147, -1610612727, 0, -262146, -1610612727, 0, -262145, -1610612727, 0, -327678, -1610612727, 0, -327676, -1610612727, 0, -327664, -1610612727, 0, -327663, -1610612727, 0, -327662, -1610612727, 0, -327661, -1610612727, 0, -327660, -1610612727, 0, -327659, -1610612727, 0, -327658, -1610612727, 0, -327657, -1610612727, 0, -327656, -1610612727, 0, -327655, 7, 0, -327654, 2, 0, -327653, 2, 0, -327652, 2, 0, -327651, 2, 0, -327650, 2, 0, -327649, 2, 0, -327648, 2, 0, -327647, 2, 0, -327646, 2, 0, -327645, 2, 0, -327644, 2, 0, -327643, 2, 0, -327642, 2, 0, -327641, 2, 0, -327640, 2, 0, -327639, 2, 0, -327638, 2, 0, -327637, -1610612729, 0, -327636, -1610612727, 0, -327622, -1073741822, 0, -327621, -1073741814, 0, -196613, -1610612726, 0, -196612, -1610612734, 0, -196611, -1610612727, 0, -196610, -1610612727, 0, -196609, -1610612727, 0, -262144, -1610612727, 0, -262143, -1610612727, 0, -262142, -1610612727, 0, -262140, -1610612727, 0, -262139, -1610612727, 0, -262138, -1610612727, 0, -262137, -1610612727, 0, -262136, -1610612727, 0, -262135, -1610612727, 0, -262134, -1610612727, 0, -262133, -1610612727, 0, -262132, -1610612727, 0, -262131, -1610612727, 0, -262130, -1610612727, 0, -262129, -1610612727, 0, -262128, -1610612727, 0, -262127, -1610612727, 0, -262126, -1610612727, 0, -262125, -1610612727, 0, -262124, -1610612727, 0, -262123, -1610612727, 0, -262119, -1073741822, 0, -262118, 1610612739, 0, -262117, 1610612738, 0, -262116, 1610612738, 0, -262115, 1610612738, 0, -262114, 1610612738, 0, -262113, 1610612738, 0, -262112, 1610612738, 0, -262111, 1610612738, 0, -262110, 1610612738, 0, -262109, 1610612738, 0, -262108, 1610612738, 0, -262107, 1610612738, 0, -262106, 1610612738, 0, -262105, 1610612738, 0, -262104, 1610612738, 0, -262103, 1610612738, 0, -262102, 1610612738, 0, -262101, 1610612743, 0, -262100, -1610612727, 0, -262086, -1073741822, 0, -262085, -1073741814, 0, -131077, -1610612726, 0, -131076, -1610612734, 0, -131075, -1610612727, 0, -131074, -1610612727, 0, -131073, -1610612727, 0, -196608, -1610612727, 0, -196607, -1610612727, 0, -196606, -1610612727, 0, -196605, -1610612727, 0, -196604, -1610612727, 0, -196603, -1610612727, 0, -196602, -1610612727, 0, -196601, -1610612727, 0, -196600, -1610612727, 0, -196599, -1610612727, 0, -196598, -1610612727, 0, -196597, -1610612727, 0, -196596, -1610612727, 0, -196595, -1610612727, 0, -196594, -1610612727, 0, -196593, -1610612727, 0, -196592, -1610612727, 0, -196591, -1610612727, 0, -196590, -1610612727, 0, -196587, 7, 0, -196586, 2, 0, -196585, 2, 0, -196584, 2, 0, -196583, 3, 0, -196582, -1610612734, 0, -196581, -1610612727, 0, -196580, -1610612727, 0, -196579, -1610612727, 0, -196578, -1610612727, 0, -196577, -1610612727, 0, -196576, -1610612727, 0, -196575, -1610612727, 0, -196574, -1610612727, 0, -196573, -1610612727, 0, -196572, -1610612727, 0, -196571, -1610612727, 0, -196570, -1610612727, 0, -196569, -1610612727, 0, -196566, -1610612727, 0, -196565, -1610612727, 0, -196564, -1610612727, 0, -196550, -1073741822, 0, -196549, -1073741814, 0, -65541, -1610612726, 0, -65540, -1610612734, 0, -65539, -1610612727, 0, -65538, -1610612727, 0, -65537, -1610612727, 0, -131072, -1610612727, 0, -131071, -1610612727, 0, -131070, -1610612727, 0, -131069, -1610612727, 0, -131068, -1610612727, 0, -131067, -1610612727, 0, -131066, -1610612727, 0, -131065, -1610612727, 0, -131064, -1610612727, 0, -131063, -1610612727, 0, -131062, -1610612727, 0, -131061, -1610612727, 0, -131060, -1610612727, 0, -131059, -1610612727, 0, -131058, -1610612727, 0, -131057, -1610612727, 0, -131056, -1610612727, 0, -131055, -1610612727, 0, -131054, 7, 0, -131053, 2, 0, -131052, 2, 0, -131051, 3, 0, -131050, 3, 0, -131049, 3, 0, -131048, 3, 0, -131047, 3, 0, -131046, -1610612734, 0, -131045, -1610612727, 0, -131044, -1610612727, 0, -131043, -1610612727, 0, -131042, -1610612727, 0, -131041, -1610612727, 0, -131040, -1610612727, 0, -131039, -1610612727, 0, -131038, -1610612727, 0, -131037, -1610612727, 0, -131036, -1610612727, 0, -131035, -1610612727, 0, -131034, -1610612727, 0, -131033, -1610612727, 0, -131032, -1610612727, 0, -131031, -1610612727, 0, -131030, -1610612727, 0, -131029, -1610612727, 0, -131028, -1610612727, 0, -131014, -1073741822, 0, -131013, -1073741814, 0, -5, -1610612726, 0, -4, -1610612734, 0, -3, -1610612727, 0, -2, -1610612727, 0, -1, -1610612727, 0, -65536, -1610612727, 0, -65535, -1610612727, 0, -65534, -1610612727, 0, -65533, -1610612727, 0, -65532, -1610612727, 0, -65531, -1610612727, 0, -65530, -1610612727, 0, -65529, -1610612727, 0, -65528, -1610612727, 0, -65527, -1610612727, 0, -65526, -1610612727, 0, -65525, -1610612727, 0, -65524, -1610612727, 0, -65523, -1610612727, 0, -65522, -1610612727, 0, -65521, -1610612727, 0, -65520, 7, 0, -65519, 2, 0, -65518, 2, 0, -65517, 3, 0, -65516, 3, 0, -65515, 3, 0, -65514, 3, 0, -65513, 3, 0, -65512, 3, 0, -65511, 3, 0, -65510, -1610612734, 0, -65509, -1610612727, 0, -65508, -1610612727, 0, -65507, -1610612727, 0, -65506, -1610612727, 0, -65505, -1610612727, 0, -65504, -1610612727, 0, -65503, -1610612727, 0, -65502, -1610612727, 0, -65501, -1610612727, 0, -65500, -1610612727, 0, -65499, -1610612727, 0, -65498, -1610612727, 0, -65497, -1610612727, 0, -65496, -1610612727, 0, -65495, -1610612727, 0, -65494, -1610612727, 0, -65493, -1610612727, 0, -65478, -1073741822, 0, -65477, -1073741814, 0, 65531, -1610612726, 0, 65532, 1610612739, 0, 65533, 2, 0, 65534, 2, 0, 65535, 2, 0, 0, 2, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 4, 2, 0, 5, 2, 0, 6, 2, 0, 7, 2, 0, 8, 2, 0, 9, 2, 0, 10, 2, 0, 11, 2, 0, 12, 2, 0, 13, 2, 0, 14, 2, 0, 15, 2, 0, 16, 2, 0, 17, 2, 0, 18, 2, 0, 19, 2, 0, 20, 2, 0, 21, 2, 0, 22, 2, 0, 23, 2, 0, 24, 2, 0, 25, 1610612739, 0, 26, 1610612739, 0, 27, 2, 0, 28, 2, 0, 29, 2, 0, 30, 2, 0, 31, 2, 0, 32, 2, 0, 33, 2, 0, 34, 2, 0, 35, 2, 0, 36, 2, 0, 37, 2, 0, 38, 2, 0, 39, 2, 0, 40, 2, 0, 41, 2, 0, 42, 2, 0, 43, 2, 0, 44, 2, 0, 45, 2, 0, 46, 2, 0, 47, 2, 0, 48, 2, 0, 49, 2, 0, 50, 2, 0, 51, 2, 0, 52, 2, 0, 53, 2, 0, 54, 2, 0, 55, 2, 0, 56, 2, 0, 57, 2, 0, 58, 3, 0, 59, -1073741814, 0, 131067, -1610612721, 0, 131068, 10, 0, 131069, 10, 0, 131070, 10, 0, 131071, 10, 0, 65536, 10, 0, 65537, 10, 0, 65538, 10, 0, 65539, 10, 0, 65540, 10, 0, 65541, 10, 0, 65542, 10, 0, 65543, 10, 0, 65544, 10, 0, 65545, 10, 0, 65546, 10, 0, 65547, 10, 0, 65548, 10, 0, 65549, 10, 0, 65550, 10, 0, 65551, 10, 0, 65552, 10, 0, 65553, 10, 0, 65554, 10, 0, 65555, 10, 0, 65556, 10, 0, 65557, 10, 0, 65558, 10, 0, 65559, 10, 0, 65560, 10, 0, 65561, 10, 0, 65562, 10, 0, 65563, 10, 0, 65564, 10, 0, 65565, 10, 0, 65566, 10, 0, 65567, 10, 0, 65568, 10, 0, 65569, 10, 0, 65570, 10, 0, 65571, 10, 0, 65572, 10, 0, 65573, 10, 0, 65574, 10, 0, 65575, 10, 0, 65576, 10, 0, 65577, 10, 0, 65578, 10, 0, 65579, 10, 0, 65580, 10, 0, 65581, 10, 0, 65582, 10, 0, 65583, 10, 0, 65584, 10, 0, 65585, 10, 0, 65586, 10, 0, 65587, 10, 0, 65588, 10, 0, 65589, 10, 0, 65590, 10, 0, 65591, 10, 0, 65592, 10, 0, 65593, 10, 0, 65594, 10, 0, 65595, 15, 0 ) + +[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] + +[editable path="SignalManager"] +[editable path="LevelState"] +[editable path="UserInterface"] +[editable path="UserInterface/HUD"] +[editable path="BlobbyCam"] +[editable path="Blobby"]