mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-29 07:21:54 +08:00
d4776c7398
- 新增剑砍音效及特效资源 - 为火山子弹添加命中时触发剑砍特效 - 使用FollowPosition组件重构碰撞检测逻辑 - 简化动画轨道和碰撞体配置
34 lines
910 B
GDScript
34 lines
910 B
GDScript
extends BulletBase
|
|
class_name Volcano
|
|
|
|
@onready var textureSword: Sprite2D = $%textureSword
|
|
@onready var anchor: Node2D = $%anchor
|
|
|
|
var rotates: float = 0
|
|
var count: int = 0
|
|
var dmg5: float = 0
|
|
var splitAngle: float = 10
|
|
|
|
func ai():
|
|
PresetBulletAI.lockLauncher(self, launcher, true)
|
|
rotation = lerp_angle(
|
|
rotation,
|
|
position.angle_to_point(get_global_mouse_position()),
|
|
rotates
|
|
)
|
|
func succeedToHit(_dmg: float, _entity: EntityBase):
|
|
EffectController.create(ComponentManager.getEffect("SwordCut"), textureSword.global_position).shot()
|
|
|
|
func generateShadow():
|
|
var startAngle = rotation - deg_to_rad(count * splitAngle / 2)
|
|
for i in count:
|
|
for bullet in BulletBase.generate(
|
|
ComponentManager.getBullet("VolcanoShadow"),
|
|
launcher,
|
|
position,
|
|
startAngle + i * deg_to_rad(splitAngle),
|
|
false, false, true, true
|
|
):
|
|
if bullet is VolcanoShadow:
|
|
bullet.baseDamage = baseDamage * dmg5
|