mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-01 08:51:53 +08:00
fix: 修复子弹伤害计算并添加命中成功回调
- 在EntityBase.gd中添加takeDamage方法的返回值 - 修改BigLaser.gd中的applyDot延迟时间计算方式并添加succeedToHit方法 - 在BulletBase.gd中完善伤害处理流程,添加命中回调机制
This commit is contained in:
@@ -54,7 +54,8 @@ func hit(target: Node):
|
||||
if !canDamageSelf && entity == launcher: return
|
||||
if !indisDamage && !GameRule.allowFriendlyFire:
|
||||
if entity.isPlayer() == launcher.isPlayer(): return
|
||||
entity.takeDamage(self, MathTool.rate(launcher.fields.get(FieldStore.Entity.CRIT_RATE) + GameRule.critRateInfluenceByLuckValue * launcher.fields[FieldStore.Entity.LUCK_VALUE]))
|
||||
var damage = entity.takeDamage(self, MathTool.rate(launcher.fields.get(FieldStore.Entity.CRIT_RATE) + GameRule.critRateInfluenceByLuckValue * launcher.fields[FieldStore.Entity.LUCK_VALUE]))
|
||||
succeedToHit(damage)
|
||||
if MathTool.rate(fullPenerate()):
|
||||
fields[FieldStore.Bullet.PENERATE] -= entity.fields[FieldStore.Entity.PENARATION_RESISTANCE]
|
||||
else:
|
||||
@@ -77,6 +78,8 @@ func spawn():
|
||||
pass
|
||||
func applyDot():
|
||||
pass
|
||||
func succeedToHit(_dmg: float):
|
||||
pass
|
||||
|
||||
static func generate(
|
||||
bullet: PackedScene,
|
||||
|
||||
Reference in New Issue
Block a user