diff --git a/behaviours/cursor_detector.gd b/behaviours/cursor_detector.gd index 367acb4..c37a9ec 100644 --- a/behaviours/cursor_detector.gd +++ b/behaviours/cursor_detector.gd @@ -19,3 +19,10 @@ func _on_body_exited(body: Node2D) -> void: if body is Cursor: mouse_inside = true cursor_exited.emit(body) + + +func _on_cursor_entered(cursor: Cursor) -> void: + Log.p(self, "Cursor entered: %s" % cursor) + +func _on_cursor_exited(cursor: Cursor) -> void: + Log.p(self, "Cursor exited: %s" % cursor) diff --git a/behaviours/cursor_detector.tscn b/behaviours/cursor_detector.tscn index c4b4fec..99ca786 100644 --- a/behaviours/cursor_detector.tscn +++ b/behaviours/cursor_detector.tscn @@ -10,3 +10,5 @@ script = ExtResource("1_4hcxj") [connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_exited" from="." to="." method="_on_body_exited"] +[connection signal="cursor_entered" from="." to="." method="_on_cursor_entered"] +[connection signal="cursor_exited" from="." to="." method="_on_cursor_exited"] diff --git a/behaviours/move_straight.gd b/behaviours/move_straight.gd index 761b7fd..86f5bc1 100644 --- a/behaviours/move_straight.gd +++ b/behaviours/move_straight.gd @@ -15,6 +15,12 @@ signal changed_direction(new: Vector2) changed_direction.emit(direction) +func set_direction(value: Vector2) -> void: + direction = value + +func clear_direction() -> void: + direction = Vector2.ZERO + func randomize_direction() -> void: direction = Vector2.from_angle(Random.rng.randf_range(0, 2*PI)) @@ -22,3 +28,6 @@ func randomize_direction() -> void: func _physics_process(_delta: float) -> void: if enabled: move.emit(direction) + +func _on_changed_direction(new: Vector2) -> void: + Log.p(self, "Changed direction to: %s" % new) diff --git a/behaviours/move_straight.tscn b/behaviours/move_straight.tscn index e176db3..11a2a41 100644 --- a/behaviours/move_straight.tscn +++ b/behaviours/move_straight.tscn @@ -4,3 +4,5 @@ [node name="MoveStraight" type="Node2D"] script = ExtResource("1_8yf73") + +[connection signal="changed_direction" from="." to="." method="_on_changed_direction"] diff --git a/behaviours/move_towards.gd b/behaviours/move_towards.gd index c2f8ca0..058b20e 100644 --- a/behaviours/move_towards.gd +++ b/behaviours/move_towards.gd @@ -5,15 +5,15 @@ class_name MoveTowards ## A [Move] that moves towards the [field position] of a [field target]. -signal changed_target(target: Node2D) +signal changed_target(new: Node2D) @export var target: Node2D = null: get: return target set(value): - value = target - changed_target.emit() + target = value + changed_target.emit(value) func set_target(value: Node2D) -> void: @@ -31,3 +31,6 @@ func _physics_process(_delta: float) -> void: move.emit(norm) else: move.emit(Vector2.ZERO) + +func _on_changed_target(new: Node2D) -> void: + Log.p(self, "Changed target to: %s" % new) diff --git a/behaviours/move_towards.tscn b/behaviours/move_towards.tscn index 41b4c4a..2c7f758 100644 --- a/behaviours/move_towards.tscn +++ b/behaviours/move_towards.tscn @@ -4,3 +4,5 @@ [node name="MoveTowards" type="Node2D"] script = ExtResource("1_256ue") + +[connection signal="changed_target" from="." to="." method="_on_changed_target"] diff --git a/behaviours/sampler_priority.gd b/behaviours/sampler_priority.gd index e2d36bd..4903981 100644 --- a/behaviours/sampler_priority.gd +++ b/behaviours/sampler_priority.gd @@ -13,13 +13,14 @@ func sample() -> Priority: # FIXME: Change this to something more efficient when needed var highest_possibility: Priority = null for possibility in possibilities: + Log.p(self, "Possibility: %s (%d)" % [possibility, possibility.priority]) if highest_possibility == null or possibility.priority > highest_possibility.priority: highest_possibility = possibility if highest_possibility == null: return null - Log.p(self, "Sampled: %s" % highest_possibility) + Log.p(self, "Sampled: %s (%d)" % [highest_possibility, highest_possibility.priority]) return highest_possibility.get_ref() func get_refs() -> Array[Node]: diff --git a/entities/sheep.tscn b/entities/sheep.tscn index 6b6c7da..d71578e 100644 --- a/entities/sheep.tscn +++ b/entities/sheep.tscn @@ -113,69 +113,67 @@ libraries = { [node name="Edible" parent="." instance=ExtResource("6_3odsh")] -[node name="Movement" parent="." node_paths=PackedStringArray("possibilities") instance=ExtResource("9_s5lod")] -possibilities = [NodePath("Idle/IdlePriority"), NodePath("Wander/WanderPriority"), NodePath("RunFromMouse/RunFromMousePriority"), NodePath("RunFromHunter/RunFromHunterPriority")] +[node name="MovementSampler" parent="." node_paths=PackedStringArray("possibilities") instance=ExtResource("9_s5lod")] +possibilities = [NodePath("../MovementIdle/IdlePriority"), NodePath("../MovementWander/WanderPriority"), NodePath("../MovementRunFromMouse/RunFromMousePriority"), NodePath("../MovementRunFromHunter/RunFromHunterPriority")] -[node name="Idle" parent="Movement" instance=ExtResource("10_05kcd")] +[node name="MovementIdle" parent="." instance=ExtResource("10_05kcd")] enabled = false -[node name="IdlePriority" parent="Movement/Idle" instance=ExtResource("11_0jlmk")] +[node name="IdlePriority" parent="MovementIdle" instance=ExtResource("11_0jlmk")] priority = 10 -[node name="BoredTimer" type="Timer" parent="Movement/Idle"] +[node name="BoredTimer" type="Timer" parent="MovementIdle"] one_shot = true -[node name="Wander" parent="Movement" instance=ExtResource("10_05kcd")] +[node name="MovementWander" parent="." instance=ExtResource("10_05kcd")] enabled = false -[node name="WanderPriority" parent="Movement/Wander" instance=ExtResource("11_0jlmk")] +[node name="WanderPriority" parent="MovementWander" instance=ExtResource("11_0jlmk")] -[node name="TiredTimer" type="Timer" parent="Movement/Wander"] +[node name="TiredTimer" type="Timer" parent="MovementWander"] one_shot = true -[node name="RunFromMouse" parent="Movement" instance=ExtResource("12_x2g3x")] +[node name="MovementRunFromMouse" parent="." instance=ExtResource("12_x2g3x")] enabled = false -[node name="RunFromMousePriority" parent="Movement/RunFromMouse" instance=ExtResource("11_0jlmk")] +[node name="RunFromMousePriority" parent="MovementRunFromMouse" instance=ExtResource("11_0jlmk")] -[node name="CursorDetector" parent="Movement/RunFromMouse" instance=ExtResource("13_5fkdr")] +[node name="CursorSense" parent="MovementRunFromMouse" instance=ExtResource("13_5fkdr")] -[node name="Shape" type="CollisionShape2D" parent="Movement/RunFromMouse/CursorDetector"] +[node name="Shape" type="CollisionShape2D" parent="MovementRunFromMouse/CursorSense"] shape = SubResource("CircleShape2D_etpf6") debug_color = Color(1, 0, 0, 0.0470588) -[node name="RunFromHunter" parent="Movement" instance=ExtResource("12_x2g3x")] +[node name="MovementRunFromHunter" parent="." instance=ExtResource("12_x2g3x")] enabled = false -[node name="RunFromHunterPriority" parent="Movement/RunFromHunter" instance=ExtResource("11_0jlmk")] +[node name="RunFromHunterPriority" parent="MovementRunFromHunter" instance=ExtResource("11_0jlmk")] -[node name="TrackerTracker" parent="Movement/RunFromHunter" instance=ExtResource("14_eqowb")] - -[node name="Camera2D" type="Camera2D" parent="."] -position_smoothing_enabled = true -position_smoothing_speed = 1.0 +[node name="HunterSense" parent="MovementRunFromHunter" instance=ExtResource("14_eqowb")] [connection signal="dragged" from="Draggable" to="." method="_on_draggable_dragged"] [connection signal="dropped" from="Draggable" to="." method="_on_draggable_dropped"] -[connection signal="ready" from="Movement" to="Movement" method="enable"] -[connection signal="move" from="Movement/Idle" to="." method="_on_move"] -[connection signal="move_disabled" from="Movement/Idle" to="Movement/Idle/BoredTimer" method="stop"] -[connection signal="move_enabled" from="Movement/Idle" to="Movement/Idle/BoredTimer" method="start"] -[connection signal="priority_changed_no_args" from="Movement/Idle/IdlePriority" to="Movement" method="enable"] -[connection signal="timeout" from="Movement/Idle/BoredTimer" to="Movement/Wander" method="randomize_direction"] -[connection signal="changed_direction" from="Movement/Wander" to="Movement/Wander/WanderPriority" method="set_priority_if_truthy" binds= [20]] -[connection signal="move" from="Movement/Wander" to="." method="_on_move"] -[connection signal="move_disabled" from="Movement/Wander" to="Movement/Wander/TiredTimer" method="stop"] -[connection signal="move_enabled" from="Movement/Wander" to="Movement/Wander/TiredTimer" method="start"] -[connection signal="priority_changed_no_args" from="Movement/Wander/WanderPriority" to="Movement" method="enable"] -[connection signal="timeout" from="Movement/Wander/TiredTimer" to="Movement/Wander/WanderPriority" method="set_priority" binds= [0]] -[connection signal="changed_target" from="Movement/RunFromMouse" to="Movement/RunFromMouse/RunFromMousePriority" method="set_priority_if_truthy" binds= [30]] -[connection signal="move" from="Movement/RunFromMouse" to="." method="_on_move"] -[connection signal="priority_changed_no_args" from="Movement/RunFromMouse/RunFromMousePriority" to="Movement" method="enable"] -[connection signal="cursor_entered" from="Movement/RunFromMouse/CursorDetector" to="Movement/RunFromMouse" method="set_target"] -[connection signal="cursor_exited" from="Movement/RunFromMouse/CursorDetector" to="Movement/RunFromMouse" method="clear_target" unbinds=1] -[connection signal="changed_target" from="Movement/RunFromHunter" to="Movement/RunFromHunter/RunFromHunterPriority" method="set_priority_if_truthy" binds= [40]] -[connection signal="move" from="Movement/RunFromHunter" to="." method="_on_move"] -[connection signal="priority_changed_no_args" from="Movement/RunFromHunter/RunFromHunterPriority" to="Movement" method="enable"] -[connection signal="tracked" from="Movement/RunFromHunter/TrackerTracker" to="Movement/RunFromHunter" method="set_target"] -[connection signal="untracked" from="Movement/RunFromHunter/TrackerTracker" to="Movement/RunFromHunter" method="clear_target" unbinds=1] +[connection signal="ready" from="MovementSampler" to="MovementSampler" method="enable"] +[connection signal="move" from="MovementIdle" to="." method="_on_move"] +[connection signal="move_disabled" from="MovementIdle" to="MovementIdle/BoredTimer" method="stop"] +[connection signal="move_enabled" from="MovementIdle" to="MovementIdle/BoredTimer" method="start"] +[connection signal="priority_changed_no_args" from="MovementIdle/IdlePriority" to="MovementSampler" method="enable"] +[connection signal="timeout" from="MovementIdle/BoredTimer" to="MovementWander" method="randomize_direction"] +[connection signal="changed_direction" from="MovementWander" to="MovementWander/WanderPriority" method="set_priority_if_truthy" binds= [20]] +[connection signal="move" from="MovementWander" to="." method="_on_move"] +[connection signal="move_disabled" from="MovementWander" to="MovementWander/TiredTimer" method="stop"] +[connection signal="move_enabled" from="MovementWander" to="MovementWander/TiredTimer" method="start"] +[connection signal="priority_changed_no_args" from="MovementWander/WanderPriority" to="MovementSampler" method="enable"] +[connection signal="timeout" from="MovementWander/TiredTimer" to="MovementWander" method="clear_direction"] +[connection signal="changed_target" from="MovementRunFromMouse" to="MovementRunFromMouse/RunFromMousePriority" method="set_priority_if_truthy" binds= [30]] +[connection signal="move" from="MovementRunFromMouse" to="." method="_on_move"] +[connection signal="move_enabled" from="MovementRunFromMouse" to="MovementWander" method="clear_direction"] +[connection signal="priority_changed_no_args" from="MovementRunFromMouse/RunFromMousePriority" to="MovementSampler" method="enable"] +[connection signal="cursor_entered" from="MovementRunFromMouse/CursorSense" to="MovementRunFromMouse" method="set_target"] +[connection signal="cursor_exited" from="MovementRunFromMouse/CursorSense" to="MovementRunFromMouse" method="clear_target" unbinds=1] +[connection signal="changed_target" from="MovementRunFromHunter" to="MovementRunFromHunter/RunFromHunterPriority" method="set_priority_if_truthy" binds= [40]] +[connection signal="move" from="MovementRunFromHunter" to="." method="_on_move"] +[connection signal="move_disabled" from="MovementRunFromHunter" to="MovementWander" method="clear_direction"] +[connection signal="priority_changed_no_args" from="MovementRunFromHunter/RunFromHunterPriority" to="MovementSampler" method="enable"] +[connection signal="tracked" from="MovementRunFromHunter/HunterSense" to="MovementRunFromHunter" method="set_target"] +[connection signal="untracked" from="MovementRunFromHunter/HunterSense" to="MovementRunFromHunter" method="clear_target" unbinds=1] diff --git a/scenes/game/cursor.gd b/scenes/game/cursor.gd index 79bcc35..120ecf9 100644 --- a/scenes/game/cursor.gd +++ b/scenes/game/cursor.gd @@ -1,11 +1,11 @@ -extends Node2D +extends CharacterBody2D class_name Cursor -## A [Node2D] syncing its position with the mouse on each physics timestep. +## A [CharacterBody2D] syncing its position with the mouse on each physics timestep. @onready var game := MainGame.get_ancestor(self) func _physics_process(_delta: float) -> void: - global_position = game.camera.get_global_mouse_position() + move_and_collide(game.camera.get_global_mouse_position() - global_position) diff --git a/scenes/game/cursor.tscn b/scenes/game/cursor.tscn index 57db1e8..d2feb08 100644 --- a/scenes/game/cursor.tscn +++ b/scenes/game/cursor.tscn @@ -1,8 +1,16 @@ -[gd_scene load_steps=2 format=3 uid="uid://col1q3elvkfwk"] +[gd_scene load_steps=3 format=3 uid="uid://col1q3elvkfwk"] [ext_resource type="Script" path="res://scenes/game/cursor.gd" id="1_1og6v"] +[sub_resource type="CircleShape2D" id="CircleShape2D_j2mj5"] +radius = 4.0 + [node name="Cursor" type="CharacterBody2D"] collision_layer = 64 collision_mask = 0 +motion_mode = 1 script = ExtResource("1_1og6v") + +[node name="Shape" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_j2mj5") +debug_color = Color(1, 1, 1, 1) diff --git a/scenes/game/main_game.tscn b/scenes/game/main_game.tscn index 045553f..0fcecdc 100644 --- a/scenes/game/main_game.tscn +++ b/scenes/game/main_game.tscn @@ -4,7 +4,8 @@ [ext_resource type="PackedScene" uid="uid://dm068vaseh45n" path="res://scenes/game/game_camera.tscn" id="2_db5xs"] [ext_resource type="Texture2D" uid="uid://d13j4br4hxek6" path="res://scenes/game/tileset_grass.png" id="2_o7bg5"] [ext_resource type="PackedScene" uid="uid://brvbtvt4em32" path="res://behaviours/counter.tscn" id="3_p6jw3"] -[ext_resource type="PackedScene" uid="uid://7j1b55t8tafg" path="res://scenes/game/cursor_magnet.tscn" id="3_xbolm"] +[ext_resource type="PackedScene" uid="uid://col1q3elvkfwk" path="res://scenes/game/cursor.tscn" id="5_g504x"] +[ext_resource type="PackedScene" uid="uid://bc2bm8lbol18w" path="res://entities/sheep.tscn" id="6_j2kdp"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_058kb"] texture = ExtResource("2_o7bg5") @@ -809,9 +810,6 @@ terrain_set_0/terrain_1/name = "Dirt" terrain_set_0/terrain_1/color = Color(0.619608, 0.407843, 0.172549, 1) sources/0 = SubResource("TileSetAtlasSource_058kb") -[sub_resource type="RectangleShape2D" id="RectangleShape2D_p1lg5"] -size = Vector2(1280, 720) - [node name="MainGame" type="Node2D"] script = ExtResource("1_wiglu") @@ -821,17 +819,26 @@ tile_set = SubResource("TileSet_g2dkm") format = 2 layer_0/tile_data = PackedInt32Array(720915, 196608, 9, 655379, 0, 2, 589843, 0, 4, 524307, 196608, 8, 458771, 196608, 0, 393235, 327680, 1, 327699, 327680, 2, 262163, 65536, 5, 196627, 327680, 0, 131091, 196608, 4, 65555, 0, 6, 19, 0, 6, -65517, 0, 6, -131053, 196608, 1, -196589, 327680, 2, -262125, 327680, 4, -327661, 327680, 1, -393197, 0, 3, -458733, 65536, 0, -524269, 196608, 0, -589805, 327680, 0, -655341, 0, 3, -720877, 327680, 5, -786413, 131072, 8, 720914, 327680, 1, 655378, 65536, 5, 589842, 327680, 0, 524306, 0, 5, 458770, 327680, 2, 393234, 327680, 1, 327698, 131072, 9, 262162, 327680, 0, 196626, 0, 4, 131090, 262144, 6, 65554, 196608, 2, 18, 131072, 3, -65518, 196608, 3, -131054, 196608, 1, -196590, 196608, 9, -262126, 327680, 4, -327662, 0, 4, -393198, 131072, 5, -458734, 262144, 5, -524270, 131072, 9, -589806, 0, 1, -655342, 65536, 5, -720878, 327680, 4, -786414, 262144, 0, 720913, 0, 5, 655377, 131072, 9, 589841, 196608, 9, 524305, 327680, 5, 458769, 0, 4, 393233, 0, 4, 327697, 327680, 5, 262161, 327680, 0, 196625, 262144, 4, 131089, 0, 6, 65553, 131072, 3, 17, 196608, 3, -65519, 196608, 2, -131055, 131072, 11, -196591, 327680, 1, -262127, 196608, 9, -327663, 0, 5, -393199, 262144, 0, -458735, 131072, 0, -524271, 0, 4, -589807, 0, 1, -655343, 327680, 5, -720879, 0, 3, -786415, 131072, 5, 720912, 131072, 9, 655376, 0, 2, 589840, 327680, 3, 524304, 131072, 8, 458768, 196608, 9, 393232, 196608, 5, 327696, 327680, 4, 262160, 262144, 5, 196624, 262144, 6, 131088, 196608, 3, 65552, 196608, 2, 16, 196608, 3, -65520, 131072, 2, -131056, 131072, 11, -196592, 327680, 0, -262128, 196608, 9, -327664, 262144, 0, -393200, 0, 1, -458736, 0, 5, -524272, 262144, 5, -589808, 196608, 8, -655344, 0, 2, -720880, 327680, 2, -786416, 131072, 0, 720911, 196608, 0, 655375, 327680, 2, 589839, 196608, 0, 524303, 0, 0, 458767, 0, 2, 393231, 196608, 5, 327695, 0, 5, 262159, 262144, 4, 196623, 0, 6, 131087, 131072, 2, 65551, 196608, 2, 15, 196608, 3, -65521, 131072, 2, -131057, 131072, 11, -196593, 0, 2, -262129, 262144, 0, -327665, 262144, 5, -393201, 327680, 0, -458737, 65536, 5, -524273, 196608, 5, -589809, 0, 4, -655345, 327680, 2, -720881, 0, 1, -786417, 0, 5, 720910, 131072, 0, 655374, 327680, 3, 589838, 327680, 4, 524302, 196608, 0, 458766, 327680, 0, 393230, 327680, 3, 327694, 262144, 4, 262158, 0, 6, 196622, 131072, 3, 131086, 131072, 3, 65550, 196608, 2, 14, 196608, 3, -65522, 131072, 2, -131058, 262144, 11, -196594, 65536, 0, -262130, 196608, 5, -327666, 0, 3, -393202, 327680, 3, -458738, 327680, 4, -524274, 131072, 0, -589810, 327680, 3, -655346, 131072, 0, -720882, 65536, 5, -786418, 0, 0, 720909, 131072, 9, 655373, 0, 1, 589837, 262144, 0, 524301, 0, 2, 458765, 0, 0, 393229, 196608, 0, 327693, 65536, 6, 262157, 196608, 2, 196621, 196608, 2, 131085, 131072, 3, 65549, 131072, 2, 13, 131072, 3, -65523, 196608, 2, -131059, 131072, 11, -196595, 262144, 0, -262131, 327680, 1, -327667, 196608, 9, -393203, 65536, 0, -458739, 65536, 0, -524275, 196608, 0, -589811, 0, 2, -655347, 327680, 1, -720883, 0, 4, -786419, 327680, 2, 720908, 262144, 5, 655372, 327680, 4, 589836, 196608, 8, 524300, 0, 3, 458764, 262144, 5, 393228, 262144, 4, 327692, 0, 6, 262156, 131072, 3, 196620, 131072, 2, 131084, 196608, 2, 65548, 131072, 3, 12, 196608, 3, -65524, 327680, 11, -131060, 65536, 1, -196596, 262144, 5, -262132, 131072, 9, -327668, 327680, 1, -393204, 327680, 0, -458740, 0, 3, -524276, 0, 3, -589812, 196608, 9, -655348, 327680, 2, -720884, 131072, 9, -786420, 131072, 0, 720907, 327680, 0, 655371, 65536, 0, 589835, 327680, 2, 524299, 262144, 5, 458763, 65536, 0, 393227, 196608, 6, 327691, 196608, 2, 262155, 131072, 3, 196619, 131072, 2, 131083, 131072, 2, 65547, 196608, 3, 11, 196608, 2, -65525, 262144, 11, -131061, 65536, 5, -196597, 196608, 9, -262133, 131072, 5, -327669, 327680, 5, -393205, 262144, 0, -458741, 0, 0, -524277, 0, 1, -589813, 0, 4, -655349, 327680, 4, -720885, 196608, 0, -786421, 0, 2, 720906, 327680, 4, 655370, 0, 4, 589834, 327680, 2, 524298, 327680, 4, 458762, 131072, 8, 393226, 131072, 4, 327690, 131072, 3, 262154, 196608, 2, 196618, 196608, 3, 131082, 131072, 2, 65546, 131072, 3, 10, 327680, 11, -65526, 65536, 1, -131062, 196608, 0, -196598, 196608, 0, -262134, 196608, 0, -327670, 131072, 8, -393206, 327680, 4, -458742, 327680, 4, -524278, 0, 1, -589814, 0, 0, -655350, 0, 3, -720886, 0, 3, -786422, 327680, 5, 720905, 327680, 0, 655369, 0, 0, 589833, 196608, 0, 524297, 196608, 0, 458761, 0, 1, 393225, 196608, 4, 327689, 196608, 3, 262153, 131072, 3, 196617, 196608, 2, 131081, 196608, 3, 65545, 327680, 11, 9, 65536, 1, -65527, 131072, 9, -131063, 0, 0, -196599, 327680, 0, -262135, 0, 3, -327671, 327680, 1, -393207, 65536, 5, -458743, 196608, 8, -524279, 327680, 3, -589815, 0, 1, -655351, 262144, 0, -720887, 262144, 0, -786423, 196608, 0, 720904, 0, 1, 655368, 262144, 5, 589832, 196608, 5, 524296, 0, 5, 458760, 262144, 4, 393224, 0, 6, 327688, 131072, 3, 262152, 196608, 3, 196616, 196608, 2, 131080, 131072, 2, 65544, 0, 11, 8, 327680, 3, -65528, 262144, 5, -131064, 65536, 5, -196600, 131072, 8, -262136, 327680, 5, -327672, 327680, 1, -393208, 0, 4, -458744, 131072, 0, -524280, 327680, 4, -589816, 131072, 0, -655352, 196608, 5, -720888, 327680, 3, -786424, 196608, 5, 720903, 327680, 5, 655367, 0, 5, 589831, 0, 5, 524295, 65536, 0, 458759, 196608, 4, 393223, 131072, 2, 327687, 196608, 2, 262151, 131072, 2, 196615, 196608, 3, 131079, 131072, 3, 65543, 131072, 3, 7, 262144, 5, -65529, 327680, 3, -131065, 196608, 5, -196601, 0, 2, -262137, 327680, 0, -327673, 327680, 1, -393209, 262144, 4, -458745, 0, 8, -524281, 262144, 3, -589817, 262144, 1, -655353, 327680, 5, -720889, 131072, 8, -786425, 0, 4, 720902, 327680, 2, 655366, 0, 3, 589830, 65536, 0, 524294, 0, 5, 458758, 131072, 4, 393222, 131072, 2, 327686, 196608, 3, 262150, 196608, 2, 196614, 131072, 2, 131078, 131072, 3, 65542, 131072, 3, 6, 327680, 5, -65530, 327680, 5, -131066, 327680, 0, -196602, 131072, 9, -262138, 262144, 4, -327674, 0, 8, -393210, 0, 6, -458746, 131072, 3, -524282, 327680, 11, -589818, 65536, 1, -655354, 0, 0, -720890, 327680, 2, -786426, 196608, 9, 720901, 65536, 5, 655365, 196608, 5, 589829, 196608, 0, 524293, 0, 4, 458757, 196608, 4, 393221, 131072, 2, 327685, 196608, 2, 262149, 131072, 2, 196613, 131072, 3, 131077, 131072, 2, 65541, 196608, 2, 5, 0, 3, -65531, 196608, 0, -131067, 327680, 4, -196603, 327680, 0, -262139, 131072, 6, -327675, 131072, 3, -393211, 196608, 3, -458747, 131072, 3, -524283, 196608, 11, -589819, 0, 2, -655355, 327680, 0, -720891, 131072, 9, -786427, 262144, 5, 720900, 196608, 0, 655364, 196608, 8, 589828, 0, 2, 524292, 327680, 0, 458756, 65536, 6, 393220, 131072, 3, 327684, 131072, 2, 262148, 196608, 3, 196612, 196608, 3, 131076, 196608, 2, 65540, 131072, 3, 4, 0, 3, -65532, 262144, 0, -131068, 131072, 0, -196604, 327680, 0, -262140, 65536, 6, -327676, 196608, 3, -393212, 131072, 2, -458748, 327680, 11, -524284, 65536, 1, -589820, 196608, 0, -655356, 0, 4, -720892, 65536, 5, -786428, 0, 1, 720899, 65536, 0, 655363, 131072, 5, 589827, 131072, 5, 524291, 0, 1, 458755, 65536, 4, 393219, 327680, 6, 327683, 196608, 2, 262147, 196608, 2, 196611, 131072, 3, 131075, 327680, 11, 65539, 327680, 8, 3, 0, 1, -65533, 131072, 0, -131069, 327680, 2, -196605, 65536, 0, -262141, 65536, 4, -327677, 327680, 10, -393213, 65536, 2, -458749, 65536, 1, -524285, 327680, 2, -589821, 0, 3, -655357, 131072, 9, -720893, 0, 2, -786429, 196608, 9, 720898, 131072, 0, 655362, 262144, 0, 589826, 327680, 5, 524290, 327680, 1, 458754, 262144, 0, 393218, 196608, 4, 327682, 196608, 2, 262146, 131072, 3, 196610, 196608, 2, 131074, 131072, 11, 65538, 327680, 4, 2, 0, 3, -65534, 0, 1, -131070, 0, 0, -196606, 327680, 0, -262142, 0, 5, -327678, 65536, 0, -393214, 65536, 5, -458750, 131072, 9, -524286, 196608, 0, -589822, 196608, 0, -655358, 0, 5, -720894, 196608, 9, -786430, 0, 5, 720897, 0, 4, 655361, 262144, 5, 589825, 327680, 0, 524289, 327680, 5, 458753, 327680, 5, 393217, 131072, 6, 327681, 131072, 2, 262145, 196608, 3, 196609, 131072, 2, 131073, 131072, 11, 65537, 131072, 9, 1, 0, 4, -65535, 196608, 0, -131071, 327680, 3, -196607, 196608, 0, -262143, 0, 4, -327679, 262144, 5, -393215, 196608, 5, -458751, 0, 2, -524287, 196608, 9, -589823, 196608, 0, -655359, 131072, 0, -720895, 0, 3, -786431, 196608, 8, 720896, 262144, 5, 655360, 0, 4, 589824, 0, 2, 524288, 0, 0, 458752, 196608, 9, 393216, 196608, 4, 327680, 196608, 3, 262144, 131072, 3, 196608, 131072, 3, 131072, 0, 11, 65536, 327680, 3, 0, 65536, 0, -65536, 196608, 5, -131072, 196608, 9, -196608, 65536, 0, -262144, 0, 5, -327680, 65536, 0, -393216, 0, 3, -458752, 327680, 0, -524288, 0, 3, -589824, 327680, 2, -655360, 131072, 8, -720896, 327680, 3, -786432, 196608, 8, 786431, 0, 3, 720895, 131072, 0, 655359, 196608, 8, 589823, 196608, 8, 524287, 327680, 0, 458751, 196608, 4, 393215, 131072, 3, 327679, 131072, 3, 262143, 196608, 3, 196607, 131072, 3, 131071, 262144, 0, 65535, 131072, 8, -1, 0, 0, -65537, 327680, 3, -131073, 131072, 9, -196609, 327680, 0, -262145, 131072, 0, -327681, 0, 0, -393217, 131072, 9, -458753, 196608, 8, -524289, 327680, 5, -589825, 0, 1, -655361, 196608, 0, -720897, 196608, 8, 786430, 327680, 3, 720894, 65536, 0, 655358, 262144, 0, 589822, 327680, 2, 524286, 131072, 0, 458750, 131072, 4, 393214, 131072, 2, 327678, 196608, 2, 262142, 131072, 2, 196606, 327680, 11, 131070, 327680, 2, 65534, 196608, 0, -2, 65536, 5, -65538, 196608, 8, -131074, 327680, 3, -196610, 131072, 8, -262146, 327680, 1, -327682, 262144, 5, -393218, 0, 1, -458754, 327680, 4, -524290, 262144, 5, -589826, 327680, 4, -655362, 327680, 1, -720898, 131072, 8, 786429, 0, 5, 720893, 0, 4, 655357, 196608, 5, 589821, 0, 4, 524285, 262144, 0, 458749, 262144, 6, 393213, 131072, 3, 327677, 131072, 2, 262141, 327680, 11, 196605, 65536, 1, 131069, 327680, 3, 65533, 0, 3, -3, 327680, 1, -65539, 327680, 4, -131075, 131072, 5, -196611, 262144, 4, -262147, 0, 10, -327683, 262144, 1, -393219, 196608, 8, -458755, 196608, 9, -524291, 0, 2, -589827, 262144, 0, -655363, 327680, 4, -720899, 327680, 4, 786428, 131072, 9, 720892, 131072, 0, 655356, 0, 5, 589820, 262144, 4, 524284, 0, 8, 458748, 0, 6, 393212, 131072, 3, 327676, 196608, 2, 262140, 196608, 11, 196604, 65536, 0, 131068, 196608, 0, 65532, 65536, 0, -4, 131072, 8, -65540, 196608, 5, -131076, 0, 2, -196612, 65536, 6, -262148, 196608, 2, -327684, 262144, 11, -393220, 0, 0, -458756, 131072, 9, -524292, 65536, 5, -589828, 131072, 0, -655364, 0, 2, -720900, 0, 0, 786427, 0, 3, 720891, 327680, 2, 655355, 0, 0, 589819, 65536, 6, 524283, 196608, 3, 458747, 131072, 2, 393211, 131072, 3, 327675, 327680, 11, 262139, 65536, 1, 196603, 131072, 0, 131067, 327680, 5, 65531, 0, 1, -5, 131072, 9, -65541, 196608, 5, -131077, 131072, 8, -196613, 262144, 6, -262149, 196608, 2, -327685, 0, 11, -393221, 262144, 1, -458757, 327680, 2, -524293, 196608, 0, -589829, 131072, 5, -655365, 262144, 0, -720901, 0, 4, 786426, 131072, 9, 720890, 262144, 0, 655354, 0, 0, 589818, 131072, 6, 524282, 196608, 2, 458746, 196608, 3, 393210, 196608, 3, 327674, 131072, 1, 262138, 196608, 5, 196602, 262144, 0, 131066, 196608, 8, 65530, 327680, 3, -6, 327680, 5, -65542, 0, 4, -131078, 196608, 8, -196614, 262144, 6, -262150, 131072, 3, -327686, 131072, 2, -393222, 196608, 1, -458758, 262144, 5, -524294, 0, 4, -589830, 131072, 5, -655366, 0, 5, -720902, 327680, 2, 786425, 0, 4, 720889, 0, 1, 655353, 0, 0, 589817, 131072, 6, 524281, 196608, 2, 458745, 131072, 2, 393209, 196608, 2, 327673, 262144, 11, 262137, 0, 0, 196601, 327680, 5, 131065, 65536, 0, 65529, 131072, 9, -7, 131072, 8, -65543, 131072, 0, -131079, 262144, 4, -196615, 0, 6, -262151, 131072, 3, -327687, 131072, 3, -393223, 0, 11, -458759, 262144, 1, -524295, 327680, 4, -589831, 262144, 5, -655367, 131072, 8, -720903, 0, 5, 786424, 327680, 3, 720888, 196608, 5, 655352, 131072, 9, 589816, 131072, 6, 524280, 196608, 2, 458744, 196608, 2, 393208, 196608, 2, 327672, 196608, 1, 262136, 0, 3, 196600, 0, 2, 131064, 327680, 0, 65528, 0, 5, -8, 0, 1, -65544, 196608, 5, -131080, 196608, 6, -196616, 131072, 3, -262152, 196608, 3, -327688, 196608, 3, -393224, 131072, 3, -458760, 196608, 1, -524296, 0, 3, -589832, 131072, 9, -655368, 0, 4, -720904, 131072, 5, 786423, 0, 0, 720887, 131072, 8, 655351, 0, 9, 589815, 0, 6, 524279, 196608, 2, 458743, 196608, 3, 393207, 131072, 2, 327671, 131072, 1, 262135, 0, 1, 196599, 196608, 8, 131063, 262144, 5, 65527, 262144, 5, -9, 0, 5, -65545, 262144, 4, -131081, 0, 6, -196617, 196608, 3, -262153, 196608, 3, -327689, 131072, 2, -393225, 196608, 2, -458761, 65536, 11, -524297, 131072, 8, -589833, 196608, 0, -655369, 196608, 9, -720905, 196608, 0, 786422, 196608, 9, 720886, 327680, 1, 655350, 327680, 6, 589814, 196608, 3, 524278, 131072, 2, 458742, 131072, 3, 393206, 327680, 11, 327670, 131072, 1, 262134, 131072, 9, 196598, 327680, 4, 131062, 0, 1, 65526, 196608, 9, -10, 65536, 5, -65546, 65536, 4, -131082, 327680, 6, -196618, 196608, 3, -262154, 131072, 3, -327690, 131072, 3, -393226, 327680, 11, -458762, 65536, 1, -524298, 0, 1, -589834, 196608, 9, -655370, 327680, 5, -720906, 327680, 5, 786421, 0, 0, 720885, 327680, 3, 655349, 262144, 6, 589813, 131072, 2, 524277, 196608, 3, 458741, 327680, 11, 393205, 65536, 1, 327669, 196608, 9, 262133, 0, 1, 196597, 327680, 0, 131061, 0, 5, 65525, 131072, 0, -11, 327680, 0, -65547, 131072, 0, -131083, 65536, 4, -196619, 327680, 9, -262155, 327680, 9, -327691, 327680, 7, -393227, 65536, 1, -458763, 327680, 4, -524299, 327680, 5, -589835, 196608, 8, -655371, 0, 3, -720907, 196608, 0, 786420, 131072, 0, 720884, 262144, 4, 655348, 0, 6, 589812, 131072, 2, 524276, 196608, 3, 458740, 131072, 11, 393204, 327680, 5, 327668, 196608, 9, 262132, 196608, 9, 196596, 65536, 5, 131060, 196608, 5, 65524, 131072, 8, -12, 65536, 5, -65548, 65536, 5, -131084, 262144, 5, -196620, 0, 1, -262156, 327680, 5, -327692, 0, 4, -393228, 196608, 0, -458764, 327680, 1, -524300, 65536, 0, -589836, 0, 5, -655372, 262144, 0, -720908, 327680, 4, 786419, 131072, 0, 720883, 262144, 6, 655347, 131072, 3, 589811, 131072, 2, 524275, 196608, 3, 458739, 131072, 1, 393203, 196608, 0, 327667, 0, 5, 262131, 0, 3, 196595, 0, 5, 131059, 196608, 5, 65523, 262144, 0, -13, 131072, 5, -65549, 327680, 2, -131085, 0, 5, -196621, 196608, 9, -262157, 0, 3, -327693, 131072, 8, -393229, 131072, 9, -458765, 65536, 5, -524301, 327680, 0, -589837, 65536, 0, -655373, 0, 2, -720909, 131072, 8, 786418, 327680, 5, 720882, 262144, 6, 655346, 196608, 2, 589810, 131072, 3, 524274, 131072, 2, 458738, 262144, 11, 393202, 196608, 5, 327666, 262144, 0, 262130, 262144, 0, 196594, 327680, 0, 131058, 327680, 1, 65522, 65536, 0, -14, 65536, 5, -65550, 327680, 0, -131086, 0, 0, -196622, 131072, 5, -262158, 327680, 2, -327694, 0, 3, -393230, 0, 0, -458766, 327680, 1, -524302, 327680, 1, -589838, 131072, 5, -655374, 131072, 8, -720910, 65536, 0, 786417, 262144, 4, 720881, 0, 6, 655345, 196608, 2, 589809, 196608, 2, 524273, 196608, 2, 458737, 131072, 1, 393201, 196608, 9, 327665, 65536, 0, 262129, 131072, 8, 196593, 0, 5, 131057, 0, 3, 65521, 196608, 0, -15, 131072, 5, -65551, 327680, 5, -131087, 0, 5, -196623, 131072, 9, -262159, 196608, 5, -327695, 0, 5, -393231, 0, 0, -458767, 0, 2, -524303, 131072, 0, -589839, 196608, 9, -655375, 262144, 5, -720911, 327680, 3, 786416, 196608, 2, 720880, 131072, 2, 655344, 196608, 3, 589808, 196608, 2, 524272, 327680, 11, 458736, 65536, 1, 393200, 0, 5, 327664, 131072, 0, 262128, 196608, 9, 196592, 65536, 0, 131056, 65536, 5, 65520, 327680, 1, -16, 131072, 9, -65552, 327680, 0, -131088, 0, 3, -196624, 327680, 0, -262160, 327680, 3, -327696, 65536, 0, -393232, 196608, 9, -458768, 65536, 0, -524304, 0, 0, -589840, 327680, 2, -655376, 327680, 3, -720912, 0, 5, 786415, 196608, 2, 720879, 131072, 3, 655343, 131072, 2, 589807, 196608, 2, 524271, 65536, 11, 458735, 65536, 5, 393199, 0, 4, 327663, 131072, 5, 262127, 262144, 0, 196591, 196608, 5, 131055, 327680, 4, 65519, 327680, 0, -17, 327680, 0, -65553, 262144, 5, -131089, 0, 4, -196625, 0, 2, -262161, 196608, 9, -327697, 0, 3, -393233, 196608, 5, -458769, 327680, 3, -524305, 327680, 2, -589841, 327680, 1, -655377, 327680, 3, -720913, 0, 2, 786414, 131072, 3, 720878, 131072, 2, 655342, 196608, 3, 589806, 327680, 11, 524270, 65536, 1, 458734, 0, 0, 393198, 0, 5, 327662, 131072, 5, 262126, 327680, 3, 196590, 65536, 0, 131054, 196608, 8, 65518, 0, 5, -18, 65536, 5, -65554, 327680, 0, -131090, 327680, 3, -196626, 0, 0, -262162, 0, 3, -327698, 262144, 0, -393234, 262144, 0, -458770, 65536, 0, -524306, 131072, 0, -589842, 0, 1, -655378, 327680, 2, -720914, 196608, 5, 786413, 196608, 3, 720877, 131072, 3, 655341, 327680, 11, 589805, 65536, 1, 524269, 327680, 4, 458733, 327680, 2, 393197, 0, 3, 327661, 0, 3, 262125, 196608, 9, 196589, 327680, 0, 131053, 65536, 5, 65517, 327680, 5, -19, 65536, 5, -65555, 196608, 8, -131091, 131072, 0, -196627, 131072, 5, -262163, 327680, 5, -327699, 327680, 2, -393235, 262144, 5, -458771, 196608, 8, -524307, 327680, 3, -589843, 327680, 0, -655379, 0, 3, -720915, 131072, 5, 786412, 196608, 2, 720876, 196608, 3, 655340, 262144, 11, 589804, 0, 3, 524268, 327680, 3, 458732, 0, 4, 393196, 131072, 5, 327660, 327680, 3, 262124, 131072, 5, 196588, 0, 4, 131052, 131072, 9, 65516, 0, 3, -20, 327680, 1, -65556, 0, 1, -131092, 327680, 1, -196628, 196608, 5, -262164, 131072, 8, -327700, 196608, 0, -393236, 131072, 5, -458772, 327680, 3, -524308, 327680, 4, -589844, 131072, 5, -655380, 0, 0, -720916, 0, 2) -[node name="PlayArea" type="Area2D" parent="."] - -[node name="Shape" type="CollisionShape2D" parent="PlayArea"] -shape = SubResource("RectangleShape2D_p1lg5") -debug_color = Color(1, 1, 1, 0) - [node name="GameCamera" parent="." instance=ExtResource("2_db5xs")] -[node name="CursorMagnet" parent="." instance=ExtResource("3_xbolm")] - [node name="GoldCounter" parent="." instance=ExtResource("3_p6jw3")] [node name="DefaultSpawnParent" type="Node2D" parent="."] unique_name_in_owner = true + +[node name="Cursor" parent="." instance=ExtResource("5_g504x")] + +[node name="Sheep" parent="." instance=ExtResource("6_j2kdp")] +position = Vector2(-221, -32) + +[node name="Sheep2" parent="." instance=ExtResource("6_j2kdp")] +position = Vector2(-187, 190) + +[node name="Sheep3" parent="." instance=ExtResource("6_j2kdp")] +position = Vector2(230, 216) + +[node name="Sheep4" parent="." instance=ExtResource("6_j2kdp")] +position = Vector2(307, -33) + +[node name="Sheep5" parent="." instance=ExtResource("6_j2kdp")] +position = Vector2(182, -217)