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://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="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://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"]
@ -15,26 +15,23 @@ weapon = ExtResource("5_70pp4")
action = "attack_heavy"
name = ""
skill_animation = ExtResource("3_q461t")
range = 0.0
free_lock = false
ignore_push = true
stance_from = 10
stance_to = 0
break_level = 3
is_charging = false
attack1 = ExtResource("1_dfu42")
attack1_box = ExtResource("2_doldq")
attack1_with_pause_frame = false
attack1_with_stop = false
attack2 = ExtResource("3_m2yio")
attack2_box = ExtResource("4_lpsn0")
attack2_with_pause_frame = false
attack2_with_stop = true
stance_from = 10
stance_to = 0
break_level = 3
is_charging = false
mp_cost = 0
mp_sub_cost = false
warn_type = 0
with_stop = false
free_lock = false
ignore_push = true
is_lock_x = false
refresh_animation = false
is_lock_x_move = false
range = 0.0
warn_type = 0
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://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="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"]
@ -13,24 +13,21 @@ weapon = ExtResource("5_0ynk7")
action = "attack_light"
name = ""
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_to = 1
break_level = 3
is_charging = false
attack1 = ExtResource("1_k0cmy")
attack1_box = ExtResource("2_erxj5")
attack1_with_stop = true
attack2_with_stop = false
mp_cost = 0
mp_sub_cost = false
warn_type = 0
with_stop = false
free_lock = false
ignore_push = false
is_lock_x = true
refresh_animation = false
is_lock_x_move = false
range = 0.0
warn_type = 0
sprite_frames = ExtResource("4_ymqrn")
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://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="Script" uid="uid://dgwtu2wj5033u" path="res://script/config/skill_weapon_cfg.gd" id="5_j7ual"]
[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="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"
name = ""
skill_animation = ExtResource("6_le53b")
range = 0.0
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_from = 53
stance_to = 10
break_level = 3
is_charging = false
attack1 = ExtResource("1_f41cj")
attack1_box = ExtResource("2_bmi1a")
attack1_with_stop = false
attack2_with_stop = false
mp_cost = 0
mp_sub_cost = false
warn_type = 0
with_stop = false
free_lock = false
ignore_push = true
is_lock_x = true
refresh_animation = false
is_lock_x_move = false
range = 0.0
warn_type = 0
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"]
@ -28,7 +28,7 @@ tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["fist_air_skill02"]
"values": [&"fist_skill_special01"]
}
tracks/2/type = "value"
tracks/2/imported = false
@ -45,43 +45,45 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
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/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": []
"values": [-4.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
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/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 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/enabled = true
tracks/5/path = NodePath("Status:skill_float_speed")
tracks/5/path = NodePath("Battle")
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]
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"attack1"
}]
}
tracks/6/type = "method"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Battle")
tracks/6/path = NodePath("Effect")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
@ -89,30 +91,16 @@ tracks/6/keys = {
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"attack1"
"method": &"cast_attack_particle1"
}]
}
tracks/7/type = "method"
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Effect")
tracks/7/path = NodePath("View:frame")
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,

@ -3,8 +3,8 @@
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="1_0ac7k"]
[resource]
resource_name = "hero01_fist_air_skill01"
length = 0.9
resource_name = "hero01_fist_air_skill_charging"
length = 0.8
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
@ -28,7 +28,7 @@ tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["fist_air_skill01"]
"values": [&"fist_air_skill_charging"]
}
tracks/2/type = "value"
tracks/2/imported = false
@ -37,43 +37,31 @@ tracks/2/path = NodePath("Status:break_level")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5, 0.6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"times": PackedFloat32Array(0, 0.1, 0.6),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0, 0, 3, 3, 4]
"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/path = NodePath("Status:skill_move_speed")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.1, 0.7),
"transitions": PackedFloat32Array(1, 1),
"times": PackedFloat32Array(0, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 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/enabled = true
tracks/4/path = NodePath("Status:skill_move_speed")
tracks/4/path = NodePath("Battle")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.1, 0.4),
"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),
"times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
@ -83,33 +71,47 @@ tracks/5/keys = {
"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/enabled = true
tracks/6/path = NodePath("Status:skill_float_speed")
tracks/6/path = NodePath("Effect")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 0.1, 0.4),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [0.1, -7.0, 0.0]
"times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"cast_attack_particle1"
}, {
"args": [],
"method": &"cast_attack_particle2_release"
}]
}
tracks/7/type = "method"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Effect")
tracks/7/path = NodePath("Battle")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.1, 0.4),
"transitions": PackedFloat32Array(1, 1),
"times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"cast_attack_particle1"
}, {
"args": [],
"method": &"cast_attack_particle2_release"
"method": &"check_ground"
}]
}
tracks/8/type = "method"
@ -119,21 +121,7 @@ tracks/8/path = NodePath("Battle")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(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),
"times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
@ -143,15 +131,15 @@ tracks/9/keys = {
"method": &"stop"
}]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("View:frame")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("View:frame")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"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),
"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://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://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://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"]
@ -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://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://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://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"]
@ -75,10 +75,9 @@ _data = {
&"hero01_fist_air_attack01": ExtResource("8_svst8"),
&"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_air_skill04": ExtResource("18_2ajwh"),
&"hero01_fist_air_skill_charging": ExtResource("5_df32u"),
&"hero01_fist_attack01": ExtResource("1_4bwwm"),
&"hero01_fist_attack02": ExtResource("2_vx7p1"),
&"hero01_fist_attack03": ExtResource("3_lo6yb"),
@ -91,6 +90,7 @@ _data = {
&"hero01_fist_skill_charging": ExtResource("1_nd54y"),
&"hero01_fist_skill_charging01": ExtResource("23_12bpf"),
&"hero01_fist_skill_charging02": ExtResource("24_j0oqq"),
&"hero01_fist_skill_special01": ExtResource("16_ssfs1"),
&"hero01_long_air_attack01": ExtResource("1_b46g3"),
&"hero01_long_air_attack02": ExtResource("2_8wtap"),
&"hero01_long_air_attack03": ExtResource("2_nqaew"),

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

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

@ -124,7 +124,7 @@ shape = SubResource("CylinderShape3D_ehwx5")
[node name="Status" type="Node3D" parent="."]
unique_name_in_owner = true
script = ExtResource("2_txdip")
speed_up_rate = -1.0
speed_up_rate = -0.5
skill_move_speed = 2.0
skill_float_speed = 0.1
@ -138,7 +138,7 @@ pixel_size = 0.02
double_sided = false
texture_filter = 0
sprite_frames = ExtResource("4_sox5o")
animation = &"fist_skill03"
animation = &"fist_skill_special01"
script = ExtResource("4_vijjv")
[node name="Move" type="Node3D" parent="."]
@ -187,7 +187,7 @@ script = ExtResource("14_gua01")
[node name="Throw" type="AnimatedSprite3D" parent="."]
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
pixel_size = 0.02
sprite_frames = ExtResource("15_70jx1")

@ -9,11 +9,6 @@
[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"]
unique_name_in_owner = true
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"]
[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
theme_override_constants/separation = -5
[node name="TestBreakLevel" type="Label" parent="HudPage/PlayerStatusItem"]
[node name="DebugInfoList" type="VBoxContainer" parent="HudPage/PlayerStatusItem"]
layout_mode = 0
offset_left = 132.0
offset_top = 3.0
offset_right = 172.0
offset_bottom = 26.0
text = "1"
offset_top = 37.0
offset_right = 40.0
offset_bottom = 77.0
theme_override_constants/separation = 14
[node name="BossStatusItem" type="Control" parent="HudPage"]
visible = false
@ -336,6 +335,7 @@ offset_bottom = 40.0
script = ExtResource("3_6chl0")
[node name="LoadingPage" type="Control" parent="."]
visible = false
layout_mode = 3
anchors_preset = 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,
Stab = 30,
Slash = 40,
Special = 50, SpecialLong, SpecialShort, SpecialFist,
None = 99,
GroundAny = 100,
AirAny = 101,

@ -460,10 +460,9 @@ func on_attack_hit(hit_result: Struct.HitResultInfo) -> void:
if not status.skill_cfg:
return
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:
on_skill_trigger(skill_name, "break")
on_skill_trigger(skill_name, "hit_break")
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)
func on_hero01_fist_skill01_break():
func on_hero01_fist_skill01_hit_break():
var target: int = status.throw_target
skill.cast_skill_by_name("hero01_fist_skill01_add", status.move_dir)
status.throw_target = target
func on_hero01_fist_air_skill_charging_hit():
status.stance = Enum.EStance.SpecialFist
func on_hero01_fist_skill_charging_release():
match status.charging_level:
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)
func set_pos(pos: Vector3):
position = pos
func set_pos(pos_new: Vector3):
position = pos_new
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())
func _process(delta):
func _process(_delta):
if status.is_skill_running and status.is_pause == is_playing():
if status.is_pause: pause();
else: play();
@ -58,7 +58,7 @@ func cast_skill_check(cfg: SkillCfg, break_level: Enum.EBreakLevel = Enum.EBreak
return false
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:
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
if (stance_from != int(status.stance)) and not check_any:
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.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):
if is_close:
print("正在使用已关闭的hit_text")
is_close = true
damage_cache += damage
label.text = "%d" % damage_cache
animation.seek(0)
animation.play("stage1")
# animation.play("stage1")
animation.play("stage2_%d" % randi_range(1, 4))
func show_hit_text(text_set: String):
if is_close:

@ -4,14 +4,29 @@ extends Control
@onready var hp_bar: TextureProgressBar = $HpBar as TextureProgressBar
@onready var mp_sub_bar: TextureProgressBar = $MpSubBar as TextureProgressBar
@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()
if player:
break_level_label.text = str(player.get_status("break_level"))
if not player:
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):

Loading…
Cancel
Save