mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-31 16:31:54 +08:00
feat(武器): 为弓武器添加生命汲取和升华选项
添加生命汲取效果,使箭矢命中时回复生命值 实现弓武器的升华系统,包含5种不同品质的强化选项 调整攻击逻辑以支持升华效果和生命值相关的伤害加成
This commit is contained in:
@@ -6,6 +6,7 @@ class_name Arrow
|
||||
var atk: float = 0
|
||||
var waitTime: float = 0
|
||||
var offsetRotation: float = 0
|
||||
var lifesteal: float = 0.2
|
||||
|
||||
func register():
|
||||
trail.emitting = false
|
||||
@@ -23,6 +24,7 @@ func ai():
|
||||
PresetBulletAI.forward(self , rotation)
|
||||
if speed < 1:
|
||||
tryDestroy()
|
||||
func succeedToHit(_dmg: float, _entity: EntityBase):
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
var effect = EffectController.create(ComponentManager.getEffect("ShootBlood"), position)
|
||||
effect.shot()
|
||||
entity.heal(lifesteal)
|
||||
|
||||
@@ -4,20 +4,22 @@ class_name Bow
|
||||
var count: int = 0
|
||||
var atk: float = 0
|
||||
var waitTime: float = 2000
|
||||
var lifesteal: float = 0.2
|
||||
|
||||
func spawn():
|
||||
var startAngle = rotation - deg_to_rad(count * 10.0 / 2)
|
||||
for c in count:
|
||||
for i in BulletBase.generate(
|
||||
for bullet in BulletBase.generate(
|
||||
ComponentManager.getBullet("Arrow"),
|
||||
launcher,
|
||||
position,
|
||||
startAngle
|
||||
):
|
||||
var bullet: Arrow = i
|
||||
bullet.atk = atk
|
||||
bullet.waitTime = waitTime
|
||||
bullet.offsetRotation = deg_to_rad(c * 10.0)
|
||||
if bullet is Arrow:
|
||||
bullet.atk = atk
|
||||
bullet.waitTime = waitTime
|
||||
bullet.offsetRotation = deg_to_rad(c * 10.0)
|
||||
bullet.lifesteal = lifesteal
|
||||
await TickTool.millseconds(waitTime)
|
||||
tryDestroy()
|
||||
func ai():
|
||||
|
||||
Reference in New Issue
Block a user