From b263122a520b816a220400cc6b3a2f3bfed57d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Sat, 22 Nov 2025 08:27:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8bullet.getDamage()?= =?UTF-8?q?=E6=9B=BF=E4=BB=A3=E7=9B=B4=E6=8E=A5=E8=AE=BF=E9=97=AEdamage?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复子弹伤害计算问题,通过调用getDamage()方法替代直接访问damage属性,确保伤害计算的一致性 --- scripts/Statemachine/EntityBase.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index 50fece2..55f15a3 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -235,7 +235,7 @@ func takeDamage(baseDamage: float, crit: bool = false, perfectMiss: bool = false func bulletHit(bullet: BulletBase, crit: bool): # 当受伤时 hurtAnimator.play("hurt") - var baseDamage: float = bullet.damage * bullet.launcher.fields.get(FieldStore.Entity.DAMAGE_MULTIPILER) * randf_range(1 - GameRule.damageOffset, 1 + GameRule.damageOffset) + var baseDamage: float = bullet.getDamage() * bullet.launcher.fields.get(FieldStore.Entity.DAMAGE_MULTIPILER) * randf_range(1 - GameRule.damageOffset, 1 + GameRule.damageOffset) var damage = baseDamage + baseDamage * int(crit) * fields.get(FieldStore.Entity.CRIT_DAMAGE) var perfectMiss = false if sprinting: