mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 15:01:53 +08:00
171dbb1131
将子弹的fields属性拆分为独立的speed、damage和penerate变量 为所有子弹和实体添加register方法用于初始化属性 统一攻击冷却时间管理为attackCooldownMap 移除FieldStore中不再使用的Bullet相关枚举和映射
21 lines
760 B
GDScript
21 lines
760 B
GDScript
extends BulletBase
|
|
class_name BigLaser # 这个子弹是玩家的超级武器,耗能高,dps也高
|
|
|
|
func register():
|
|
speed = 0
|
|
damage = 35
|
|
penerate = 1
|
|
func spawn():
|
|
CameraManager.shake(5000, 150) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
|
CameraManager.playAnimation("bigLaser")
|
|
damage *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
|
func ai():
|
|
rotation = lerp_angle(rotation, ((get_global_mouse_position() - position).angle()), 0.1)
|
|
position = launcher.texture.global_position
|
|
func applyDot():
|
|
hitbox.disabled = true
|
|
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
|
hitbox.disabled = false
|
|
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
|
return true
|