1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-29 23:41:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Bullets/QKSword.gd
T

30 lines
878 B
GDScript
Raw Normal View History

extends BulletBase
class_name QKSwordBullet
var tracer: EntityBase
var spawnSpeed: float = 1
func register():
spawnSpeed = randf_range(0.75, 2)
animator.speed_scale = spawnSpeed
lifeTime /= spawnSpeed
func ai():
if is_instance_valid(tracer):
look_at(tracer.getTrackingAnchor())
if timeLived() > 1000 / spawnSpeed:
PresetBulletAI.forward(self , rotation) # 前进
hitbox.disabled = false
else:
hitbox.disabled = true
func succeedToHit(_dmg: float, entity: EntityBase):
if entity == tracer:
tryDestroy() # 只需要命中一次目标就不需要继续前进了
var eff = EffectController.create(
ComponentManager.getEffect("FooExplosion"),
entity.texture.global_position
)
var varians = randi_range(0, 2)
eff.texture.sprite_frames = load("res://resources/effects/FooExplosion/%d/%d.tres" % [varians, varians])
eff.shot()
CameraManager.shake(300, 500)