1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(战斗系统): 添加完美闪避窗口并本地化伤害标签

添加完美闪避窗口参数,用于调整触发完美闪避的速度阈值
将伤害标签中的"MISS"和"PERFECT MISS"本地化为中文"闪避"和"完美闪避"
This commit is contained in:
2025-09-07 14:29:11 +08:00
parent 49172a0088
commit e7476d2c47
3 changed files with 9 additions and 4 deletions
+2 -2
View File
@@ -24,10 +24,10 @@ func _ready():
else:
if crit:
label.label_settings.font_color = color4
label.text = "PERFECT MISS"
label.text = "完美闪避"
else:
label.label_settings.font_color = color3
label.text = "MISS"
label.text = "闪避"
animator.play("show")
await animator.animation_finished
queue_free()
+2 -1
View File
@@ -20,6 +20,7 @@ var fields = {
FieldStore.Entity.SAVE_ENERGY: 1,
FieldStore.Entity.ENERGY_MULTIPILER: 1,
FieldStore.Entity.ENERGY_REGENERATION: 1,
FieldStore.Entity.PERFECT_MISS_WINDOW: 0.15,
"子弹": TITLE_FLAG,
FieldStore.Entity.OFFSET_SHOOT: 3,
FieldStore.Entity.PENERATE: 0,
@@ -176,7 +177,7 @@ func takeDamage(bullet: BulletBase, crit: bool):
var perfectMiss = false
if sprinting:
playSound("miss")
if velocity.length() > (displace(velocity, true) * sprintMultiplier * 0.9).length():
if velocity.length() > (displace(velocity, true) * sprintMultiplier * (1 - fields.get(FieldStore.Entity.PERFECT_MISS_WINDOW))).length():
perfectMiss = true
if perfectMiss:
storeEnergy(damage * 2)
+5 -1
View File
@@ -33,7 +33,8 @@ enum Entity {
BULLET_SPLIT,
BULLET_REFRACTION,
BULLET_TRACE,
GRAVITY
GRAVITY,
PERFECT_MISS_WINDOW
}
static var entityMap = {
Entity.MAX_HEALTH: "生命上限",
@@ -62,6 +63,7 @@ static var entityMap = {
Entity.BULLET_REFRACTION: "折射",
Entity.BULLET_TRACE: "追踪",
Entity.GRAVITY: "引力",
Entity.PERFECT_MISS_WINDOW: "闪避窗口",
}
static var entityMapType = {
Entity.MAX_HEALTH: DataType.VALUE,
@@ -90,6 +92,7 @@ static var entityMapType = {
Entity.BULLET_REFRACTION: DataType.VALUE,
Entity.BULLET_TRACE: DataType.PERCENT,
Entity.GRAVITY: DataType.VALUE,
Entity.PERFECT_MISS_WINDOW: DataType.PERCENT,
}
static var entityMaxValueMap = {
Entity.CRIT_RATE: 0.8,
@@ -99,6 +102,7 @@ static var entityMaxValueMap = {
Entity.DROP_APPLE_RATE: 0.4,
Entity.FEED_COUNT_SHOW: 6,
Entity.BULLET_TRACE: 1,
Entity.PERFECT_MISS_WINDOW: 0.8
}
static var entityApplier = {
Entity.MAX_HEALTH: func(entity, value):