1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 23:11:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Bullets/HXD.gd
T
fallingshrimp 1022dd5024 feat(子弹效果): 添加HXD子弹爆炸效果及资源
添加HXDBoom效果控制器和5种爆炸纹理
调整HXD子弹的缩放比例并添加爆炸效果触发
扩展EffectController基类以支持自定义注册逻辑
2026-02-02 10:05:27 +08:00

26 lines
906 B
GDScript

extends BulletBase
class_name HXDBullet
var bouncedTime: int = 0
var maxBouncedTime: int = 0
func spawn():
texture.play(str(randi_range(0, 2)))
func ai():
PresetBulletAI.forward(self, rotation)
func succeedToHit(_dmg: float, entity: EntityBase):
if bouncedTime < maxBouncedTime:
var newEntity = EntityTool.findClosetEntity(position, get_tree(), !launcher.isPlayer(), launcher.isPlayer(), [entity])
if is_instance_valid(newEntity):
look_at(newEntity.position)
bouncedTime += 1
EffectController.create(ComponentManager.getEffect("HXDBoom"), position).shot()
func split(newBullet: BulletBase, _index: int, _total: int, _lastBullet: float):
if newBullet is HXDBullet:
newBullet.bouncedTime = 0
return newBullet
func refract(newBullet: BulletBase, _entity: EntityBase, _index: int, _total: int, _lastBullet: float):
if newBullet is HXDBullet:
newBullet.bouncedTime = 0
return newBullet