[gd_scene load_steps=28 format=3 uid="uid://gl4umoff474y"] [ext_resource type="PackedScene" uid="uid://bxbjfev0lhwws" path="res://behaviours/sprite_left_right.tscn" id="1_a8ato"] [ext_resource type="Script" path="res://entities/cthulhu.gd" id="1_b55wc"] [ext_resource type="Texture2D" uid="uid://17komk2y0f4e" path="res://entities/cthulhu_left.png" id="2_13vnj"] [ext_resource type="Texture2D" uid="uid://bs6es4d3fvunw" path="res://entities/cthulhu_right.png" id="4_1wxgg"] [ext_resource type="Texture2D" uid="uid://6revaeis55q1" path="res://entities/cthulhu_drag_left.png" id="5_6ho60"] [ext_resource type="Texture2D" uid="uid://deqvgvf66grr4" path="res://entities/top_hat.png" id="5_a1p2d"] [ext_resource type="Texture2D" uid="uid://d3tb6ypb36v8e" path="res://entities/monocle.png" id="6_04snb"] [ext_resource type="Texture2D" uid="uid://b0tlt1tgukajd" path="res://entities/cthulhu_drag_right.png" id="6_behik"] [ext_resource type="PackedScene" uid="uid://djcwis8ycrq85" path="res://behaviours/sampler_priority.tscn" id="6_truco"] [ext_resource type="PackedScene" uid="uid://tx1qi6ahlxjp" path="res://behaviours/spawner.tscn" id="7_op2gq"] [ext_resource type="PackedScene" uid="uid://8ejgwtkpaa44" path="res://entities/top_hat.tscn" id="8_essd3"] [ext_resource type="PackedScene" uid="uid://rx24bppccih7" path="res://behaviours/move_physics.tscn" id="8_mvkr6"] [ext_resource type="PackedScene" uid="uid://cm67ko1k6kn4u" path="res://behaviours/priority.tscn" id="9_7b55p"] [ext_resource type="PackedScene" uid="uid://dijcjahkddudv" path="res://behaviours/draggable.tscn" id="10_c36ur"] [ext_resource type="PackedScene" uid="uid://b04xhv32ypi42" path="res://entities/monocle.tscn" id="10_dmlhw"] [ext_resource type="AudioStream" uid="uid://d0feiq5s6fnux" path="res://entities/imp_drag.wav" id="11_jt7u1"] [ext_resource type="AudioStream" uid="uid://cwsg776c11xfc" path="res://entities/fall.ogg" id="12_v8da5"] [ext_resource type="PackedScene" uid="uid://jg7qkbswgqjc" path="res://behaviours/eater.tscn" id="15_vopba"] [ext_resource type="AudioStream" uid="uid://c1yuksnjdd6g2" path="res://entities/imp_eat.ogg" id="19_3hopf"] [sub_resource type="CircleShape2D" id="CircleShape2D_wjkbi"] radius = 28.0 [sub_resource type="CircleShape2D" id="CircleShape2D_uw0y6"] radius = 50.0 [sub_resource type="Animation" id="Animation_aspa2"] resource_name = "RESET" length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteFocus/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("SpriteFocus/Sprite:left_texture") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("2_13vnj")] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("SpriteFocus/Sprite:right_texture") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("4_1wxgg")] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("SpriteFocus:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="Animation" id="Animation_iyn5h"] resource_name = "drag_loop" length = 2.0 loop_mode = 2 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteFocus/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("SpriteFocus/Sprite:left_texture") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("5_6ho60")] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("SpriteFocus/Sprite:right_texture") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("6_behik")] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("SpriteFocus:rotation") tracks/3/interp = 2 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [-0.10472, 0.10472] } [sub_resource type="Animation" id="Animation_qhrn0"] resource_name = "drag_start" length = 0.4 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteFocus/Sprite:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.4), "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("SpriteFocus/Sprite:left_texture") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("5_6ho60")] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("SpriteFocus/Sprite:right_texture") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [ExtResource("6_behik")] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("SpriteFocus:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_clmy5"] _data = { "RESET": SubResource("Animation_aspa2"), "drag_loop": SubResource("Animation_iyn5h"), "drag_start": SubResource("Animation_qhrn0") } [sub_resource type="CircleShape2D" id="CircleShape2D_ptf8q"] radius = 50.0 [sub_resource type="CircleShape2D" id="CircleShape2D_4bt8o"] radius = 56.0 [node name="Cthulhu" type="CharacterBody2D"] y_sort_enabled = true collision_layer = 8 collision_mask = 8 script = ExtResource("1_b55wc") [node name="SpriteFocus" type="Node2D" parent="."] position = Vector2(0, -84) [node name="Sprite" parent="SpriteFocus" instance=ExtResource("1_a8ato")] unique_name_in_owner = true y_sort_enabled = true position = Vector2(0, 48) scale = Vector2(2, 2) texture = ExtResource("2_13vnj") left_texture = ExtResource("2_13vnj") right_texture = ExtResource("4_1wxgg") [node name="TopHatter" parent="SpriteFocus/Sprite" instance=ExtResource("15_vopba")] unique_name_in_owner = true position = Vector2(0, -6) acceptable_diets = Array[StringName]([&"TopHat"]) target = 1 [node name="Sprite" type="Sprite2D" parent="SpriteFocus/Sprite/TopHatter"] visible = false z_index = 1 position = Vector2(0, -28) texture = ExtResource("5_a1p2d") [node name="Shape" type="CollisionShape2D" parent="SpriteFocus/Sprite/TopHatter"] shape = SubResource("CircleShape2D_wjkbi") debug_color = Color(1, 0, 0, 0.294118) [node name="Spawner" parent="SpriteFocus/Sprite/TopHatter" instance=ExtResource("7_op2gq")] scene = ExtResource("8_essd3") enabled = false [node name="Monocler" parent="SpriteFocus/Sprite" instance=ExtResource("15_vopba")] unique_name_in_owner = true position = Vector2(0, -6) acceptable_diets = Array[StringName]([&"Monocle"]) target = 1 [node name="Sprite" type="Sprite2D" parent="SpriteFocus/Sprite/Monocler"] visible = false z_index = 1 position = Vector2(5, -9.5) texture = ExtResource("6_04snb") [node name="Shape" type="CollisionShape2D" parent="SpriteFocus/Sprite/Monocler"] shape = SubResource("CircleShape2D_wjkbi") debug_color = Color(1, 0, 0, 0.294118) [node name="Spawner" parent="SpriteFocus/Sprite/Monocler" instance=ExtResource("7_op2gq")] scene = ExtResource("10_dmlhw") enabled = false [node name="Shape" type="CollisionShape2D" parent="."] position = Vector2(0, -48) shape = SubResource("CircleShape2D_uw0y6") debug_color = Color(0, 0.6, 1, 0.294118) [node name="Animator" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { "": SubResource("AnimationLibrary_clmy5") } next/drag_loop = &"drag_loop" next/drag_start = &"drag_loop" blend_times = [&"drag_start", &"drag_loop", 0.5] [node name="MovementSampler" parent="." instance=ExtResource("6_truco")] [node name="MovementDrag" parent="." instance=ExtResource("8_mvkr6")] position = Vector2(0, -84) enabled = false [node name="DragPriority" parent="MovementDrag" instance=ExtResource("9_7b55p")] alternative_priority = 50 [node name="Draggable" parent="MovementDrag" instance=ExtResource("10_c36ur")] position = Vector2(0, 36) [node name="Shape" type="CollisionShape2D" parent="MovementDrag/Draggable"] shape = SubResource("CircleShape2D_ptf8q") debug_color = Color(1, 1, 1, 0) [node name="DragSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("11_jt7u1") bus = &"DragSounds" [node name="FallSound" type="AudioStreamPlayer2D" parent="MovementDrag"] stream = ExtResource("12_v8da5") bus = &"FallSounds" [node name="Eater" parent="." instance=ExtResource("15_vopba")] unique_name_in_owner = true position = Vector2(0, -48) collision_mask = 24 acceptable_diets = Array[StringName]([&"Demon"]) [node name="EatSound" type="AudioStreamPlayer2D" parent="Eater"] stream = ExtResource("19_3hopf") bus = &"KillSounds" [node name="Shape" type="CollisionShape2D" parent="Eater"] shape = SubResource("CircleShape2D_4bt8o") debug_color = Color(1, 0, 0, 0) [connection signal="eaten" from="SpriteFocus/Sprite/TopHatter" to="." method="_on_eater_eaten"] [connection signal="eaten" from="SpriteFocus/Sprite/TopHatter" to="SpriteFocus/Sprite/TopHatter/Spawner" method="enable" unbinds=1] [connection signal="goal_reached" from="SpriteFocus/Sprite/TopHatter" to="SpriteFocus/Sprite/TopHatter/Sprite" method="show"] [connection signal="tree_exiting" from="SpriteFocus/Sprite/TopHatter/Spawner" to="SpriteFocus/Sprite/TopHatter/Spawner" method="spawn"] [connection signal="eaten" from="SpriteFocus/Sprite/Monocler" to="." method="_on_eater_eaten"] [connection signal="eaten" from="SpriteFocus/Sprite/Monocler" to="SpriteFocus/Sprite/Monocler/Spawner" method="enable" unbinds=1] [connection signal="goal_reached" from="SpriteFocus/Sprite/Monocler" to="SpriteFocus/Sprite/Monocler/Sprite" method="show"] [connection signal="tree_exiting" from="SpriteFocus/Sprite/Monocler/Spawner" to="SpriteFocus/Sprite/Monocler/Spawner" method="spawn"] [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"] [connection signal="eaten" from="Eater" to="." method="_on_eater_eaten"] [connection signal="eaten" from="Eater" to="Eater/EatSound" method="play" unbinds=1]