hero-mark-2/objects/player/player.tscn
Hazel Snider a2974d8dd3 the damage system refactor!
killing is now done based on groups, the same way enemies already killed
the player.

these groups go on the entity's hitbox, not the entity itself.
enemies' hitboxes have all been put in "enemy_hitbox"

the arrow_projectile has a variable for the target group, so it could
easily be simply set to "player" for arrows shot by enemies

blocking is also done with groups. any hitbox with "blocks_arrow"
will block arrows, same with "blocks_sword" and "blocks_squash"
2023-01-20 00:06:34 -05:00

734 lines
19 KiB
Text

[gd_scene load_steps=36 format=2]
[ext_resource path="res://objects/player/player.gd" type="Script" id=1]
[ext_resource path="res://graphics/player/sg_walk.png" type="Texture" id=2]
[ext_resource path="res://graphics/player/sg_idle.png" type="Texture" id=3]
[ext_resource path="res://scripts/recolor_border.shader" type="Shader" id=4]
[ext_resource path="res://graphics/player/jump.png" type="Texture" id=5]
[ext_resource path="res://graphics/player/pal_purplearmor.png" type="Texture" id=6]
[ext_resource path="res://graphics/player/sg_climb.png" type="Texture" id=7]
[ext_resource path="res://graphics/player/pal_sword_red.png" type="Texture" id=8]
[ext_resource path="res://graphics/player/sg_stab.png" type="Texture" id=9]
[ext_resource path="res://graphics/player/sg_shoot_grounded.png" type="Texture" id=10]
[ext_resource path="res://graphics/player/sword_stab.png" type="Texture" id=11]
[ext_resource path="res://graphics/player/sg_shoot_air.png" type="Texture" id=12]
[ext_resource path="res://scripts/recolor.tres" type="Shader" id=13]
[ext_resource path="res://graphics/player/sg_doublejump.png" type="Texture" id=14]
[ext_resource path="res://graphics/particles/blood.png" type="Texture" id=15]
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=16]
[sub_resource type="ShaderMaterial" id=38]
resource_local_to_scene = true
shader = ExtResource( 4 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = true
shader_param/palette = ExtResource( 6 )
[sub_resource type="ShaderMaterial" id=28]
shader = ExtResource( 13 )
shader_param/palette = ExtResource( 8 )
[sub_resource type="RectangleShape2D" id=6]
extents = Vector2( 2.5, 5 )
[sub_resource type="RectangleShape2D" id=39]
extents = Vector2( 2.5, 5 )
[sub_resource type="Animation" id=29]
resource_name = "climb"
length = 0.3
loop = true
step = 0.15
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.15 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 7 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=35]
resource_name = "doublejump"
length = 0.3
loop = true
step = 0.038
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.038, 0.076, 0.114, 0.152, 0.19, 0.228, 0.266 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ), Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ), Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ), Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 14 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0, 0.038, 0.076, 0.114, 0.152, 0.19, 0.228, 0.266, 0.3 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0.0, 0.0, 90.0, 90.0, 180.0, 180.0, 270.0, 270.0, 360.0 ]
}
[sub_resource type="Animation" id=30]
resource_name = "idle"
length = 0.5
loop = true
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 3 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=31]
resource_name = "jump"
length = 0.5
loop = true
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Rect2( 1, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 5 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=37]
resource_name = "shoot air"
length = 0.5
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 12 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/5/type = "method"
tracks/5/path = NodePath(".")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "spawn_arrow"
} ]
}
[sub_resource type="Animation" id=36]
resource_name = "shoot grounded"
length = 0.5
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.06, 0.12, 0.24, 0.3, 0.36 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ), Rect2( 40, 0, 20, 20 ), Rect2( 60, 0, 20, 20 ), Rect2( 80, 0, 20, 20 ), Rect2( 100, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 10 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/5/type = "method"
tracks/5/path = NodePath(".")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0.24 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "spawn_arrow"
} ]
}
[sub_resource type="Animation" id=32]
resource_name = "stab"
length = 0.3
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.06 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 32, 32 ), Rect2( 32, 0, 32, 32 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 9 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.06 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 11 ) ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("SwordSprite:region_rect")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0, 0.06 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 32, 32 ), Rect2( 32, 0, 32, 32 ) ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("Sprite:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=33]
resource_name = "walk"
length = 0.4
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:region_rect")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
"transitions": PoolRealArray( 1, 1, 1, 1 ),
"update": 1,
"values": [ Rect2( 0, 0, 20, 20 ), Rect2( 20, 0, 20, 20 ), Rect2( 40, 0, 20, 20 ), Rect2( 60, 0, 20, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 2 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("SwordSprite:texture")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ null ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:rotation_degrees")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="RectangleShape2D" id=34]
extents = Vector2( 6, 7 )
[sub_resource type="Curve" id=41]
_data = [ Vector2( 0, 1 ), 0.0, -0.113537, 0, 0, Vector2( 1, 0 ), -3.35032, 0.0, 0, 0 ]
[sub_resource type="CurveTexture" id=42]
width = 128
curve = SubResource( 41 )
[sub_resource type="ParticlesMaterial" id=40]
emission_shape = 2
emission_box_extents = Vector3( 4, 4, 0 )
flag_disable_z = true
direction = Vector3( 0, -1, 0 )
spread = 180.0
gravity = Vector3( 0, 50, 0 )
initial_velocity = 60.0
initial_velocity_random = 0.9
orbit_velocity = 0.0
orbit_velocity_random = 0.0
damping = 2.0
angle = 720.0
angle_random = 1.0
scale = 0.5
scale_random = 1.0
scale_curve = SubResource( 42 )
[sub_resource type="Curve" id=43]
_data = [ Vector2( 0, 1 ), 0.0, -0.0636948, 0, 0, Vector2( 1, 0 ), -3.43886, 0.0, 0, 0 ]
[sub_resource type="CurveTexture" id=44]
width = 32
curve = SubResource( 43 )
[sub_resource type="ParticlesMaterial" id=45]
emission_shape = 2
emission_box_extents = Vector3( 5, 0, 0 )
flag_disable_z = true
direction = Vector3( 0, -1, 0 )
spread = 60.0
gravity = Vector3( 0, 0, 0 )
initial_velocity = 10.0
initial_velocity_random = 0.8
orbit_velocity = 0.0
orbit_velocity_random = 0.0
angle = 720.0
angle_random = 1.0
scale = 0.25
scale_random = 0.5
scale_curve = SubResource( 44 )
[node name="Player" type="KinematicBody2D"]
collision_layer = 2
collision_mask = 5
script = ExtResource( 1 )
[node name="Trail" type="Node" parent="."]
[node name="Sprite" type="Sprite" parent="."]
material = SubResource( 38 )
texture = ExtResource( 3 )
region_enabled = true
region_rect = Rect2( 0, 0, 20, 20 )
[node name="SwordSprite" type="Sprite" parent="."]
material = SubResource( 28 )
region_enabled = true
region_rect = Rect2( 0, 0, 32, 32 )
[node name="Area2D" type="Area2D" parent="." groups=["player"]]
position = Vector2( 0, 3 )
collision_layer = 9
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Area2D"]
position = Vector2( 0.5, 2 )
shape = SubResource( 6 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="." groups=["sword"]]
position = Vector2( 0.5, 5 )
shape = SubResource( 39 )
[node name="ClimbRay" type="RayCast2D" parent="."]
position = Vector2( 0.5, 10 )
enabled = true
cast_to = Vector2( 0, -10 )
collision_mask = 4
collide_with_areas = true
collide_with_bodies = false
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/climb = SubResource( 29 )
anims/doublejump = SubResource( 35 )
anims/idle = SubResource( 30 )
anims/jump = SubResource( 31 )
"anims/shoot air" = SubResource( 37 )
"anims/shoot grounded" = SubResource( 36 )
anims/stab = SubResource( 32 )
anims/walk = SubResource( 33 )
[node name="SwordArea" type="Area2D" parent="." groups=["sword"]]
visible = false
[node name="SwordHitBox" type="CollisionShape2D" parent="SwordArea"]
position = Vector2( 0, 3 )
shape = SubResource( 34 )
disabled = true
[node name="DeathSplatter" type="Particles2D" parent="."]
pause_mode = 2
emitting = false
amount = 16
lifetime = 0.3
one_shot = true
explosiveness = 0.9
local_coords = false
process_material = SubResource( 40 )
texture = ExtResource( 15 )
[node name="DustParticles" type="Particles2D" parent="."]
position = Vector2( 0, 12 )
z_index = 1
emitting = false
amount = 5
lifetime = 0.3
one_shot = true
explosiveness = 0.9
fract_delta = false
local_coords = false
process_material = SubResource( 45 )
texture = ExtResource( 16 )
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
[connection signal="area_entered" from="SwordArea" to="." method="_on_SwordArea_area_entered"]