mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 23:11:54 +08:00
566531c856
- 隐藏Bear角色的mask - 提高Bear和KukeMC子弹的伤害值 - 增加KukeMC的最大生命值 - 设置World场景的currentInvinsible为true - 调整KukeChild的攻击冷却时间和存活时间 - 为HeavyCrystal子弹添加初始伤害值
44 lines
1.2 KiB
GDScript
44 lines
1.2 KiB
GDScript
extends BulletBase
|
|
|
|
@export var allColor: GradientTexture1D = null
|
|
|
|
@onready var superlight: Node2D = $"%superlight"
|
|
@onready var trail: GPUParticles2D = $"%trail"
|
|
|
|
var myColor: Color
|
|
var tracer: EntityBase = null
|
|
var traceTime: float = 2000
|
|
var forwardTime: float = 500
|
|
var forwarded: bool = false
|
|
|
|
func register():
|
|
speed = 1
|
|
damage = 10
|
|
penerate = 1
|
|
func spawn():
|
|
myColor = allColor.gradient.sample(randf())
|
|
superlight.material = superlight.material.duplicate()
|
|
trail.process_material = trail.process_material.duplicate()
|
|
setColor(myColor)
|
|
|
|
|
|
func ai():
|
|
superlight.global_rotation_degrees = 90
|
|
PresetBulletAI.forward(self, rotation)
|
|
if timeLived() <= forwardTime:
|
|
speed = 10 * ((forwardTime - timeLived()) / forwardTime)
|
|
elif forwarded:
|
|
if timeLived() < forwardTime + 2000:
|
|
speed = clamp((timeLived() - forwardTime) / 75, 0, 30)
|
|
if is_instance_valid(tracer) and timeLived() <= traceTime + forwardTime:
|
|
PresetBulletAI.trace(self, tracer.position, 0.1 * (traceTime - (timeLived() - forwardTime)) / traceTime)
|
|
else:
|
|
forwarded = true
|
|
|
|
|
|
func setColor(color: Color):
|
|
texture.self_modulate = color
|
|
var mat: ParticleProcessMaterial = trail.process_material
|
|
mat.color = color
|
|
superlight.material.set_shader_parameter("color", color)
|