1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Bullets/Arrow.gd
T
fallingshrimp 46ea2fc775 feat(子弹系统): 重构伤害计算并添加音效
将子弹的伤害属性从`damage`重命名为`baseDamage`,并引入`damageMultipliers`数组支持多段伤害
为火山武器添加三段攻击音效并调整伤害倍率
更新相关武器和子弹脚本以适配新的伤害系统
2025-11-22 08:42:51 +08:00

28 lines
721 B
GDScript

extends BulletBase
class_name Arrow
@onready var trail: GPUParticles2D = $%trail
var atk: float = 0
var waitTime: float = 0
func register():
trail.emitting = false
hitbox.disabled = true
func ai():
if timeLived() < waitTime:
PresetBulletAI.lockLauncher(self, launcher, true)
rotation = position.angle_to_point(get_global_mouse_position())
return
else:
trail.emitting = true
hitbox.disabled = false
speed = (1 - lifeDistancePercent()) * initialSpeed
baseDamage = speed * atk
PresetBulletAI.forward(self, rotation)
if speed < 1:
tryDestroy()
func succeedToHit(_dmg: float, _entity: EntityBase):
var effect = EffectController.create(ComponentManager.getEffect("ShootBlood"), position)
effect.shot()