diff --git a/assets/blobby/Blobby.png b/assets/blobby/Blobby.png new file mode 100644 index 0000000..54b59be Binary files /dev/null and b/assets/blobby/Blobby.png differ diff --git a/assets/blobby/Blobby.png.import b/assets/blobby/Blobby.png.import new file mode 100644 index 0000000..131b069 --- /dev/null +++ b/assets/blobby/Blobby.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Blobby.png-554d4a075b6d3934353e2891595fdca2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/blobby/Blobby.png" +dest_files=[ "res://.import/Blobby.png-554d4a075b6d3934353e2891595fdca2.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/blobby/blobby-spritesheett.aseprite b/assets/blobby/blobby-spritesheett.aseprite index 74732e5..274385a 100644 Binary files a/assets/blobby/blobby-spritesheett.aseprite and b/assets/blobby/blobby-spritesheett.aseprite differ diff --git a/assets/blobby/blobby-spritesheett.png b/assets/blobby/blobby-spritesheett.png new file mode 100644 index 0000000..be57d8c Binary files /dev/null and b/assets/blobby/blobby-spritesheett.png differ diff --git a/assets/blobby/blobby-spritesheett.png.import b/assets/blobby/blobby-spritesheett.png.import new file mode 100644 index 0000000..43c70c4 --- /dev/null +++ b/assets/blobby/blobby-spritesheett.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/blobby-spritesheett.png-31ad471e3ad73a5f4a303e582c829ff7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/blobby/blobby-spritesheett.png" +dest_files=[ "res://.import/blobby-spritesheett.png-31ad471e3ad73a5f4a303e582c829ff7.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/environment/blocks/DropThrough-Vine-Block.aseprite b/assets/environment/blocks/DropThrough-Vine-Block.aseprite index a3ee090..9f7a0be 100644 Binary files a/assets/environment/blocks/DropThrough-Vine-Block.aseprite and b/assets/environment/blocks/DropThrough-Vine-Block.aseprite differ diff --git a/assets/environment/blocks/DropThrough-Vine-Block.png b/assets/environment/blocks/DropThrough-Vine-Block.png index 82ab23e..53f63fc 100644 Binary files a/assets/environment/blocks/DropThrough-Vine-Block.png and b/assets/environment/blocks/DropThrough-Vine-Block.png differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite new file mode 100644 index 0000000..d6e8ef7 Binary files /dev/null and b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import new file mode 100644 index 0000000..19e4eca --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/DropThrough-Vine-BlockEnd.aseprite-93f6ee58c7f451fae0c1132a634751f7.res" + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd.aseprite-93f6ee58c7f451fae0c1132a634751f7.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite new file mode 100644 index 0000000..77e6643 Binary files /dev/null and b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite.import new file mode 100644 index 0000000..8ebad8f --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/DropThrough-Vine-BlockEnd1.aseprite-ca24350706a9cf20e6b0769c8ac7d79f.res" + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd1.aseprite-ca24350706a9cf20e6b0769c8ac7d79f.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png new file mode 100644 index 0000000..978c329 Binary files /dev/null and b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import new file mode 100644 index 0000000..03344c9 --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/DropThrough-Vine-BlockEnd1.png-fb22d99cf41d10135054918fe1f77691.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd1.png-fb22d99cf41d10135054918fe1f77691.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/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite new file mode 100644 index 0000000..ecfe752 Binary files /dev/null and b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import new file mode 100644 index 0000000..e9176a7 --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/DropThrough-Vine-BlockEnd2.aseprite-58b0f49126d8fed5bbcaa4fd67ae3fdb.res" + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd2.aseprite-58b0f49126d8fed5bbcaa4fd67ae3fdb.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png new file mode 100644 index 0000000..509111f Binary files /dev/null and b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png differ diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import new file mode 100644 index 0000000..f5742ab --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/DropThrough-Vine-BlockEnd2.png-dc687a6cab3a2739c0f2c2c547d35834.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd2.png-dc687a6cab3a2739c0f2c2c547d35834.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/environment/blocks/SlopeTest.aseprite b/assets/environment/blocks/SlopeTest.aseprite new file mode 100644 index 0000000..a7e989a Binary files /dev/null and b/assets/environment/blocks/SlopeTest.aseprite differ diff --git a/assets/environment/blocks/SlopeTest.aseprite.import b/assets/environment/blocks/SlopeTest.aseprite.import new file mode 100644 index 0000000..ae747e5 --- /dev/null +++ b/assets/environment/blocks/SlopeTest.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/SlopeTest.aseprite-d38739e50682bab3c7429708bcd3bdda.res" + +[deps] + +source_file="res://assets/environment/blocks/SlopeTest.aseprite" +dest_files=[ "res://.import/SlopeTest.aseprite-d38739e50682bab3c7429708bcd3bdda.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/SlopeTest.png b/assets/environment/blocks/SlopeTest.png new file mode 100644 index 0000000..70891d7 Binary files /dev/null and b/assets/environment/blocks/SlopeTest.png differ diff --git a/assets/environment/blocks/SlopeTest.png.import b/assets/environment/blocks/SlopeTest.png.import new file mode 100644 index 0000000..4d9816f --- /dev/null +++ b/assets/environment/blocks/SlopeTest.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SlopeTest.png-0a30cb72614a53dfafdb14a98f113800.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/SlopeTest.png" +dest_files=[ "res://.import/SlopeTest.png-0a30cb72614a53dfafdb14a98f113800.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/environment/blocks/SlopeTestSlow.png b/assets/environment/blocks/SlopeTestSlow.png new file mode 100644 index 0000000..42ff3a1 Binary files /dev/null and b/assets/environment/blocks/SlopeTestSlow.png differ diff --git a/assets/environment/blocks/SlopeTestSlow.png.import b/assets/environment/blocks/SlopeTestSlow.png.import new file mode 100644 index 0000000..63f9ed5 --- /dev/null +++ b/assets/environment/blocks/SlopeTestSlow.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SlopeTestSlow.png-f5852254004bb48d1e232c23e25713c3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/SlopeTestSlow.png" +dest_files=[ "res://.import/SlopeTestSlow.png-f5852254004bb48d1e232c23e25713c3.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/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index 0b090f2..8a80fe4 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -48,6 +48,7 @@ func handle_fall_movement(delta: float, direction: Vector2) -> Vector2: func handle_wallslide_movement(delta: float, direction: Vector2) -> Vector2: return calculate_wallslide_velocity(velocity, delta, direction) + func calculate_duck_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: @@ -114,6 +115,7 @@ func calculate_duck_velocity( return out_vel + func is_on_dropThrough(): var bodies: Array = $BlobbySkin.get_overlapping_bodies() for i in range(0, bodies.size()): @@ -122,6 +124,7 @@ func is_on_dropThrough(): return true return false + func calculate_grounded_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: @@ -350,13 +353,34 @@ func execute_airstrafe( func execute_movement() -> void: - velocity = move_and_slide(velocity, FLOOR_NORMAL,false, 4, 0.785398,false) + print(get_floor_angle()) + if is_equal_approx(get_floor_angle(), 0): + print("slide") + velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + else: + print("snap") + velocity = move_and_slide_with_snap(velocity, Vector2.DOWN, FLOOR_NORMAL) + if is_on_floor(): + pass + #rotate_to_ground() + + + +func rotate_to_ground() -> void: + rotation = -get_floor_angle(FLOOR_NORMAL) func die() -> void: - queue_free() + z_index = 1 + $BlobbyCam.position = position + $BlobbyCam/AnimationPlayer.play("deathCam") + $BlobbySprite/AnimationTree.active = false + $BlobbySprite/BlobbymationPlayer.play("dying") + PlayerData.is_dead = true PlayerData.deaths += 1 +func respawn() -> void: + get_tree().reload_current_scene() # This problem stems from trying to decelerate a walk # that was caused by the moving environment and not by input diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index c5da85b..76c688d 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=112 format=2] +[gd_scene load_steps=115 format=2] [ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1] [ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=2] @@ -7,10 +7,10 @@ [ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=5] [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 12.9698, 8.9748 ) +extents = Vector2( 14.9127, 5.98593 ) [sub_resource type="StreamTexture" id=62] -load_path = "res://.import/Blobby.png-42eed5028ccb56a7415a0793b79ec61e.stex" +load_path = "res://.import/blobby-spritesheett.png-31ad471e3ad73a5f4a303e582c829ff7.stex" [sub_resource type="AnimationNodeAnimation" id=126] animation = "duckTurn" @@ -1079,6 +1079,21 @@ tracks/11/keys = { "values": [ false ] } +[sub_resource type="Animation" id=184] +resource_name = "dying" +tracks/0/type = "value" +tracks/0/path = NodePath(".:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 30 ] +} + [sub_resource type="Animation" id=6] length = 0.1 loop = true @@ -4393,6 +4408,207 @@ tracks/2/keys = { "values": [ Vector2( -1, 1 ) ] } +[sub_resource type="Animation" id=185] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotating") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ true ] +} +tracks/6/type = "value" +tracks/6/path = NodePath(".:rotation_degrees") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/7/type = "value" +tracks/7/path = NodePath(".:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} + +[sub_resource type="Animation" id=186] +resource_name = "deathCam" +length = 3.0 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 2.5 ), +"transitions": PoolRealArray( 1, 0.5 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ), Vector2( 0.002, 0.002 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0, 2.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ 0.0, 360.0 ] +} +tracks/6/type = "value" +tracks/6/path = NodePath(".:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -4 ) ] +} +tracks/7/type = "method" +tracks/7/path = NodePath("..") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 3 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "respawn" +} ] +} + [node name="Blobby" type="KinematicBody2D" groups=["player"]] collision_mask = 248 collision/safe_margin = 0.001 @@ -4406,17 +4622,18 @@ process_priority = -1 collision_mask = 254 [node name="CollisionPolygon2D" type="CollisionShape2D" parent="BlobbySkin"] -position = Vector2( 1, -8.975 ) +position = Vector2( 0.0286326, -10.0053 ) scale = Vector2( 1.03, 1.04 ) shape = SubResource( 2 ) [node name="BlobbySprite" type="Sprite" parent="."] position = Vector2( 0, -16 ) +scale = Vector2( -1, 1 ) texture = SubResource( 62 ) offset = Vector2( 1, 0 ) hframes = 6 -vframes = 5 -frame = 6 +vframes = 6 +frame = 5 __meta__ = { "_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo=" } @@ -4446,6 +4663,7 @@ anims/duckRun = SubResource( 67 ) anims/duckTurn = SubResource( 68 ) anims/ducking = SubResource( 69 ) anims/duckingLeft = SubResource( 107 ) +anims/dying = SubResource( 184 ) anims/falling = SubResource( 6 ) anims/fallingLeft = SubResource( 106 ) anims/idleTurn = SubResource( 70 ) @@ -4482,7 +4700,6 @@ anims/airstrafing = SubResource( 182 ) anims/airstrafingLeft = SubResource( 183 ) [node name="BlobbyStateEffects" type="Sprite" parent="."] -visible = false position = Vector2( 3.07106, -16.064 ) scale = Vector2( -1, 1 ) texture = ExtResource( 1 ) @@ -4491,17 +4708,13 @@ hframes = 10 frame = 8 [node name="BlobbyBody" type="CollisionShape2D" parent="." groups=["player"]] -position = Vector2( 1, -8.975 ) +position = Vector2( 0.0392303, -10.002 ) shape = SubResource( 1 ) [node name="BlobbyCam" type="Camera2D" parent="."] -position = Vector2( 70, 0 ) +rotating = true current = true zoom = Vector2( 0.75, 0.75 ) -limit_left = 0 -limit_top = 0 -limit_right = 0 -limit_bottom = 0 drag_margin_h_enabled = true drag_margin_v_enabled = true drag_margin_left = 0.05 @@ -4513,6 +4726,10 @@ script = ExtResource( 2 ) [node name="ShiftTween" type="Tween" parent="BlobbyCam"] +[node name="AnimationPlayer" type="AnimationPlayer" parent="BlobbyCam"] +anims/RESET = SubResource( 185 ) +anims/deathCam = SubResource( 186 ) + [node name="BlobbyStateMachine" type="Node" parent="."] script = ExtResource( 3 ) @@ -4542,13 +4759,13 @@ position = Vector2( 0, -1 ) [node name="LeftWallRaycast" type="Node2D" parent="WallRaycasts"] [node name="Left_Wallcast1" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"] -position = Vector2( -12, -10.686 ) +position = Vector2( -11.9763, -5 ) enabled = true cast_to = Vector2( -1.5, 0 ) collision_mask = 56 [node name="Left_Wallcast2" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"] -position = Vector2( -12, -1.942 ) +position = Vector2( -11.9763, 5 ) enabled = true cast_to = Vector2( -1.5, 0 ) collision_mask = 56 @@ -4556,14 +4773,14 @@ collision_mask = 56 [node name="RightWallRaycast" type="Node2D" parent="WallRaycasts"] [node name="Right_Wallcast1" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"] -position = Vector2( 14, -10.686 ) +position = Vector2( 12.0551, -5 ) enabled = true exclude_parent = false cast_to = Vector2( 1.5, 0 ) collision_mask = 56 [node name="Right_Wallcast2" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"] -position = Vector2( 14, -1.942 ) +position = Vector2( 12.0551, 5 ) enabled = true exclude_parent = false cast_to = Vector2( 1.5, 0 ) diff --git a/src/Actors/Blobby/BlobbyCam.gd b/src/Actors/Blobby/BlobbyCam.gd index d4ac0df..10ebe11 100644 --- a/src/Actors/Blobby/BlobbyCam.gd +++ b/src/Actors/Blobby/BlobbyCam.gd @@ -15,8 +15,9 @@ onready var original_y_zoom = zoom.y func _ready(): _set_boundaries() -func _process(_delta: float) -> void: - _adapt_to_movement() +func _physics_process(_delta: float) -> void: + if(!PlayerData.is_dead): + _adapt_to_movement() prev_camera_pos = get_camera_position() func _set_boundaries(): @@ -72,4 +73,7 @@ func _adapt_to_movement(): Tween.TRANS_SINE, Tween.EASE_OUT ) - tween.start() \ No newline at end of file + tween.start() + +func _death_cam(): + pass \ No newline at end of file diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 6c590f4..48928cd 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -25,6 +25,7 @@ func _ready(): add_state("fall") add_state("wallslide") state = states.idle + PlayerData.is_dead = false set_state(states.idle) diff --git a/src/Autoload/PlayerData.gd b/src/Autoload/PlayerData.gd index d4948f3..45518ec 100644 --- a/src/Autoload/PlayerData.gd +++ b/src/Autoload/PlayerData.gd @@ -6,6 +6,8 @@ signal player_died #TODO Easteregg pls var score: = 0 setget set_score var deaths: = 0 setget set_deaths +var is_dead: = false setget set_dead + func reset() -> void: score = 0 @@ -18,4 +20,7 @@ func set_score(value: int) -> void: func set_deaths(value: int) -> void: deaths = value - emit_signal("player_died") + #emit_signal("player_died") + +func set_dead(value: bool) -> void: + is_dead = value \ No newline at end of file diff --git a/src/Contraptions/Platform/DropThroughPlatform.tscn b/src/Contraptions/Platform/DropThroughPlatform.tscn index 7d813d9..d4639c1 100644 --- a/src/Contraptions/Platform/DropThroughPlatform.tscn +++ b/src/Contraptions/Platform/DropThroughPlatform.tscn @@ -1,12 +1,17 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://assets/environment/blocks/DropThrough-Vine-Block.png" type="Texture" id=1] +[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" type="Texture" id=2] +[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" type="Texture" id=3] -[sub_resource type="OccluderPolygon2D" id=3] -polygon = PoolVector2Array( 0, 0, 24, 0, 24, 12, 0, 12 ) +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 24, 0, 0, 0, 0, 0, 24, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=4] -points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 12, 0, 8, 0, 8, 0, 12, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 5, 0, 0, 0, 0, 0 ) [sub_resource type="TileSet" id=2] 0/name = "DropThrough-Vine-Block.png 0" @@ -16,27 +21,69 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) 0/region = Rect2( 0, 0, 24, 12 ) 0/tile_mode = 0 0/occluder_offset = Vector2( 0, 0 ) -0/occluder = SubResource( 3 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 4 ) +0/shape = SubResource( 3 ) 0/shape_one_way = true 0/shape_one_way_margin = 1.0 0/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": true, "one_way_margin": 1.0, -"shape": SubResource( 4 ), +"shape": SubResource( 3 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 0/z_index = 0 +1/name = "DropThrough-Vine-BlockEnd1.png 1" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 0, 0, 12, 12 ) +1/tile_mode = 0 +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape = SubResource( 6 ) +1/shape_one_way = true +1/shape_one_way_margin = 1.0 +1/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": true, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +1/z_index = 0 +2/name = "DropThrough-Vine-BlockEnd2.png 2" +2/texture = ExtResource( 3 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 0, 0, 12, 12 ) +2/tile_mode = 0 +2/occluder_offset = Vector2( 0, 0 ) +2/navigation_offset = Vector2( 0, 0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +2/shape = SubResource( 5 ) +2/shape_one_way = true +2/shape_one_way_margin = 1.0 +2/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": true, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +2/z_index = 0 [node name="DropThroughPlatform" type="TileMap"] tile_set = SubResource( 2 ) -cell_size = Vector2( 24, 24 ) +cell_size = Vector2( 12, 12 ) cell_quadrant_size = 8 cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) collision_layer = 128 collision_mask = 128 format = 1 +tile_data = PoolIntArray( -65510, 1, 0, -65509, 0, 0, -65507, 2, 0 ) diff --git a/src/Contraptions/Platform/Spring.tscn b/src/Contraptions/Platform/Spring.tscn index 32ae85c..dc495a7 100644 --- a/src/Contraptions/Platform/Spring.tscn +++ b/src/Contraptions/Platform/Spring.tscn @@ -34,6 +34,7 @@ collision_mask = 41 [node name="CollisionShape2D" type="CollisionShape2D" parent="SpringBody"] position = Vector2( 0.00390673, 0 ) shape = SubResource( 1 ) +one_way_collision = true [node name="EnteringVelocityDetector" type="Area2D" parent="."] position = Vector2( 0, -3.04889 ) diff --git a/src/Environment/AlienShipTileSet.tres b/src/Environment/AlienShipTileSet.tres index b7f70fb..f66b0f6 100644 --- a/src/Environment/AlienShipTileSet.tres +++ b/src/Environment/AlienShipTileSet.tres @@ -1,10 +1,12 @@ -[gd_resource type="TileSet" load_steps=10 format=2] +[gd_resource type="TileSet" load_steps=14 format=2] [ext_resource path="res://assets/environment/blocks/Alien-ship1-Edge-Unanimated.png" type="Texture" id=1] [ext_resource path="res://assets/environment/blocks/Alien-ship1-innerPart-Unanimated.png" type="Texture" id=2] [ext_resource path="res://assets/environment/blocks/alienShip1EdgePartTile/alienShip1EdgePartTile.tres" type="Texture" id=3] [ext_resource path="res://assets/environment/blocks/alienShip1innerPartTile/alienShip1InnerPart.tres" type="Texture" id=4] [ext_resource path="res://assets/environment/blocks/Alien-ship1-Edge-DropThrough-Unanimated.png" type="Texture" id=5] +[ext_resource path="res://assets/environment/blocks/SlopeTest.png" type="Texture" id=6] +[ext_resource path="res://assets/environment/blocks/SlopeTestSlow.png" type="Texture" id=7] [sub_resource type="ConvexPolygonShape2D" id=7] points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) @@ -18,6 +20,12 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) [sub_resource type="ConvexPolygonShape2D" id=10] points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 24, 0, 24, 0, 24, 24, 0, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 24, 12, 48, 0, 48, 24, 0, 24 ) + [resource] 0/name = "alienShip1EdgePartTile.tres 0" 0/texture = ExtResource( 3 ) @@ -117,3 +125,45 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 4/z_index = 0 +5/name = "SlopeTest.png 5" +5/texture = ExtResource( 6 ) +5/tex_offset = Vector2( 0, 0 ) +5/modulate = Color( 1, 1, 1, 1 ) +5/region = Rect2( 0, 0, 24, 24 ) +5/tile_mode = 0 +5/occluder_offset = Vector2( 0, 0 ) +5/navigation_offset = Vector2( 0, 0 ) +5/shape_offset = Vector2( 0, 0 ) +5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +5/shape = SubResource( 11 ) +5/shape_one_way = false +5/shape_one_way_margin = 1.0 +5/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +5/z_index = 0 +6/name = "SlopeTestSlow.png 6" +6/texture = ExtResource( 7 ) +6/tex_offset = Vector2( 0, 0 ) +6/modulate = Color( 1, 1, 1, 1 ) +6/region = Rect2( 0, 0, 48, 24 ) +6/tile_mode = 0 +6/occluder_offset = Vector2( 0, 0 ) +6/navigation_offset = Vector2( 0, 0 ) +6/shape_offset = Vector2( 0, 0 ) +6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +6/shape = SubResource( 12 ) +6/shape_one_way = false +6/shape_one_way_margin = 1.0 +6/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +6/z_index = 0 diff --git a/src/Levels/01 Level.tscn b/src/Levels/01 Level.tscn index b73f51d..2bb76e6 100644 --- a/src/Levels/01 Level.tscn +++ b/src/Levels/01 Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] @@ -11,6 +11,7 @@ [ext_resource path="res://src/Levels/Grass Test Level.tscn" type="PackedScene" id=9] [ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=10] [ext_resource path="res://src/Contraptions/Platform/DropThroughPlatform.tscn" type="PackedScene" id=11] +[ext_resource path="res://src/Contraptions/Platform/Spring.tscn" type="PackedScene" id=12] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -29,34 +30,9 @@ wait_time = 20.0 position = Vector2( -60, -3.8147e-06 ) scale = Vector2( 0.878906, 0.936025 ) -[node name="CollisionPolygon2D" parent="Blobby/BlobbySkin" index="0"] -position = Vector2( 0.0286326, -10.0053 ) - -[node name="BlobbySprite" parent="Blobby" index="1"] -scale = Vector2( -1, 1 ) -frame = 5 - [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 4 ) -[node name="BlobbyStateEffects" parent="Blobby" index="3"] -visible = true - -[node name="BlobbyBody" parent="Blobby" index="4"] -position = Vector2( 0.0392303, -10.002 ) - -[node name="Left_Wallcast1" parent="Blobby/WallRaycasts/LeftWallRaycast" index="0"] -position = Vector2( -11.9763, -5 ) - -[node name="Left_Wallcast2" parent="Blobby/WallRaycasts/LeftWallRaycast" index="1"] -position = Vector2( -11.9763, 5 ) - -[node name="Right_Wallcast1" parent="Blobby/WallRaycasts/RightWallRaycast" index="0"] -position = Vector2( 12.0551, -5 ) - -[node name="Right_Wallcast2" parent="Blobby/WallRaycasts/RightWallRaycast" index="1"] -position = Vector2( 12.0551, 5 ) - [node name="Collectibles" type="Node2D" parent="."] [node name="Coin" parent="Collectibles" instance=ExtResource( 6 )] @@ -91,7 +67,7 @@ cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) collision_layer = 8 collision_mask = 8 format = 1 -tile_data = PoolIntArray( -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 1610612736, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 1610612739, 0, -65542, -1610612734, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 1610612739, 0, -6, -1610612736, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 1610612739, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0 ) +tile_data = PoolIntArray( -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 1610612736, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 1610612739, 0, -65542, -1610612734, 0, -131066, 6, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 1610612739, 0, -6, -1610612736, 0, -65533, 5, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 1610612739, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0 ) [node name="Spikes" parent="TileMap" instance=ExtResource( 3 )] position = Vector2( 708, 12 ) @@ -112,10 +88,10 @@ position = Vector2( 1212, -36 ) position = Vector2( 1236, -36 ) [node name="Spikes3" parent="TileMap" instance=ExtResource( 3 )] -position = Vector2( 684, 12 ) +position = Vector2( 8, -16 ) [node name="DropThroughPlatform" parent="." instance=ExtResource( 11 )] -tile_data = PoolIntArray( -131072, 0, 0, -65512, 0, 0, -65511, 0, 0 ) +tile_data = PoolIntArray( ) [node name="TreeWhyButtons" parent="." instance=ExtResource( 8 )] position = Vector2( -108, -7 ) @@ -144,6 +120,9 @@ next_scene = ExtResource( 9 ) [node name="GameplaySignalManager" type="Node2D" parent="."] script = ExtResource( 10 ) +[node name="Spring" parent="." instance=ExtResource( 12 )] +position = Vector2( 272, -72 ) + [connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"] [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"]