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