fist special01

master
chendian 9 months ago
parent ef081780fa
commit 002f91d9d4

@ -2,9 +2,9 @@
[ext_resource type="Resource" uid="uid://by6jd5xqjml2m" path="res://config/attack/blunt_starfall_1.tres" id="1_dfu42"] [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"] [ext_resource type="Resource" uid="uid://dq3pnbyfx4irr" path="res://config/attack_box/circle_foot.tres" id="2_doldq"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="2_mje6b"] [ext_resource type="Script" uid="uid://dgwtu2wj5033u" path="res://script/config/skill_weapon_cfg.gd" id="2_mje6b"]
[ext_resource type="Resource" uid="uid://d26ok8as50xe5" path="res://config/attack/blunt_starfall_2.tres" id="3_m2yio"] [ext_resource type="Resource" uid="uid://d26ok8as50xe5" path="res://config/attack/blunt_starfall_2.tres" id="3_m2yio"]
[ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill01.tres" id="3_q461t"] [ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill_charging.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://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="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"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="7_gkp4g"]
@ -15,26 +15,23 @@ weapon = ExtResource("5_70pp4")
action = "attack_heavy" action = "attack_heavy"
name = "" name = ""
skill_animation = ExtResource("3_q461t") skill_animation = ExtResource("3_q461t")
range = 0.0 stance_from = 10
free_lock = false stance_to = 0
ignore_push = true break_level = 3
is_charging = false
attack1 = ExtResource("1_dfu42") attack1 = ExtResource("1_dfu42")
attack1_box = ExtResource("2_doldq") attack1_box = ExtResource("2_doldq")
attack1_with_pause_frame = false
attack1_with_stop = false attack1_with_stop = false
attack2 = ExtResource("3_m2yio") attack2 = ExtResource("3_m2yio")
attack2_box = ExtResource("4_lpsn0") attack2_box = ExtResource("4_lpsn0")
attack2_with_pause_frame = false
attack2_with_stop = true attack2_with_stop = true
stance_from = 10
stance_to = 0
break_level = 3
is_charging = false
mp_cost = 0 mp_cost = 0
mp_sub_cost = false mp_sub_cost = false
warn_type = 0 free_lock = false
with_stop = false ignore_push = true
is_lock_x = false is_lock_x = false
refresh_animation = false is_lock_x_move = false
range = 0.0
warn_type = 0
sprite_frames = ExtResource("7_gkp4g") sprite_frames = ExtResource("7_gkp4g")
animation_name = "fist_skill01" animation_name = "fist_air_skill_charging"

@ -2,7 +2,7 @@
[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_k0cmy"] [ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_k0cmy"]
[ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_erxj5"] [ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_erxj5"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="2_yc8jq"] [ext_resource type="Script" uid="uid://dgwtu2wj5033u" path="res://script/config/skill_weapon_cfg.gd" id="2_yc8jq"]
[ext_resource type="Animation" uid="uid://t01a4jvp8srr" path="res://resource/skill_animation/hero01_fist_attack01.tres" id="3_b2pdb"] [ext_resource type="Animation" uid="uid://t01a4jvp8srr" path="res://resource/skill_animation/hero01_fist_attack01.tres" id="3_b2pdb"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_ymqrn"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_ymqrn"]
[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_0ynk7"] [ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_0ynk7"]
@ -13,24 +13,21 @@ weapon = ExtResource("5_0ynk7")
action = "attack_light" action = "attack_light"
name = "" name = ""
skill_animation = ExtResource("3_b2pdb") skill_animation = ExtResource("3_b2pdb")
range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_k0cmy")
attack1_box = ExtResource("2_erxj5")
attack1_with_pause_frame = true
attack1_with_stop = true
attack2_with_pause_frame = false
attack2_with_stop = false
stance_from = 0 stance_from = 0
stance_to = 1 stance_to = 1
break_level = 3 break_level = 3
is_charging = false is_charging = false
attack1 = ExtResource("1_k0cmy")
attack1_box = ExtResource("2_erxj5")
attack1_with_stop = true
attack2_with_stop = false
mp_cost = 0 mp_cost = 0
mp_sub_cost = false mp_sub_cost = false
warn_type = 0 free_lock = false
with_stop = false ignore_push = false
is_lock_x = true is_lock_x = true
refresh_animation = false is_lock_x_move = false
range = 0.0
warn_type = 0
sprite_frames = ExtResource("4_ymqrn") sprite_frames = ExtResource("4_ymqrn")
animation_name = "fist_attack01" animation_name = "fist_attack01"

@ -2,8 +2,8 @@
[ext_resource type="Resource" uid="uid://dfjtcdh13vohe" path="res://config/attack/blunt_normal_hit_up_back.tres" id="1_f41cj"] [ext_resource type="Resource" uid="uid://dfjtcdh13vohe" path="res://config/attack/blunt_normal_hit_up_back.tres" id="1_f41cj"]
[ext_resource type="Resource" uid="uid://dq3pnbyfx4irr" path="res://config/attack_box/circle_foot.tres" id="2_bmi1a"] [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="Script" uid="uid://dgwtu2wj5033u" 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="Animation" uid="uid://cpda46s7n6mar" 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="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"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="7_kay3f"]
@ -13,24 +13,21 @@ weapon = ExtResource("7_cmht3")
action = "attack_light" action = "attack_light"
name = "" name = ""
skill_animation = ExtResource("6_le53b") skill_animation = ExtResource("6_le53b")
range = 0.0 stance_from = 53
free_lock = false
ignore_push = true
attack1 = ExtResource("1_f41cj")
attack1_box = ExtResource("2_bmi1a")
attack1_with_pause_frame = false
attack1_with_stop = true
attack2_with_pause_frame = false
attack2_with_stop = false
stance_from = 14
stance_to = 10 stance_to = 10
break_level = 3 break_level = 3
is_charging = false is_charging = false
attack1 = ExtResource("1_f41cj")
attack1_box = ExtResource("2_bmi1a")
attack1_with_stop = false
attack2_with_stop = false
mp_cost = 0 mp_cost = 0
mp_sub_cost = false mp_sub_cost = false
warn_type = 0 free_lock = false
with_stop = false ignore_push = true
is_lock_x = true is_lock_x = true
refresh_animation = false is_lock_x_move = false
range = 0.0
warn_type = 0
sprite_frames = ExtResource("7_kay3f") sprite_frames = ExtResource("7_kay3f")
animation_name = "fist_air_skill02" animation_name = "fist_skill_special01"

@ -1,4 +1,4 @@
[gd_resource type="Animation" load_steps=2 format=3 uid="uid://b73xq7qwltbo2"] [gd_resource type="Animation" load_steps=2 format=3 uid="uid://cpda46s7n6mar"]
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_1ik3n"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_1ik3n"]
@ -28,7 +28,7 @@ tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 1, "update": 1,
"values": ["fist_air_skill02"] "values": [&"fist_skill_special01"]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
@ -45,43 +45,45 @@ tracks/2/keys = {
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/path = NodePath("Status:speed_up_rate") tracks/3/path = NodePath("Status:skill_move_speed")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(), "times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [] "values": [-4.0, 0.0]
} }
tracks/4/type = "value" tracks/4/type = "value"
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/path = NodePath("Status:skill_move_speed") tracks/4/path = NodePath("Status:skill_float_speed")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 0.1), "times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [-3.0, 0.0] "values": [3.0, 0.0]
} }
tracks/5/type = "value" tracks/5/type = "method"
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_float_speed") tracks/5/path = NodePath("Battle")
tracks/5/interp = 1 tracks/5/interp = 1
tracks/5/loop_wrap = true tracks/5/loop_wrap = true
tracks/5/keys = { tracks/5/keys = {
"times": PackedFloat32Array(0, 0.1), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1),
"update": 1, "values": [{
"values": [3.0, 0.0] "args": [],
"method": &"attack1"
}]
} }
tracks/6/type = "method" tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("Battle") tracks/6/path = NodePath("Effect")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
@ -89,30 +91,16 @@ tracks/6/keys = {
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"attack1" "method": &"cast_attack_particle1"
}] }]
} }
tracks/7/type = "method" tracks/7/type = "value"
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/path = NodePath("Effect") tracks/7/path = NodePath("View:frame")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"cast_attack_particle1"
}]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("View:frame")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1), "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), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1, "update": 1,

@ -3,8 +3,8 @@
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_0ac7k"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_0ac7k"]
[resource] [resource]
resource_name = "hero01_fist_air_skill01" resource_name = "hero01_fist_air_skill_charging"
length = 0.9 length = 0.8
step = 0.1 step = 0.1
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
@ -28,7 +28,7 @@ tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 1, "update": 1,
"values": ["fist_air_skill01"] "values": [&"fist_air_skill_charging"]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
@ -37,43 +37,31 @@ tracks/2/path = NodePath("Status:break_level")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5, 0.6), "times": PackedFloat32Array(0, 0.1, 0.6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 0, "update": 0,
"values": [0, 0, 3, 3, 4] "values": [0, 3, 4]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/path = NodePath("Status:speed_up_rate") tracks/3/path = NodePath("Status:skill_move_speed")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0.1, 0.7), "times": PackedFloat32Array(0, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [-0.5, -1.0] "values": [-0.2, 7.0, 0.0]
} }
tracks/4/type = "value" tracks/4/type = "method"
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/path = NodePath("Status:skill_move_speed") tracks/4/path = NodePath("Battle")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 0.1, 0.4), "times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [0.0, 7.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.3, 0.4),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"values": [{ "values": [{
"args": [], "args": [],
@ -83,33 +71,47 @@ tracks/5/keys = {
"method": &"attack2" "method": &"attack2"
}] }]
} }
tracks/6/type = "value" tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_float_speed")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [-0.2, -7.0, 0.0]
}
tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("Status:skill_float_speed") tracks/6/path = NodePath("Effect")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
"times": PackedFloat32Array(0, 0.1, 0.4), "times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "values": [{
"values": [0.1, -7.0, 0.0] "args": [],
"method": &"cast_attack_particle1"
}, {
"args": [],
"method": &"cast_attack_particle2_release"
}]
} }
tracks/7/type = "method" tracks/7/type = "method"
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/path = NodePath("Effect") tracks/7/path = NodePath("Battle")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0.1, 0.4), "times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"cast_attack_particle1" "method": &"check_ground"
}, {
"args": [],
"method": &"cast_attack_particle2_release"
}] }]
} }
tracks/8/type = "method" tracks/8/type = "method"
@ -119,21 +121,7 @@ tracks/8/path = NodePath("Battle")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0.3), "times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"check_ground"
}]
}
tracks/9/type = "method"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Battle")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"values": [{ "values": [{
"args": [], "args": [],
@ -143,15 +131,15 @@ tracks/9/keys = {
"method": &"stop" "method": &"stop"
}] }]
} }
tracks/10/type = "value" tracks/9/type = "value"
tracks/10/imported = false tracks/9/imported = false
tracks/10/enabled = true tracks/9/enabled = true
tracks/10/path = NodePath("View:frame") tracks/9/path = NodePath("View:frame")
tracks/10/interp = 1 tracks/9/interp = 1
tracks/10/loop_wrap = true tracks/9/loop_wrap = true
tracks/10/keys = { tracks/9/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8), "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1, "update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8] "values": [0, 1, 2, 3, 4, 5, 6, 7]
} }

@ -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_skill_special01"
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_skill_special01"]
}
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.2, 0.6),
"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(),
"transitions": PackedFloat32Array(),
"update": 1,
"values": []
}
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, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [-3.0, 0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_float_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": [3.0, 0.0]
}
tracks/6/type = "method"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Battle")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"attack1"
}]
}
tracks/7/type = "method"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Effect")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"cast_attack_particle1"
}]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("View:frame")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/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]
}

@ -22,7 +22,7 @@
[ext_resource type="Animation" uid="uid://6u3dhxly760l" path="res://resource/skill_animation/hero01_fist_attack04.tres" id="4_087em"] [ext_resource type="Animation" uid="uid://6u3dhxly760l" path="res://resource/skill_animation/hero01_fist_attack04.tres" id="4_087em"]
[ext_resource type="Animation" uid="uid://cvxifa2uac5oc" path="res://resource/skill_animation/hero01_combo0102.tres" id="4_dc8mt"] [ext_resource type="Animation" uid="uid://cvxifa2uac5oc" path="res://resource/skill_animation/hero01_combo0102.tres" id="4_dc8mt"]
[ext_resource type="Animation" uid="uid://dkkqys8el1u6g" path="res://resource/skill_animation/hero01_common_skill02.tres" id="4_vtwy2"] [ext_resource type="Animation" uid="uid://dkkqys8el1u6g" path="res://resource/skill_animation/hero01_common_skill02.tres" id="4_vtwy2"]
[ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill01.tres" id="5_df32u"] [ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill_charging.tres" id="5_df32u"]
[ext_resource type="Animation" uid="uid://bjnkrte7660pt" path="res://resource/skill_animation/hero01_long_skill01.tres" id="5_kt0qw"] [ext_resource type="Animation" uid="uid://bjnkrte7660pt" path="res://resource/skill_animation/hero01_long_skill01.tres" id="5_kt0qw"]
[ext_resource type="Animation" uid="uid://cqc30d5uqi2my" path="res://resource/skill_animation/hero01_combo0103.tres" id="5_o144c"] [ext_resource type="Animation" uid="uid://cqc30d5uqi2my" path="res://resource/skill_animation/hero01_combo0103.tres" id="5_o144c"]
[ext_resource type="Animation" uid="uid://bl2o7f7akp6if" path="res://resource/skill_animation/hero01_basic_flash_back.tres" id="5_u1e1p"] [ext_resource type="Animation" uid="uid://bl2o7f7akp6if" path="res://resource/skill_animation/hero01_basic_flash_back.tres" id="5_u1e1p"]
@ -35,7 +35,7 @@
[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://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://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://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://cpda46s7n6mar" 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://dd1d51x51so2p" path="res://resource/skill_animation/hero01_fist_air_skill03.tres" id="16_tsiw4"]
[ext_resource type="Animation" uid="uid://c2esjf8ouf22c" path="res://resource/skill_animation/hero01_fist_air_skill04.tres" id="18_2ajwh"] [ext_resource type="Animation" uid="uid://c2esjf8ouf22c" path="res://resource/skill_animation/hero01_fist_air_skill04.tres" id="18_2ajwh"]
[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://uxuayi0qf3b7" path="res://resource/skill_animation/hero01_long_air_skill01.tres" id="20_0ey8y"]
@ -75,10 +75,9 @@ _data = {
&"hero01_fist_air_attack01": ExtResource("8_svst8"), &"hero01_fist_air_attack01": ExtResource("8_svst8"),
&"hero01_fist_air_attack02": ExtResource("9_0fycy"), &"hero01_fist_air_attack02": ExtResource("9_0fycy"),
&"hero01_fist_air_attack03": ExtResource("10_te03d"), &"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_air_skill03": ExtResource("16_tsiw4"),
&"hero01_fist_air_skill04": ExtResource("18_2ajwh"), &"hero01_fist_air_skill04": ExtResource("18_2ajwh"),
&"hero01_fist_air_skill_charging": ExtResource("5_df32u"),
&"hero01_fist_attack01": ExtResource("1_4bwwm"), &"hero01_fist_attack01": ExtResource("1_4bwwm"),
&"hero01_fist_attack02": ExtResource("2_vx7p1"), &"hero01_fist_attack02": ExtResource("2_vx7p1"),
&"hero01_fist_attack03": ExtResource("3_lo6yb"), &"hero01_fist_attack03": ExtResource("3_lo6yb"),
@ -91,6 +90,7 @@ _data = {
&"hero01_fist_skill_charging": ExtResource("1_nd54y"), &"hero01_fist_skill_charging": ExtResource("1_nd54y"),
&"hero01_fist_skill_charging01": ExtResource("23_12bpf"), &"hero01_fist_skill_charging01": ExtResource("23_12bpf"),
&"hero01_fist_skill_charging02": ExtResource("24_j0oqq"), &"hero01_fist_skill_charging02": ExtResource("24_j0oqq"),
&"hero01_fist_skill_special01": ExtResource("16_ssfs1"),
&"hero01_long_air_attack01": ExtResource("1_b46g3"), &"hero01_long_air_attack01": ExtResource("1_b46g3"),
&"hero01_long_air_attack02": ExtResource("2_8wtap"), &"hero01_long_air_attack02": ExtResource("2_8wtap"),
&"hero01_long_air_attack03": ExtResource("2_nqaew"), &"hero01_long_air_attack03": ExtResource("2_nqaew"),

@ -11,7 +11,7 @@
[node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")] [node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")]
script = ExtResource("1_7oi2o") script = ExtResource("1_7oi2o")
blackboard = NodePath("@Node@25084") blackboard = NodePath("@Node@25816")
[node name="SequenceComposite" type="Node" parent="."] [node name="SequenceComposite" type="Node" parent="."]
script = ExtResource("3_i33jf") script = ExtResource("3_i33jf")

@ -11,7 +11,7 @@
[node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")] [node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")]
script = ExtResource("1_bbyao") script = ExtResource("1_bbyao")
blackboard = NodePath("@Node@25085") blackboard = NodePath("@Node@25817")
[node name="SequenceComposite" type="Node" parent="."] [node name="SequenceComposite" type="Node" parent="."]
script = ExtResource("2_04nig") script = ExtResource("2_04nig")

@ -124,7 +124,7 @@ shape = SubResource("CylinderShape3D_ehwx5")
[node name="Status" type="Node3D" parent="."] [node name="Status" type="Node3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
script = ExtResource("2_txdip") script = ExtResource("2_txdip")
speed_up_rate = -1.0 speed_up_rate = -0.5
skill_move_speed = 2.0 skill_move_speed = 2.0
skill_float_speed = 0.1 skill_float_speed = 0.1
@ -138,7 +138,7 @@ pixel_size = 0.02
double_sided = false double_sided = false
texture_filter = 0 texture_filter = 0
sprite_frames = ExtResource("4_sox5o") sprite_frames = ExtResource("4_sox5o")
animation = &"fist_skill03" animation = &"fist_skill_special01"
script = ExtResource("4_vijjv") script = ExtResource("4_vijjv")
[node name="Move" type="Node3D" parent="."] [node name="Move" type="Node3D" parent="."]
@ -187,7 +187,7 @@ script = ExtResource("14_gua01")
[node name="Throw" type="AnimatedSprite3D" parent="."] [node name="Throw" type="AnimatedSprite3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, 0, 0, 1, -8.74228e-08, 0, 8.74228e-08, 1, 0.75, 0.4, 0) transform = Transform3D(-1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, 0.75, 0.4, 0)
visible = false visible = false
pixel_size = 0.02 pixel_size = 0.02
sprite_frames = ExtResource("15_70jx1") sprite_frames = ExtResource("15_70jx1")

@ -9,11 +9,6 @@
[node name="Character" instance=ExtResource("1_pot50")] [node name="Character" instance=ExtResource("1_pot50")]
[node name="View" parent="." index="3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.693056, 0)
sprite_frames = ExtResource("2_jecaa")
animation = &"fist_air_skill01"
[node name="Combo" type="Node3D" parent="." index="10"] [node name="Combo" type="Node3D" parent="." index="10"]
unique_name_in_owner = true unique_name_in_owner = true
script = ExtResource("2_i44w8") script = ExtResource("2_i44w8")

@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://d1qroqps7xcbb"] [gd_scene load_steps=3 format=3 uid="uid://d10hh1e4u544w"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_buiuf"] [ext_resource type="Script" uid="uid://dxoik7jm7xm2q" path="res://script/effect/particle.gd" id="1_buiuf"]
[ext_resource type="PackedScene" uid="uid://cxopc3y11lwg1" path="res://scene/effect/particle/_particle_dash1.tscn" id="1_eappe"] [ext_resource type="PackedScene" uid="uid://cxopc3y11lwg1" path="res://scene/effect/particle/_particle_dash1.tscn" id="1_eappe"]
[node name="Particle" type="Node3D"] [node name="Particle" type="Node3D"]

@ -0,0 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://d1qroqps7xcbb"]
[ext_resource type="Script" uid="uid://dxoik7jm7xm2q" path="res://script/effect/particle.gd" id="1_buiuf"]
[ext_resource type="PackedScene" uid="uid://cxopc3y11lwg1" path="res://scene/effect/particle/_particle_dash1.tscn" id="1_eappe"]
[node name="Particle" type="Node3D"]
script = ExtResource("1_buiuf")
[node name="Particle" parent="." instance=ExtResource("1_eappe")]
transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 0, 0, 0)

@ -173,13 +173,12 @@ offset_right = 65.0
offset_bottom = 28.0 offset_bottom = 28.0
theme_override_constants/separation = -5 theme_override_constants/separation = -5
[node name="TestBreakLevel" type="Label" parent="HudPage/PlayerStatusItem"] [node name="DebugInfoList" type="VBoxContainer" parent="HudPage/PlayerStatusItem"]
layout_mode = 0 layout_mode = 0
offset_left = 132.0 offset_top = 37.0
offset_top = 3.0 offset_right = 40.0
offset_right = 172.0 offset_bottom = 77.0
offset_bottom = 26.0 theme_override_constants/separation = 14
text = "1"
[node name="BossStatusItem" type="Control" parent="HudPage"] [node name="BossStatusItem" type="Control" parent="HudPage"]
visible = false visible = false
@ -336,6 +335,7 @@ offset_bottom = 40.0
script = ExtResource("3_6chl0") script = ExtResource("3_6chl0")
[node name="LoadingPage" type="Control" parent="."] [node name="LoadingPage" type="Control" parent="."]
visible = false
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
offset_right = 40.0 offset_right = 40.0

@ -0,0 +1,27 @@
[gd_scene load_steps=2 format=3 uid="uid://qf04hnj26yoy"]
[ext_resource type="Script" path="res://script/ui/hud/debug_info_item_sub.gd" id="1_vxs2m"]
[node name="DebugInfoItemSub" type="Control"]
layout_mode = 3
anchors_preset = 0
script = ExtResource("1_vxs2m")
metadata/_custom_type_script = ExtResource("1_vxs2m")
[node name="Label" type="Label" parent="."]
layout_mode = 0
offset_top = 14.0
offset_right = 68.0
offset_bottom = 28.0
theme_override_font_sizes/font_size = 10
text = "DebugLabel"
horizontal_alignment = 2
[node name="Value" type="Label" parent="."]
layout_mode = 0
offset_left = 72.0
offset_top = 14.0
offset_right = 113.0
offset_bottom = 28.0
theme_override_font_sizes/font_size = 10
text = "Value"

@ -11,6 +11,7 @@ enum EStance {
Charging = 20, Charging = 20,
Stab = 30, Stab = 30,
Slash = 40, Slash = 40,
Special = 50, SpecialLong, SpecialShort, SpecialFist,
None = 99, None = 99,
GroundAny = 100, GroundAny = 100,
AirAny = 101, AirAny = 101,

@ -460,10 +460,9 @@ func on_attack_hit(hit_result: Struct.HitResultInfo) -> void:
if not status.skill_cfg: if not status.skill_cfg:
return return
var skill_name: String = status.skill_cfg.get_res_name() var skill_name: String = status.skill_cfg.get_res_name()
if hit_result.is_hit: on_skill_trigger(skill_name, "hit")
on_skill_trigger(skill_name, "hit")
if hit_result.is_break: if hit_result.is_break:
on_skill_trigger(skill_name, "break") on_skill_trigger(skill_name, "hit_break")
func on_skill_release(skill_name: String) -> void: func on_skill_release(skill_name: String) -> void:
@ -487,12 +486,16 @@ func on_hero01_long_stab01_cast():
skill.cast_skill_by_name("hero01_long_stab02", status.move_dir) skill.cast_skill_by_name("hero01_long_stab02", status.move_dir)
func on_hero01_fist_skill01_break(): func on_hero01_fist_skill01_hit_break():
var target: int = status.throw_target var target: int = status.throw_target
skill.cast_skill_by_name("hero01_fist_skill01_add", status.move_dir) skill.cast_skill_by_name("hero01_fist_skill01_add", status.move_dir)
status.throw_target = target status.throw_target = target
func on_hero01_fist_air_skill_charging_hit():
status.stance = Enum.EStance.SpecialFist
func on_hero01_fist_skill_charging_release(): func on_hero01_fist_skill_charging_release():
match status.charging_level: match status.charging_level:
0: skill.cast_skill_by_name("hero01_fist_skill_charging01", status.move_dir) 0: skill.cast_skill_by_name("hero01_fist_skill_charging01", status.move_dir)

@ -126,8 +126,8 @@ func set_shield(value: float):
status.set_shield(value) status.set_shield(value)
func set_pos(pos: Vector3): func set_pos(pos_new: Vector3):
position = pos position = pos_new
SignalManager.character_pos_changed.emit(id(), pos()) SignalManager.character_pos_changed.emit(id(), pos())

@ -32,7 +32,7 @@ func remove_skill(action: String, skillCfg: SkillCfg) -> void:
skill_dict.erase(skillCfg.get_res_name()) skill_dict.erase(skillCfg.get_res_name())
func _process(delta): func _process(_delta):
if status.is_skill_running and status.is_pause == is_playing(): if status.is_skill_running and status.is_pause == is_playing():
if status.is_pause: pause(); if status.is_pause: pause();
else: play(); else: play();
@ -58,7 +58,7 @@ func cast_skill_check(cfg: SkillCfg, break_level: Enum.EBreakLevel = Enum.EBreak
return false return false
if current_animation: if current_animation:
var pos_offset = fmod(current_animation_position, 0.1) var pos_offset: float = fmod(current_animation_position, 0.1)
if pos_offset < 0.02 or pos_offset > 0.08: if pos_offset < 0.02 or pos_offset > 0.08:
return false return false
@ -72,6 +72,10 @@ func cast_skill_check(cfg: SkillCfg, break_level: Enum.EBreakLevel = Enum.EBreak
var check_any: bool = (stance_from == Enum.EStance.Any) or check_any_ground or check_any_air var check_any: bool = (stance_from == Enum.EStance.Any) or check_any_ground or check_any_air
if (stance_from != int(status.stance)) and not check_any: if (stance_from != int(status.stance)) and not check_any:
return false return false
#检查落地姿态
var is_ground_stance: bool = (stance_from == Enum.EStance.GroundAny) or (stance_from == Enum.EStance.GroundIdle)
if is_ground_stance and not status.is_on_floor:
return false
#检查武器限制 #检查武器限制
if cfg is SkillWeaponCfg: if cfg is SkillWeaponCfg:
if cfg.weapon: if cfg.weapon:

@ -0,0 +1,15 @@
extends Control
class_name DebugInfoItemSub
var label: Label
var value: Label
func init(label_value: String) -> void:
label = ($Label as Label)
value = ($Value as Label)
label.text = label_value
func set_value(value_value: String) -> void:
value.text = value_value

@ -11,11 +11,12 @@ var is_close: bool
func show_hit_damage(damage: float): func show_hit_damage(damage: float):
if is_close: if is_close:
print("正在使用已关闭的hit_text") print("正在使用已关闭的hit_text")
is_close = true
damage_cache += damage damage_cache += damage
label.text = "%d" % damage_cache label.text = "%d" % damage_cache
animation.seek(0) animation.seek(0)
animation.play("stage1") # animation.play("stage1")
animation.play("stage2_%d" % randi_range(1, 4))
func show_hit_text(text_set: String): func show_hit_text(text_set: String):
if is_close: if is_close:

@ -4,14 +4,29 @@ extends Control
@onready var hp_bar: TextureProgressBar = $HpBar as TextureProgressBar @onready var hp_bar: TextureProgressBar = $HpBar as TextureProgressBar
@onready var mp_sub_bar: TextureProgressBar = $MpSubBar as TextureProgressBar @onready var mp_sub_bar: TextureProgressBar = $MpSubBar as TextureProgressBar
@onready var mp_list: HBoxContainer = $MpList as HBoxContainer @onready var mp_list: HBoxContainer = $MpList as HBoxContainer
@onready var break_level_label: Label = $TestBreakLevel as Label #debug info
@onready var debug_info_scene: PackedScene = preload("res://scene/ui/item/debug_info_item_sub.tscn")
@onready var debug_info_list: VBoxContainer = $DebugInfoList as VBoxContainer
var debug_info_dict: Dictionary[String, DebugInfoItemSub] = {}
func _process(delta: float) -> void:
# test func _process(_delta: float) -> void:
var player: Character = Global.character_mgr.get_player() var player: Character = Global.character_mgr.get_player()
if player: if not player:
break_level_label.text = str(player.get_status("break_level")) return
refresh_debug_info("break_level", str(player.get_status("break_level")))
refresh_debug_info("stance", str(player.get_status("stance")))
func refresh_debug_info(label_value: String, value: String) -> void:
if not debug_info_dict.has(label_value):
var debug_info: DebugInfoItemSub = debug_info_scene.instantiate() as DebugInfoItemSub
debug_info.init(label_value)
debug_info_list.add_child(debug_info)
debug_info_dict[label_value] = debug_info
debug_info_dict[label_value].set_value(value)
func on_hp_max_changed(value: float): func on_hp_max_changed(value: float):

Loading…
Cancel
Save