1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-21 23:54:23 +00:00
hella-farm/entities/sheep.tscn
2024-05-02 03:36:23 +02:00

469 lines
20 KiB
Text

[gd_scene load_steps=39 format=3 uid="uid://bc2bm8lbol18w"]
[ext_resource type="Script" path="res://entities/sheep.gd" id="1_4dmll"]
[ext_resource type="Texture2D" uid="uid://iljp5yn3ehfk" path="res://entities/sheep_left.png" id="2_t13f5"]
[ext_resource type="PackedScene" uid="uid://bxbjfev0lhwws" path="res://behaviours/sprite_left_right.tscn" id="2_xbkrm"]
[ext_resource type="Texture2D" uid="uid://cxtmas4g0v6en" path="res://entities/sheep_right.png" id="4_5qoof"]
[ext_resource type="Texture2D" uid="uid://deqvgvf66grr4" path="res://entities/top_hat.png" id="5_gfn7a"]
[ext_resource type="Texture2D" uid="uid://cfduc7cdorasr" path="res://entities/sheep_drag_left.png" id="5_gh6h6"]
[ext_resource type="PackedScene" uid="uid://dfdr3e32lohq" path="res://behaviours/edible.tscn" id="6_3odsh"]
[ext_resource type="Texture2D" uid="uid://d3tb6ypb36v8e" path="res://entities/monocle.png" id="6_q0o52"]
[ext_resource type="Texture2D" uid="uid://m5bebwb06kqe" path="res://entities/sheep_drag_right.png" id="6_x4fsj"]
[ext_resource type="PackedScene" uid="uid://tx1qi6ahlxjp" path="res://behaviours/spawner.tscn" id="7_5is0u"]
[ext_resource type="PackedScene" uid="uid://ccul07w0h36nu" path="res://behaviours/sacrificable.tscn" id="8_43m1b"]
[ext_resource type="PackedScene" uid="uid://8ejgwtkpaa44" path="res://entities/top_hat.tscn" id="8_d32x5"]
[ext_resource type="PackedScene" uid="uid://djcwis8ycrq85" path="res://behaviours/sampler_priority.tscn" id="9_s5lod"]
[ext_resource type="PackedScene" uid="uid://dk1ipq7dhkhf3" path="res://behaviours/move_straight.tscn" id="10_05kcd"]
[ext_resource type="PackedScene" uid="uid://b04xhv32ypi42" path="res://entities/monocle.tscn" id="10_dmfsp"]
[ext_resource type="PackedScene" uid="uid://cm67ko1k6kn4u" path="res://behaviours/priority.tscn" id="11_0jlmk"]
[ext_resource type="PackedScene" uid="uid://g8t6dt0ye6n3" path="res://behaviours/timer_stddev.tscn" id="12_c45uk"]
[ext_resource type="PackedScene" uid="uid://b3gydtrenbw3n" path="res://entities/skull.tscn" id="12_lutsy"]
[ext_resource type="PackedScene" uid="uid://cml7rqvyfuagx" path="res://behaviours/move_towards.tscn" id="12_x2g3x"]
[ext_resource type="PackedScene" uid="uid://cbg5kgwxusvxf" path="res://behaviours/cursor_detector.tscn" id="13_5fkdr"]
[ext_resource type="PackedScene" uid="uid://dti7l0d40hhgt" path="res://behaviours/target_picker.tscn" id="13_jf6em"]
[ext_resource type="PackedScene" uid="uid://dijcjahkddudv" path="res://behaviours/draggable.tscn" id="14_0b1hs"]
[ext_resource type="PackedScene" uid="uid://rx24bppccih7" path="res://behaviours/move_physics.tscn" id="14_3wojv"]
[ext_resource type="PackedScene" uid="uid://c5pyp5hvthdof" path="res://behaviours/tracker_tracker.tscn" id="14_eqowb"]
[ext_resource type="PackedScene" uid="uid://ctpn4hvkhxoi3" path="res://behaviours/tracker_edible.tscn" id="16_6h84f"]
[ext_resource type="AudioStream" uid="uid://bmfscpnugaejk" path="res://entities/sheep_drag.wav" id="16_nswfl"]
[ext_resource type="AudioStream" uid="uid://cwsg776c11xfc" path="res://entities/fall.ogg" id="17_8kst2"]
[ext_resource type="PackedScene" uid="uid://jg7qkbswgqjc" path="res://behaviours/eater.tscn" id="22_lilpq"]
[sub_resource type="CircleShape2D" id="CircleShape2D_c2ya8"]
radius = 20.0
[sub_resource type="CircleShape2D" id="CircleShape2D_0ijhp"]
radius = 20.0
[sub_resource type="CircleShape2D" id="CircleShape2D_c5tcn"]
radius = 24.0
[sub_resource type="Animation" id="Animation_gokbg"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(2, 2)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite:left_texture")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_t13f5")]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite:right_texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("4_5qoof")]
}
[sub_resource type="Animation" id="Animation_5yt72"]
resource_name = "drag_loop"
length = 1.2
loop_mode = 2
step = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(2.4, 2.4)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0872665, -0.0872665]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite:left_texture")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("5_gh6h6")]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite:right_texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("6_x4fsj")]
}
[sub_resource type="Animation" id="Animation_2igbw"]
resource_name = "drag_start"
length = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(2, 2), Vector2(2.4, 2.4)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite:left_texture")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("5_gh6h6")]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite:right_texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("6_x4fsj")]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6mutq"]
_data = {
"RESET": SubResource("Animation_gokbg"),
"drag_loop": SubResource("Animation_5yt72"),
"drag_start": SubResource("Animation_2igbw")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_etpf6"]
radius = 144.0
[sub_resource type="CircleShape2D" id="CircleShape2D_nn3xr"]
radius = 24.0
[sub_resource type="CircleShape2D" id="CircleShape2D_bct1e"]
radius = 24.0
[node name="Sheep" type="CharacterBody2D"]
z_index = 1
collision_layer = 8
collision_mask = 8
motion_mode = 1
script = ExtResource("1_4dmll")
[node name="Sprite" parent="." instance=ExtResource("2_xbkrm")]
unique_name_in_owner = true
scale = Vector2(2, 2)
texture = ExtResource("2_t13f5")
offset = Vector2(0, -15)
left_texture = ExtResource("2_t13f5")
right_texture = ExtResource("4_5qoof")
[node name="TopHatter" parent="Sprite" instance=ExtResource("22_lilpq")]
unique_name_in_owner = true
position = Vector2(0, -13)
acceptable_diets = Array[StringName]([&"TopHat"])
target = 1
[node name="Sprite" type="Sprite2D" parent="Sprite/TopHatter"]
visible = false
z_index = 1
position = Vector2(-9, -14)
texture = ExtResource("5_gfn7a")
[node name="Shape" type="CollisionShape2D" parent="Sprite/TopHatter"]
shape = SubResource("CircleShape2D_c2ya8")
debug_color = Color(1, 0, 0, 0.294118)
[node name="Spawner" parent="Sprite/TopHatter" instance=ExtResource("7_5is0u")]
scene = ExtResource("8_d32x5")
enabled = false
[node name="Sacrificable" parent="Sprite/TopHatter" instance=ExtResource("8_43m1b")]
[node name="Monocler" parent="Sprite" instance=ExtResource("22_lilpq")]
unique_name_in_owner = true
position = Vector2(0, -13)
acceptable_diets = Array[StringName]([&"Monocle"])
target = 1
[node name="Sprite" type="Sprite2D" parent="Sprite/Monocler"]
visible = false
z_index = 1
position = Vector2(-8, -2.5)
texture = ExtResource("6_q0o52")
[node name="Shape" type="CollisionShape2D" parent="Sprite/Monocler"]
shape = SubResource("CircleShape2D_0ijhp")
debug_color = Color(1, 0, 0, 0.294118)
[node name="Spawner" parent="Sprite/Monocler" instance=ExtResource("7_5is0u")]
scene = ExtResource("10_dmfsp")
enabled = false
[node name="Sacrificable" parent="Sprite/Monocler" instance=ExtResource("8_43m1b")]
[node name="Shape" type="CollisionShape2D" parent="."]
position = Vector2(0, -26)
shape = SubResource("CircleShape2D_c5tcn")
debug_color = Color(0, 0.6, 1, 0.294118)
[node name="Spawner" parent="." instance=ExtResource("7_5is0u")]
position = Vector2(0, -26)
scene = ExtResource("12_lutsy")
[node name="Animator" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_6mutq")
}
next/drag_loop = &"drag_loop"
next/drag_start = &"drag_loop"
blend_times = [&"drag_start", &"drag_loop", 0.5]
[node name="Edible" parent="." instance=ExtResource("6_3odsh")]
diet = &"Meat"
[node name="Sacrificable" parent="." instance=ExtResource("8_43m1b")]
kind = &"Sheep"
[node name="MovementSampler" parent="." instance=ExtResource("9_s5lod")]
[node name="MovementIdle" parent="." instance=ExtResource("10_05kcd")]
position = Vector2(0, -26)
speed = 0.0
enabled = false
[node name="IdlePriority" parent="MovementIdle" instance=ExtResource("11_0jlmk")]
default_priority = 10
alternative_priority = 10
[node name="BoredTimer" parent="MovementIdle" instance=ExtResource("12_c45uk")]
one_shot = true
autostart = true
mean_secs = 3.0
min_secs = 1.0
max_secs = 5.0
[node name="MovementWander" parent="." instance=ExtResource("10_05kcd")]
position = Vector2(0, -26)
speed = 33.0
enabled = false
[node name="WanderPriority" parent="MovementWander" instance=ExtResource("11_0jlmk")]
alternative_priority = 20
[node name="TiredTimer" parent="MovementWander" instance=ExtResource("12_c45uk")]
one_shot = true
min_secs = 0.3
max_secs = 1.5
[node name="MovementRunFromMouse" parent="." instance=ExtResource("12_x2g3x")]
position = Vector2(0, -26)
speed = -66.0
enabled = false
[node name="RunFromMousePriority" parent="MovementRunFromMouse" instance=ExtResource("11_0jlmk")]
alternative_priority = 30
[node name="CursorSense" parent="MovementRunFromMouse" instance=ExtResource("13_5fkdr")]
[node name="Shape" type="CollisionShape2D" parent="MovementRunFromMouse/CursorSense"]
shape = SubResource("CircleShape2D_etpf6")
debug_color = Color(0, 1, 0, 0.294118)
[node name="MovementRunFromHunter" parent="." instance=ExtResource("12_x2g3x")]
position = Vector2(0, -26)
speed = -66.0
enabled = false
[node name="RunFromHunterPriority" parent="MovementRunFromHunter" instance=ExtResource("11_0jlmk")]
alternative_priority = 40
[node name="HunterSense" parent="MovementRunFromHunter" instance=ExtResource("14_eqowb")]
[node name="Shape" type="CollisionShape2D" parent="MovementRunFromHunter/HunterSense"]
shape = SubResource("CircleShape2D_etpf6")
debug_color = Color(1, 1, 0, 0.294118)
[node name="TargetPicker" parent="MovementRunFromHunter/HunterSense" node_paths=PackedStringArray("tracker") instance=ExtResource("13_jf6em")]
tracker = NodePath("..")
[node name="MovementTrap" parent="." instance=ExtResource("12_x2g3x")]
position = Vector2(0, -26)
speed = 600.0
enabled = false
[node name="TrapPriority" parent="MovementTrap" instance=ExtResource("11_0jlmk")]
alternative_priority = 45
[node name="TrackerTrap" parent="MovementTrap" instance=ExtResource("16_6h84f")]
collision_mask = 8
acceptable_diets = Array[StringName]([&"Trap"])
[node name="Shape" type="CollisionShape2D" parent="MovementTrap/TrackerTrap"]
shape = SubResource("CircleShape2D_nn3xr")
debug_color = Color(1, 1, 0, 0.294118)
[node name="TargetPicker" parent="MovementTrap/TrackerTrap" node_paths=PackedStringArray("tracker") instance=ExtResource("13_jf6em")]
tracker = NodePath("..")
[node name="MovementBarn" parent="." instance=ExtResource("10_05kcd")]
position = Vector2(0, -26)
speed = 66.0
direction = Vector2(-1, 0)
enabled = false
[node name="BarnPriority" parent="MovementBarn" instance=ExtResource("11_0jlmk")]
alternative_priority = 47
[node name="ExitedTimer" type="Timer" parent="MovementBarn"]
wait_time = 2.0
one_shot = true
[node name="MovementDrag" parent="." instance=ExtResource("14_3wojv")]
position = Vector2(0, -26)
enabled = false
[node name="DragPriority" parent="MovementDrag" instance=ExtResource("11_0jlmk")]
alternative_priority = 50
[node name="Draggable" parent="MovementDrag" instance=ExtResource("14_0b1hs")]
[node name="Shape" type="CollisionShape2D" parent="MovementDrag/Draggable"]
shape = SubResource("CircleShape2D_bct1e")
debug_color = Color(0, 1, 0.701961, 0.294118)
[node name="DragSound" type="AudioStreamPlayer2D" parent="MovementDrag"]
stream = ExtResource("16_nswfl")
bus = &"DragSounds"
[node name="FallSound" type="AudioStreamPlayer2D" parent="MovementDrag"]
stream = ExtResource("17_8kst2")
bus = &"FallSounds"
[connection signal="eaten" from="Sprite/TopHatter" to="." method="_on_eater_eaten"]
[connection signal="goal_reached" from="Sprite/TopHatter" to="Sprite/TopHatter/Sprite" method="show"]
[connection signal="goal_reached" from="Sprite/TopHatter" to="Sprite/TopHatter/Spawner" method="enable"]
[connection signal="tree_exiting" from="Sprite/TopHatter/Spawner" to="Sprite/TopHatter/Spawner" method="spawn"]
[connection signal="sacrificed" from="Sprite/TopHatter/Sacrificable" to="." method="queue_free"]
[connection signal="eaten" from="Sprite/Monocler" to="." method="_on_eater_eaten"]
[connection signal="goal_reached" from="Sprite/Monocler" to="Sprite/Monocler/Sprite" method="show"]
[connection signal="goal_reached" from="Sprite/Monocler" to="Sprite/Monocler/Spawner" method="enable"]
[connection signal="goal_reached" from="Sprite/Monocler" to="Sprite/Monocler/Sacrificable" method="set_kind" binds= [&"Monocle"]]
[connection signal="tree_exiting" from="Sprite/Monocler/Spawner" to="Sprite/Monocler/Spawner" method="spawn"]
[connection signal="sacrificed" from="Sprite/Monocler/Sacrificable" to="." method="queue_free"]
[connection signal="eaten" from="Edible" to="Spawner" method="roll_spawn" binds= [11]]
[connection signal="sacrificed" from="Sacrificable" to="." method="queue_free"]
[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="timeout" from="MovementIdle/BoredTimer" to="MovementWander" method="randomize_direction"]
[connection signal="changed_direction" from="MovementWander" to="MovementWander/WanderPriority" method="priority_conditional"]
[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="timeout" from="MovementWander/TiredTimer" to="MovementWander" method="clear_direction"]
[connection signal="changed_target" from="MovementRunFromMouse" to="MovementRunFromMouse/RunFromMousePriority" method="priority_conditional"]
[connection signal="move" from="MovementRunFromMouse" to="." method="_on_move"]
[connection signal="move_enabled" from="MovementRunFromMouse" to="MovementWander" method="clear_direction"]
[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="priority_conditional"]
[connection signal="move" from="MovementRunFromHunter" to="." method="_on_move"]
[connection signal="move_disabled" from="MovementRunFromHunter" to="MovementWander" method="clear_direction"]
[connection signal="tracked" from="MovementRunFromHunter/HunterSense" to="MovementRunFromHunter/HunterSense/TargetPicker" method="set_target_if_null"]
[connection signal="untracked" from="MovementRunFromHunter/HunterSense" to="MovementRunFromHunter/HunterSense/TargetPicker" method="clear_if_target"]
[connection signal="target_changed" from="MovementRunFromHunter/HunterSense/TargetPicker" to="MovementRunFromHunter" method="set_target" unbinds=1]
[connection signal="changed_target" from="MovementTrap" to="MovementTrap/TrapPriority" method="priority_conditional"]
[connection signal="move" from="MovementTrap" to="." method="_on_move"]
[connection signal="move_disabled" from="MovementTrap" to="." method="_on_freed"]
[connection signal="move_enabled" from="MovementTrap" to="." method="_on_trapped"]
[connection signal="area_entered" from="MovementTrap/TrackerTrap" to="MovementTrap/TrackerTrap" method="check_diet_then_track"]
[connection signal="area_exited" from="MovementTrap/TrackerTrap" to="MovementTrap/TrackerTrap" method="untrack"]
[connection signal="tracked" from="MovementTrap/TrackerTrap" to="MovementTrap/TrackerTrap/TargetPicker" method="sample_target_if_null" unbinds=1]
[connection signal="untracked" from="MovementTrap/TrackerTrap" to="MovementTrap/TrackerTrap/TargetPicker" method="clear_if_target"]
[connection signal="target_changed" from="MovementTrap/TrackerTrap/TargetPicker" to="MovementTrap" method="set_target" unbinds=1]
[connection signal="target_changed" from="MovementTrap/TrackerTrap/TargetPicker" to="MovementTrap/TrackerTrap/TargetPicker" method="sample_target_if_null" unbinds=2]
[connection signal="move" from="MovementBarn" to="." method="_on_move"]
[connection signal="move_disabled" from="MovementBarn" to="MovementBarn/BarnPriority" method="priority_default"]
[connection signal="move_disabled" from="MovementBarn" to="MovementBarn/ExitedTimer" method="stop"]
[connection signal="move_enabled" from="MovementBarn" to="MovementBarn/ExitedTimer" method="start"]
[connection signal="timeout" from="MovementBarn/ExitedTimer" to="MovementBarn/BarnPriority" method="priority_default"]
[connection signal="dragged" from="MovementDrag" to="." method="_on_dragged"]
[connection signal="dragged" from="MovementDrag" to="MovementDrag/DragPriority" method="priority_alternative" unbinds=1]
[connection signal="dragged" from="MovementDrag" to="MovementDrag/DragSound" method="play" unbinds=1]
[connection signal="fallen" from="MovementDrag" to="." method="_on_fallen"]
[connection signal="fallen" from="MovementDrag" to="MovementDrag/DragPriority" method="priority_default"]
[connection signal="fallen" from="MovementDrag" to="MovementDrag/FallSound" method="play"]
[connection signal="move" from="MovementDrag" to="." method="_on_move"]
[connection signal="move_enabled" from="MovementDrag" to="MovementWander" method="clear_direction"]
[connection signal="dragged" from="MovementDrag/Draggable" to="MovementDrag" method="drag"]
[connection signal="dropped" from="MovementDrag/Draggable" to="MovementDrag" method="drop"]