Files
2026-video-game-project/Entities/Player/player.tscn
2026-02-23 10:47:56 -05:00

1149 lines
34 KiB
Plaintext

[gd_scene load_steps=127 format=3 uid="uid://ca7jd0ttc0v67"]
[ext_resource type="Script" uid="uid://0oxneml3esdx" path="res://Entities/Player/player.gd" id="1_8soms"]
[ext_resource type="Shader" uid="uid://cqjsw6d71kkd2" path="res://Entities/Player/player_hit_flash_shader.tres" id="2_3ep63"]
[ext_resource type="Texture2D" uid="uid://dravykrek6bsu" path="res://Entities/Player/player_art/the_dude/climbing/player wall slide 48x48.png" id="3_epc1c"]
[ext_resource type="Texture2D" uid="uid://blgt31uqia0oh" path="res://Entities/Player/player_art/the_dude/movement/Player Idle 48x48.png" id="3_gh012"]
[ext_resource type="Texture2D" uid="uid://btd00ndkgoc4" path="res://Entities/Player/player_art/the_dude/crouch/Player Crouch-Idle 48x48.png" id="4_kjljb"]
[ext_resource type="Texture2D" uid="uid://bnjxcfrvobn0o" path="res://Entities/Player/player_art/the_dude/air/player new jump 48x48.png" id="4_usp30"]
[ext_resource type="Texture2D" uid="uid://dxu6sq5ioqv14" path="res://Entities/Player/player_art/the_dude/crouch/player crouch-walk 48x48.png" id="5_brh81"]
[ext_resource type="Texture2D" uid="uid://dryds4i6iyl2x" path="res://Entities/Player/player_art/the_dude/attacks/Player Punch Cross 64x64.png" id="7_brh81"]
[ext_resource type="Texture2D" uid="uid://crj6i22c4noqf" path="res://Entities/Player/player_art/the_dude/attacks/Hammer Attack.png" id="8_bp242"]
[ext_resource type="Texture2D" uid="uid://dscwyaio3d18q" path="res://Entities/Player/player_art/the_dude/air/player land 48x48.png" id="8_brh81"]
[ext_resource type="Texture2D" uid="uid://dcchw88tqk32" path="res://Entities/Player/player_art/the_dude/climbing/player ledge climb 48x48.png" id="8_epc1c"]
[ext_resource type="Texture2D" uid="uid://ck3y2nikphwlt" path="res://Entities/Player/player_art/the_dude/movement/player run 48x48.png" id="8_ib3u0"]
[ext_resource type="Texture2D" uid="uid://p3aq5ngiy2rw" path="res://Entities/Player/player_art/the_dude/attacks/ShootSpriteSheet.png" id="11_ib3u0"]
[ext_resource type="Texture2D" uid="uid://dvibkv3ndiy5i" path="res://Entities/Player/player_art/the_dude/attacks/SwordAttack.png" id="12_bp242"]
[ext_resource type="Script" uid="uid://wohj0motyr3b" path="res://utilities/state_machine/node_state_machine.gd" id="12_n270p"]
[ext_resource type="Script" uid="uid://boof2qmi8clv3" path="res://Entities/Player/player_state_scripts/ground_movement/idle_state.gd" id="13_3ep63"]
[ext_resource type="Script" uid="uid://rdj1553spwa8" path="res://Entities/Player/player_state_scripts/air_movement/fall_state.gd" id="14_3ep63"]
[ext_resource type="Script" uid="uid://j4lec2sab50d" path="res://Entities/Player/player_state_scripts/air_movement/jump_state.gd" id="14_kjljb"]
[ext_resource type="Script" uid="uid://orlqcyink5er" path="res://Entities/Player/player_state_scripts/ground_movement/run_state.gd" id="15_rqcxa"]
[ext_resource type="Script" uid="uid://d3t3fweggs161" path="res://Entities/Player/player_state_scripts/ground_movement/grab_state.gd" id="23_kjljb"]
[ext_resource type="Script" uid="uid://iu5jv2o1im70" path="res://Entities/Player/player_state_scripts/air_movement/land_state.gd" id="24_bp242"]
[ext_resource type="Script" uid="uid://cmtajhnx8xaqt" path="res://Entities/Player/player_state_scripts/ground_movement/crouch_idle.gd" id="24_brh81"]
[ext_resource type="Script" uid="uid://bhyu62hovn1x3" path="res://Entities/Player/player_state_scripts/air_movement/dash.gd" id="25_01ng6"]
[ext_resource type="Script" uid="uid://cywssm5t3d5uv" path="res://Entities/Player/player_state_scripts/ground_movement/slide_state.gd" id="26_bp242"]
[ext_resource type="Script" uid="uid://c2lag80wot5k" path="res://Entities/Player/player_state_scripts/ground_movement/crouch_walk_state.gd" id="28_y6drd"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rqcxa"]
shader = ExtResource("2_3ep63")
shader_parameter/enabled = false
shader_parameter/hit_color = Color(0.635426, 0, 0.107012, 1)
[sub_resource type="AtlasTexture" id="AtlasTexture_qxyrc"]
atlas = ExtResource("3_epc1c")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_cy4e0"]
atlas = ExtResource("4_kjljb")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_x6a6n"]
atlas = ExtResource("4_kjljb")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_5uxrn"]
atlas = ExtResource("4_kjljb")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_mw300"]
atlas = ExtResource("4_kjljb")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_utkri"]
atlas = ExtResource("4_kjljb")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_xe2yg"]
atlas = ExtResource("4_kjljb")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_x3k17"]
atlas = ExtResource("4_kjljb")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_5fa84"]
atlas = ExtResource("4_kjljb")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_tlda6"]
atlas = ExtResource("4_kjljb")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_a55ai"]
atlas = ExtResource("4_kjljb")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_mbvee"]
atlas = ExtResource("5_brh81")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ddimf"]
atlas = ExtResource("5_brh81")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_od043"]
atlas = ExtResource("5_brh81")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_5en5a"]
atlas = ExtResource("5_brh81")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_n0ei1"]
atlas = ExtResource("5_brh81")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ydmue"]
atlas = ExtResource("5_brh81")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_2qewa"]
atlas = ExtResource("5_brh81")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_40jwy"]
atlas = ExtResource("5_brh81")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_kqpmw"]
atlas = ExtResource("5_brh81")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_3p3em"]
atlas = ExtResource("5_brh81")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_0jq7b"]
atlas = ExtResource("4_usp30")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fdpga"]
atlas = ExtResource("4_usp30")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_d76hv"]
atlas = ExtResource("4_usp30")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fk7wc"]
atlas = ExtResource("7_brh81")
region = Rect2(0, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_uit2k"]
atlas = ExtResource("7_brh81")
region = Rect2(64, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_61mgu"]
atlas = ExtResource("7_brh81")
region = Rect2(128, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_dtu77"]
atlas = ExtResource("7_brh81")
region = Rect2(192, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_3nu72"]
atlas = ExtResource("7_brh81")
region = Rect2(256, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_rwlg3"]
atlas = ExtResource("7_brh81")
region = Rect2(320, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_yfg1h"]
atlas = ExtResource("7_brh81")
region = Rect2(384, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_7s33e"]
atlas = ExtResource("8_bp242")
region = Rect2(0, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_dm32l"]
atlas = ExtResource("8_bp242")
region = Rect2(64, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_rdo5y"]
atlas = ExtResource("8_bp242")
region = Rect2(128, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxps2"]
atlas = ExtResource("8_bp242")
region = Rect2(192, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_l6uog"]
atlas = ExtResource("8_bp242")
region = Rect2(256, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_kgk65"]
atlas = ExtResource("8_bp242")
region = Rect2(320, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7ory"]
atlas = ExtResource("8_bp242")
region = Rect2(384, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_088ty"]
atlas = ExtResource("3_gh012")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_epc1c"]
atlas = ExtResource("3_gh012")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_kjljb"]
atlas = ExtResource("3_gh012")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_brh81"]
atlas = ExtResource("3_gh012")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ib3u0"]
atlas = ExtResource("3_gh012")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_bp242"]
atlas = ExtResource("3_gh012")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_cgi3i"]
atlas = ExtResource("3_gh012")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_y6drd"]
atlas = ExtResource("3_gh012")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_w24bm"]
atlas = ExtResource("3_gh012")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_22cju"]
atlas = ExtResource("3_gh012")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_wrff0"]
atlas = ExtResource("4_usp30")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_n0jev"]
atlas = ExtResource("4_usp30")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_uv21l"]
atlas = ExtResource("4_usp30")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_gs6ky"]
atlas = ExtResource("8_brh81")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ipfdr"]
atlas = ExtResource("8_brh81")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_wxabu"]
atlas = ExtResource("8_brh81")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_snb7b"]
atlas = ExtResource("8_brh81")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_42jni"]
atlas = ExtResource("8_brh81")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ik7jm"]
atlas = ExtResource("8_brh81")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_lljjy"]
atlas = ExtResource("8_brh81")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_lcung"]
atlas = ExtResource("8_brh81")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_x6fei"]
atlas = ExtResource("8_epc1c")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_q4eq6"]
atlas = ExtResource("8_epc1c")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_80rvt"]
atlas = ExtResource("8_epc1c")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_l8u4j"]
atlas = ExtResource("8_epc1c")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6jr1"]
atlas = ExtResource("8_epc1c")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ik15"]
atlas = ExtResource("8_epc1c")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_bdb11"]
atlas = ExtResource("11_ib3u0")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_p3uph"]
atlas = ExtResource("11_ib3u0")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qfwia"]
atlas = ExtResource("11_ib3u0")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_gyg5y"]
atlas = ExtResource("11_ib3u0")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_7dece"]
atlas = ExtResource("11_ib3u0")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_25nor"]
atlas = ExtResource("11_ib3u0")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4e7mj"]
atlas = ExtResource("11_ib3u0")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_uo4t5"]
atlas = ExtResource("11_ib3u0")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ppbyd"]
atlas = ExtResource("11_ib3u0")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_6ynhj"]
atlas = ExtResource("8_ib3u0")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_jcmuf"]
atlas = ExtResource("8_ib3u0")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_6rcet"]
atlas = ExtResource("8_ib3u0")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_t0o78"]
atlas = ExtResource("8_ib3u0")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_524dg"]
atlas = ExtResource("8_ib3u0")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ty5va"]
atlas = ExtResource("8_ib3u0")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_5jw3h"]
atlas = ExtResource("8_ib3u0")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_2l8ud"]
atlas = ExtResource("8_ib3u0")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_152lh"]
atlas = ExtResource("12_bp242")
region = Rect2(400, 0, 80, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_g7thf"]
atlas = ExtResource("12_bp242")
region = Rect2(0, 0, 80, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_gkov1"]
atlas = ExtResource("12_bp242")
region = Rect2(80, 0, 80, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6iff"]
atlas = ExtResource("12_bp242")
region = Rect2(160, 0, 80, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_f4o1b"]
atlas = ExtResource("12_bp242")
region = Rect2(240, 0, 80, 64)
[sub_resource type="SpriteFrames" id="SpriteFrames_usp30"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_qxyrc")
}],
"loop": true,
"name": &"Cling",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cy4e0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6a6n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5uxrn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mw300")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_utkri")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xe2yg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x3k17")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5fa84")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tlda6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a55ai")
}],
"loop": true,
"name": &"Crouch",
"speed": 9.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mbvee")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ddimf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_od043")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5en5a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n0ei1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ydmue")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2qewa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_40jwy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kqpmw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3p3em")
}],
"loop": true,
"name": &"Crouch Walk",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_0jq7b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fdpga")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d76hv")
}],
"loop": false,
"name": &"Fall",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fk7wc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uit2k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_61mgu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dtu77")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3nu72")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rwlg3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yfg1h")
}],
"loop": true,
"name": &"Fist Attack",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_7s33e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dm32l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rdo5y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxps2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l6uog")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kgk65")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7ory")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7ory")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7ory")
}],
"loop": true,
"name": &"Hammer Attack",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_088ty")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_epc1c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kjljb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_brh81")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ib3u0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bp242")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cgi3i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y6drd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w24bm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_22cju")
}],
"loop": true,
"name": &"Idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_wrff0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n0jev")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uv21l")
}],
"loop": false,
"name": &"Jump",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_gs6ky")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ipfdr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wxabu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_snb7b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_42jni")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ik7jm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lljjy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lcung")
}],
"loop": false,
"name": &"Land",
"speed": 18.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6fei")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q4eq6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_80rvt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l8u4j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n6jr1")
}],
"loop": false,
"name": &"Ledge Climb",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_5ik15")
}],
"loop": true,
"name": &"Ledge Grab",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_bdb11")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p3uph")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qfwia")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gyg5y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7dece")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_25nor")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4e7mj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uo4t5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ppbyd")
}],
"loop": true,
"name": &"Pistol Attack",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_6ynhj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jcmuf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6rcet")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t0o78")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_524dg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ty5va")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5jw3h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2l8ud")
}],
"loop": true,
"name": &"Run",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_152lh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g7thf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gkov1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n6iff")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f4o1b")
}],
"loop": true,
"name": &"Sword Attack",
"speed": 12.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_0e4oy"]
radius = 6.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kjljb"]
size = Vector2(16, 0)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ib3u0"]
size = Vector2(20, 4)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_brh81"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_n270p"]
radius = 4.0
height = 26.0
[sub_resource type="Animation" id="Animation_kjljb"]
resource_name = "Crouch"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("WalkHitBox:shape:radius")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [6.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("WalkHitBox:shape:height")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [10.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("WalkHitBox:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -5)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:radius")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:height")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [18.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:position")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -10)]
}
[sub_resource type="Animation" id="Animation_epc1c"]
resource_name = "Normal"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:radius")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:height")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [26.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("WalkHitBox:shape:radius")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [6.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("WalkHitBox:shape:height")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [30.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:position")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -15)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WalkHitBox:position")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -15)]
}
[sub_resource type="Animation" id="Animation_brh81"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:radius")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:shape:height")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [26.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("WalkHitBox:shape:radius")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [6.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("WalkHitBox:shape:height")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [30.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("HitBoxes/HurtBox/CollisionShape2D:position")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -15)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WalkHitBox:position")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -15)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ib3u0"]
_data = {
&"Crouch": SubResource("Animation_kjljb"),
&"Normal": SubResource("Animation_epc1c"),
&"RESET": SubResource("Animation_brh81")
}
[sub_resource type="Animation" id="Animation_gh012"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:material:shader_parameter/enabled")
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="Animation" id="Animation_2mv0n"]
resource_name = "hit"
length = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:material:shader_parameter/enabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_usp30"]
_data = {
&"RESET": SubResource("Animation_gh012"),
&"hit": SubResource("Animation_2mv0n")
}
[node name="Player" type="CharacterBody2D" groups=["Player"]]
collision_layer = 2
script = ExtResource("1_8soms")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_rqcxa")
position = Vector2(0, -16)
sprite_frames = SubResource("SpriteFrames_usp30")
animation = &"Sword Attack"
autoplay = "Idle"
frame = 3
frame_progress = 0.8699081
[node name="WalkHitBox" type="CollisionShape2D" parent="."]
position = Vector2(0, -15)
shape = SubResource("CapsuleShape2D_0e4oy")
[node name="LedgeGrab" type="CollisionShape2D" parent="."]
visible = false
position = Vector2(0, -27)
shape = SubResource("RectangleShape2D_kjljb")
[node name="HitBoxes" type="Node2D" parent="."]
visible = false
[node name="FloorCheck" type="RayCast2D" parent="HitBoxes"]
visible = false
position = Vector2(0, -19)
target_position = Vector2(0, 29)
[node name="TopCheck" type="ShapeCast2D" parent="HitBoxes"]
visible = false
position = Vector2(0, -30)
shape = SubResource("RectangleShape2D_ib3u0")
target_position = Vector2(0, 0)
[node name="WallCheck" type="ShapeCast2D" parent="HitBoxes"]
visible = false
position = Vector2(0, -18)
shape = SubResource("RectangleShape2D_brh81")
target_position = Vector2(0, 3)
[node name="HurtBox" type="Area2D" parent="HitBoxes"]
collision_layer = 2
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="HitBoxes/HurtBox"]
position = Vector2(0, -15)
shape = SubResource("CapsuleShape2D_n270p")
debug_color = Color(0.997466, 0, 0.165329, 0.42)
[node name="CollisionShapeMove" type="AnimationPlayer" parent="HitBoxes"]
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_ib3u0")
}
[node name="Markers" type="Node2D" parent="."]
[node name="Center" type="Marker2D" parent="Markers"]
position = Vector2(0, -40)
[node name="CameraCenter" type="Marker2D" parent="Markers"]
position = Vector2(0, -44)
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initialNodeState")]
script = ExtResource("12_n270p")
initialNodeState = NodePath("Idle")
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D")]
script = ExtResource("13_3ep63")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
[node name="Run" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D")]
script = ExtResource("15_rqcxa")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
[node name="Jump" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "wallCheck", "floorCheck", "ledgeGrabBox", "fallState")]
script = ExtResource("14_kjljb")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
wallCheck = NodePath("../../HitBoxes/WallCheck")
floorCheck = NodePath("../../HitBoxes/FloorCheck")
ledgeGrabBox = NodePath("../../LedgeGrab")
fallState = NodePath("../Fall")
[node name="Fall" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "wallCheck", "floorCheck", "ledgeGrabBox", "jumpState")]
script = ExtResource("14_3ep63")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
wallCheck = NodePath("../../HitBoxes/WallCheck")
floorCheck = NodePath("../../HitBoxes/FloorCheck")
ledgeGrabBox = NodePath("../../LedgeGrab")
jumpState = NodePath("../Jump")
coyoteTime = 0.3
[node name="Land" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D")]
script = ExtResource("24_bp242")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
[node name="Grab" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "ledgeGrabBox", "wallCheck", "floorCheck")]
script = ExtResource("23_kjljb")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
ledgeGrabBox = NodePath("../../LedgeGrab")
wallCheck = NodePath("../../HitBoxes/WallCheck")
floorCheck = NodePath("../../HitBoxes/FloorCheck")
[node name="CrouchIdle" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "collisionShapeMove")]
script = ExtResource("24_brh81")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
collisionShapeMove = NodePath("../../HitBoxes/CollisionShapeMove")
[node name="CrouchWalk" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "collisionShapeMove")]
script = ExtResource("28_y6drd")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
collisionShapeMove = NodePath("../../HitBoxes/CollisionShapeMove")
[node name="Slide" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D", "collisionShapeMove")]
script = ExtResource("26_bp242")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
collisionShapeMove = NodePath("../../HitBoxes/CollisionShapeMove")
[node name="Dash" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animatedSprite2D")]
script = ExtResource("25_01ng6")
player = NodePath("../..")
animatedSprite2D = NodePath("../../AnimatedSprite2D")
[node name="HitAnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_usp30")
}
[connection signal="area_entered" from="HitBoxes/HurtBox" to="." method="_on_hurt_box_area_entered"]
[connection signal="body_entered" from="HitBoxes/HurtBox" to="." method="_on_hurt_box_body_entered"]