[gd_scene load_steps=24 format=3 uid="uid://4d3ksr3171x4"] [ext_resource type="Script" path="res://entities/imp.gd" id="1_dixpc"] [ext_resource type="PackedScene" uid="uid://bxbjfev0lhwws" path="res://behaviours/sprite_left_right.tscn" id="2_eqcdi"] [ext_resource type="Texture2D" uid="uid://crhwsob76ieya" path="res://entities/imp_left.png" id="3_qda0k"] [ext_resource type="Texture2D" uid="uid://bubehid53q8h1" path="res://entities/imp_right.png" id="4_0sckn"] [ext_resource type="PackedScene" uid="uid://tx1qi6ahlxjp" path="res://behaviours/spawner.tscn" id="4_d8lgm"] [ext_resource type="PackedScene" uid="uid://uoxwjpmgg27a" path="res://entities/gold.tscn" id="5_yrfoq"] [ext_resource type="PackedScene" uid="uid://djcwis8ycrq85" path="res://behaviours/sampler_priority.tscn" id="7_ech8d"] [ext_resource type="PackedScene" uid="uid://dk1ipq7dhkhf3" path="res://behaviours/move_straight.tscn" id="8_ffcw0"] [ext_resource type="PackedScene" uid="uid://cm67ko1k6kn4u" path="res://behaviours/priority.tscn" id="9_2wb1b"] [ext_resource type="PackedScene" uid="uid://g8t6dt0ye6n3" path="res://behaviours/timer_stddev.tscn" id="10_phvea"] [ext_resource type="PackedScene" uid="uid://cml7rqvyfuagx" path="res://behaviours/move_towards.tscn" id="11_4ra22"] [ext_resource type="PackedScene" uid="uid://ctpn4hvkhxoi3" path="res://behaviours/tracker_edible.tscn" id="12_dr2oe"] [ext_resource type="PackedScene" uid="uid://dti7l0d40hhgt" path="res://behaviours/target_picker.tscn" id="13_mwxuf"] [ext_resource type="PackedScene" uid="uid://rx24bppccih7" path="res://behaviours/move_physics.tscn" id="14_p3w0g"] [ext_resource type="PackedScene" uid="uid://jg7qkbswgqjc" path="res://behaviours/eater.tscn" id="14_w2h8x"] [ext_resource type="PackedScene" uid="uid://dijcjahkddudv" path="res://behaviours/draggable.tscn" id="15_otrbh"] [ext_resource type="AudioStream" uid="uid://d0feiq5s6fnux" path="res://entities/imp_drag.wav" id="16_0frai"] [ext_resource type="AudioStream" uid="uid://cwsg776c11xfc" path="res://entities/fall.ogg" id="17_lib0h"] [ext_resource type="AudioStream" uid="uid://c1yuksnjdd6g2" path="res://entities/imp_eat.ogg" id="19_7la6c"] [sub_resource type="CircleShape2D" id="CircleShape2D_ide4n"] radius = 32.0 [sub_resource type="CircleShape2D" id="CircleShape2D_1bmhf"] radius = 256.0 [sub_resource type="CircleShape2D" id="CircleShape2D_50iad"] radius = 32.0 [sub_resource type="CircleShape2D" id="CircleShape2D_qhk1q"] radius = 40.0 [node name="Imp" type="CharacterBody2D"] collision_layer = 8 collision_mask = 14 motion_mode = 1 script = ExtResource("1_dixpc") [node name="Sprite" parent="." instance=ExtResource("2_eqcdi")] scale = Vector2(2, 2) texture = ExtResource("3_qda0k") left_texture = ExtResource("3_qda0k") right_texture = ExtResource("4_0sckn") [node name="Shape" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_ide4n") [node name="GoldSpawner" parent="." instance=ExtResource("4_d8lgm")] scene = ExtResource("5_yrfoq") [node name="TimerStddev" parent="GoldSpawner" instance=ExtResource("10_phvea")] autostart = true mean_secs = 5.0 deviation = 4.0 min_secs = 1.0 max_secs = 9.0 [node name="MovementSampler" parent="." node_paths=PackedStringArray("possibilities") instance=ExtResource("7_ech8d")] possibilities = [NodePath("../MovementWander/WanderPriority"), NodePath("../MovementHunt/HuntPriority"), NodePath("../MovementDrag/DragPriority")] [node name="MovementWander" parent="." instance=ExtResource("8_ffcw0")] speed = 25.0 enabled = false [node name="WanderPriority" parent="MovementWander" instance=ExtResource("9_2wb1b")] default_priority = 10 alternative_priority = 10 [node name="ChangeDirectionTimer" parent="MovementWander" instance=ExtResource("10_phvea")] autostart = true mean_secs = 2.0 deviation = 2.0 min_secs = 0.6 max_secs = 3.0 [node name="MovementHunt" parent="." instance=ExtResource("11_4ra22")] speed = 140.0 enabled = false [node name="HuntPriority" parent="MovementHunt" instance=ExtResource("9_2wb1b")] alternative_priority = 40 [node name="TrackerMeat" parent="MovementHunt" instance=ExtResource("12_dr2oe")] acceptable_diets = Array[StringName]([&"Meat"]) [node name="Shape" type="CollisionShape2D" parent="MovementHunt/TrackerMeat"] shape = SubResource("CircleShape2D_1bmhf") debug_color = Color(1, 0.498039, 0, 0) [node name="TargetPicker" parent="MovementHunt/TrackerMeat" node_paths=PackedStringArray("tracker") instance=ExtResource("13_mwxuf")] tracker = NodePath("..") [node name="MovementDrag" parent="." instance=ExtResource("14_p3w0g")] enabled = false [node name="DragPriority" parent="MovementDrag" instance=ExtResource("9_2wb1b")] alternative_priority = 50 [node name="Draggable" parent="MovementDrag" instance=ExtResource("15_otrbh")] [node name="Shape" type="CollisionShape2D" parent="MovementDrag/Draggable"] shape = SubResource("CircleShape2D_50iad") debug_color = Color(1, 1, 1, 0) [node name="DragSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("16_0frai") [node name="FallSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("17_lib0h") [node name="Eater" parent="." instance=ExtResource("14_w2h8x")] acceptable_diets = Array[StringName]([&"Meat"]) [node name="Shape" type="CollisionShape2D" parent="Eater"] shape = SubResource("CircleShape2D_qhk1q") debug_color = Color(1, 0, 0, 0) [node name="EatSound" type="AudioStreamPlayer2D" parent="Eater"] stream = ExtResource("19_7la6c") [connection signal="timeout" from="GoldSpawner/TimerStddev" to="GoldSpawner" method="spawn"] [connection signal="ready" from="MovementSampler" to="MovementSampler" method="enable"] [connection signal="changed_direction" from="MovementWander" to="MovementWander/WanderPriority" method="priority_conditional"] [connection signal="move" from="MovementWander" to="." method="_on_move"] [connection signal="priority_changed_no_args" from="MovementWander/WanderPriority" to="MovementSampler" method="enable"] [connection signal="timeout" from="MovementWander/ChangeDirectionTimer" to="MovementWander" method="randomize_direction"] [connection signal="changed_target" from="MovementHunt" to="MovementHunt/HuntPriority" method="priority_conditional"] [connection signal="move" from="MovementHunt" to="." method="_on_move"] [connection signal="priority_changed_no_args" from="MovementHunt/HuntPriority" to="MovementSampler" method="enable"] [connection signal="tracked" from="MovementHunt/TrackerMeat" to="MovementHunt/TrackerMeat/TargetPicker" method="sample_target_if_null" unbinds=1] [connection signal="untracked" from="MovementHunt/TrackerMeat" to="MovementHunt/TrackerMeat/TargetPicker" method="clear_if_target"] [connection signal="target_changed" from="MovementHunt/TrackerMeat/TargetPicker" to="MovementHunt" method="set_target" unbinds=1] [connection signal="target_changed" from="MovementHunt/TrackerMeat/TargetPicker" to="MovementHunt/TrackerMeat/TargetPicker" method="sample_target_if_null" unbinds=2] [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="priority_changed_no_args" from="MovementDrag/DragPriority" to="MovementSampler" method="enable"] [connection signal="dragged" from="MovementDrag/Draggable" to="MovementDrag" method="drag"] [connection signal="dropped" from="MovementDrag/Draggable" to="MovementDrag" method="drop"] [connection signal="eaten" from="Eater" to="." method="_on_eater_eaten"] [connection signal="eaten" from="Eater" to="Eater/EatSound" method="play" unbinds=1]