硬直等级

master
chendian 1 year ago
parent c4a721dfa0
commit ff96123068

@ -5,7 +5,7 @@
[resource]
script = ExtResource("1_gadv7")
damage_rate = 1.0
break_level = 2
break_level = 1
stun_attack = 10.0
damage_type = 1
is_floating = true

@ -3,10 +3,10 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_661yg"]
[sub_resource type="BoxShape3D" id="BoxShape3D_87jhu"]
size = Vector3(2, 2, 2)
size = Vector3(2, 0.8, 1)
[resource]
script = ExtResource("1_661yg")
shape = SubResource("BoxShape3D_87jhu")
offset = Vector2(1, 1)
offset = Vector2(1, 0.4)
is_throw = false

@ -3,10 +3,10 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_hxvsy"]
[sub_resource type="BoxShape3D" id="BoxShape3D_87jhu"]
size = Vector3(1.6, 1.2, 1.2)
size = Vector3(1.6, 0.8, 0.8)
[resource]
script = ExtResource("1_hxvsy")
shape = SubResource("BoxShape3D_87jhu")
offset = Vector2(0.8, 0.6)
offset = Vector2(0.8, 0.4)
is_throw = false

@ -3,10 +3,10 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_d4mqn"]
[sub_resource type="BoxShape3D" id="BoxShape3D_87jhu"]
size = Vector3(1.6, 1.2, 1.2)
size = Vector3(1.2, 0.8, 0.6)
[resource]
script = ExtResource("1_d4mqn")
shape = SubResource("BoxShape3D_87jhu")
offset = Vector2(0.8, 0.6)
offset = Vector2(0.6, 0.4)
is_throw = false

@ -3,10 +3,10 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_gmrbh"]
[sub_resource type="BoxShape3D" id="BoxShape3D_87jhu"]
size = Vector3(1.2, 0.8, 1)
size = Vector3(0.8, 0.8, 0.4)
[resource]
script = ExtResource("1_gmrbh")
shape = SubResource("BoxShape3D_87jhu")
offset = Vector2(0.6, 0.4)
offset = Vector2(0.4, 0.4)
is_throw = false

@ -0,0 +1,13 @@
[gd_resource type="Resource" script_class="AttackBoxCfg" load_steps=3 format=3 uid="uid://dq3pnbyfx4irr"]
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_utw7p"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_pmh6g"]
height = 0.2
radius = 0.25
[resource]
script = ExtResource("1_utw7p")
shape = SubResource("CylinderShape3D_pmh6g")
offset = Vector2(0, 0)
is_throw = false

@ -0,0 +1,13 @@
[gd_resource type="Resource" script_class="AttackBoxCfg" load_steps=3 format=3 uid="uid://hg1w2k1u3wn"]
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_aqwel"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_pmh6g"]
height = 0.8
radius = 1.0
[resource]
script = ExtResource("1_aqwel")
shape = SubResource("CylinderShape3D_pmh6g")
offset = Vector2(0, 0)
is_throw = false

@ -3,8 +3,8 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_w2uwt"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_pmh6g"]
height = 1.0
radius = 1.5
height = 0.8
radius = 0.6
[resource]
script = ExtResource("1_w2uwt")

@ -3,7 +3,8 @@
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_8rhve"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_pmh6g"]
height = 1.0
height = 0.8
radius = 0.25
[resource]
script = ExtResource("1_8rhve")

@ -6,7 +6,7 @@
script = ExtResource("1_sfq22")
mp_max = 5
mp_sub_max = 100.0
recover_speed = 50.0
recover_speed = 20.0
recover_cd = 1.0
add_rate_attack = 0.0
add_rate_hit = 2.0

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillCfg" load_steps=6 format=3 uid="uid://b62nw6qww2qxq"]
[ext_resource type="Resource" uid="uid://bv4uoey1liqoq" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_idhfy"]
[ext_resource type="Resource" uid="uid://bnfnjdw0tms3h" path="res://config/attack_box/box_large.tres" id="2_k02dw"]
[ext_resource type="Resource" uid="uid://diedb7vw7eyxp" path="res://config/attack_box/box_mid.tres" id="2_rmdjw"]
[ext_resource type="Script" path="res://script/config/skill_cfg.gd" id="3_qlpem"]
[ext_resource type="Animation" uid="uid://dyyt3nsvoye62" path="res://resource/skill_animation/monster03_slash01.tres" id="4_xr54j"]
[ext_resource type="SpriteFrames" uid="uid://bac4ype7w4wr7" path="res://resource/animation/character/monster03_skill.aseprite" id="5_30t6c"]
@ -14,7 +14,7 @@ range = 1.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_idhfy")
attack1_box = ExtResource("2_k02dw")
attack1_box = ExtResource("2_rmdjw")
stance_from = 100
stance_to = 0
break_level = 3

@ -2,7 +2,7 @@
[ext_resource type="Resource" uid="uid://btg40rn2f36c2" path="res://config/attack/sharp_normal_hit_back.tres" id="1_sp2tj"]
[ext_resource type="Resource" uid="uid://bv4uoey1liqoq" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_txo8b"]
[ext_resource type="Resource" uid="uid://bnfnjdw0tms3h" path="res://config/attack_box/box_large.tres" id="2_8iiyr"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_6lahv"]
[ext_resource type="Resource" uid="uid://diedb7vw7eyxp" path="res://config/attack_box/box_mid.tres" id="2_tp3t7"]
[ext_resource type="Script" path="res://script/config/skill_cfg.gd" id="3_oagn5"]
[ext_resource type="SpriteFrames" uid="uid://bac4ype7w4wr7" path="res://resource/animation/character/monster03_skill.aseprite" id="5_jfqys"]
@ -16,9 +16,9 @@ range = 2.0
free_lock = false
ignore_push = true
attack1 = ExtResource("1_sp2tj")
attack1_box = ExtResource("2_tp3t7")
attack1_box = ExtResource("2_6lahv")
attack2 = ExtResource("1_txo8b")
attack2_box = ExtResource("2_8iiyr")
attack2_box = ExtResource("2_tp3t7")
stance_from = 100
stance_to = 0
break_level = 3

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillCfg" load_steps=6 format=3 uid="uid://1hson47yrtgq"]
[ext_resource type="Resource" uid="uid://qmivx7ntfrki" path="res://config/attack/sharp_mid_hit.tres" id="1_iexxu"]
[ext_resource type="Resource" uid="uid://bnfnjdw0tms3h" path="res://config/attack_box/box_large.tres" id="2_p4b1w"]
[ext_resource type="Resource" uid="uid://hg1w2k1u3wn" path="res://config/attack_box/circle_large.tres" id="2_r82bc"]
[ext_resource type="Script" path="res://script/config/skill_cfg.gd" id="3_n02wr"]
[ext_resource type="Animation" uid="uid://co8bivpp1fm6g" path="res://resource/skill_animation/monster03_slash03.tres" id="4_cip05"]
[ext_resource type="SpriteFrames" uid="uid://bac4ype7w4wr7" path="res://resource/animation/character/monster03_skill.aseprite" id="5_0ny0c"]
@ -14,7 +14,7 @@ range = 4.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_iexxu")
attack1_box = ExtResource("2_p4b1w")
attack1_box = ExtResource("2_r82bc")
stance_from = 100
stance_to = 0
break_level = 3

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://d1q7buaerirow"]
[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_cut8n"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_bgip4"]
[ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_8enki"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="3_agxba"]
[ext_resource type="Animation" uid="uid://dia1xwl6foafg" path="res://resource/skill_animation/hero01_fist_air_attack02.tres" id="4_jbb00"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="5_byipk"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_cut8n")
attack1_box = ExtResource("2_bgip4")
attack1_box = ExtResource("2_8enki")
stance_from = 11
stance_to = 12
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("5_byipk")
animation_name = "fist_air_attack02"

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=8 format=3 uid="uid://dkxgra6y2u30l"]
[ext_resource type="Resource" uid="uid://by6jd5xqjml2m" path="res://config/attack/blunt_starfall_1.tres" id="1_dfu42"]
[ext_resource type="Resource" uid="uid://57sukcw6ewqo" path="res://config/attack_box/circle_normal.tres" id="2_cvjvy"]
[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="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"]
@ -18,7 +18,7 @@ range = 0.0
free_lock = false
ignore_push = true
attack1 = ExtResource("1_dfu42")
attack1_box = ExtResource("2_cvjvy")
attack1_box = ExtResource("2_doldq")
attack2 = ExtResource("3_m2yio")
attack2_box = ExtResource("4_lpsn0")
stance_from = 10

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://7e4fnj5sg72s"]
[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_k0cmy"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_ixt4v"]
[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="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"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_k0cmy")
attack1_box = ExtResource("2_ixt4v")
attack1_box = ExtResource("2_erxj5")
stance_from = 0
stance_to = 1
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("4_ymqrn")
animation_name = "fist_attack01"

@ -1,8 +1,8 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://dekpkk8o6o8hk"]
[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_am4eq"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_7j3rd"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="2_fde7v"]
[ext_resource type="Resource" uid="uid://diedb7vw7eyxp" path="res://config/attack_box/box_mid.tres" id="2_ja1d4"]
[ext_resource type="Animation" uid="uid://c6mk8tfdpniys" path="res://resource/skill_animation/hero01_fist_attack03.tres" id="3_6rajt"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_orcy6"]
[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_r5lmk"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_am4eq")
attack1_box = ExtResource("2_ja1d4")
attack1_box = ExtResource("2_7j3rd")
stance_from = 2
stance_to = 3
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("4_orcy6")
animation_name = "fist_attack03"

@ -1,8 +1,8 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=6 format=3 uid="uid://b4aysymwqtvtd"]
[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_s12sc"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_ldfkh"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="2_mhuew"]
[ext_resource type="Resource" uid="uid://diedb7vw7eyxp" path="res://config/attack_box/box_mid.tres" id="2_ur730"]
[ext_resource type="Animation" uid="uid://6u3dhxly760l" path="res://resource/skill_animation/hero01_fist_attack04.tres" id="3_bst70"]
[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_gn3tt"]
@ -16,7 +16,7 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_s12sc")
attack1_box = ExtResource("2_ur730")
attack1_box = ExtResource("2_ldfkh")
stance_from = 3
stance_to = 4
break_level = 3

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://0n2jnkdrwa2l"]
[ext_resource type="Resource" uid="uid://bwe8xlgfhx1gl" path="res://config/attack/blunt_heavy_hit_blow.tres" id="1_5lwhl"]
[ext_resource type="Resource" uid="uid://diedb7vw7eyxp" path="res://config/attack_box/box_mid.tres" id="2_xua7v"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_g7bbg"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="2_ym7q1"]
[ext_resource type="Animation" uid="uid://b2xdmgnem1h4g" path="res://resource/skill_animation/hero01_fist_attack05.tres" id="3_dbjmb"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_mhr07"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_5lwhl")
attack1_box = ExtResource("2_xua7v")
attack1_box = ExtResource("2_g7bbg")
stance_from = 4
stance_to = 5
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("4_mhr07")
animation_name = "fist_attack05"

@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="SkillWeaponCfg" load_steps=7 format=3 uid="uid://bw582o3eyj6b5"]
[ext_resource type="Resource" uid="uid://fjjpp1wuesoq" path="res://config/attack/blunt_throw_check_hit.tres" id="1_8bqc0"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_owe8i"]
[ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_gikwn"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="3_0nei0"]
[ext_resource type="Animation" uid="uid://cj0lnanjp7xfo" path="res://resource/skill_animation/hero01_fist_skill01.tres" id="4_mq2ab"]
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="5_34tga"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_8bqc0")
attack1_box = ExtResource("2_owe8i")
attack1_box = ExtResource("2_gikwn")
stance_from = 1
stance_to = 99
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("5_34tga")
animation_name = ""

@ -3,7 +3,7 @@
[ext_resource type="Resource" uid="uid://bv4uoey1liqoq" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_8ipjq"]
[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_44ai1"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="1_xsxbs"]
[ext_resource type="Resource" uid="uid://bqejjllfy03h3" path="res://config/attack_box/box_normal.tres" id="2_5jvmg"]
[ext_resource type="Resource" uid="uid://dja8jwx16njmf" path="res://config/attack_box/box_small.tres" id="2_bjopd"]
[ext_resource type="Animation" uid="uid://dk1o3gqhjmuvh" path="res://resource/skill_animation/hero01_long_attack04.tres" id="2_sam6s"]
[ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="3_w7h1m"]
[ext_resource type="Resource" uid="uid://bnfnjdw0tms3h" path="res://config/attack_box/box_large.tres" id="4_7j0pm"]
@ -19,12 +19,14 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_44ai1")
attack1_box = ExtResource("2_5jvmg")
attack1_box = ExtResource("2_bjopd")
attack2 = ExtResource("1_8ipjq")
attack2_box = ExtResource("4_7j0pm")
stance_from = 3
stance_to = 4
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("3_w7h1m")
animation_name = "long_attack04"

@ -3,7 +3,7 @@
[ext_resource type="Resource" uid="uid://2bkub7vmxjeu" path="res://config/attack/sharp_mid_hit_blow.tres" id="1_blbi2"]
[ext_resource type="Script" path="res://script/config/skill_weapon_cfg.gd" id="1_ud5ph"]
[ext_resource type="Animation" uid="uid://bjnkrte7660pt" path="res://resource/skill_animation/hero01_long_skill01.tres" id="2_ewts2"]
[ext_resource type="Resource" uid="uid://decgfcx2xsj8i" path="res://config/attack_box/circle_mid.tres" id="2_uxcyk"]
[ext_resource type="Resource" uid="uid://hg1w2k1u3wn" path="res://config/attack_box/circle_large.tres" id="2_fayd5"]
[ext_resource type="SpriteFrames" uid="uid://dhfqj1dxldqao" path="res://resource/animation/character/hero01_long_skill01.aseprite" id="3_qwjfl"]
[ext_resource type="Resource" uid="uid://cy3wwalxeyro0" path="res://config/weapon/long.tres" id="4_3bf64"]
@ -17,10 +17,12 @@ range = 0.0
free_lock = false
ignore_push = false
attack1 = ExtResource("1_blbi2")
attack1_box = ExtResource("2_uxcyk")
attack1_box = ExtResource("2_fayd5")
stance_from = 1
stance_to = 2
break_level = 3
is_charging = false
mp_cost = 0
refresh_animation = false
sprite_frames = ExtResource("3_qwjfl")
animation_name = "long_skill01"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 19 KiB

@ -52,7 +52,7 @@ tracks/3/keys = {
"times": PackedFloat32Array(0.1, 0.8, 1.1, 1.3, 1.6, 1.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [-0.5, -1.0, -0.5, -1.0, -0.5, -1.0]
"values": [-0.5, -1.0, -0.8, -1.0, -0.8, -1.0]
}
tracks/4/type = "value"
tracks/4/imported = false
@ -64,7 +64,7 @@ tracks/4/keys = {
"times": PackedFloat32Array(0.7, 0.9, 1.2, 1.4, 1.7, 1.9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [3.0, 0.0, 2.0, 0.0, 3.0, 0.0]
"values": [1.0, 0.0, 2.0, 0.0, 3.0, 0.0]
}
tracks/5/type = "method"
tracks/5/imported = false

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dqqd56qoquts7"
path="res://.godot/imported/break_level.png-6c1bb817b614823045841c5fbd1a01d4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/ui/hud/break_level.png"
dest_files=["res://.godot/imported/break_level.png-6c1bb817b614823045841c5fbd1a01d4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=0
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=false
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

@ -14,7 +14,7 @@
[node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")]
script = ExtResource("1_r673b")
blackboard = NodePath("@Node@76945")
blackboard = NodePath("@Node@19487")
[node name="SelectorComposite" type="Node" parent="."]
script = ExtResource("2_5ltau")

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

@ -11,7 +11,7 @@
[node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")]
script = ExtResource("1_tkdjh")
blackboard = NodePath("@Node@81414")
blackboard = NodePath("@Node@19489")
[node name="SequenceComposite" type="Node" parent="."]
script = ExtResource("2_mxprp")

@ -19,7 +19,7 @@
[ext_resource type="Script" path="res://script/manager/ai_manager.gd" id="11_fm4d1"]
[ext_resource type="Script" path="res://script/manager/input_manager.gd" id="12_vfqm4"]
[ext_resource type="Script" path="res://script/character/status.gd" id="18_nr8sb"]
[ext_resource type="SpriteFrames" uid="uid://bac4ype7w4wr7" path="res://resource/animation/character/monster03_skill.aseprite" id="19_6w5yx"]
[ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="20_0ashe"]
[ext_resource type="SpriteFrames" uid="uid://2cb8lknel0ih" path="res://resource/animation/character/basic_move.aseprite" id="20_4ni1a"]
[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"]
@ -207,7 +207,7 @@ script = ExtResource("5_n3qhi")
unique_name_in_owner = true
script = ExtResource("18_nr8sb")
speed_up_rate = -1.0
skill_float_speed = 0.1
skill_move_speed = 2.0
[node name="View" type="AnimatedSprite3D" parent="EditorTool/Character"]
unique_name_in_owner = true
@ -219,13 +219,12 @@ pixel_size = 0.02
double_sided = false
alpha_cut = 2
texture_filter = 0
sprite_frames = ExtResource("19_6w5yx")
animation = &"skill02"
frame = 28
sprite_frames = ExtResource("20_0ashe")
animation = &"long_attack01"
[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"

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://dy0u26ba7dle"]
[gd_scene load_steps=5 format=3 uid="uid://dy0u26ba7dle"]
[ext_resource type="Script" path="res://script/ui/hud/headbar.gd" id="1_k0rtd"]
[ext_resource type="Texture2D" uid="uid://cwhu1ec03t3c8" path="res://resource/ui/hud/headbar_hp_empty.png" id="2_g5t31"]
[ext_resource type="Texture2D" uid="uid://b4ly1exl0owck" path="res://resource/ui/hud/headbar_hp.png" id="3_vh1p5"]
[ext_resource type="Texture2D" uid="uid://dqqd56qoquts7" path="res://resource/ui/hud/break_level.png" id="4_wo8oo"]
[node name="HeadBar" type="Control"]
layout_mode = 3
@ -55,7 +56,20 @@ texture_under = ExtResource("2_g5t31")
texture_progress = ExtResource("3_vh1p5")
tint_progress = Color(0, 1, 1, 1)
[node name="StunBar" type="TextureProgressBar" parent="."]
[node name="BreakLevel" type="Sprite2D" parent="."]
unique_name_in_owner = true
position = Vector2(-21, 0)
texture = ExtResource("4_wo8oo")
hframes = 3
vframes = 3
[node name="DebugInfo" type="Control" parent="."]
unique_name_in_owner = true
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="StunBar" type="TextureProgressBar" parent="DebugInfo"]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
@ -63,10 +77,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 24.0
offset_top = 8.0
offset_right = 56.0
offset_bottom = 12.0
offset_left = 4.0
offset_top = -12.0
offset_right = 36.0
offset_bottom = -8.0
grow_horizontal = 2
grow_vertical = 2
value = 50.0
@ -78,7 +92,7 @@ texture_under = ExtResource("2_g5t31")
texture_progress = ExtResource("3_vh1p5")
tint_progress = Color(0.866667, 0.933333, 0.105882, 1)
[node name="MpSubBar" type="TextureProgressBar" parent="."]
[node name="MpSubBar" type="TextureProgressBar" parent="DebugInfo"]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
@ -86,10 +100,9 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 24.0
offset_top = 16.0
offset_right = 56.0
offset_bottom = 20.0
offset_left = 4.0
offset_top = -4.0
offset_right = 36.0
grow_horizontal = 2
grow_vertical = 2
value = 50.0
@ -100,7 +113,7 @@ stretch_margin_bottom = 10
texture_under = ExtResource("2_g5t31")
texture_progress = ExtResource("3_vh1p5")
[node name="MpBar" type="TextureProgressBar" parent="."]
[node name="MpBar" type="TextureProgressBar" parent="DebugInfo"]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
@ -108,10 +121,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 24.0
offset_top = 12.0
offset_right = 56.0
offset_bottom = 16.0
offset_left = 4.0
offset_top = -8.0
offset_right = 36.0
offset_bottom = -4.0
grow_horizontal = 2
grow_vertical = 2
value = 50.0
@ -123,7 +136,7 @@ texture_under = ExtResource("2_g5t31")
texture_progress = ExtResource("3_vh1p5")
tint_progress = Color(0.0941176, 1, 0.992157, 1)
[node name="PosLabel" type="Label" parent="."]
[node name="PosLabel" type="Label" parent="DebugInfo"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 24.0
@ -133,7 +146,7 @@ offset_bottom = 6.0
theme_override_font_sizes/font_size = 10
text = "123,123"
[node name="RoleLabel" type="Label" parent="."]
[node name="RoleLabel" type="Label" parent="DebugInfo"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 24.0

@ -115,11 +115,23 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
var pause_time: float = attack.pause_time
var is_remote: bool = character_from != character_from.get_character_owner()
#造成伤害
#基本伤害
var damage: float = attack.damage_rate * cfg_from.attack
#硬直等级
var break_level_def: int = cfg_to.shield.break_level_on if has_shield else cfg_to.shield.break_level_off
break_level_def += character_to.get_status("skill_break_level_add")
var break_level_sub: int = clampi(attack.break_level - break_level_def, 0, 3)
is_break_skill = break_level_sub > 0
if break_level_sub < 0:
damage = 0
elif break_level_sub == 0:
damage *= 0.5
#造成伤害
if has_shield:
damage = min(shield, damage)
character_to.set_status("shield", shield-damage)
character_to.set_shield(shield-damage)
is_break_shield = damage == shield
if is_break_shield:
character_to.remove_buff("shield_recover_cd")
@ -159,7 +171,7 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
character_to.add_mp_sub(damage * cfg_to.mp.add_rate_hit, true)
#投技检测
if attack.is_throw_check and not character_to.get_status("is_be_throw") and status.throw_target == 0:
if is_break_skill and attack.is_throw_check and not character_to.get_status("is_be_throw") and status.throw_target == 0:
character_to.set_status("is_be_throw", true)
status.throw_target = character_to.id()
@ -168,10 +180,6 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
character_to.set_status("is_be_throw", false)
status.throw_target = 0
#硬直等级
var break_level_def: int = cfg_to.shield.break_level_on if has_shield else cfg_to.shield.break_level_off
var break_level_sub: int = clampi(attack.break_level - break_level_def, 0, 3)
is_break_skill = break_level_sub > 0
if is_break_skill:
#取消技能
if character_to.get_status("is_skill_running"):
@ -317,7 +325,7 @@ func hold(): skill.on_hold()
func stop(): move.stop()
func change_dir():
func change_dir():
status.skill_dir = status.move_dir
status.is_right = status.move_dir.x > 0

@ -139,7 +139,7 @@ func on_update_shield_recover(rate)->void:
shield_add = min(status.shield_max - status.shield, shield_add)
if shield_add == status.shield_max - status.shield:
remove_buff("shield_recover")
character.set_status("shield", status.shield+shield_add)
character.set_shield( status.shield+shield_add)
func on_end_mp_recover_cd(rate)->void: add_buff("mp_recover", -1)

@ -127,12 +127,16 @@ func get_status(status_name: String) -> Variant: return status.get_status(status
func set_status(status_name: String, value): status.set_status(status_name, value)
func set_shield(value: float):
status.set_shield(value)
func set_pos(pos: Vector3):
position = pos
SignalManager.character_pos_changed.emit(id(), pos())
func move_to(dir: Vector2): set_status("move_dir", dir)
func move_to(dir: Vector2): set_status("move_dir", dir.normalized())
func move_stop():

@ -74,6 +74,7 @@ func cast_skill(cfg: SkillCfg, cast_dir: Vector2, action_key: String = "") -> bo
status.stance = cfg.stance_to
status.is_charging = cfg.is_charging
status.skill_action_key = action_key
status.set_skill_break_level_add(cfg.mp_cost) #todo
character.set_body_scale(cfg.get_owner())
if cfg.is_charging:
buff.add_buff("charging", -1)
@ -98,6 +99,7 @@ func break_skill():
status.is_charging = false
status.charging_level = 0
status.skill_action_key = ""
status.set_skill_break_level_add(0)
buff.remove_buff("charging")
if status.throw_target != 0:
var character_to: Character = Global.character_mgr.get_character(status.throw_target)
@ -115,6 +117,7 @@ func cancel_skill():
func on_attack_miss():
# 攻击未命中时跳帧
_frame_forward()
status.set_skill_break_level_add(-1)#todo
func on_hold() -> void:

@ -23,6 +23,7 @@ class_name Status
@export var is_dead: bool #是否死亡
@export var target: int #目标角色
@export var throw_target: int #投技目标
@export var break_level_def: int #硬直抗性等级
@export_category("表现状态")
@export var basic_offset: Vector3 #基本偏移值
@export var shake_offset: Vector3 #抖动偏移值
@ -65,6 +66,7 @@ class_name Status
@export var skill_move_stop: bool #技能位移速度是否停止生效
@export var skill_float_speed: float #技能y位移速度
@export var skill_action_key: String #技能输入指令
@export var skill_break_level_add: int #技能额外打断等级
@export_category("玩家技能状态")
@export var input_dir: Vector2 #指令方向
@export var stance: Enum.EStance #技能姿态
@ -101,4 +103,21 @@ func set_status(status_name: String, value: Variant):
func emit_status(status_name: String):
SignalManager.character_status_changed.emit(id, status_name, get_status(status_name))
func set_shield(value: float):
shield = value
refresh_break_level_def()
emit_status("shield")
func set_skill_break_level_add(value: int):
skill_break_level_add = value
refresh_break_level_def()
emit_status("skill_break_level_add")
func refresh_break_level_def():
break_level_def = cfg.shield.break_level_on if shield>0 else cfg.shield.break_level_off
break_level_def += skill_break_level_add
emit_status("break_level_def")

@ -4,12 +4,19 @@ class_name Headbar
@onready var hit_text_scene: PackedScene = preload("res://scene/ui/item/hit_text.tscn")
@onready var hp_bar: TextureProgressBar = (%HpBar as TextureProgressBar)
@onready var shield_bar: TextureProgressBar = (%ShieldBar as TextureProgressBar)
@onready var break_level: Sprite2D = (%BreakLevel as Sprite2D)
#debug info
@onready var stun_bar: TextureProgressBar = (%StunBar as TextureProgressBar)
@onready var mp_bar: TextureProgressBar = (%MpBar as TextureProgressBar)
@onready var mp_sub_bar: TextureProgressBar = (%MpSubBar as TextureProgressBar)
@onready var pos_lable: Label = (%PosLabel as Label)
@onready var role_lable: Label = (%RoleLabel as Label)
func set_debug_info_show(is_show: bool) -> void:
var debug_info: Control = (%DebugInfo as Control)
debug_info.visible = is_show
var hit_text_damage_cache: HitText
@ -27,6 +34,10 @@ func on_shield_changed(value):
func on_shield_max_changed(value): shield_bar.max_value = value
func on_break_level_def_changed(value):
break_level.frame = clamp(value + 4, 0, 8)
func on_stun_changed(value): stun_bar.value = value

@ -30,11 +30,12 @@ func _process(delta):
func on_character_create(id: int, type: int, pos: Vector3) -> void:
if type != Enum.ECharacterType.Monster:
return
var new_headbar_meta = HeadbarMeta.new()
var new_headbar_meta = HeadbarMeta.new()
var new_headbar: Headbar = headbar_scene.instantiate() as Headbar
new_headbar_meta.pos = pos
var new_headbar = headbar_scene.instantiate()
add_child(new_headbar)
new_headbar_meta.headbar = new_headbar
new_headbar.set_debug_info_show(get_tree().debug_collisions_hint)
add_child(new_headbar)
on_character_ui_pos_changed(id, pos)
headbar_map[id] = new_headbar_meta

Loading…
Cancel
Save