mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat(武器): 增强HXD武器效果并调整MTY角色属性
为HXD武器添加同类敌人额外暴击伤害效果,并修正反弹次数描述 调整MTY角色的攻击冷却时间并优化冲刺逻辑
This commit is contained in:
@@ -19,7 +19,7 @@ storeType = {
|
||||
"atk": 1,
|
||||
"count": 1
|
||||
}
|
||||
descriptionTemplate = "发射$count颗[b]茴香豆[/b],在敌人间反弹,每颗茴香豆最多可以反弹$atk次,每次反弹对敌人造成$atk点伤害,有[color=yellow]1/4[/color]的概率不计入反弹总次数。散射[color=red]+4°[/color],反弹时伤害[color=red]-4%[/color]"
|
||||
descriptionTemplate = "发射$count颗[b]茴香豆[/b],在敌人间反弹,每颗茴香豆最多可以反弹$atk次,每次反弹对敌人造成$atk点伤害,有[color=yellow]1/4[/color]的概率反弹次数[color=yellow]+1[/color]。散射[color=red]+4°[/color],反弹时伤害[color=red]-4%[/color],命中同类敌人时额外造成一次[color=yellow]必定暴击[/color]的伤害。"
|
||||
cooldown = 1000.0
|
||||
debugRebuild = true
|
||||
|
||||
@@ -35,4 +35,4 @@ quality = 3
|
||||
typeTopic = 3
|
||||
|
||||
[node name="description" parent="container" index="2"]
|
||||
text = "[center]发射[color=cyan]4[/color]颗[b]茴香豆[/b],在敌人间反弹,每颗茴香豆最多可以反弹[color=cyan]4[/color]次,每次反弹对敌人造成[color=cyan]4[/color]点伤害,有[color=yellow]1/4[/color]的概率不计入反弹总次数。散射[color=red]+4°[/color],反弹时伤害[color=red]-4%[/color][/center]"
|
||||
text = "[center]发射[color=cyan]4[/color]颗[b]茴香豆[/b],在敌人间反弹,每颗茴香豆最多可以反弹[color=cyan]4[/color]次,每次反弹对敌人造成[color=cyan]4[/color]点伤害,有[color=yellow]1/4[/color]的概率反弹次数[color=yellow]+1[/color]。散射[color=red]+4°[/color],反弹时伤害[color=red]-4%[/color],命中同类敌人时额外造成一次[color=yellow]必定暴击[/color]的伤害。[/center]"
|
||||
|
||||
@@ -3,12 +3,17 @@ class_name HXDBullet
|
||||
|
||||
var bouncedTime: int = 0
|
||||
var maxBouncedTime: int = 0
|
||||
var lastHit: EntityBase
|
||||
|
||||
func spawn():
|
||||
texture.play(str(randi_range(0, 2)))
|
||||
func ai():
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
if is_instance_valid(lastHit):
|
||||
if lastHit.get_class() == entity.get_class():
|
||||
entity.bulletHit(self, true)
|
||||
lastHit = entity
|
||||
if bouncedTime < maxBouncedTime:
|
||||
var newEntity = EntityTool.findClosetEntity(position, get_tree(), !launcher.isPlayer(), launcher.isPlayer(), [entity])
|
||||
if is_instance_valid(newEntity):
|
||||
|
||||
@@ -4,7 +4,7 @@ class_name MTY
|
||||
func register():
|
||||
fields[FieldStore.Entity.MAX_HEALTH] = 400
|
||||
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.9
|
||||
attackCooldownMap[0] = 1000
|
||||
attackCooldownMap[0] = 2000
|
||||
attackCooldownMap[1] = 250
|
||||
sprintMultiplier = 5
|
||||
func spawn():
|
||||
@@ -22,5 +22,6 @@ func attack(type: int):
|
||||
func sprint():
|
||||
var target = BulletTool.findClosetBulletCanDamage(position, get_tree(), self)
|
||||
if is_instance_valid(target):
|
||||
var dir = (target.position - position).rotated(MathTool.randomChoiceFrom([-1, 1]) * deg_to_rad(90))
|
||||
move(dir.normalized() * sprintMultiplier, true)
|
||||
if position.distance_to(target.position) <= 200:
|
||||
var dir = (target.position - position).rotated(MathTool.randomChoiceFrom([-1, 1]) * deg_to_rad(90))
|
||||
move(dir.normalized() * sprintMultiplier, true)
|
||||
|
||||
Reference in New Issue
Block a user