1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-31 00:11:54 +08:00

feat: 添加新武器彩虹旗和紫水晶簇,调整饲料属性和数值

refactor: 重构子弹生成逻辑,支持分裂和折射效果

fix: 修复掉落物拾取范围和碰撞检测问题

style: 优化UI显示,添加武器品质和类型标签

docs: 更新字段描述,调整部分饲料名称和分类

perf: 优化数学工具函数,添加随机数处理工具

test: 调整波次生成逻辑,添加新敌人类型

build: 添加新资源文件和相关导入配置
This commit is contained in:
2025-09-05 22:23:41 +08:00
parent bb279c99b0
commit d4501ae45d
54 changed files with 974 additions and 109 deletions
+21
View File
@@ -0,0 +1,21 @@
extends BulletBase
class_name LGBTBullet
var myTracer: EntityBase = null
func spawn():
findTracer()
func register():
speed = 1
damage = 5
func ai():
texture.rotation_degrees += speed
speed *= 1.05
speed = clamp(speed, 0, 20)
if is_instance_valid(myTracer):
PresetAIs.trace(self, myTracer.position, clamp(speed / 150, 0, 1))
else:
findTracer()
PresetAIs.forward(self, rotation)
func findTracer():
myTracer = EntityTool.findClosetEntity(position, get_tree(), false, true)
+17
View File
@@ -5,3 +5,20 @@ func ai():
PresetAIs.forward(self, rotation)
func destroy(_beacuseMap: bool):
EffectController.create(preload("res://components/Effects/PurpleCrystalExplosion.tscn"), global_position).shot()
func split(index, total, _last):
BulletBase.generate(
preload("res://components/Bullets/PurpleCrystal.tscn"),
launcher,
position,
deg_to_rad(360 / total * index),
true
)
func refract(entity, _index, _total, _last):
BulletBase.generate(
preload("res://components/Bullets/PurpleCrystal.tscn"),
launcher,
position,
position.angle_to_point(entity.position) if is_instance_valid(entity) else randf_range(0, deg_to_rad(360)),
false,
true
)
+1 -1
View File
@@ -24,7 +24,7 @@ func ai():
func attack(type):
if type == 0:
var weaponPos = findWeaponAnchor("normal")
return BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle())
BulletBase.generate(preload("res://components/Bullets/LGBTBullet.tscn"), self, weaponPos, deg_to_rad(randf_range(0, 360)))
elif type == 1:
var weaponPos = findWeaponAnchor("normal")
return BulletBase.generate(preload("res://components/Bullets/BigLaser.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle())
+1 -1
View File
@@ -13,7 +13,7 @@ static var data: Array[Wave] = [
# entity, minCount, maxCount, isBoss, from, to, per
create(preload("res://components/Characters/Hen.tscn"), 1, 5, false, 0, INF, 1),
create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 8, INF, 6),
# create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1),
create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1),
]
static func create(
@@ -0,0 +1,9 @@
extends Weapon
class_name PurpleCrystalWeapon
func update(to: int, origin: Dictionary, _entity: EntityBase):
origin["atk"] += 5 * to
return origin
func attack(entity: EntityBase):
var weaponPos = entity.findWeaponAnchor("normal")
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle())