[gd_scene load_steps=65 format=3 uid="uid://clt214vwnqrba"] [ext_resource type="Script" path="res://Player/Player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://7uqxws8djwvh" path="res://Player/Player.png" id="2"] [ext_resource type="PackedScene" path="res://Overlap/Hitbox.tscn" id="3"] [ext_resource type="Script" path="res://Player/SwordHitbox.gd" id="4"] [ext_resource type="PackedScene" path="res://Overlap/Hurtbox.tscn" id="5"] [ext_resource type="Texture2D" uid="uid://bb222608451qy" path="res://Shadows/MediumShadow.png" id="6"] [ext_resource type="AudioStream" uid="uid://bo14kc5oajchr" path="res://Music and Sounds/Swipe.wav" id="7"] [ext_resource type="AudioStream" uid="uid://dwjvh7kwt62da" path="res://Music and Sounds/Evade.wav" id="8"] [ext_resource type="Shader" uid="uid://c8kh0c6pydtym" path="res://WhiteColor_shader.tres" id="9"] [sub_resource type="ShaderMaterial" id="55"] shader = ExtResource("9") shader_parameter/active = true [sub_resource type="CapsuleShape2D" id="1"] radius = 3.0 height = 12.0 [sub_resource type="Animation" id="27"] resource_name = "AttackDown" length = 0.4 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.1, 0.2, 0.3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [36, 37, 38, 39] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.4), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"attack_aninimation_finished" }] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("HitboxPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [90.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("HitboxPivot/SwordHitbox/CollisionShape2D:disabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0.1, 0.4), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } tracks/4/type = "audio" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("AudioStreamPlayer") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("7") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/4/use_blend = true [sub_resource type="Animation" id="28"] resource_name = "AttackLeft" length = 0.4 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.1, 0.2, 0.3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [32, 33, 34, 35] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.4), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"attack_aninimation_finished" }] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("HitboxPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [180.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("HitboxPivot/SwordHitbox/CollisionShape2D:disabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0.1, 0.4), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } tracks/4/type = "audio" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("AudioStreamPlayer") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("7") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/4/use_blend = true [sub_resource type="Animation" id="29"] resource_name = "AttackRight" length = 0.4 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.100979, 0.2, 0.3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [24, 25, 26, 27] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.4), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"attack_aninimation_finished" }] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("HitboxPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("HitboxPivot/SwordHitbox/CollisionShape2D:disabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0.1, 0.4), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } tracks/4/type = "audio" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("AudioStreamPlayer") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("7") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/4/use_blend = true [sub_resource type="Animation" id="30"] resource_name = "AttackUp" length = 0.4 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.1, 0.2, 0.3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [28, 29, 30, 31] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.4), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"attack_aninimation_finished" }] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("HitboxPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [270.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("HitboxPivot/SwordHitbox/CollisionShape2D:disabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0.106438, 0.4), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } tracks/4/type = "audio" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("AudioStreamPlayer") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("7") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/4/use_blend = true [sub_resource type="Animation" id="9"] resource_name = "IdleDown" length = 0.1 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), "transitions": PackedFloat32Array(1), "update": 1, "values": [18] } [sub_resource type="Animation" id="10"] resource_name = "IdleLeft" length = 0.1 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), "transitions": PackedFloat32Array(1), "update": 1, "values": [12] } [sub_resource type="Animation" id="7"] resource_name = "IdleRight" length = 0.1 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.1), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="8"] resource_name = "IdleUp" length = 0.1 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), "transitions": PackedFloat32Array(1), "update": 1, "values": [6] } [sub_resource type="Animation" id="2"] 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": 0, "values": [0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("HitboxPivot/SwordHitbox/CollisionShape2D:disabled") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [true] } [sub_resource type="Animation" id="41"] resource_name = "RollDown" length = 0.5 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.1, 0.2, 0.3, 0.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 1, "values": [55, 56, 57, 58, 59] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.5), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"roll_animation_finished" }] } tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AudioStreamPlayer") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("8") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/2/use_blend = true [sub_resource type="Animation" id="43"] resource_name = "RollLeft" length = 0.5 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.1, 0.2, 0.3, 0.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 1, "values": [50, 51, 52, 53, 54] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.5), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"roll_animation_finished" }] } tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AudioStreamPlayer") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("8") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/2/use_blend = true [sub_resource type="Animation" id="42"] resource_name = "RollRight" length = 0.5 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.1, 0.2, 0.3, 0.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 1, "values": [40, 41, 42, 43, 44] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.5), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"roll_animation_finished" }] } tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AudioStreamPlayer") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("8") }], "times": PackedFloat32Array(0.1) } tracks/2/use_blend = true [sub_resource type="Animation" id="44"] resource_name = "RollUp" length = 0.5 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.1, 0.2, 0.3, 0.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 1, "values": [45, 46, 47, 48, 49] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.5), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"roll_animation_finished" }] } tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AudioStreamPlayer") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": null }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("8") }], "times": PackedFloat32Array(0.1, 0.101) } tracks/2/use_blend = true [sub_resource type="Animation" id="6"] resource_name = "RunDown" length = 0.6 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.1, 0.2, 0.3, 0.4, 0.5), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "update": 1, "values": [19, 19, 21, 22, 23, 18] } [sub_resource type="Animation" id="4"] resource_name = "RunLeft" length = 0.6 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.1, 0.2, 0.3, 0.4, 0.5), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "update": 1, "values": [13, 14, 15, 16, 17, 12] } [sub_resource type="Animation" id="3"] resource_name = "RunRight" length = 0.6 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.1, 0.2, 0.3, 0.4, 0.5), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "update": 1, "values": [1, 2, 3, 4, 5, 0] } [sub_resource type="Animation" id="5"] resource_name = "RunUp" length = 0.6 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.1, 0.2, 0.3, 0.4, 0.5), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "update": 1, "values": [7, 8, 9, 10, 11, 7] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_64k0f"] _data = { "AttackDown": SubResource("27"), "AttackLeft": SubResource("28"), "AttackRight": SubResource("29"), "AttackUp": SubResource("30"), "IdleDown": SubResource("9"), "IdleLeft": SubResource("10"), "IdleRight": SubResource("7"), "IdleUp": SubResource("8"), "RESET": SubResource("2"), "RollDown": SubResource("41"), "RollLeft": SubResource("43"), "RollRight": SubResource("42"), "RollUp": SubResource("44"), "RunDown": SubResource("6"), "RunLeft": SubResource("4"), "RunRight": SubResource("3"), "RunUp": SubResource("5") } [sub_resource type="AnimationNodeAnimation" id="31"] animation = &"AttackLeft" [sub_resource type="AnimationNodeAnimation" id="32"] animation = &"AttackDown" [sub_resource type="AnimationNodeAnimation" id="33"] animation = &"AttackRight" [sub_resource type="AnimationNodeAnimation" id="34"] animation = &"AttackUp" [sub_resource type="AnimationNodeBlendSpace2D" id="35"] blend_point_0/node = SubResource("31") blend_point_0/pos = Vector2(-1, 0) blend_point_1/node = SubResource("32") blend_point_1/pos = Vector2(0, 1.1) blend_point_2/node = SubResource("33") blend_point_2/pos = Vector2(1, 0) blend_point_3/node = SubResource("34") blend_point_3/pos = Vector2(0, -1.1) min_space = Vector2(-1, -1.1) max_space = Vector2(1, 1.1) blend_mode = 1 [sub_resource type="AnimationNodeAnimation" id="11"] animation = &"IdleLeft" [sub_resource type="AnimationNodeAnimation" id="12"] animation = &"IdleDown" [sub_resource type="AnimationNodeAnimation" id="13"] animation = &"IdleRight" [sub_resource type="AnimationNodeAnimation" id="14"] animation = &"IdleUp" [sub_resource type="AnimationNodeBlendSpace2D" id="15"] blend_point_0/node = SubResource("11") blend_point_0/pos = Vector2(-1, 0) blend_point_1/node = SubResource("12") blend_point_1/pos = Vector2(0, 1.1) blend_point_2/node = SubResource("13") blend_point_2/pos = Vector2(1, 0) blend_point_3/node = SubResource("14") blend_point_3/pos = Vector2(0, -1.1) min_space = Vector2(-1, -1.1) max_space = Vector2(1, 1.1) blend_mode = 1 [sub_resource type="AnimationNodeAnimation" id="45"] animation = &"RollLeft" [sub_resource type="AnimationNodeAnimation" id="46"] animation = &"RollDown" [sub_resource type="AnimationNodeAnimation" id="47"] animation = &"RollRight" [sub_resource type="AnimationNodeAnimation" id="48"] animation = &"RollUp" [sub_resource type="AnimationNodeBlendSpace2D" id="49"] blend_point_0/node = SubResource("45") blend_point_0/pos = Vector2(-1, 0) blend_point_1/node = SubResource("46") blend_point_1/pos = Vector2(0, 1.1) blend_point_2/node = SubResource("47") blend_point_2/pos = Vector2(1, 0) blend_point_3/node = SubResource("48") blend_point_3/pos = Vector2(0, -1.1) min_space = Vector2(-1, -1.1) max_space = Vector2(1, 1.1) blend_mode = 1 [sub_resource type="AnimationNodeAnimation" id="20"] animation = &"RunLeft" [sub_resource type="AnimationNodeAnimation" id="21"] animation = &"RunDown" [sub_resource type="AnimationNodeAnimation" id="22"] animation = &"RunRight" [sub_resource type="AnimationNodeAnimation" id="23"] animation = &"RunUp" [sub_resource type="AnimationNodeBlendSpace2D" id="24"] blend_point_0/node = SubResource("20") blend_point_0/pos = Vector2(-1, 0) blend_point_1/node = SubResource("21") blend_point_1/pos = Vector2(0, 1.1) blend_point_2/node = SubResource("22") blend_point_2/pos = Vector2(1, 0) blend_point_3/node = SubResource("23") blend_point_3/pos = Vector2(0, -1.1) min_space = Vector2(-1, -1.1) max_space = Vector2(1, 1.1) blend_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="25"] [sub_resource type="AnimationNodeStateMachineTransition" id="26"] [sub_resource type="AnimationNodeStateMachineTransition" id="36"] [sub_resource type="AnimationNodeStateMachineTransition" id="37"] [sub_resource type="AnimationNodeStateMachineTransition" id="38"] [sub_resource type="AnimationNodeStateMachineTransition" id="39"] [sub_resource type="AnimationNodeStateMachineTransition" id="50"] [sub_resource type="AnimationNodeStateMachineTransition" id="51"] [sub_resource type="AnimationNodeStateMachine" id="18"] states/Attack/node = SubResource("35") states/Attack/position = Vector2(321.375, 203.5) states/Idle/node = SubResource("15") states/Idle/position = Vector2(323.5, 96.2812) states/Roll/node = SubResource("49") states/Roll/position = Vector2(325, -25.5) states/Run/node = SubResource("24") states/Run/position = Vector2(509.5, 96.5) transitions = ["Run", "Idle", SubResource("25"), "Idle", "Run", SubResource("26"), "Idle", "Attack", SubResource("36"), "Attack", "Idle", SubResource("37"), "Attack", "Run", SubResource("38"), "Run", "Attack", SubResource("39"), "Roll", "Idle", SubResource("50"), "Idle", "Roll", SubResource("51")] graph_offset = Vector2(-304, -64) [sub_resource type="CapsuleShape2D" id="40"] radius = 8.0 height = 28.0 [sub_resource type="CapsuleShape2D" id="52"] radius = 7.0 height = 18.0 [sub_resource type="Animation" id="56"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:material:shader_param/active") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [true] } [sub_resource type="Animation" id="53"] resource_name = "Start" length = 0.2 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:material:shader_param/active") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] } [sub_resource type="Animation" id="54"] resource_name = "Stop" length = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite2D:material:shader_param/active") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_wmxcy"] _data = { "RESET": SubResource("56"), "Start": SubResource("53"), "Stop": SubResource("54") } [node name="Player" type="CharacterBody2D"] collision_layer = 2 script = ExtResource("1") [node name="ShadowSprite" type="Sprite2D" parent="."] position = Vector2(0, 1) texture = ExtResource("6") [node name="Sprite2D" type="Sprite2D" parent="."] material = SubResource("55") position = Vector2(0, -9) texture = ExtResource("2") hframes = 60 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] rotation = -1.5708 shape = SubResource("1") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_64k0f") } [node name="AnimationTree" type="AnimationTree" parent="."] tree_root = SubResource("18") anim_player = NodePath("../AnimationPlayer") parameters/Attack/blend_position = Vector2(0, 1) parameters/Idle/blend_position = Vector2(0, 1) parameters/Roll/blend_position = Vector2(0, 1) parameters/Run/blend_position = Vector2(0, 1) [node name="HitboxPivot" type="Marker2D" parent="."] position = Vector2(0, -4) [node name="SwordHitbox" parent="HitboxPivot" instance=ExtResource("3")] position = Vector2(15, 0) collision_layer = 2 script = ExtResource("4") [node name="CollisionShape2D" parent="HitboxPivot/SwordHitbox" index="0"] shape = SubResource("40") disabled = true debug_color = Color(0.993005, 0, 0.24396, 0.42) [node name="Hurtbox" parent="." instance=ExtResource("5")] collision_layer = 4 collision_mask = 16 [node name="CollisionShape2D" parent="Hurtbox" index="0"] position = Vector2(0, -4) shape = SubResource("52") [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] [node name="BlinkAnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_wmxcy") } [connection signal="area_entered" from="Hurtbox" to="." method="_on_hurtbox_area_entered"] [connection signal="invincibility_ended" from="Hurtbox" to="." method="_on_Hurtbox_invincibility_ended"] [connection signal="invincibility_started" from="Hurtbox" to="." method="_on_Hurtbox_invincibility_started"] [editable path="HitboxPivot/SwordHitbox"] [editable path="Hurtbox"]