From a6448813b8f84bf5ebd3f827e8160ca245d06ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Sat, 9 May 2026 18:35:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Weapon):=20=E4=BC=98=E5=8C=96=E6=AD=A6?= =?UTF-8?q?=E5=99=A8=E6=8F=8F=E8=BF=B0=E6=A0=BC=E5=BC=8F=E5=B9=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=86=85=E4=BC=A4=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整武器描述文本格式以提高可读性,并新增内伤机制: - 为不同攻击类型添加内伤效果 - 完善爆炸伤害触发内伤的规则 - 优化文本排版和分段 - 移除描述文本的居中显示 --- components/Weapons/Tree.tscn | 98 +++++++++++++++++++++++++++--------- scripts/Structs/Weapon.gd | 2 +- 2 files changed, 74 insertions(+), 26 deletions(-) diff --git a/components/Weapons/Tree.tscn b/components/Weapons/Tree.tscn index 7a88963..3060e19 100644 --- a/components/Weapons/Tree.tscn +++ b/components/Weapons/Tree.tscn @@ -26,21 +26,45 @@ storeType = { } descriptionTemplate = "进行[b]格挡[/b],化解敌人的攻击。 每成功格挡一次,获得一点[b]气力[/b]。 -每拥有一点气力,增加[color=yellow]1[/color]点冲刺速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],符咒会自动引爆,召唤[b]乾坤剑[/b]穿透敌人。 -近战攻击造成乾坤剑的$rate点伤害。 + +每拥有一点气力: + 增加[color=yellow]1[/color]点冲刺速度。 + 闪避穿过敌人时对其贴上一层[b]符咒[/b], + 符咒会自动引爆, + 召唤[b]乾坤剑[/b]穿透敌人。 +自身最多储存$max点气力。 + +近战攻击造成乾坤剑的$rate伤害。 每次格挡最多化解$count个子弹, -体内最多储存$max点气力。 -每化解[color=yellow]1[/color]点伤害, -乾坤剑造成的伤害+$atk点。 -格挡时机越精确,成功率越高。 + 每化解[color=yellow]1[/color]点伤害, + 乾坤剑造成的伤害+$atk点。 -对于[b]近战挥舞[/b]攻击,化解本次伤害; -对于[b]近战戳刺[/b]攻击,将本次伤害反弹,造成乾坤剑的$rate伤害并产生大量击退; -对于[b]远程射弹[/b]攻击,化解本次伤害,有$rate的概率发生[b]弹反[/b],子弹弹反后造成乾坤剑的$rate伤害; -对于[b]猛冲[/b]攻击,化解本次伤害,并反弹敌人的速度; -对于[b]吐息[/b]攻击,[color=red]无法化解伤害[/color]但可以对敌人产生少量击退; -对于[b]魔法或召唤[/b]攻击,[color=red]无法化解伤害[/color]但可以少量储能;" +对于[b]近战挥舞[/b]攻击, + 化解本次伤害, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]近战戳刺[/b]攻击, + 将本次伤害反弹, + 造成乾坤剑的$rate伤害, + 产生大量击退, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]远程射弹[/b]攻击, + 化解本次伤害, + 有$rate的概率发生[b]弹反[/b], + 子弹弹反后造成乾坤剑的$rate伤害; +对于[b]猛冲[/b]攻击, + 化解本次伤害, + 反弹敌人的速度, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]吐息[/b]攻击, + [color=red]无法化解伤害[/color]但产生少量击退; +对于[b]魔法或召唤[/b]攻击, + [color=red]无法化解伤害[/color]但可以少量储能; + +敌人或自身受到的任意[color=yellow]爆炸类伤害[/color]都会引爆其所有内伤,每枚内伤造成$atk点伤害。 +格挡时机越精确,成功率越高。 +触发[b]不精准格挡[/b]时,自身产生[color=yellow]1[/color]枚内伤。 +每次格挡最多产生[color=yellow]1[/color]枚内伤。" sources = Array[String](["Nine Sols", "Terraria"]) tease = "卸劲反伤" cooldown = 250.0 @@ -61,23 +85,47 @@ typeTopic = 3 text = "Nine Sols × Terraria" [node name="description" parent="container" parent_id_path=PackedInt32Array(575698869) index="2" unique_id=566230682] -text = "[center]进行[b]格挡[/b],化解敌人的攻击。 +text = "进行[b]格挡[/b],化解敌人的攻击。 每成功格挡一次,获得一点[b]气力[/b]。 -每拥有一点气力,增加[color=yellow]1[/color]点冲刺速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],符咒会自动引爆,召唤[b]乾坤剑[/b]穿透敌人。 -近战攻击造成乾坤剑的[color=cyan]25.0%[/color]点伤害。 + +每拥有一点气力: + 增加[color=yellow]1[/color]点冲刺速度。 + 闪避穿过敌人时对其贴上一层[b]符咒[/b], + 符咒会自动引爆, + 召唤[b]乾坤剑[/b]穿透敌人。 +自身最多储存[color=cyan]3[/color]点气力。 + +近战攻击造成乾坤剑的[color=cyan]25.0%[/color]伤害。 每次格挡最多化解[color=cyan]1[/color]个子弹, -体内最多储存[color=cyan]3[/color]点气力。 -每化解[color=yellow]1[/color]点伤害, -乾坤剑造成的伤害+[color=cyan]10[/color]点。 -格挡时机越精确,成功率越高。 + 每化解[color=yellow]1[/color]点伤害, + 乾坤剑造成的伤害+[color=cyan]10[/color]点。 -对于[b]近战挥舞[/b]攻击,化解本次伤害; -对于[b]近战戳刺[/b]攻击,将本次伤害反弹,造成乾坤剑的[color=cyan]25.0%[/color]伤害并产生大量击退; -对于[b]远程射弹[/b]攻击,化解本次伤害,有[color=cyan]25.0%[/color]的概率发生[b]弹反[/b],子弹弹反后造成乾坤剑的[color=cyan]25.0%[/color]伤害; -对于[b]猛冲[/b]攻击,化解本次伤害,并反弹敌人的速度; -对于[b]吐息[/b]攻击,[color=red]无法化解伤害[/color]但可以对敌人产生少量击退; -对于[b]魔法或召唤[/b]攻击,[color=red]无法化解伤害[/color]但可以少量储能;[/center]" +对于[b]近战挥舞[/b]攻击, + 化解本次伤害, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]近战戳刺[/b]攻击, + 将本次伤害反弹, + 造成乾坤剑的[color=cyan]25.0%[/color]伤害, + 产生大量击退, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]远程射弹[/b]攻击, + 化解本次伤害, + 有[color=cyan]25.0%[/color]的概率发生[b]弹反[/b], + 子弹弹反后造成乾坤剑的[color=cyan]25.0%[/color]伤害; +对于[b]猛冲[/b]攻击, + 化解本次伤害, + 反弹敌人的速度, + 敌人产生[color=yellow]1[/color]枚[b]内伤[/b]; +对于[b]吐息[/b]攻击, + [color=red]无法化解伤害[/color]但产生少量击退; +对于[b]魔法或召唤[/b]攻击, + [color=red]无法化解伤害[/color]但可以少量储能; + +敌人或自身受到的任意[color=yellow]爆炸类伤害[/color]都会引爆其所有内伤,每枚内伤造成[color=cyan]10[/color]点伤害。 +格挡时机越精确,成功率越高。 +触发[b]不精准格挡[/b]时,自身产生[color=yellow]1[/color]枚内伤。 +每次格挡最多产生[color=yellow]1[/color]枚内伤。" [node name="tease" parent="container" parent_id_path=PackedInt32Array(575698869) index="3" unique_id=689277044] visible = true diff --git a/scripts/Structs/Weapon.gd b/scripts/Structs/Weapon.gd index bf87b80..20c96b3 100644 --- a/scripts/Structs/Weapon.gd +++ b/scripts/Structs/Weapon.gd @@ -200,7 +200,7 @@ func buildDescription(showNext: bool = false) -> String: else: text = "[color=cyan]%s[/color]" % data result = result.replace("$" + key, text) - return "[center]%s[/center]" % result + return result func readStore(key: String, default: Variant = null): return store.get(key, default) func playSound(sound: String):