mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
chore: 调整多名角色数值与技能逻辑
1. 下调Lynx冲刺倍率至2,同步更新其卡片属性 2. 重写牧羊犬技能为伤害吸血,替换原格挡逻辑 3. 上调氰化氢击杀储能数值,优化其描述文本 4. 新增全局伤害触发信号,完善实体伤害上报逻辑
This commit is contained in:
@@ -2,4 +2,4 @@ extends PlayerBase
|
||||
|
||||
func register():
|
||||
super.register()
|
||||
sprintMultiplier += 3
|
||||
sprintMultiplier += 2
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
extends PlayerBase
|
||||
|
||||
var parryCounter: CooldownTimer = CooldownTimer.new(3000)
|
||||
var healCounter = CooldownTimer.new(1000)
|
||||
|
||||
func ai():
|
||||
super.ai()
|
||||
if parryCounter.isCooldowned():
|
||||
var track = getTrackingAnchor()
|
||||
var bullet = BulletTool.findClosetBulletCanDamage(track, get_tree(), self , 300)
|
||||
if is_instance_valid(bullet):
|
||||
BulletBase.generate(ComponentManager.getBullet("Parrier"), self , track, track.angle_to_point(bullet.position))
|
||||
parryCounter.start()
|
||||
func register():
|
||||
super.register()
|
||||
madeDamage.connect(
|
||||
func(_w, _b):
|
||||
if healCounter.start():
|
||||
heal(1)
|
||||
)
|
||||
|
||||
@@ -6,6 +6,7 @@ signal healed(amount: float)
|
||||
signal healthChanged(health: float)
|
||||
signal died()
|
||||
signal killEnemy(who: EntityBase, by: BulletBase)
|
||||
signal madeDamage(who: EntityBase, by: BulletBase)
|
||||
|
||||
signal energyChanged(energy: float, dontChangeDirection: bool)
|
||||
|
||||
@@ -172,6 +173,7 @@ func _ready():
|
||||
healthChanged.emit(health)
|
||||
energyChanged.emit(energy, false)
|
||||
killEnemy.connect(func(_w, _b): return )
|
||||
madeDamage.connect(func(_w, _b): return )
|
||||
spawn()
|
||||
func _process(_delta):
|
||||
health = clamp(health, 0, fields.get(FieldStore.Entity.MAX_HEALTH))
|
||||
@@ -304,6 +306,7 @@ func bulletHit(bullet: BulletBase, crit: bool, damageOverride = "none"):
|
||||
hit.emit(damage, bullet, crit)
|
||||
health -= damage
|
||||
healthChanged.emit(health)
|
||||
bullet.launcher.madeDamage.emit(self , bullet)
|
||||
DamageLabel.create(damage, crit || perfectMiss, damageAnchor.global_position + MathTool.sampleInCircle(GameRule.damageLabelSpawnOffset))
|
||||
if isBoss and bullet.launcher.isPlayer():
|
||||
bullet.launcher.setBoss(self )
|
||||
|
||||
Reference in New Issue
Block a user