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

refactor(武器系统): 重构Gobo武器行为并移除治疗导弹

删除HealingMissle相关文件,修改Gobo武器行为
Gobo现在会在受到伤害时生成苹果而非发射治疗导弹
更新武器描述和属性以匹配新行为
调整Rooster角色的武器配置
This commit is contained in:
2026-01-28 22:50:46 +08:00
parent 34dde2b281
commit 11dcce50c9
7 changed files with 19 additions and 54 deletions
@@ -1,5 +0,0 @@
extends BulletBase
class_name HealingMissleBullet
func ai():
PresetBulletAI.forward(self, rotation)
@@ -1 +0,0 @@
uid://d2ubbdwexom6t
+4 -9
View File
@@ -3,6 +3,8 @@ class_name GoboSummon
var percent: float = 0.0
var healthSinceLastLaunch: float = 0
var targetDamage: float = 0.0
var count: int = 0
func initHealth(maxHealth: float):
super.initHealth(maxHealth)
@@ -12,7 +14,7 @@ func register():
fields[FieldStore.Entity.MOVEMENT_SPEED] = 1.5
healthChanged.connect(
func(newHealth):
if healthSinceLastLaunch - newHealth >= 1:
if healthSinceLastLaunch - newHealth >= targetDamage:
launch()
healthSinceLastLaunch = newHealth
)
@@ -22,11 +24,4 @@ func ai():
move(target.position - position)
func launch():
for bullet in BulletBase.generate(
ComponentManager.getBullet("HealingMissle"),
self,
position,
position.angle_to_point(EntityTool.findClosetEntity(myMaster.position, get_tree(), isPlayer(), !isPlayer(), [self]).position)
):
if bullet is HealingMissleBullet:
bullet.baseDamage = health * percent * -1
ItemDropped.generate(ItemStore.ItemType.APPLE, count, position)
+3
View File
@@ -4,10 +4,13 @@ extends Weapon
func update(to: int, origin: Dictionary, _entity: EntityBase):
origin["health"] += 5 * to * soulLevel
origin["percent"] += 0.02 * to * soulLevel
origin["count"] *= to * soulLevel
return origin
func attack(entity: EntityBase):
var gobo = entity.summon(ComponentManager.getSummon("Gobo"))
if gobo is GoboSummon:
gobo.targetDamage = readStore("atk")
gobo.percent = readStore("percent")
gobo.count = readStore("count")
gobo.initHealth(readStore("health"))
return true