1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-12 22:57:13 +08:00

feat(战斗系统): 添加新武器"树"及其配套子弹和特效

实现新的近战武器"树",包含以下内容:
- 添加武器Tree.gd脚本及场景资源
- 新增Parrier子弹类型,支持子弹碰撞检测和反弹效果
- 添加武器攻击音效和子弹命中特效
- 修改BulletBase.gd以支持子弹间碰撞逻辑
- 更新角色预设装备新武器
This commit is contained in:
2026-03-16 23:35:22 +08:00
parent ff9273ca29
commit 5cb1e27a08
33 changed files with 680 additions and 8 deletions
+13 -5
View File
@@ -51,11 +51,6 @@ func _ready():
spawnInWhere = position
spawn()
dotLoop()
if autoSpawnAnimation:
animator.play("spawn")
await animator.animation_finished
if freeAfterSpawn:
tryDestroy()
if autoLoopAnimation:
animator.play("loop")
if autoPlayTexture:
@@ -66,7 +61,18 @@ func _ready():
if autoDestroyOnHitMap:
tryDestroy(true)
)
area_entered.connect(
func(body):
var bullet = BulletTool.fromArea(body)
if is_instance_valid(bullet):
hitBullet(bullet)
)
ai()
if autoSpawnAnimation:
animator.play("spawn")
await animator.animation_finished
if freeAfterSpawn:
tryDestroy()
func _process(_delta: float) -> void:
if destroying: return
if lifeTime > 0:
@@ -218,6 +224,8 @@ func split(newBullet: BulletBase, _index: int, _total: int, _lastBullet: float):
return newBullet
func refract(newBullet: BulletBase, _entity: EntityBase, _index: int, _total: int, _lastBullet: float):
return newBullet
func hitBullet(_bullet: BulletBase):
pass
static func generate(
bullet: PackedScene,