2025-11-16 17:22:40 +08:00
|
|
|
extends BulletBase
|
|
|
|
|
class_name Bow
|
|
|
|
|
|
|
|
|
|
var count: int = 0
|
|
|
|
|
var atk: float = 0
|
2025-11-18 22:43:29 +08:00
|
|
|
var waitTime: float = 2000
|
2025-11-16 17:22:40 +08:00
|
|
|
|
|
|
|
|
func spawn():
|
|
|
|
|
var startAngle = rotation - deg_to_rad(count * 10.0 / 2)
|
|
|
|
|
for c in count:
|
|
|
|
|
for i in BulletBase.generate(
|
|
|
|
|
ComponentManager.getBullet("Arrow"),
|
|
|
|
|
launcher,
|
|
|
|
|
position,
|
2025-11-30 14:26:48 +08:00
|
|
|
startAngle
|
2025-11-16 17:22:40 +08:00
|
|
|
):
|
|
|
|
|
var bullet: Arrow = i
|
|
|
|
|
bullet.atk = atk
|
2025-11-18 22:19:56 +08:00
|
|
|
bullet.waitTime = waitTime
|
2025-11-30 14:26:48 +08:00
|
|
|
bullet.offsetRotation = deg_to_rad(c * 10.0)
|
2025-11-18 22:19:56 +08:00
|
|
|
await TickTool.millseconds(waitTime)
|
2025-11-16 17:22:40 +08:00
|
|
|
tryDestroy()
|
|
|
|
|
func ai():
|
2026-04-25 13:28:43 +08:00
|
|
|
PresetBulletAI.lockLauncher(self , launcher, true)
|
|
|
|
|
rotation = position.angle_to_point(launcher.currentFocusedPosition)
|