mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-26 13:32:29 +08:00
feat(武器): 调整HJM武器的属性和召唤逻辑
修改HJM武器的攻击计算方式,从乘法改为加法 优化召唤物的移动速度和追踪距离 调整武器的基础属性和UI显示 增加子弹生成逻辑和伤害设置 更新武器配置和描述文本
This commit is contained in:
@@ -9,9 +9,10 @@ script = ExtResource("2_2in6n")
|
|||||||
avatarTexture = ExtResource("2_74sfb")
|
avatarTexture = ExtResource("2_74sfb")
|
||||||
displayName = "耄耋"
|
displayName = "耄耋"
|
||||||
typeTopic = 2
|
typeTopic = 2
|
||||||
|
costBeachball = 600
|
||||||
store = {
|
store = {
|
||||||
"atk": 10,
|
"atk": 10,
|
||||||
"time": 0.1
|
"time": 0.2
|
||||||
}
|
}
|
||||||
storeType = {
|
storeType = {
|
||||||
"atk": 1,
|
"atk": 1,
|
||||||
@@ -19,12 +20,13 @@ storeType = {
|
|||||||
}
|
}
|
||||||
descriptionTemplate = "召唤[b]抓狂的哈基米[/b],跟踪敌人,每$time秒造成$atk点伤害。"
|
descriptionTemplate = "召唤[b]抓狂的哈基米[/b],跟踪敌人,每$time秒造成$atk点伤害。"
|
||||||
cooldown = 1000.0
|
cooldown = 1000.0
|
||||||
|
debugRebuild = true
|
||||||
|
|
||||||
[node name="avatar" parent="container/info" index="0"]
|
[node name="avatar" parent="container/info" index="0"]
|
||||||
texture = ExtResource("2_74sfb")
|
texture = ExtResource("2_74sfb")
|
||||||
|
|
||||||
[node name="beachball" parent="container/info/infos" index="1"]
|
[node name="beachball" parent="container/info/infos" index="1"]
|
||||||
count = 500
|
count = 600
|
||||||
|
|
||||||
[node name="soul" parent="container/info/infos" index="2"]
|
[node name="soul" parent="container/info/infos" index="2"]
|
||||||
count = 1
|
count = 1
|
||||||
@@ -34,4 +36,4 @@ displayName = "耄耋"
|
|||||||
typeTopic = 2
|
typeTopic = 2
|
||||||
|
|
||||||
[node name="description" parent="container" index="2"]
|
[node name="description" parent="container" index="2"]
|
||||||
text = "[center]召唤[b]抓狂的哈基米[/b],跟踪敌人,每[color=cyan]0.10[/color]秒造成[color=cyan]10[/color]点伤害。[/center]"
|
text = "[center]召唤[b]抓狂的哈基米[/b],跟踪敌人,每[color=cyan]0.20[/color]秒造成[color=cyan]10[/color]点伤害。[/center]"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ var tracer: EntityBase = null
|
|||||||
|
|
||||||
func register():
|
func register():
|
||||||
fields[FieldStore.Entity.MAX_HEALTH] = 75
|
fields[FieldStore.Entity.MAX_HEALTH] = 75
|
||||||
fields[FieldStore.Entity.MOVEMENT_SPEED] = 2
|
fields[FieldStore.Entity.MOVEMENT_SPEED] = 1.5
|
||||||
await TickTool.frame()
|
await TickTool.frame()
|
||||||
attackCooldownMap[0] = attackTime
|
attackCooldownMap[0] = attackTime
|
||||||
func spawn():
|
func spawn():
|
||||||
@@ -13,14 +13,15 @@ func spawn():
|
|||||||
func ai():
|
func ai():
|
||||||
tryAttack(0)
|
tryAttack(0)
|
||||||
if is_instance_valid(tracer):
|
if is_instance_valid(tracer):
|
||||||
PresetEntityAI.follow(self, tracer, 50)
|
PresetEntityAI.follow(self, tracer, 80)
|
||||||
else:
|
else:
|
||||||
tracer = EntityTool.findClosetEntity(position, get_tree(), !isPlayer(), isPlayer())
|
tracer = EntityTool.findClosetEntity(position, get_tree(), !isPlayer(), isPlayer())
|
||||||
func attack(type):
|
func attack(type):
|
||||||
if type == 0:
|
if type == 0:
|
||||||
BulletBase.generate(
|
for bullet in BulletBase.generate(
|
||||||
ComponentManager.getBullet("HJMAttack"),
|
ComponentManager.getBullet("HJMAttack"),
|
||||||
self,
|
self,
|
||||||
findWeaponAnchor("normal"),
|
findWeaponAnchor("normal"),
|
||||||
0
|
0
|
||||||
)
|
):
|
||||||
|
bullet.damage = atk
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ extends Weapon
|
|||||||
|
|
||||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||||
origin["time"] /= 1 + 0.05 * to * soulLevel
|
origin["time"] /= 1 + 0.05 * to * soulLevel
|
||||||
origin["atk"] *= 2 * to * soulLevel
|
origin["atk"] += 2 * to * soulLevel
|
||||||
return origin
|
return origin
|
||||||
func attack(entity: EntityBase):
|
func attack(entity: EntityBase):
|
||||||
var summon = entity.summon(ComponentManager.getSummon("HJM"), true, false)
|
var summon = entity.summon(ComponentManager.getSummon("HJM"))
|
||||||
summon.atk = readStore("atk")
|
summon.atk = readStore("atk")
|
||||||
summon.attackTime = readStore("time") * 1000
|
summon.attackTime = readStore("time") * 1000
|
||||||
return true
|
return true
|
||||||
|
|||||||
Reference in New Issue
Block a user