[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" 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 = 2.0
height = 4.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.499905),
"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.500823),
"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.500364),
"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.501281),
"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(-10, -78)

[sub_resource type="CapsuleShape2D" id="40"]
radius = 6.0
height = 12.0

[sub_resource type="CapsuleShape2D" id="52"]
radius = 3.0
height = 6.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_mask = 8
script = ExtResource("4")

[node name="CollisionShape2D" parent="HitboxPivot/SwordHitbox" index="0"]
shape = SubResource("40")
disabled = true

[node name="Hurtbox" parent="." instance=ExtResource("5")]
collision_layer = 4

[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"]
