[gd_scene load_steps=43 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/sword_slash.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_slash.png" type="Texture" id=12] [ext_resource path="res://scripts/recolor.tres" type="Shader" id=13] [sub_resource type="ShaderMaterial" id=14] 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="AtlasTexture" id=12] atlas = ExtResource( 7 ) region = Rect2( 0, 0, 20, 20 ) [sub_resource type="AtlasTexture" id=13] atlas = ExtResource( 7 ) region = Rect2( 20, 0, 20, 20 ) [sub_resource type="AtlasTexture" id=16] atlas = ExtResource( 12 ) region = Rect2( 0, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=17] atlas = ExtResource( 12 ) region = Rect2( 32, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=18] atlas = ExtResource( 12 ) region = Rect2( 64, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=19] atlas = ExtResource( 9 ) region = Rect2( 0, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=20] atlas = ExtResource( 9 ) region = Rect2( 32, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=8] atlas = ExtResource( 2 ) region = Rect2( 0, 0, 20, 20 ) [sub_resource type="AtlasTexture" id=9] atlas = ExtResource( 2 ) region = Rect2( 20, 0, 20, 20 ) [sub_resource type="AtlasTexture" id=10] atlas = ExtResource( 2 ) region = Rect2( 40, 0, 20, 20 ) [sub_resource type="AtlasTexture" id=11] atlas = ExtResource( 2 ) region = Rect2( 60, 0, 20, 20 ) [sub_resource type="SpriteFrames" id=5] animations = [ { "frames": [ SubResource( 12 ), SubResource( 13 ) ], "loop": true, "name": "climb", "speed": 7.0 }, { "frames": [ ExtResource( 3 ) ], "loop": true, "name": "idle", "speed": 5.0 }, { "frames": [ ExtResource( 5 ) ], "loop": true, "name": "jump", "speed": 5.0 }, { "frames": [ SubResource( 16 ), SubResource( 17 ), SubResource( 18 ) ], "loop": false, "name": "slash", "speed": 7.0 }, { "frames": [ SubResource( 19 ), SubResource( 20 ) ], "loop": false, "name": "stab", "speed": 15.0 }, { "frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ) ], "loop": true, "name": "walk", "speed": 10.0 } ] [sub_resource type="ShaderMaterial" id=21] shader = ExtResource( 13 ) shader_param/palette = ExtResource( 8 ) [sub_resource type="AtlasTexture" id=22] atlas = ExtResource( 10 ) region = Rect2( 0, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=23] atlas = ExtResource( 10 ) region = Rect2( 32, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=24] atlas = ExtResource( 10 ) region = Rect2( 64, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=25] atlas = ExtResource( 11 ) region = Rect2( 0, 0, 32, 32 ) [sub_resource type="AtlasTexture" id=26] atlas = ExtResource( 11 ) region = Rect2( 32, 0, 32, 32 ) [sub_resource type="SpriteFrames" id=15] animations = [ { "frames": [ SubResource( 22 ), SubResource( 23 ), SubResource( 24 ) ], "loop": true, "name": "slash", "speed": 7.0 }, { "frames": [ SubResource( 25 ), SubResource( 26 ) ], "loop": false, "name": "stab", "speed": 15.0 } ] [sub_resource type="ShaderMaterial" id=27] 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( 4, 7 ) [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 ] } [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 ] } [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 ] } [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 ) ] } [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 ] } [sub_resource type="RectangleShape2D" id=34] extents = Vector2( 6, 7 ) [node name="Player" type="KinematicBody2D"] script = ExtResource( 1 ) [node name="AnimatedSprite" type="AnimatedSprite" parent="."] visible = false material = SubResource( 14 ) frames = SubResource( 5 ) animation = "stab" frame = 1 playing = true [node name="Sword" type="AnimatedSprite" parent="."] visible = false material = SubResource( 21 ) frames = SubResource( 15 ) animation = "stab" frame = 1 playing = true [node name="Sprite" type="Sprite" parent="."] material = SubResource( 27 ) 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"]] visible = false position = Vector2( 0, 3 ) [node name="CollisionShape2D2" type="CollisionShape2D" parent="Area2D"] shape = SubResource( 6 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="." groups=["sword"]] visible = false position = Vector2( 0, 3 ) shape = SubResource( 6 ) [node name="ClimbRay" type="RayCast2D" parent="."] visible = false position = Vector2( 4, 10 ) enabled = true cast_to = Vector2( 0, -14 ) collision_mask = 4 collide_with_areas = true collide_with_bodies = false [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/climb = SubResource( 29 ) anims/idle = SubResource( 30 ) anims/jump = SubResource( 31 ) 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 [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]