[gd_scene load_steps=20 format=3 uid="uid://b3gydtrenbw3n"] [ext_resource type="Script" path="res://entities/skull.gd" id="1_7g8bu"] [ext_resource type="Texture2D" uid="uid://dwvvwjdexdywh" path="res://entities/skull.png" id="1_v6qk3"] [ext_resource type="PackedScene" uid="uid://dijcjahkddudv" path="res://behaviours/draggable.tscn" id="2_h0icd"] [ext_resource type="PackedScene" uid="uid://rx24bppccih7" path="res://behaviours/move_physics.tscn" id="3_83m1a"] [ext_resource type="PackedScene" uid="uid://ccul07w0h36nu" path="res://behaviours/sacrificable.tscn" id="3_r8hir"] [ext_resource type="PackedScene" uid="uid://djcwis8ycrq85" path="res://behaviours/sampler_priority.tscn" id="4_xvv7l"] [ext_resource type="AudioStream" uid="uid://dq3xf4i2wpt50" path="res://entities/skull_drag.wav" id="5_duqrf"] [ext_resource type="PackedScene" uid="uid://cml7rqvyfuagx" path="res://behaviours/move_towards.tscn" id="5_lnjls"] [ext_resource type="AudioStream" uid="uid://cwsg776c11xfc" path="res://entities/fall.ogg" id="6_7yx26"] [ext_resource type="PackedScene" uid="uid://cm67ko1k6kn4u" path="res://behaviours/priority.tscn" id="6_8jeho"] [ext_resource type="PackedScene" uid="uid://ctpn4hvkhxoi3" path="res://behaviours/tracker_edible.tscn" id="7_nx0gx"] [ext_resource type="PackedScene" uid="uid://dti7l0d40hhgt" path="res://behaviours/target_picker.tscn" id="8_0o770"] [sub_resource type="CircleShape2D" id="CircleShape2D_ypibs"] radius = 12.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] } [sub_resource type="Animation" id="Animation_5yt72"] resource_name = "drag_loop" length = 1.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), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [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] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_wxlwx"] _data = { "RESET": SubResource("Animation_gokbg"), "drag_loop": SubResource("Animation_5yt72"), "drag_start": SubResource("Animation_2igbw") } [sub_resource type="CircleShape2D" id="CircleShape2D_hg0y7"] radius = 12.0 [sub_resource type="CircleShape2D" id="CircleShape2D_pt4sw"] radius = 12.0 [node name="Skull" type="CharacterBody2D"] y_sort_enabled = true collision_layer = 8 collision_mask = 8 motion_mode = 1 script = ExtResource("1_7g8bu") [node name="Sprite" type="Sprite2D" parent="."] y_sort_enabled = true position = Vector2(2, 0) scale = Vector2(2, 2) texture = ExtResource("1_v6qk3") offset = Vector2(0, -6) [node name="Shape" type="CollisionShape2D" parent="."] position = Vector2(0, -12) shape = SubResource("CircleShape2D_ypibs") debug_color = Color(0, 0.6, 1, 0.294118) [node name="Animator" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { "": SubResource("AnimationLibrary_wxlwx") } next/drag_loop = &"drag_loop" next/drag_start = &"drag_loop" [node name="Sacrificable" parent="." instance=ExtResource("3_r8hir")] kind = &"Skull" [node name="MovementSampler" parent="." instance=ExtResource("4_xvv7l")] [node name="MovementTrap" parent="." instance=ExtResource("5_lnjls")] position = Vector2(0, -12) speed = 600.0 enabled = false [node name="TrapPriority" parent="MovementTrap" instance=ExtResource("6_8jeho")] alternative_priority = 45 [node name="TrackerTrap" parent="MovementTrap" instance=ExtResource("7_nx0gx")] collision_mask = 8 acceptable_diets = Array[StringName]([&"Trap"]) [node name="Shape" type="CollisionShape2D" parent="MovementTrap/TrackerTrap"] shape = SubResource("CircleShape2D_hg0y7") debug_color = Color(1, 1, 0, 0.294118) [node name="TargetPicker" parent="MovementTrap/TrackerTrap" node_paths=PackedStringArray("tracker") instance=ExtResource("8_0o770")] tracker = NodePath("..") [node name="MovementDrag" parent="." instance=ExtResource("3_83m1a")] position = Vector2(0, -12) enabled = false [node name="DragPriority" parent="MovementDrag" instance=ExtResource("6_8jeho")] alternative_priority = 50 [node name="Draggable" parent="MovementDrag" instance=ExtResource("2_h0icd")] [node name="Shape" type="CollisionShape2D" parent="MovementDrag/Draggable"] shape = SubResource("CircleShape2D_pt4sw") debug_color = Color(0, 1, 0.701961, 0.294118) [node name="DragSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("5_duqrf") bus = &"DragSounds" [node name="FallSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("6_7yx26") bus = &"FallSounds" [connection signal="sacrificed" from="Sacrificable" to="." method="queue_free"] [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="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="dragged" from="MovementDrag/Draggable" to="MovementDrag" method="drag"] [connection signal="dropped" from="MovementDrag/Draggable" to="MovementDrag" method="drop"]