5959[ext_resource type ="PackedScene" uid ="uid://dgrrudegturnw" path ="res://scenes/game_elements/characters/npcs/townie.tscn" id ="54_duxxr" ]
6060[ext_resource type ="PackedScene" uid ="uid://daqd67aro1o1m" path ="res://scenes/game_elements/fx/time_and_weather/time_and_weather.tscn" id ="55_ojao8" ]
6161[ext_resource type ="Script" uid ="uid://cbj0406q05dly" path ="res://scenes/game_elements/props/hint/input_key/interact_input.gd" id ="55_wymun" ]
62+ [ext_resource type ="Texture2D" uid ="uid://ctwx8gghts62p" path ="res://assets/third_party/tiny-swords/Deco/06.png" id ="56_7kfal" ]
6263[ext_resource type ="Script" uid ="uid://edcifob4jc4s" path ="res://scenes/game_logic/talk_behavior.gd" id ="56_ojao8" ]
64+ [ext_resource type ="Texture2D" uid ="uid://c7oht7wudd8wa" path ="res://assets/first_party/tiles/Cliff_Tiles.png" id ="57_7n6eg" ]
65+ [ext_resource type ="Texture2D" uid ="uid://ciwy8mfi0mv65" path ="res://scenes/quests/story_quests/after_the_tremor/0_intro/Imagenes/ball_free.png" id ="57_8dti7" ]
66+ [ext_resource type ="Texture2D" uid ="uid://pjdmmuwvkw14" path ="res://assets/third_party/tiny-swords-non-cc0/Terrain/Resources/Gold/Gold Stones/Gold Stone 6.png" id ="57_bu3x1" ]
67+ [ext_resource type ="Texture2D" uid ="uid://dlpjjca2udf42" path ="res://scenes/game_elements/props/button_item/components/button-shadow.png" id ="58_7hq0m" ]
6368[ext_resource type ="Script" uid ="uid://uaaaiviytliw" path ="res://scenes/world_map/components/quest_progress_unlocker.gd" id ="58_ojao8" ]
69+ [ext_resource type ="Texture2D" uid ="uid://d0ss8ifqbuj2i" path ="res://assets/third_party/tiny-swords-non-cc0/Terrain/Tileset/Shadow.png" id ="59_16ifw" ]
6470[ext_resource type ="Script" uid ="uid://dts1hwdy3phin" path ="res://scenes/menus/storybook/components/quest.gd" id ="59_qgpx3" ]
6571[ext_resource type ="Resource" uid ="uid://t50glay2iqhg" path ="res://scenes/quests/lore_quests/quest_002/quest.tres" id ="60_6b07c" ]
6672[ext_resource type ="Script" uid ="uid://0enyu5v4ra34" path ="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id ="61_6b07c" ]
73+ [ext_resource type ="Texture2D" uid ="uid://uy2acspf6apo" path ="res://scenes/game_elements/props/lever/components/Lever.png" id ="62_p2k53" ]
6774[ext_resource type ="Script" uid ="uid://hqdquinbimce" path ="res://scenes/game_elements/props/teleporter/teleporter.gd" id ="62_t7c6s" ]
75+ [ext_resource type ="Script" uid ="uid://dunsvrhq42214" path ="res://scenes/game_elements/fx/shaker/components/shaker.gd" id ="63_a070f" ]
6876[ext_resource type ="PackedScene" uid ="uid://covsdqqsd6rsy" path ="res://scenes/game_elements/props/sign/sign.tscn" id ="64_uxfrp" ]
6977
7078[sub_resource type ="RectangleShape2D" id ="RectangleShape2D_duxxr" ]
@@ -82,6 +90,186 @@ size = Vector2(52, 61)
8290[sub_resource type ="RectangleShape2D" id ="RectangleShape2D_ulm71" ]
8391size = Vector2 (128 , 128 )
8492
93+ [sub_resource type ="PhysicsMaterial" id ="PhysicsMaterial_16ifw" ]
94+
95+ [sub_resource type ="GDScript" id ="GDScript_bu3x1" ]
96+ script/source = "# SPDX-FileCopyrightText: The Threadbare Authors
97+ # SPDX-License-Identifier: MPL-2.0
98+ extends RigidBody2D
99+
100+ var tween : Tween
101+
102+
103+ func got_repelled (direction : Vector2 ) -> void :
104+ var hit_vector : Vector2 = direction * 300.0
105+ linear_velocity = Vector2 .ZERO
106+ apply_impulse (hit_vector )
107+ "
108+
109+ [sub_resource type ="CapsuleShape2D" id ="CapsuleShape2D_7n6eg" ]
110+ radius = 11.0
111+ height = 36.0
112+
113+ [sub_resource type ="PhysicsMaterial" id ="PhysicsMaterial_bu3x1" ]
114+ friction = 0.5
115+ bounce = 1.0
116+
117+ [sub_resource type ="GDScript" id ="GDScript_8dti7" ]
118+ script/source = "# SPDX-FileCopyrightText: The Threadbare Authors
119+ # SPDX-License-Identifier: MPL-2.0
120+ extends RigidBody2D
121+
122+ var tween : Tween
123+
124+
125+ func got_repelled (direction : Vector2 ) -> void :
126+ var hit_vector : Vector2 = direction * 300.0
127+ linear_damp = 2
128+ linear_velocity = Vector2 .ZERO
129+ apply_impulse (hit_vector )
130+
131+
132+ func _on_sleeping_state_changed () -> void :
133+ linear_damp = 10
134+ "
135+
136+ [sub_resource type ="CircleShape2D" id ="CircleShape2D_bu3x1" ]
137+ radius = 19.104973
138+
139+ [sub_resource type ="GDScript" id ="GDScript_7kfal" ]
140+ script/source = "# SPDX-FileCopyrightText: The Threadbare Authors
141+ # SPDX-License-Identifier: MPL-2.0
142+ extends RigidBody2D
143+
144+
145+ func get_closest_axis (vector : Vector2 ) -> Vector2 :
146+ if abs (vector .x ) > abs (vector .y ):
147+ # Closer to Horizontal (X-axis)
148+ return Vector2 (sign (vector .x ), 0 )
149+ else :
150+ # Closer to Vertical (Y-axis)
151+ return Vector2 (0 , sign (vector .y ))
152+
153+
154+ func got_repelled (direction : Vector2 ) -> void :
155+ var hit_vector : Vector2 = get_closest_axis (direction ) * 100.0
156+ linear_velocity = Vector2 .ZERO
157+ apply_impulse (hit_vector )
158+ "
159+
160+ [sub_resource type ="CapsuleShape2D" id ="CapsuleShape2D_bu3x1" ]
161+ radius = 19.0
162+ height = 64.0
163+
164+ [sub_resource type ="GDScript" id ="GDScript_7n6eg" ]
165+ script/source = "# SPDX-FileCopyrightText: The Threadbare Authors
166+ # SPDX-License-Identifier: MPL-2.0
167+ extends AnimatableBody2D
168+
169+ const NEIGHBORS_FOR_AXIS : Dictionary [Vector2i , TileSet .CellNeighbor ] = {
170+ Vector2i .DOWN : TileSet .CELL_NEIGHBOR_BOTTOM_SIDE ,
171+ Vector2i .LEFT : TileSet .CELL_NEIGHBOR_LEFT_SIDE ,
172+ Vector2i .UP : TileSet .CELL_NEIGHBOR_TOP_SIDE ,
173+ Vector2i .RIGHT : TileSet .CELL_NEIGHBOR_RIGHT_SIDE ,
174+ }
175+
176+ @export var constrain_layer : TileMapLayer
177+
178+ @onready var shaker : Shaker = $ Shaker
179+
180+ var tween : Tween
181+
182+
183+ func global_position_to_tile_coordinate (global_pos : Vector2 ) -> Vector2i :
184+ return constrain_layer .local_to_map (constrain_layer .to_local (global_pos ))
185+
186+ func tile_coordinate_to_global_position (coord : Vector2i ) -> Vector2 :
187+ return constrain_layer .map_to_local (coord )
188+
189+ func _ready () -> void :
190+ # Put this object on the grid:
191+ var coord := global_position_to_tile_coordinate (global_position )
192+ global_position = tile_coordinate_to_global_position (coord )
193+
194+
195+ func get_closest_axis (vector : Vector2 ) -> Vector2i :
196+ if abs (vector .x ) > abs (vector .y ):
197+ # Closer to Horizontal (X-axis)
198+ return Vector2i (sign (vector .x ), 0 )
199+ else :
200+ # Closer to Vertical (Y-axis)
201+ return Vector2i (0 , sign (vector .y ))
202+
203+
204+ func got_repelled (direction : Vector2 ) -> void :
205+ var axis := get_closest_axis (direction )
206+ var neighbor := NEIGHBORS_FOR_AXIS [axis ]
207+ var coord := global_position_to_tile_coordinate (global_position )
208+ assert (constrain_layer .get_cell_tile_data (coord ) != null )
209+ var new_coord := constrain_layer .get_neighbor_cell (coord , neighbor )
210+ var data := constrain_layer .get_cell_tile_data (new_coord )
211+ if not data :
212+ shaker .shake ()
213+ return
214+
215+ if tween :
216+ if tween .is_running ():
217+ return
218+ else :
219+ tween .kill ()
220+ tween = create_tween ()
221+ tween .set_ease (Tween .EASE_OUT )
222+ var new_position := position + Vector2 (axis ) * 64
223+ tween .tween_property (self , \"position\", new_position, .2)
224+ "
225+
226+ [sub_resource type=" AtlasTexture " id=" AtlasTexture_bu3x1 "]
227+ atlas = ExtResource(" 57_7 n6 eg")
228+ region = Rect2(192, 256, 64, 128)
229+
230+ [sub_resource type=" RectangleShape2D " id=" RectangleShape2D_8dti7 "]
231+ size = Vector2(64, 64)
232+
233+ [sub_resource type=" GDScript " id=" GDScript_p2k53 "]
234+ script/source = " # SPDX-FileCopyrightText: The Threadbare Authors
235+ # SPDX-License-Identifier: MPL-2.0
236+ extends StaticBody2D
237+
238+ const FRAME_FOR_SIDE : Dictionary [Enums .LookAtSide , int ] = {
239+ Enums .LookAtSide .LEFT : 0 ,
240+ Enums .LookAtSide .RIGHT : 1 ,
241+ }
242+
243+ @onready var lever_sprite : Sprite2D = $ LeverSprite
244+ @onready var shaker : Shaker = $ Shaker
245+
246+ var lever_side : Enums .LookAtSide = Enums .LookAtSide .LEFT :
247+ set = set_lever_side
248+
249+ func set_lever_side (new_side : Enums .LookAtSide ) -> void :
250+ lever_side = new_side
251+ lever_sprite .frame = FRAME_FOR_SIDE [lever_side ]
252+
253+ func _ready () -> void :
254+ set_lever_side (lever_side )
255+
256+
257+ func got_repelled (direction : Vector2 ) -> void :
258+ var sign_x := signf (direction .x )
259+ var new_side : Enums .LookAtSide
260+ if sign_x == 1 :
261+ new_side = Enums .LookAtSide .RIGHT
262+ elif sign_x == - 1 :
263+ new_side = Enums .LookAtSide .LEFT
264+ if new_side == lever_side :
265+ shaker .shake ()
266+ else :
267+ lever_side = new_side
268+ "
269+
270+ [sub_resource type=" CapsuleShape2D " id=" CapsuleShape2D_p2k53 "]
271+ height = 58.0
272+
85273[node name=" FraysEnd " type=" Node2D " unique_id=1849947277]
86274script = ExtResource(" 1_4 gse6 ")
87275metadata/_edit_lock_ = true
@@ -125,7 +313,7 @@ tile_map_data = PackedByteArray("AAAaAAYABgACAAAAAAAaAAcABgACAAIAAAAZAAcABgABAAI
125313tile_set = ExtResource(" 7_ r1 ek1 ")
126314
127315[node name=" Paths_Level1 " type=" TileMapLayer " parent=" TileMapLayers " unique_id=971351640]
128- tile_map_data = PackedByteArray ("AAARAA0AAQAHAAIAAAARAAwAAQAHAAEAAAAQAA0AAQAGAAIAAAAQAAwAAQAGAAEAAAAPAA4AAQAIAAEAAAAPAA0AAQAGAAEAAAAPAAwAAQAGAAEAAAAOAA0AAQAGAAIAAAAOAAwAAQAGAAEAAAANAA0AAQAFAAIAAAANAAwAAQAFAAEAAAARAAsAAQAHAAEAAAAQAAsAAQAGAAEAAAAPABEAAQAIAAEAAAAPABAAAQAIAAEAAAAPAA8AAQAIAAEAAAAPAAsAAQAGAAEAAAAOAAsAAQAGAAEAAAANAAsAAQAFAAEAAAAPABkAAQAHAAIAAAAPABgAAQAIAAEAAAAOABkAAQAGAAMAAAAPABcAAQAIAAAAAAAPABMAAQAIAAIAAAABABkAAQAGAAAAAAACABkAAQAGAAAAAAADABkAAQAGAAAAAAAEABkAAQAGAAMAAAAFABkAAQAGAAMAAAAGABkAAQAGAAMAAAAHABkAAQAGAAMAAAAIABkAAQAGAAMAAAAJABkAAQAGAAMAAAAKABkAAQAGAAMAAAALABkAAQAGAAMAAAAMABkAAQAGAAMAAAANABkAAQAGAAMAAAAAABkAAQAFAAAAAAAAABoAAQAFAAEAAAABABoAAQAGAAEAAAACABoAAQAGAAEAAAADABoAAQAHAAEAAAAAABsAAQAFAAIAAAABABsAAQAGAAIAAAACABsAAQAGAAIAAAADABsAAQAHAAIAAAAPABIAAQAIAAEAAAARAAoAAQAHAAEAAAANAAoAAQAFAAEAAAANAAkAAQAFAAAAAAAOAAkAAQAGAAAAAAAPAAkAAQAGAAAAAAAQAAkAAQAGAAAAAAARAAkAAQAHAAAAAAAOAAoAAQAGAAEAAAAPAAoAAQAGAAEAAAAQAAoAAQAGAAEAAAA =" )
316+ tile_map_data = PackedByteArray(" AAARAA0AAQAHAAIAAAARAAwAAQAHAAEAAAAQAA0AAQAGAAIAAAAQAAwAAQAGAAEAAAAPAA4AAQAIAAEAAAAPAA0AAQAGAAEAAAAPAAwAAQAGAAEAAAAOAA0AAQAGAAIAAAAOAAwAAQAGAAEAAAANAA0AAQAFAAIAAAANAAwAAQAFAAEAAAARAAsAAQAHAAEAAAAQAAsAAQAGAAEAAAAPABEAAQAIAAEAAAAPABAAAQAIAAEAAAAPAA8AAQAIAAEAAAAPAAsAAQAGAAEAAAAOAAsAAQAGAAEAAAANAAsAAQAFAAEAAAAPABkAAQAHAAIAAAAPABgAAQAIAAEAAAAOABkAAQAGAAMAAAAPABcAAQAIAAAAAAAPABMAAQAGAAIAAAABABkAAQAGAAAAAAACABkAAQAGAAAAAAADABkAAQAGAAAAAAAEABkAAQAGAAMAAAAFABkAAQAGAAMAAAAGABkAAQAGAAMAAAAHABkAAQAGAAMAAAAIABkAAQAGAAMAAAAJABkAAQAGAAMAAAAKABkAAQAGAAMAAAALABkAAQAGAAMAAAAMABkAAQAGAAMAAAANABkAAQAGAAMAAAAAABkAAQAFAAAAAAAAABoAAQAFAAEAAAABABoAAQAGAAEAAAACABoAAQAGAAEAAAADABoAAQAHAAEAAAAAABsAAQAFAAIAAAABABsAAQAGAAIAAAACABsAAQAGAAIAAAADABsAAQAHAAIAAAAPABIAAQAGAAEAAAARAAoAAQAHAAEAAAANAAoAAQAFAAEAAAANAAkAAQAFAAAAAAAOAAkAAQAGAAAAAAAPAAkAAQAGAAAAAAAQAAkAAQAGAAAAAAARAAkAAQAHAAAAAAAOAAoAAQAGAAEAAAAPAAoAAQAGAAEAAAAQAAoAAQAGAAEAAAAOABMAAQAFAAIAAAAQABMAAQAHAAIAAAAOABIAAQAFAAAAAAAQABIAAQAHAAAAAAA = ")
129317tile_set = ExtResource(" 7_ r1 ek1 ")
130318
131319[node name=" Paths_Level2 " type=" TileMapLayer " parent=" TileMapLayers " unique_id=1784740911]
@@ -1144,6 +1332,145 @@ shape = SubResource("RectangleShape2D_ulm71")
11441332position = Vector2(95, 664)
11451333text = " West End "
11461334
1335+ [node name=" RepellableRock " type=" RigidBody2D " parent=" OnTheGround " unique_id=1901173256]
1336+ editor_description = " A repellable rock .
1337+
1338+ It 's in collision layer repellable for it to work, and has a got_repelled() method defined.
1339+
1340+ It has some dumping to simulate friction that' s why it stops (unlike the ice cube )."
1341+ position = Vector2(913, 868)
1342+ collision_layer = 768
1343+ collision_mask = 531
1344+ physics_material_override = SubResource(" PhysicsMaterial_16ifw ")
1345+ lock_rotation = true
1346+ linear_damp = 2.0
1347+ script = SubResource(" GDScript_bu3x1 ")
1348+
1349+ [node name=" Sprite2D " type=" Sprite2D " parent=" OnTheGround / RepellableRock " unique_id=513881379]
1350+ position = Vector2(-2, -3)
1351+ texture = ExtResource(" 56_7 kfal")
1352+
1353+ [node name=" CollisionShape2D " type=" CollisionShape2D " parent=" OnTheGround / RepellableRock " unique_id=589342826]
1354+ rotation = -1.5707964
1355+ shape = SubResource(" CapsuleShape2D_7n6eg ")
1356+
1357+ [node name=" BallAnchor " type=" Node2D " parent=" OnTheGround " unique_id=1725206225]
1358+ position = Vector2(1136, 1007)
1359+
1360+ [node name=" Sprite2D " type=" Sprite2D " parent=" OnTheGround / BallAnchor " unique_id=2045011868]
1361+ position = Vector2(0, -30)
1362+ scale = Vector2(2.489, 2)
1363+ texture = ExtResource(" 58_7 hq0 m")
1364+ hframes = 4
1365+
1366+ [node name=" BallSprite " type=" Sprite2D " parent=" OnTheGround / BallAnchor " unique_id=1585779611]
1367+ position = Vector2(0, -17)
1368+ scale = Vector2(0.18770815, 0.18770815)
1369+ texture = ExtResource(" 57_8 dti7 ")
1370+
1371+ [node name=" RepellableBall " type=" RigidBody2D " parent=" OnTheGround " unique_id=1394157854]
1372+ editor_description = " A repellable ball .
1373+ "
1374+ position = Vector2(1136, 1007)
1375+ scale = Vector2(0.99999994, 0.99999994)
1376+ collision_layer = 256
1377+ collision_mask = 531
1378+ mass = 0.1
1379+ physics_material_override = SubResource(" PhysicsMaterial_bu3x1 ")
1380+ linear_damp = 20.0
1381+ angular_damp = 2.0
1382+ script = SubResource(" GDScript_8dti7 ")
1383+
1384+ [node name=" CollisionShape2D " type=" CollisionShape2D " parent=" OnTheGround / RepellableBall " unique_id=271750635]
1385+ rotation = -1.5707964
1386+ shape = SubResource(" CircleShape2D_bu3x1 ")
1387+ debug_color = Color(0.9570816, 1.0588765e-06, 0.5370912, 0.41960785)
1388+
1389+ [node name=" RemoteTransform2D " type=" RemoteTransform2D " parent=" OnTheGround / RepellableBall " unique_id=1152753866]
1390+ position = Vector2(-1.1920929e-07, -1.9073486e-06)
1391+ scale = Vector2(0.18770815, 0.18770815)
1392+ remote_path = NodePath(" ../ ../ BallAnchor ")
1393+ update_rotation = false
1394+ update_scale = false
1395+
1396+ [node name=" RemoteTransform2D2 " type=" RemoteTransform2D " parent=" OnTheGround / RepellableBall " unique_id=650646433]
1397+ position = Vector2(-1.1920929e-07, -1.9073486e-06)
1398+ scale = Vector2(0.18770815, 0.18770815)
1399+ remote_path = NodePath(" ../ ../ BallAnchor / BallSprite ")
1400+ update_position = false
1401+ update_scale = false
1402+
1403+ [node name=" RepellableIceCube " type=" RigidBody2D " parent=" OnTheGround " unique_id=1744685581]
1404+ editor_description = " A repellable ice cube .
1405+
1406+ The got_repelled () method constrains the direction to the 4 axis (top , down , left , right ).
1407+
1408+ Has no damping so it moves until it hits a wall or something ."
1409+ position = Vector2(1204, 899)
1410+ collision_layer = 768
1411+ collision_mask = 531
1412+ lock_rotation = true
1413+ script = SubResource(" GDScript_7kfal ")
1414+
1415+ [node name=" Sprite2D " type=" Sprite2D " parent=" OnTheGround / RepellableIceCube " unique_id=276581240]
1416+ position = Vector2(2, -5)
1417+ texture = ExtResource(" 57_ bu3 x1 ")
1418+
1419+ [node name=" CollisionShape2D " type=" CollisionShape2D " parent=" OnTheGround / RepellableIceCube " unique_id=1875420561]
1420+ rotation = -1.5707964
1421+ shape = SubResource(" CapsuleShape2D_bu3x1 ")
1422+
1423+ [node name=" RepellableBox " type=" AnimatableBody2D " parent=" OnTheGround " unique_id=1258548447 node_paths=PackedStringArray(" constrain_layer ")]
1424+ editor_description = " A repellable box that moves in a fixed grid .
1425+
1426+ This is an AnimatableBody2D so it can move in the 64 x64 tiles grid (using a Tweener for animating the position ). But also it doesn 't collide with other bodies so it doesn' t stop ! "
1427+ position = Vector2(990, 1256)
1428+ collision_layer = 768
1429+ collision_mask = 531
1430+ script = SubResource(" GDScript_7n6eg ")
1431+ constrain_layer = NodePath(" ../ ../ TileMapLayers / Paths_Level1 ")
1432+
1433+ [node name=" Sprite2D2 " type=" Sprite2D " parent=" OnTheGround / RepellableBox " unique_id=320883351]
1434+ texture = ExtResource(" 59_16 ifw")
1435+
1436+ [node name=" Sprite2D " type=" Sprite2D " parent=" OnTheGround / RepellableBox " unique_id=750084221]
1437+ position = Vector2(0, -32)
1438+ texture = SubResource(" AtlasTexture_bu3x1 ")
1439+
1440+ [node name=" CollisionShape2D " type=" CollisionShape2D " parent=" OnTheGround / RepellableBox " unique_id=1047647955]
1441+ rotation = -1.5707964
1442+ shape = SubResource(" RectangleShape2D_8dti7 ")
1443+
1444+ [node name=" Shaker " type=" Node2D " parent=" OnTheGround / RepellableBox " unique_id=2111646944 node_paths=PackedStringArray(" target ")]
1445+ script = ExtResource(" 63_ a070 f")
1446+ target = NodePath(" ..")
1447+ shake_intensity = 60.0
1448+ duration = 0.5
1449+ frequency = 30.0
1450+ metadata/_custom_type_script = " uid :// dunsvrhq42214 "
1451+
1452+ [node name=" RepellableLever " type=" StaticBody2D " parent=" OnTheGround " unique_id=1178804777]
1453+ position = Vector2(747, 914)
1454+ collision_layer = 768
1455+ collision_mask = 0
1456+ script = SubResource(" GDScript_p2k53 ")
1457+
1458+ [node name=" LeverSprite " type=" Sprite2D " parent=" OnTheGround / RepellableLever " unique_id=118513672]
1459+ position = Vector2(0, -10)
1460+ texture = ExtResource(" 62_ p2 k53 ")
1461+ hframes = 2
1462+
1463+ [node name=" CollisionShape2D " type=" CollisionShape2D " parent=" OnTheGround / RepellableLever " unique_id=287400683]
1464+ rotation = -1.5707964
1465+ shape = SubResource(" CapsuleShape2D_p2k53 ")
1466+
1467+ [node name=" Shaker " type=" Node2D " parent=" OnTheGround / RepellableLever " unique_id=2090116419 node_paths=PackedStringArray(" target ")]
1468+ script = ExtResource(" 63_ a070 f")
1469+ target = NodePath(" ..")
1470+ duration = 0.5
1471+ frequency = 30.0
1472+ metadata/_custom_type_script = " uid :// dunsvrhq42214 "
1473+
11471474[node name=" ScreenOverlay " type=" CanvasLayer " parent=" ." unique_id=1144668032]
11481475
11491476[node name=" HBoxContainer " type=" HBoxContainer " parent=" ScreenOverlay " unique_id=1583452192]
@@ -1209,3 +1536,5 @@ position = Vector2(62, 1747)
12091536[connection signal=" interaction_started " from=" OnTheGround / NPCs / GardenerA / InteractArea " to=" OnTheGround / NPCs / GardenerA " method=" _on_interact_area_interaction_started "]
12101537[connection signal=" interaction_ended " from=" OnTheGround / Tutorial / TutorialGuy / InteractArea " to=" OnTheGround / Tutorial / TutorialGuy " method=" _on_interact_area_interaction_ended "]
12111538[connection signal=" interaction_started " from=" OnTheGround / Tutorial / TutorialGuy / InteractArea " to=" OnTheGround / Tutorial / TutorialGuy " method=" _on_interact_area_interaction_started "]
1539+ [connection signal=" sleeping_state_changed " from=" OnTheGround / RepellableRock " to=" ." method=" _on_repellable_rock_sleeping_state_changed "]
1540+ [connection signal=" sleeping_state_changed " from=" OnTheGround / RepellableBall " to=" OnTheGround / RepellableBall " method=" _on_sleeping_state_changed "]
0 commit comments