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

feat(武器): 为HCN角色添加BigLaser武器并调整伤害计算

- 在HCN角色中新增BigLaser武器
- 修改BigLaser的executeAtk为固定值1
- 调整bulletHit和calculateDamage方法,添加entity参数
This commit is contained in:
2026-05-10 15:00:10 +08:00
parent f7861a26c4
commit dfb5f8c926
4 changed files with 8 additions and 4 deletions
+2 -1
View File
@@ -57,7 +57,8 @@ func attack(entity: EntityBase):
var bigLaser: BigLaser = bullet
bigLaser.dotTime = readStore("time") * 1000
bigLaser.baseDamage = readStore("atk")
bigLaser.executeAtk = readStoreExtra("executeAtk")
# bigLaser.executeAtk = readStoreExtra("executeAtk")
bigLaser.executeAtk = 1
await TickTool.frame()
bigLaser.animator.speed_scale = 5 / (5 + readStoreExtra("duration"))
return true
+2 -2
View File
@@ -141,10 +141,10 @@ func setupCuttable(cutSpeed: float):
)
func getDamage():
return baseDamage * damageMultipliers[usingDamageMultiplier]
func calculateDamage(crit: bool, entity: Variant):
func calculateDamage(crit: bool, something: Variant):
var baseDmg = getDamage() * launcher.fields.get(FieldStore.Entity.DAMAGE_MULTIPILER) * randf_range(1 - GameRule.damageOffset, 1 + GameRule.damageOffset)
var damage = baseDmg + baseDmg * int(crit) * launcher.fields.get(FieldStore.Entity.CRIT_DAMAGE)
return damageOverride(damage, entity)
return damageOverride(damage, something)
func determineCrit():
return MathTool.rate(launcher.fields.get(FieldStore.Entity.CRIT_RATE) + GameRule.critRateInfluenceByLuckValue * launcher.fields[FieldStore.Entity.LUCK_VALUE])
func hitEntity(target: Node):
+1 -1
View File
@@ -285,7 +285,7 @@ func takeDamage(baseDamage: float, crit: bool = false, perfectMiss: bool = false
func bulletHit(bullet: BulletBase, crit: bool, damageOverride = "none"):
# 当受伤时
hurtAnimator.play("hurt")
var damage = bullet.calculateDamage(crit) if damageOverride == "none" else damageOverride
var damage = bullet.calculateDamage(crit, self ) if damageOverride == "none" else damageOverride
var perfectMiss = false
if sprinting:
playSound("miss")