[gd_scene format=3 uid="uid://bg5fq6ltr37r5"] [ext_resource type="Texture2D" uid="uid://c7gbcrellomr1" path="res://sprites/boss.png" id="1_dlmty"] [ext_resource type="Script" uid="uid://c1wu3aga847b0" path="res://scenes/boss.gd" id="1_neq0i"] [ext_resource type="Texture2D" uid="uid://bqtdonm2hgrw3" path="res://sprites/horse_in_motion.png" id="3_jncid"] [ext_resource type="Script" uid="uid://2wtoqserm8g6" path="res://scenes/boss_horse.gd" id="3_r3bxh"] [ext_resource type="Texture2D" uid="uid://b0bdonvu25475" path="res://sprites/frame.png" id="4_qnbj4"] [ext_resource type="Texture2D" uid="uid://dy743vehs0t1t" path="res://icon.svg" id="5_wqpjq"] [ext_resource type="Texture2D" uid="uid://c4nhwvs13x5bc" path="res://sprites/heart.png" id="7_2cdgk"] [ext_resource type="Script" uid="uid://b01h56iyb6pp2" path="res://scenes/heart.gd" id="7_qsl3t"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_neq0i"] size = Vector2(129, 63) [sub_resource type="Animation" id="Animation_jncid"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [4] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../AnimationPlayer:speed_scale") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.5] } [sub_resource type="Animation" id="Animation_qnbj4"] resource_name = "align" length = 2.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0.1, 1.5, 1.7333333, 2), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [4, 5, 6, 7] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../AnimationPlayer:speed_scale") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.5] } [sub_resource type="Animation" id="Animation_r3bxh"] resource_name = "Rise" length = 2.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0.1, 1.5, 1.7333333, 2), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [7, 8, 9, 0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../AnimationPlayer:speed_scale") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.5] } [sub_resource type="Animation" id="Animation_wqpjq"] resource_name = "whisper" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.25, 0.5), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [0, 1, 2] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_2cdgk"] _data = { &"RESET": SubResource("Animation_jncid"), &"align": SubResource("Animation_qnbj4"), &"rise": SubResource("Animation_r3bxh"), &"whisper": SubResource("Animation_wqpjq") } [sub_resource type="Animation" id="Animation_2cdgk"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_qsl3t"] resource_name = "run" length = 0.3333 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.033333335, 0.06666667, 0.10000001, 0.13333334, 0.16666667, 0.20000002, 0.23333335, 0.26666668, 0.3), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 1, "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_2avx2"] _data = { &"RESET": SubResource("Animation_2cdgk"), &"run": SubResource("Animation_qsl3t") } [sub_resource type="RectangleShape2D" id="RectangleShape2D_qsl3t"] size = Vector2(31, 28) [sub_resource type="Animation" id="Animation_2avx2"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(1, 1)] } [sub_resource type="Animation" id="Animation_5f346"] resource_name = "beat" length = 0.76666665 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:scale") tracks/0/interp = 0 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.25, 0.5), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [Vector2(1, 1), Vector2(1.15, 1.15), Vector2(0.75, 0.75)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_0onds"] _data = { &"RESET": SubResource("Animation_2avx2"), &"beat": SubResource("Animation_5f346") } [node name="Boss" type="Area2D" unique_id=2108172712 groups=["boss"]] z_index = -1 script = ExtResource("1_neq0i") [node name="Sprite2D" type="Sprite2D" parent="." unique_id=523151470] texture = ExtResource("1_dlmty") hframes = 4 vframes = 3 frame = 4 [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=12560305] position = Vector2(-0.5, 1.5) shape = SubResource("RectangleShape2D_neq0i") [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1476555217] root_node = NodePath("../Sprite2D") libraries/ = SubResource("AnimationLibrary_2cdgk") speed_scale = 1.5 [node name="Horse" type="Area2D" parent="." unique_id=926134296 groups=["horse"]] visible = false position = Vector2(0, 3) script = ExtResource("3_r3bxh") [node name="Sprite2D" type="Sprite2D" parent="Horse" unique_id=1255792406] position = Vector2(8.34465e-07, -1.000004) scale = Vector2(1.3333334, 1.1076921) texture = ExtResource("3_jncid") hframes = 11 [node name="CollisionShape2D" type="CollisionShape2D" parent="Horse" unique_id=1900731949] position = Vector2(-0.5, 1.5) shape = SubResource("RectangleShape2D_neq0i") [node name="Frame" type="Sprite2D" parent="Horse" unique_id=1984989709] position = Vector2(0, -3) texture = ExtResource("4_qnbj4") [node name="AnimationPlayer" type="AnimationPlayer" parent="Horse" unique_id=755026998] libraries/ = SubResource("AnimationLibrary_2avx2") speed_scale = 0.55 [node name="Sprite2D2" type="Sprite2D" parent="Horse" unique_id=1735797796] visible = false texture = ExtResource("5_wqpjq") [node name="Rotater" type="Node2D" parent="Horse" unique_id=697300019] [node name="Sprite2D" type="Sprite2D" parent="Horse/Rotater" unique_id=1703348402] visible = false self_modulate = Color(1, 0, 0, 1) scale = Vector2(0.453125, 0.453125) texture = ExtResource("5_wqpjq") [node name="ShootTimer" type="Timer" parent="Horse" unique_id=914903842] wait_time = 0.05 one_shot = true [node name="Heart" type="Area2D" parent="." unique_id=1098254590 groups=["heart"]] position = Vector2(0, -71) script = ExtResource("7_qsl3t") [node name="Sprite2D" type="Sprite2D" parent="Heart" unique_id=520903474] texture = ExtResource("7_2cdgk") [node name="CollisionShape2D" type="CollisionShape2D" parent="Heart" unique_id=11221326] position = Vector2(0.5, 0) shape = SubResource("RectangleShape2D_qsl3t") [node name="AnimationPlayer" type="AnimationPlayer" parent="Heart" unique_id=47669741] libraries/ = SubResource("AnimationLibrary_0onds") autoplay = &"beat" [connection signal="timeout" from="Horse/ShootTimer" to="Horse" method="_on_shoot_timer_timeout"]