From 43b38b242846d560a9267495463da6def70b94c4 Mon Sep 17 00:00:00 2001 From: TheRailGoat <128244062+TheRailGoat@users.noreply.github.com> Date: Wed, 28 Oct 2026 23:28:40 -0500 Subject: [PATCH] Saw updates + experimental new level --- double_block_s.tscn | 20 ++++ long_block_s.tscn | 20 ++++ longish_block_s.tscn | 20 ++++ saw.tscn | 12 +-- saw_swinging.gd | 5 +- saw_swinging.tscn | 4 +- saw_swinging_b.gd | 28 +++++ saw_swinging_b.gd.uid | 1 + saw_swinging_b.tscn | 190 ++++++++++++++++++++++++++++++++++ vertical_double_block_s.tscn | 21 ++++ vertical_long_block_s.tscn | 21 ++++ vertical_longish_block_s.tscn | 21 ++++ world.tscn | 149 +++++++++++++++++++++++++- 13 files changed, 500 insertions(+), 12 deletions(-) create mode 100644 double_block_s.tscn create mode 100644 long_block_s.tscn create mode 100644 longish_block_s.tscn create mode 100644 saw_swinging_b.gd create mode 100644 saw_swinging_b.gd.uid create mode 100644 saw_swinging_b.tscn create mode 100644 vertical_double_block_s.tscn create mode 100644 vertical_long_block_s.tscn create mode 100644 vertical_longish_block_s.tscn diff --git a/double_block_s.tscn b/double_block_s.tscn new file mode 100644 index 0000000..e497dfe --- /dev/null +++ b/double_block_s.tscn @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://1wpbevbqjvxc"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_4o75i"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="DoubleBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(2, 1) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +texture = ExtResource("1_4o75i") +region_enabled = true +region_rect = Rect2(-32, -16, 32, 16) diff --git a/long_block_s.tscn b/long_block_s.tscn new file mode 100644 index 0000000..24d593a --- /dev/null +++ b/long_block_s.tscn @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://c6n6v8ko733yd"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_m7sdc"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="LongBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(10, 1) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +texture = ExtResource("1_m7sdc") +region_enabled = true +region_rect = Rect2(-160, -16, 160, 16) diff --git a/longish_block_s.tscn b/longish_block_s.tscn new file mode 100644 index 0000000..fa3358b --- /dev/null +++ b/longish_block_s.tscn @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://co7sblp40sat2"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_l676e"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="LongishBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(5, 1) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +texture = ExtResource("1_l676e") +region_enabled = true +region_rect = Rect2(-80, -16, 80, 16) diff --git a/saw.tscn b/saw.tscn index ae165b7..913bc3b 100644 --- a/saw.tscn +++ b/saw.tscn @@ -5,8 +5,8 @@ [ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_tse5f"] [ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_yv4k5"] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] -size = Vector2(32, 26) +[sub_resource type="CircleShape2D" id="CircleShape2D_axvpk"] +radius = 16.0 [sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"] animations = [{ @@ -25,8 +25,8 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_3uo2v"] -size = Vector2(34, 28) +[sub_resource type="CircleShape2D" id="CircleShape2D_xp7he"] +radius = 18.0 [node name="Saw" type="RigidBody2D" unique_id=1409784601] gravity_scale = 0.0 @@ -34,7 +34,7 @@ freeze = true script = ExtResource("1_reoe3") [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] -shape = SubResource("RectangleShape2D_f3sb7") +shape = SubResource("CircleShape2D_axvpk") [node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=790714481] texture_filter = 1 @@ -48,7 +48,7 @@ rotation = -6.834404e-05 [node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308] position = Vector2(-18.999523, -7.0012984) -shape = SubResource("RectangleShape2D_3uo2v") +shape = SubResource("CircleShape2D_xp7he") [connection signal="body_entered" from="Area2D" to="." method="on_contact"] [connection signal="body_exited" from="Area2D" to="." method="on_leave"] diff --git a/saw_swinging.gd b/saw_swinging.gd index a7e260e..9a7f5e1 100644 --- a/saw_swinging.gd +++ b/saw_swinging.gd @@ -1,6 +1,7 @@ extends Node2D @export var max_distance = 260.0 +@export var spawn_delay = 0.0 var alt_position = Vector2(position.x + max_distance,0) @export var fullswing_cw = false @export var fullswing_ccw = false @@ -11,11 +12,13 @@ func _ready() -> void: alt_position = Vector2(position.x + max_distance,0) func _process(delta: float) -> void: + await get_tree().create_timer(spawn_delay).timeout if fullswing_cw: $AnimationPlayer.play("fullswing_cw") elif fullswing_ccw: $AnimationPlayer.play("fullswing_ccw") elif halfswing_cw: $AnimationPlayer.play("halfswing_cw") + elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw") else: - $AnimationPlayer.play("halfswing_ccw") + $AnimationPlayer.play("RESET") %Player2D.is_on_moving_platform = false func on_contact(body: Node2D) -> void: diff --git a/saw_swinging.tscn b/saw_swinging.tscn index 2467f33..f6041e1 100644 --- a/saw_swinging.tscn +++ b/saw_swinging.tscn @@ -70,7 +70,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [1.5707963267948966, -1.5707963267948966] +"values": [1.3089969389957472, -1.3089969389957472] } [sub_resource type="Animation" id="Animation_g2k3i"] @@ -87,7 +87,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [-1.5707963267948966, 1.5707963267948966] +"values": [-1.3089969389957472, 1.3089969389957472] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"] diff --git a/saw_swinging_b.gd b/saw_swinging_b.gd new file mode 100644 index 0000000..c104e19 --- /dev/null +++ b/saw_swinging_b.gd @@ -0,0 +1,28 @@ +extends Node2D + +@export var max_distance = 260.0 +@export var spawn_delay = 0.0 +var alt_position = Vector2(position.x + max_distance,0) +@export var halfswing_cw = false +@export var halfswing_ccw = false +@export var halfswing_cw_2 = false +@export var halfswing_ccw_2 = false + +func _ready() -> void: + alt_position = Vector2(position.x + max_distance,0) + +func _process(delta: float) -> void: + await get_tree().create_timer(spawn_delay).timeout + if halfswing_cw: $AnimationPlayer.play("halfswing_cw") + elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw") + elif halfswing_cw_2: $AnimationPlayer.play("halfswing_cw_2") + elif halfswing_ccw_2: $AnimationPlayer.play("halfswing_ccw_2") + else: + $AnimationPlayer.play("RESET") + %Player2D.is_on_moving_platform = false + +func on_contact(body: Node2D) -> void: + if body==%Player2D and %Player2D.death_cooldown == 0: + print("SLASH KILL") + %Player2D/Jetpack/DeathSound.play() + %Player2D.on_death(false,%Player2D.position) diff --git a/saw_swinging_b.gd.uid b/saw_swinging_b.gd.uid new file mode 100644 index 0000000..ccd9b5e --- /dev/null +++ b/saw_swinging_b.gd.uid @@ -0,0 +1 @@ +uid://chhyeigrkk5ux diff --git a/saw_swinging_b.tscn b/saw_swinging_b.tscn new file mode 100644 index 0000000..28417d1 --- /dev/null +++ b/saw_swinging_b.tscn @@ -0,0 +1,190 @@ +[gd_scene format=3 uid="uid://c4o2dhhuwq4ty"] + +[ext_resource type="Script" uid="uid://chhyeigrkk5ux" path="res://saw_swinging_b.gd" id="1_xp7he"] +[ext_resource type="Texture2D" uid="uid://d22jcb3da431q" path="res://art/saw_chain.png" id="2_axvpk"] +[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="3_rlgbm"] +[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="4_42yyr"] +[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="5_xd3ji"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"] +radius = 16.0 + +[sub_resource type="Animation" id="Animation_vwlp5"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_3wt0e"] +resource_name = "fullswing_ccw" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, -6.2831855] +} + +[sub_resource type="Animation" id="Animation_31jf1"] +resource_name = "fullswing_cw" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 6.2831855] +} + +[sub_resource type="Animation" id="Animation_x3ve6"] +resource_name = "halfswing_ccw" +length = 4.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 5 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1, 2, 3, 4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0.0, -1.3089969389957472, 0.0, 1.3089969389957472, 0.0] +} + +[sub_resource type="Animation" id="Animation_xp7he"] +resource_name = "halfswing_ccw_2" +length = 4.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 5 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1, 2, 3, 4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [3.141592653589793, 1.8325957145940461, 3.141592653589793, 4.4505895925855405, 3.141592653589793] +} + +[sub_resource type="Animation" id="Animation_g2k3i"] +resource_name = "halfswing_cw" +length = 4.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 5 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1, 2, 3, 4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0.0, 1.3089969389957472, 0.0, -1.3089969389957472, 0.0] +} + +[sub_resource type="Animation" id="Animation_axvpk"] +resource_name = "halfswing_cw_2" +length = 4.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 5 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1, 2, 3, 4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [3.141592653589793, 4.4505895925855405, 3.141592653589793, 1.8325957145940461, 3.141592653589793] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"] +_data = { +&"RESET": SubResource("Animation_vwlp5"), +&"fullswing_ccw": SubResource("Animation_3wt0e"), +&"fullswing_cw": SubResource("Animation_31jf1"), +&"halfswing_ccw": SubResource("Animation_x3ve6"), +&"halfswing_ccw_2": SubResource("Animation_xp7he"), +&"halfswing_cw": SubResource("Animation_g2k3i"), +&"halfswing_cw_2": SubResource("Animation_axvpk") +} + +[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"] +animations = [{ +"frames": [{ +"duration": 0.3, +"texture": ExtResource("3_rlgbm") +}, { +"duration": 0.3, +"texture": ExtResource("4_42yyr") +}, { +"duration": 0.3, +"texture": ExtResource("5_xd3ji") +}], +"loop": 1, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"] +radius = 18.0 + +[node name="SawSwingingB" type="AnimatableBody2D" unique_id=1098290500] +script = ExtResource("1_xp7he") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557] +position = Vector2(1.5195612e-05, 76) +shape = SubResource("CircleShape2D_ryup7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=141912847] +position = Vector2(5.9447484e-06, 34) +texture = ExtResource("2_axvpk") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574] +libraries/ = SubResource("AnimationLibrary_3wt0e") +speed_scale = 1.5 + +[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152] +texture_filter = 1 +position = Vector2(1.5195612e-05, 76) +sprite_frames = SubResource("SpriteFrames_lmieu") +autoplay = "default" +frame_progress = 0.40998712 + +[node name="Area2D" type="Area2D" parent="." unique_id=1356546922] +position = Vector2(19.000013, 83) +rotation = -6.834404e-05 + +[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592] +position = Vector2(-18.999523, -7.0012984) +shape = SubResource("CircleShape2D_vwlp5") + +[connection signal="body_entered" from="Area2D" to="." method="on_contact"] diff --git a/vertical_double_block_s.tscn b/vertical_double_block_s.tscn new file mode 100644 index 0000000..0906993 --- /dev/null +++ b/vertical_double_block_s.tscn @@ -0,0 +1,21 @@ +[gd_scene format=3 uid="uid://c6u0t3ur7qbj6"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_78i3v"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="VerticalDoubleBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(1, 2.29) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +rotation = 1.5707964 +texture = ExtResource("1_78i3v") +region_enabled = true +region_rect = Rect2(-32, 16, 32, 16) diff --git a/vertical_long_block_s.tscn b/vertical_long_block_s.tscn new file mode 100644 index 0000000..dcef000 --- /dev/null +++ b/vertical_long_block_s.tscn @@ -0,0 +1,21 @@ +[gd_scene format=3 uid="uid://cdgp3pqy2ioid"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_514qt"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="VerticalLongBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(1, 11.4) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +rotation = 1.5707964 +texture = ExtResource("1_514qt") +region_enabled = true +region_rect = Rect2(-160, 16, 160, 16) diff --git a/vertical_longish_block_s.tscn b/vertical_longish_block_s.tscn new file mode 100644 index 0000000..946c128 --- /dev/null +++ b/vertical_longish_block_s.tscn @@ -0,0 +1,21 @@ +[gd_scene format=3 uid="uid://bydpw6svxkwk4"] + +[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_74jic"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(16, 14) + +[node name="VerticalLongishBlockS" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +scale = Vector2(1, 5.7) +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture_repeat = 2 +rotation = 1.5707964 +texture = ExtResource("1_74jic") +region_enabled = true +region_rect = Rect2(-80, 16, 80, 16) diff --git a/world.tscn b/world.tscn index 402f979..33a9289 100644 --- a/world.tscn +++ b/world.tscn @@ -40,6 +40,13 @@ [ext_resource type="PackedScene" uid="uid://bnuiagw3bblfh" path="res://hat_pickup.tscn" id="38_yx0jh"] [ext_resource type="PackedScene" uid="uid://b4221qweamyvs" path="res://level_border_block_v.tscn" id="39_ryup7"] [ext_resource type="PackedScene" uid="uid://dgxovyasrduo5" path="res://saw_swinging.tscn" id="40_ryup7"] +[ext_resource type="PackedScene" uid="uid://cdgp3pqy2ioid" path="res://vertical_long_block_s.tscn" id="41_xpnt2"] +[ext_resource type="PackedScene" uid="uid://c6n6v8ko733yd" path="res://long_block_s.tscn" id="42_ruyqm"] +[ext_resource type="PackedScene" uid="uid://bydpw6svxkwk4" path="res://vertical_longish_block_s.tscn" id="43_fnoqa"] +[ext_resource type="PackedScene" uid="uid://c6u0t3ur7qbj6" path="res://vertical_double_block_s.tscn" id="44_nx736"] +[ext_resource type="PackedScene" uid="uid://1wpbevbqjvxc" path="res://double_block_s.tscn" id="45_55kwu"] +[ext_resource type="PackedScene" uid="uid://c4o2dhhuwq4ty" path="res://saw_swinging_b.tscn" id="46_ruyqm"] +[ext_resource type="PackedScene" uid="uid://hqmkjtv5shyk" path="res://down_spike.tscn" id="47_fnoqa"] [node name="World" type="Node2D" unique_id=1327991900] process_mode = 1 @@ -2800,7 +2807,7 @@ position = Vector2(-7021, -687.29034) paired_teleporter = "LVL1B" [node name="TeleporterLv1A" parent="." unique_id=789720442 instance=ExtResource("4_gbfbk")] -position = Vector2(-5227, -1803.8909) +position = Vector2(-5228, -1644.3766) paired_teleporter = "LVL1A" [node name="TeleporterLv1B" parent="." unique_id=1909239859 instance=ExtResource("4_gbfbk")] @@ -2827,10 +2834,146 @@ position = Vector2(-7031, -151.63712) position = Vector2(-5048, -1800.937) fullswing_cw = true -[node name="Block31" parent="." unique_id=531402933 instance=ExtResource("2_036b0")] -position = Vector2(-5048, -1799.9523) +[node name="SawSwinging7" parent="." unique_id=564257755 instance=ExtResource("40_ryup7")] +position = Vector2(-5131, -2056.9465) +spawn_delay = 1.5 +fullswing_ccw = true + +[node name="SawSwinging8" parent="." unique_id=1057653964 instance=ExtResource("40_ryup7")] +position = Vector2(-5265, -2056.9465) +fullswing_cw = true + +[node name="SawSwinging2" parent="." unique_id=1548905534 instance=ExtResource("40_ryup7")] +position = Vector2(-4788, -1800.937) +fullswing_cw = true + +[node name="SawSwinging3" parent="." unique_id=1600959540 instance=ExtResource("40_ryup7")] +position = Vector2(-4583, -1694.5941) +fullswing_cw = true + +[node name="SawSwinging4" parent="." unique_id=1089263633 instance=ExtResource("40_ryup7")] +position = Vector2(-4583, -1890.5406) +fullswing_ccw = true [node name="Saw6" parent="." unique_id=960224204 instance=ExtResource("37_my276")] position = Vector2(-4916, -1799.9523) +[node name="Saw7" parent="." unique_id=1044426919 instance=ExtResource("37_my276")] +position = Vector2(-4916, -1650.2844) + +[node name="Saw10" parent="." unique_id=1793805616 instance=ExtResource("37_my276")] +position = Vector2(-4916, -1545.9109) + +[node name="Saw13" parent="." unique_id=1372152815 instance=ExtResource("37_my276")] +position = Vector2(-5161, -1545.9109) + +[node name="Saw11" parent="." unique_id=1617763882 instance=ExtResource("37_my276")] +position = Vector2(-4376, -2048.0857) + +[node name="Saw12" parent="." unique_id=316237595 instance=ExtResource("37_my276")] +position = Vector2(-4376, -1542.9564) + +[node name="Saw8" parent="." unique_id=855093163 instance=ExtResource("37_my276")] +position = Vector2(-4621, -1567.5734) + +[node name="Saw9" parent="." unique_id=1835080331 instance=ExtResource("37_my276")] +position = Vector2(-4545, -1567.5734) + +[node name="VerticalLongBlockS" parent="." unique_id=1771329865 instance=ExtResource("41_xpnt2")] +position = Vector2(-5131, -1974.2366) + +[node name="VerticalLongBlockS2" parent="." unique_id=1534400762 instance=ExtResource("41_xpnt2")] +position = Vector2(-5131, -1621.7292) + +[node name="VerticalLongBlockS6" parent="." unique_id=483239911 instance=ExtResource("41_xpnt2")] +position = Vector2(-5192, -1621.7292) + +[node name="VerticalLongBlockS7" parent="." unique_id=1103722376 instance=ExtResource("41_xpnt2")] +position = Vector2(-5192, -1781.2434) + +[node name="VerticalLongBlockS8" parent="." unique_id=1021386434 instance=ExtResource("41_xpnt2")] +position = Vector2(-5192, -1923.0339) + +[node name="VerticalLongBlockS3" parent="." unique_id=1935447756 instance=ExtResource("41_xpnt2")] +position = Vector2(-5131, -1878.7252) + +[node name="LongBlockS" parent="." unique_id=366742113 instance=ExtResource("42_ruyqm")] +position = Vector2(-5045, -1921.0651) + +[node name="VerticalLongishBlockS" parent="." unique_id=2077142940 instance=ExtResource("43_fnoqa")] +position = Vector2(-4972, -1966.3594) + +[node name="VerticalLongishBlockS2" parent="." unique_id=553307512 instance=ExtResource("43_fnoqa")] +position = Vector2(-4847, -1580.3744) + +[node name="VerticalDoubleBlockS" parent="." unique_id=1030244604 instance=ExtResource("44_nx736")] +position = Vector2(-4972, -2022.4846) + +[node name="VerticalDoubleBlockS2" parent="." unique_id=1638795877 instance=ExtResource("44_nx736")] +position = Vector2(-4982, -1555.7573) + +[node name="Block35" parent="." unique_id=780204810 instance=ExtResource("25_mc2jv")] +position = Vector2(-4972, -2045.1316) + +[node name="DoubleBlockS" parent="." unique_id=1178926121 instance=ExtResource("45_55kwu")] +position = Vector2(-5048, -1801.9218) + +[node name="DoubleBlockS2" parent="." unique_id=1252003938 instance=ExtResource("45_55kwu")] +position = Vector2(-4788, -1801.9218) + +[node name="SawSwinging5" parent="." unique_id=1227610881 instance=ExtResource("40_ryup7")] +position = Vector2(-4352, -1796.0132) +fullswing_cw = true + +[node name="SawSwinging6" parent="." unique_id=87552658 instance=ExtResource("40_ryup7")] +position = Vector2(-4352, -1796.0132) +scale = Vector2(-1, -1) +spawn_delay = 1.0 +fullswing_cw = true + +[node name="DoubleBlockS5" parent="." unique_id=1778950439 instance=ExtResource("45_55kwu")] +position = Vector2(-4352, -1796.9985) + +[node name="DoubleBlockS3" parent="." unique_id=1205670033 instance=ExtResource("45_55kwu")] +position = Vector2(-4583, -1891.5259) + +[node name="DoubleBlockS4" parent="." unique_id=785942200 instance=ExtResource("45_55kwu")] +position = Vector2(-4583, -1695.5793) + +[node name="SawSwingingB" parent="." unique_id=1184270235 instance=ExtResource("46_ruyqm")] +position = Vector2(-4696, -2053.0088) +halfswing_cw = true + +[node name="SawSwingingB2" parent="." unique_id=345082484 instance=ExtResource("46_ruyqm")] +position = Vector2(-4483, -2053.0088) +spawn_delay = 0.3 +halfswing_ccw = true + +[node name="SawSwingingB3" parent="." unique_id=225166195 instance=ExtResource("46_ruyqm")] +position = Vector2(-5055, -1533.1104) +halfswing_cw_2 = true + +[node name="SawSwingingB4" parent="." unique_id=1694721354 instance=ExtResource("46_ruyqm")] +position = Vector2(-4790, -1533.1105) +spawn_delay = 0.3 +halfswing_ccw_2 = true + +[node name="VerticalLongBlockS4" parent="." unique_id=1000566359 instance=ExtResource("41_xpnt2")] +position = Vector2(-4352, -1973.2518) + +[node name="VerticalLongBlockS5" parent="." unique_id=1164828260 instance=ExtResource("41_xpnt2")] +position = Vector2(-4352, -1620.7446) + +[node name="Pharaoh8" parent="." unique_id=1265608911 instance=ExtResource("15_hiqwa")] +position = Vector2(-5228, -1540.9878) + +[node name="Spike19" parent="." unique_id=1013613610 instance=ExtResource("47_fnoqa")] +position = Vector2(-4920, -2045.1318) + +[node name="Spike20" parent="." unique_id=722069947 instance=ExtResource("47_fnoqa")] +position = Vector2(-4904, -2045.1318) + +[node name="Spike21" parent="." unique_id=755059167 instance=ExtResource("47_fnoqa")] +position = Vector2(-4870, -2045.1318) + [connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]