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/Parrier.gd
T
fallingshrimp ac643e426b feat(战斗系统): 添加招架球子弹和循环计时器功能
实现新的招架球子弹类型(ParryBallBullet)及其相关行为
新增CycleTimer类用于管理子弹的周期性运动
在EntityBase中添加计时器管理功能,支持创建和应用周期计时器
添加招架球子弹的资源文件和相关配置
2026-03-17 22:58:04 +08:00

23 lines
689 B
GDScript

extends BulletBase
class_name ParrierBullet
@export var parryRate: float = 1
func hitBullet(bullet: BulletBase):
if BulletTool.canDamage(bullet, launcher):
if MathTool.rate(parryRate):
var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 150)
eff.modulate = bullet.modulate.blend(bullet.texture.modulate)
eff.shot()
bullet.tryDestroy()
var cycler = launcher.getOrCreateCycleTimer("parry", 2000, 100)
if len(cycler.bullets) < 5:
for b in BulletBase.generate(
ComponentManager.getBullet("ParryBall"),
launcher,
position,
0
):
if b is ParryBallBullet:
pass