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/InfinitySword.gd
T
fallingshrimp 9c1c739deb feat(战斗系统): 为爆炸攻击添加内伤效果并重构内伤生成逻辑
- 在InfinitySword.gd中添加爆炸攻击时生成内伤球的功能
- 将内伤生成逻辑提取到InternalDamage.gd中的静态方法generateBall
- 移除Parrier.gd中重复的内伤生成代码,改用新的generateBall方法
- 更新Tree.tscn中的描述文本,添加对爆炸攻击产生内伤的说明
- 调整WeaponCardBase.tscn的UI布局,为描述文本添加滚动容器
2026-05-09 20:09:58 +08:00

24 lines
754 B
GDScript

extends BulletBase
class_name InfinitySwordBullet
var implused: Array[EntityBase] = []
var rate2: float = 0
func spawn():
CameraManager.shake(2000, 100)
func ai():
PresetBulletAI.forward(self , rotation)
func succeedToHit(_dmg: float, entity: EntityBase):
if implused.has(entity): return
else:
implused.append(entity)
entity.impluse(Vector2.from_angle(rotation) * 1500)
var eff = EffectController.create(ComponentManager.getEffect("ShootBlood"), entity.position)
eff.particles.hide()
eff.shot()
func hitBullet(bullet: BulletBase):
if !is_instance_valid(launcher): return
if BulletTool.canDamage(bullet, launcher):
baseDamage *= rate2 ** bullet.getDamage()
InternalDamageBullet.generateBall(launcher, bullet.launcher, sqrt(baseDamage))