diff --git a/config/attack/blunt_mid_hit_up_back.tres b/config/attack/blunt_mid_hit_up_back.tres new file mode 100644 index 0000000..b292cc0 --- /dev/null +++ b/config/attack/blunt_mid_hit_up_back.tres @@ -0,0 +1,21 @@ +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://dfjtcdh13vohe"] + +[ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_wxmda"] + +[resource] +script = ExtResource("1_wxmda") +damage_rate = 1.0 +break_level = 2 +stun_attack = 10.0 +damage_type = 1 +is_floating = false +is_rebound = false +is_stop_self = false +is_throw_check = false +is_throw_end = false +hit_back_speed = -4.0 +hit_up_speed = 4.0 +hit_back_duration = 0.05 +hit_up_duration = 0.05 +pause_time = 0.05 +is_force_pause = true diff --git a/config/attack/blunt_tackle.tres b/config/attack/blunt_tackle.tres new file mode 100644 index 0000000..af17a10 --- /dev/null +++ b/config/attack/blunt_tackle.tres @@ -0,0 +1,21 @@ +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://b5sendxmglojg"] + +[ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_fmfoo"] + +[resource] +script = ExtResource("1_fmfoo") +damage_rate = 1.0 +break_level = 1 +stun_attack = 10.0 +damage_type = 1 +is_floating = true +is_rebound = false +is_stop_self = false +is_throw_check = false +is_throw_end = false +hit_back_speed = 0.0 +hit_up_speed = 4.0 +hit_back_duration = 0.05 +hit_up_duration = 0.05 +pause_time = 0.1 +is_force_pause = true diff --git a/config/skill_player_weapon/hero01_fist_air_skill01.tres b/config/skill_player_weapon/hero01_fist_air_skill01.tres index 4f7a477..cdd9b5e 100644 --- a/config/skill_player_weapon/hero01_fist_air_skill01.tres +++ b/config/skill_player_weapon/hero01_fist_air_skill01.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=8 format=3 uid="uid://dkxgra6y2u30l"] +[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=9 format=3 uid="uid://dj7b6f02488hm"] [ext_resource type="Resource" uid="uid://by6jd5xqjml2m" path="res://config/attack/blunt_starfall_1.tres" id="1_dfu42"] [ext_resource type="Resource" uid="uid://dq3pnbyfx4irr" path="res://config/attack_box/circle_foot.tres" id="2_doldq"] @@ -7,6 +7,7 @@ [ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill01.tres" id="3_q461t"] [ext_resource type="Resource" uid="uid://decgfcx2xsj8i" path="res://config/attack_box/circle_mid.tres" id="4_lpsn0"] [ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_70pp4"] +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="7_gkp4g"] [resource] script = ExtResource("2_mje6b") @@ -22,9 +23,11 @@ attack1_box = ExtResource("2_doldq") attack2 = ExtResource("3_m2yio") attack2_box = ExtResource("4_lpsn0") stance_from = 10 -stance_to = 0 +stance_to = 14 break_level = 3 is_charging = false mp_cost = 0 +warn_type = 0 refresh_animation = false -animation_name = "" +sprite_frames = ExtResource("7_gkp4g") +animation_name = "fist_skill01" diff --git a/config/skill_player_weapon/hero01_fist_air_skill02.tres b/config/skill_player_weapon/hero01_fist_air_skill02.tres new file mode 100644 index 0000000..3e4c3d9 --- /dev/null +++ b/config/skill_player_weapon/hero01_fist_air_skill02.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://cu73c3osx40k2"] + +[ext_resource type="Resource" uid="uid://dfjtcdh13vohe" path="res://config/attack/blunt_mid_hit_up_back.tres" id="1_dw1kj"] +[ext_resource type="Resource" uid="uid://dq3pnbyfx4irr" path="res://config/attack_box/circle_foot.tres" id="2_bmi1a"] +[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="5_j7ual"] +[ext_resource type="Animation" uid="uid://b73xq7qwltbo2" path="res://resource/skill_animation/hero01_fist_air_skill02.tres" id="6_le53b"] +[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="7_cmht3"] +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="7_kay3f"] + +[resource] +script = ExtResource("5_j7ual") +weapon = ExtResource("7_cmht3") +action = "attack_light" +name = "" +skill_animation = ExtResource("6_le53b") +range = 0.0 +free_lock = false +ignore_push = true +attack1 = ExtResource("1_dw1kj") +attack1_box = ExtResource("2_bmi1a") +stance_from = 14 +stance_to = 10 +break_level = 3 +is_charging = false +mp_cost = 0 +warn_type = 0 +refresh_animation = false +sprite_frames = ExtResource("7_kay3f") +animation_name = "fist_air_skill02" diff --git a/config/skill_player_weapon/hero01_fist_air_skill03.tres b/config/skill_player_weapon/hero01_fist_air_skill03.tres new file mode 100644 index 0000000..69bf2e2 --- /dev/null +++ b/config/skill_player_weapon/hero01_fist_air_skill03.tres @@ -0,0 +1,33 @@ +[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=9 format=3 uid="uid://pkbnyqbnygw5"] + +[ext_resource type="Resource" uid="uid://by6jd5xqjml2m" path="res://config/attack/blunt_starfall_1.tres" id="1_rd5q6"] +[ext_resource type="Resource" uid="uid://dq3pnbyfx4irr" path="res://config/attack_box/circle_foot.tres" id="2_e5i11"] +[ext_resource type="Resource" uid="uid://d26ok8as50xe5" path="res://config/attack/blunt_starfall_2.tres" id="3_m856r"] +[ext_resource type="Resource" uid="uid://decgfcx2xsj8i" path="res://config/attack_box/circle_mid.tres" id="4_73m7b"] +[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="5_l5ryy"] +[ext_resource type="Animation" uid="uid://dd1d51x51so2p" path="res://resource/skill_animation/hero01_fist_air_skill03.tres" id="6_e6804"] +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="7_baqkp"] +[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="8_yjfdq"] + +[resource] +script = ExtResource("5_l5ryy") +weapon = ExtResource("8_yjfdq") +action = "attack_heavy" +name = "" +skill_animation = ExtResource("6_e6804") +range = 0.0 +free_lock = false +ignore_push = true +attack1 = ExtResource("1_rd5q6") +attack1_box = ExtResource("2_e5i11") +attack2 = ExtResource("3_m856r") +attack2_box = ExtResource("4_73m7b") +stance_from = 14 +stance_to = 10 +break_level = 3 +is_charging = false +mp_cost = 0 +warn_type = 0 +refresh_animation = false +sprite_frames = ExtResource("7_baqkp") +animation_name = "fist_air_skill03" diff --git a/config/skill_player_weapon/hero01_fist_skill03.tres b/config/skill_player_weapon/hero01_fist_skill03.tres new file mode 100644 index 0000000..44f231b --- /dev/null +++ b/config/skill_player_weapon/hero01_fist_skill03.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://dbviuasvknl8q"] + +[ext_resource type="Resource" uid="uid://b5sendxmglojg" path="res://config/attack/blunt_tackle.tres" id="1_aubbe"] +[ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_xjtqg"] +[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="3_6wryu"] +[ext_resource type="Animation" uid="uid://mnmlwnqk4aqq" path="res://resource/skill_animation/hero01_fist_skill03.tres" id="4_c7ye6"] +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="5_sjxkh"] +[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="6_aemq5"] + +[resource] +script = ExtResource("3_6wryu") +weapon = ExtResource("6_aemq5") +action = "attack_heavy" +name = "" +skill_animation = ExtResource("4_c7ye6") +range = 0.0 +free_lock = false +ignore_push = false +attack1 = ExtResource("1_aubbe") +attack1_box = ExtResource("2_xjtqg") +stance_from = 2 +stance_to = 3 +break_level = 3 +is_charging = false +mp_cost = 0 +warn_type = 0 +refresh_animation = false +sprite_frames = ExtResource("5_sjxkh") +animation_name = "fist_skill03" diff --git a/resource/animation/character/hero01_fist_skill01.aseprite b/resource/animation/character/hero01_fist_skill01.aseprite index b757e72..6c1a71d 100644 Binary files a/resource/animation/character/hero01_fist_skill01.aseprite and b/resource/animation/character/hero01_fist_skill01.aseprite differ diff --git a/resource/animation/character/hero01_fist_skill01.png b/resource/animation/character/hero01_fist_skill01.png index 1f2c435..8f91ad5 100644 Binary files a/resource/animation/character/hero01_fist_skill01.png and b/resource/animation/character/hero01_fist_skill01.png differ diff --git a/resource/skill_animation/hero01_fist_air_skill01.tres b/resource/skill_animation/hero01_fist_air_skill01.tres index 212e0c5..13182c7 100644 --- a/resource/skill_animation/hero01_fist_air_skill01.tres +++ b/resource/skill_animation/hero01_fist_air_skill01.tres @@ -37,10 +37,10 @@ tracks/2/path = NodePath("Status:break_level") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.4, 0.5, 0.8), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 1, -"values": [0, 0, 3, 4] +"times": PackedFloat32Array(0, 0.1, 0.2, 0.5, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0, 0, 3, 3, 4] } tracks/3/type = "value" tracks/3/imported = false @@ -155,3 +155,15 @@ tracks/10/keys = { "update": 1, "values": [0, 1, 2, 3, 4, 5, 6, 7, 8] } +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("%Status:stance") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0.4), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} diff --git a/resource/skill_animation/hero01_fist_air_skill02.tres b/resource/skill_animation/hero01_fist_air_skill02.tres new file mode 100644 index 0000000..9a00293 --- /dev/null +++ b/resource/skill_animation/hero01_fist_air_skill02.tres @@ -0,0 +1,120 @@ +[gd_resource type="Animation" load_steps=2 format=3 uid="uid://b73xq7qwltbo2"] + +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_1ik3n"] + +[resource] +resource_name = "hero01_fist_air_skill02" +length = 1.1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("View:sprite_frames") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("1_1ik3n")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("View:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": ["fist_air_skill02"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("View:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Status:break_level") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.5, 0.6), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [0, 3, 4] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Status:speed_up_rate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 1, +"values": [] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Status:skill_move_speed") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [-4.0, 0.0] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Status:skill_float_speed") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [4.0, 0.0] +} +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Battle") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"attack1" +}] +} +tracks/8/type = "method" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("Effect") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"cast_attack_particle1" +}] +} diff --git a/resource/skill_animation/hero01_fist_air_skill03.tres b/resource/skill_animation/hero01_fist_air_skill03.tres new file mode 100644 index 0000000..562d9ee --- /dev/null +++ b/resource/skill_animation/hero01_fist_air_skill03.tres @@ -0,0 +1,43 @@ +[gd_resource type="Animation" load_steps=2 format=3 uid="uid://dd1d51x51so2p"] + +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_3gkl8"] + +[resource] +resource_name = "hero01_fist_air_skill03" +length = 2.7 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("View:sprite_frames") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("1_3gkl8")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("View:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": ["fist_skill03"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("View:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26] +} diff --git a/resource/skill_animation/hero01_fist_skill01.tres b/resource/skill_animation/hero01_fist_skill01.tres index c5a9565..49e87b6 100644 --- a/resource/skill_animation/hero01_fist_skill01.tres +++ b/resource/skill_animation/hero01_fist_skill01.tres @@ -1,4 +1,4 @@ -[gd_resource type="Animation" load_steps=2 format=3 uid="uid://cj0lnanjp7xfo"] +[gd_resource type="Animation" load_steps=2 format=3 uid="uid://by0w3sn21f1v0"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_uj5xl"] diff --git a/resource/skill_animation/hero01_fist_skill02.tres b/resource/skill_animation/hero01_fist_skill02.tres index bbabe8c..cd854d8 100644 --- a/resource/skill_animation/hero01_fist_skill02.tres +++ b/resource/skill_animation/hero01_fist_skill02.tres @@ -1,4 +1,4 @@ -[gd_resource type="Animation" load_steps=2 format=3 uid="uid://batvpnk7jfc2a"] +[gd_resource type="Animation" load_steps=2 format=3 uid="uid://bnqll5kf8t8qs"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_mf7r8"] diff --git a/resource/skill_animation/hero01_fist_skill03.tres b/resource/skill_animation/hero01_fist_skill03.tres new file mode 100644 index 0000000..d769289 --- /dev/null +++ b/resource/skill_animation/hero01_fist_skill03.tres @@ -0,0 +1,111 @@ +[gd_resource type="Animation" load_steps=2 format=3 uid="uid://mnmlwnqk4aqq"] + +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_o5821"] + +[resource] +resource_name = "hero01_fist_skill03" +length = 0.7 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("View:sprite_frames") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("1_o5821")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("View:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": ["fist_skill03"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Status:break_level") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.3, 0.5), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [0, 3, 4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Status:speed_up_rate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.1, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [-0.5, -1.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Status:skill_move_speed") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.1, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [8.0, 0.0] +} +tracks/5/type = "method" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Battle") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0.1, 0.2), +"transitions": PackedFloat32Array(1, 1), +"values": [{ +"args": [], +"method": &"attack1" +}, { +"args": [], +"method": &"attack1" +}] +} +tracks/6/type = "method" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Effect") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.1), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"cast_attack_particle1" +}] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("View:frame") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5, 6] +} diff --git a/resource/skill_animation/hero01_fist_skill_charging.tres b/resource/skill_animation/hero01_fist_skill_charging.tres index 0d41b8e..a21510b 100644 --- a/resource/skill_animation/hero01_fist_skill_charging.tres +++ b/resource/skill_animation/hero01_fist_skill_charging.tres @@ -85,6 +85,6 @@ tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), -"update": 0, +"update": 1, "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] } diff --git a/resource/skill_animation_library/animation_library.tres b/resource/skill_animation_library/animation_library.tres index 9152689..8b99ccb 100644 --- a/resource/skill_animation_library/animation_library.tres +++ b/resource/skill_animation_library/animation_library.tres @@ -1,4 +1,4 @@ -[gd_resource type="AnimationLibrary" load_steps=45 format=3 uid="uid://croik07a1qko5"] +[gd_resource type="AnimationLibrary" load_steps=48 format=3 uid="uid://croik07a1qko5"] [ext_resource type="Animation" uid="uid://t01a4jvp8srr" path="res://resource/skill_animation/hero01_fist_attack01.tres" id="1_4bwwm"] [ext_resource type="Animation" uid="uid://cfapnjkj5dkws" path="res://resource/skill_animation/hero01_basic_flash.tres" id="1_46f01"] @@ -33,12 +33,15 @@ [ext_resource type="Animation" uid="uid://xfuwfwtw4cna" path="res://resource/skill_animation/hero01_short_attack02.tres" id="11_h2vlt"] [ext_resource type="Animation" uid="uid://bdyjvq185tdk6" path="res://resource/skill_animation/hero01_short_attack03.tres" id="11_kejyu"] [ext_resource type="Animation" uid="uid://bkre61dn64j2f" path="res://resource/skill_animation/hero01_short_attack01.tres" id="11_n0dhn"] +[ext_resource type="Animation" uid="uid://b73xq7qwltbo2" path="res://resource/skill_animation/hero01_fist_air_skill02.tres" id="16_ssfs1"] +[ext_resource type="Animation" uid="uid://dd1d51x51so2p" path="res://resource/skill_animation/hero01_fist_air_skill03.tres" id="16_tsiw4"] [ext_resource type="Animation" uid="uid://uxuayi0qf3b7" path="res://resource/skill_animation/hero01_long_air_skill01.tres" id="20_0ey8y"] -[ext_resource type="Animation" uid="uid://batvpnk7jfc2a" path="res://resource/skill_animation/hero01_fist_skill02.tres" id="20_dv6vj"] -[ext_resource type="Animation" uid="uid://cj0lnanjp7xfo" path="res://resource/skill_animation/hero01_fist_skill01.tres" id="20_xaont"] [ext_resource type="Animation" uid="uid://cjc6sis2xn1yy" path="res://resource/skill_animation/hero01_long_air_skill02.tres" id="21_ks43l"] [ext_resource type="Animation" uid="uid://b0a1nnw2e13sg" path="res://resource/skill_animation/hero01_fist_skill_charging01.tres" id="23_12bpf"] +[ext_resource type="Animation" uid="uid://mnmlwnqk4aqq" path="res://resource/skill_animation/hero01_fist_skill03.tres" id="23_541fl"] [ext_resource type="Animation" uid="uid://bbq4e0a0eyrke" path="res://resource/skill_animation/hero01_fist_skill_charging02.tres" id="24_j0oqq"] +[ext_resource type="Animation" uid="uid://by0w3sn21f1v0" path="res://resource/skill_animation/hero01_fist_skill01.tres" id="24_qdhvi"] +[ext_resource type="Animation" uid="uid://bnqll5kf8t8qs" path="res://resource/skill_animation/hero01_fist_skill02.tres" id="25_j3bpt"] [ext_resource type="Animation" uid="uid://h8hm3kbecdx8" path="res://resource/skill_animation/hero01_remote01.tres" id="33_7i37k"] [ext_resource type="Animation" uid="uid://q7qlw0a7hfjt" path="res://resource/skill_animation/hero01_slash01.tres" id="38_lyels"] [ext_resource type="Animation" uid="uid://2oxeq83bpofb" path="res://resource/skill_animation/monster03_slash02.tres" id="45_1vnur"] @@ -61,14 +64,17 @@ _data = { "hero01_fist_air_attack02": ExtResource("9_0fycy"), "hero01_fist_air_attack03": ExtResource("10_te03d"), "hero01_fist_air_skill01": ExtResource("5_df32u"), +"hero01_fist_air_skill02": ExtResource("16_ssfs1"), +"hero01_fist_air_skill03": ExtResource("16_tsiw4"), "hero01_fist_attack01": ExtResource("1_4bwwm"), "hero01_fist_attack02": ExtResource("2_vx7p1"), "hero01_fist_attack03": ExtResource("3_lo6yb"), "hero01_fist_attack04": ExtResource("4_087em"), "hero01_fist_attack05": ExtResource("2_y7w3h"), "hero01_fist_charging": ExtResource("1_nd54y"), -"hero01_fist_skill01": ExtResource("20_xaont"), -"hero01_fist_skill02": ExtResource("20_dv6vj"), +"hero01_fist_skill01": ExtResource("24_qdhvi"), +"hero01_fist_skill02": ExtResource("25_j3bpt"), +"hero01_fist_skill03": ExtResource("23_541fl"), "hero01_fist_skill_charging": ExtResource("1_nd54y"), "hero01_fist_skill_charging01": ExtResource("23_12bpf"), "hero01_fist_skill_charging02": ExtResource("24_j0oqq"), diff --git a/scene/launcher.tscn b/scene/launcher.tscn index 9ce4fc5..b8aa102 100644 --- a/scene/launcher.tscn +++ b/scene/launcher.tscn @@ -21,7 +21,7 @@ [ext_resource type="Script" path="res://script/manager/item_manager.gd" id="12_xwufn"] [ext_resource type="Script" path="res://script/character/status.gd" id="18_nr8sb"] [ext_resource type="SpriteFrames" uid="uid://2cb8lknel0ih" path="res://resource/animation/character/basic_move.aseprite" id="20_4ni1a"] -[ext_resource type="SpriteFrames" uid="uid://bvnjq6vtioip" path="res://resource/animation/character/hero01_fist_skill02.aseprite" id="21_ngr2y"] +[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="21_wpe47"] [ext_resource type="AnimationLibrary" uid="uid://croik07a1qko5" path="res://resource/skill_animation_library/animation_library.tres" id="22_qyapv"] [ext_resource type="Script" path="res://script/character/skill.gd" id="23_783eu"] [ext_resource type="Script" path="res://script/character/move.gd" id="25_d520l"] @@ -127,6 +127,30 @@ tracks/6/keys = { "update": 1, "values": [false] } +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Status:skill_move_speed") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("%Status:stance") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_avnjy"] _data = { @@ -212,6 +236,7 @@ script = ExtResource("5_n3qhi") [node name="Status" type="Node3D" parent="EditorTool/Character"] unique_name_in_owner = true script = ExtResource("18_nr8sb") +speed_up_rate = -1.0 [node name="View" type="AnimatedSprite3D" parent="EditorTool/Character"] unique_name_in_owner = true @@ -223,13 +248,13 @@ pixel_size = 0.02 double_sided = false alpha_cut = 2 texture_filter = 0 -sprite_frames = ExtResource("21_ngr2y") -animation = &"fist_skill_charging" -frame = 9 +sprite_frames = ExtResource("21_wpe47") +animation = &"fist_air_skill01" +frame = 8 [node name="Throw" type="AnimatedSprite3D" parent="EditorTool/Character"] unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, 0, 0, 0) +transform = Transform3D(-1, 0, 0, 0, -1, 1.50996e-07, 0, -1.50996e-07, -1, 0, 0, 0) pixel_size = 0.02 sprite_frames = ExtResource("20_4ni1a") animation = &"idle_loop" diff --git a/script/_global/enum.gd b/script/_global/enum.gd index 83cc94e..4a4ebee 100644 --- a/script/_global/enum.gd +++ b/script/_global/enum.gd @@ -7,7 +7,7 @@ enum ECharacterType {Player, Monster, Bullet, Soul} enum ETeam {Player, Monster} enum EStance { GroundIdle, Ground1, Ground2, Ground3, Ground4, Ground5, Ground6, Ground7, - AirIdle = 10, Air1, Air2, Air3, + AirIdle = 10, Air1, Air2, Air3, Air4, Charging = 20, None = 99, GroundAny = 100, diff --git a/script/character/battle.gd b/script/character/battle.gd index dae0ba6..9c256f9 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -385,8 +385,8 @@ func cast_sub_character(): skill.on_cast_sub_character() func hold(): skill.on_hold() - -func stop(): move.stop() +func stop(): + move.stop() func change_dir() -> void: diff --git a/script/character/skill.gd b/script/character/skill.gd index a74cc49..db1e6b6 100644 --- a/script/character/skill.gd +++ b/script/character/skill.gd @@ -45,6 +45,11 @@ func cast_skill_check(cfg: SkillCfg, break_level: Enum.EBreakLevel = Enum.EBreak print("技能animation不存在", animation_name) return false + if current_animation: + var pos_offset = fmod(current_animation_position,0.1) + if pos_offset < 0.02 or pos_offset > 0.08: + return false + #检查打断级别 if cfg.break_level > break_level: return false @@ -114,6 +119,7 @@ func cast_skill(cfg: SkillCfg, cast_dir: Vector2, action_key: String = ""): var animation_name: String = "animation_library/%s" % cfg.get_res_name() play(animation_name, -1, Setting.animation_speed_scale) seek(0, true, true) + print("cast_skill",cfg.get_res_name()) func break_skill(): diff --git a/script/character/status.gd b/script/character/status.gd index eff2223..197c008 100644 --- a/script/character/status.gd +++ b/script/character/status.gd @@ -45,7 +45,7 @@ var move_dir: Vector2 #移动方向 var speed_dir: Vector2 #速度方向 var velocity_change: Vector3 #一帧内速度变化值 var speed_down_push_rate: float #来自软阻挡的速度减少比率 -var speed_up_rate: float #移动速度比率 +@export var speed_up_rate: float #移动速度比率 var speed_xz: float #水平移动速度 var speed_y: float #竖直移动速度 var is_free_control: bool = true #是否可以自由控制 @@ -69,18 +69,18 @@ var pause_time: float #卡帧时间 var skill_cfg: SkillCfg #当前技能 var is_skill_running: bool #技能是否正在释放 var skill_dir: Vector2 #技能释放方向 -var skill_move_speed: float #技能位移速度 -var skill_move_stop: bool #技能位移速度是否停止生效 -var skill_float_speed: float #技能y位移速度 +@export var skill_move_speed: float #技能位移速度 +@export var skill_float_speed: float #技能y位移速度 +@export var skill_move_stop: bool #技能位移速度是否停止生效 var skill_action_key: String #技能输入指令 -var skill_break_level_add: int #技能额外打断等级 +@export var skill_break_level_add: int #技能额外打断等级 #核心状态 var core_active_list: Array[CoreCfg] = [] #主动核心列表 8个 var core_passive_list: Array[CoreCfg] = [] #被动核心列表 #玩家技能状态 var input_dir: Vector2 #指令方向 -var stance: Enum.EStance #技能姿态 -var break_level: Enum.EBreakLevel #打断等级 +@export var stance: Enum.EStance #技能姿态 +@export var break_level: Enum.EBreakLevel #打断等级 var weapon_list: Array[WeaponCfg] = [] #武器列表 var weapon_index: int #当前武器下标 var weapon_index_change_dir: int #武器下标操作变化方向 diff --git a/script/ui/hud/player_status_item.gd b/script/ui/hud/player_status_item.gd index ad137e3..489c99a 100644 --- a/script/ui/hud/player_status_item.gd +++ b/script/ui/hud/player_status_item.gd @@ -41,4 +41,4 @@ func on_mp_max_changed(value: int): func on_mp_changed(value: int): for i in range(mp_list.get_child_count()): var mp_item: MpItemSub = mp_list.get_child(i) as MpItemSub - mp_item.set_active(i