mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-05 03:07:12 +08:00
feat(蓝水晶): 添加蓝水晶子弹追踪和分裂功能
为蓝水晶子弹添加追踪开关和速度提升属性 实现命中敌人时概率分裂钻石的功能 添加武器升华选项以增强蓝水晶能力
This commit is contained in:
@@ -2,6 +2,10 @@ extends BulletBase
|
||||
class_name BlueCrystalBullet
|
||||
|
||||
var tracer: EntityBase = null
|
||||
var canTrace: bool = true
|
||||
var speedBoost: float = 0
|
||||
var splitRate: float = 0
|
||||
|
||||
@onready var trail: GPUParticles2D = $%trail
|
||||
|
||||
func ai():
|
||||
@@ -9,12 +13,22 @@ func ai():
|
||||
var tracker = tracer.getTrackingAnchor()
|
||||
var targetAngle = position.angle_to_point(tracker)
|
||||
trail.rotation = - Vector2.from_angle(rotation).angle_to(Vector2.from_angle(targetAngle)) / (speed / initialSpeed)
|
||||
PresetBulletAI.trace(self, tracker, 0.07)
|
||||
if canTrace:
|
||||
PresetBulletAI.trace(self , tracker, 0.07)
|
||||
else:
|
||||
trail.rotation = 0
|
||||
speed += 0.1
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
speed += 0.1 * (1 + speedBoost)
|
||||
PresetBulletAI.forward(self , rotation)
|
||||
func destroy(_beacuseMap: bool):
|
||||
var eff = EffectController.create(ComponentManager.getEffect("BlueCrystalExplosion"), global_position)
|
||||
eff.rotation = rotation
|
||||
eff.shot()
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
if entity == tracer:
|
||||
canTrace = false
|
||||
if MathTool.rate(splitRate):
|
||||
for diamond in BulletBase.generate(ComponentManager.getBullet("Diamond2"), entity, position, deg_to_rad(randf_range(0, 360))):
|
||||
if diamond is Diamond2Bullet:
|
||||
diamond.baseDamage = baseDamage * 0.8
|
||||
diamond.parent = self
|
||||
diamond.penerate += penerate
|
||||
|
||||
Reference in New Issue
Block a user