1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Bullets/Arrow.gd
T
fallingshrimp 31d344e50a feat(武器): 为弓武器添加生命汲取和升华选项
添加生命汲取效果,使箭矢命中时回复生命值
实现弓武器的升华系统,包含5种不同品质的强化选项
调整攻击逻辑以支持升华效果和生命值相关的伤害加成
2026-05-10 15:31:40 +08:00

31 lines
820 B
GDScript

extends BulletBase
class_name Arrow
@onready var trail: GPUParticles2D = $%trail
var atk: float = 0
var waitTime: float = 0
var offsetRotation: float = 0
var lifesteal: float = 0.2
func register():
trail.emitting = false
hitbox.disabled = true
func ai():
if timeLived() < waitTime:
PresetBulletAI.lockLauncher(self , launcher, true)
rotation = position.angle_to_point(launcher.currentFocusedPosition) + offsetRotation
return
else:
trail.emitting = true
hitbox.disabled = false
speed = (1 - lifeTimePercent()) * 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()
entity.heal(lifesteal)