1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-30 16:01:53 +08:00

feat(子弹): 添加白色灵魂子弹并调整相关配置

添加新的WhiteSoul子弹类型,继承自BulletBase
调整SevenSoul子弹逻辑,使其能生成WhiteSoul子弹
修改Chick角色的攻击冷却时间和子弹数量
更新SevenSoul武器的伤害描述和音效音量
将默认测试波次改为Chick
移除Diamond子弹的自伤逻辑
This commit is contained in:
2025-09-26 22:12:48 +08:00
parent 82751747af
commit a056f75fdb
7 changed files with 75 additions and 5 deletions
-1
View File
@@ -6,7 +6,6 @@ const traceTime = 1500
func register():
damage = 2
func ai():
canDamageSelf = !(timeLived() >= traceTime)
PresetBulletAI.forward(self, rotation)
if timeLived() < traceTime:
PresetBulletAI.trace(self, launcher.currentFocusedBoss.getTrackingAnchor(), 0.05)
+5
View File
@@ -9,6 +9,7 @@ var colors = [
"#FDEB0F"
]
var index = 0
var spawnedChild = false
@onready var heart = $"%heart"
@onready var effect: GPUParticles2D = $"%effect"
@@ -16,12 +17,16 @@ var index = 0
func spawn():
modulate = Color(colors[index % colors.size()])
effect.emitting = true
func ai():
rotation_degrees = 360.0 / colors.size() * index + timeLived() / 20000.0 * 360 - index / 6.0 * 360.0
heart.global_rotation_degrees = 0
PresetBulletAI.lockLauncher(self, launcher, true)
func applyDot():
if timeLived() > 20000 * ((6.0 - index) / 6.0):
if !spawnedChild:
BulletBase.generate(ComponentManager.getBullet("WhiteSoul"), launcher, heart.global_position, rotation)
spawnedChild = true
BulletBase.generate(ComponentManager.getBullet("SoulBall"), launcher, heart.global_position, heart.global_position.angle_to_point(get_global_mouse_position()))
await TickTool.millseconds(100)
return true
+8
View File
@@ -0,0 +1,8 @@
extends BulletBase
func register():
speed = 1
func ai():
speed *= 1.1
damage = speed
PresetBulletAI.forward(self, rotation)
+2 -2
View File
@@ -6,7 +6,7 @@ class_name Chick
func register():
fields[FieldStore.Entity.MAX_HEALTH] = 1000
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.4
attackCooldownMap[0] = 200
attackCooldownMap[0] = 400
attackCooldownMap[1] = 12000
attackCooldownMap[2] = 2000
attackCooldownMap[3] = 3000
@@ -25,7 +25,7 @@ func ai():
func attack(type):
if type == 0:
var weaponPos = findWeaponAnchor("normal")
for i in randi_range(10, 20):
for i in randi_range(7, 16):
BulletBase.generate(ComponentManager.getBullet("Diamond"), self, weaponPos + MathTool.randv2_range(20), rotation + deg_to_rad(randf_range(-90, 90)))
elif type == 1:
var laserCount = randi_range(2, 4)
+1 -1
View File
@@ -30,7 +30,7 @@ static var WAVE_TESTBOSS_CHICK = [
Wave.create("Chick", 0, 0, true, 0, INF, 10),
]
static var WAVE_EMPTY = []
static var data = WAVE_TESTBOSS_BEAR
static var data = WAVE_TESTBOSS_CHICK
static func customStart():
if false: