From 42d0959b05c8de3993229b08773f6f3978c3a855 Mon Sep 17 00:00:00 2001 From: pan Date: Fri, 24 Jul 2026 09:44:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor(hero&shield):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8A=A4=E7=9B=BE=E7=B3=BB=E7=BB=9F=E9=80=BB=E8=BE=91=E4=B8=8E?= =?UTF-8?q?=E8=8B=B1=E9=9B=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 修复护盾吸收数值计算错误,正确返回实际吸收伤害量 2. 调整护盾计数逻辑,改为按次数统计而非伤害量 3. 更新护盾相关提示文本与UI表现 4. 重构小铁卫与小刺客的英雄成长配置,补充详细设计文档 5. 删除冗余的旧版英雄配置文件 --- .../script/game/common/config/hero-roster.md | 243 ------ assets/script/game/common/config/heroSet.ts | 35 +- assets/script/game/common/config/heros.csv | 29 - assets/script/game/common/config/heros.md | 697 ------------------ assets/script/game/hero/HeroAtkSystem.ts | 12 +- assets/script/game/hero/HeroViewComp.ts | 4 +- assets/script/game/skill/TooltipCom.ts | 5 +- 7 files changed, 42 insertions(+), 983 deletions(-) delete mode 100644 assets/script/game/common/config/hero-roster.md delete mode 100644 assets/script/game/common/config/heros.csv delete mode 100644 assets/script/game/common/config/heros.md diff --git a/assets/script/game/common/config/hero-roster.md b/assets/script/game/common/config/hero-roster.md deleted file mode 100644 index 498b8e26..00000000 --- a/assets/script/game/common/config/hero-roster.md +++ /dev/null @@ -1,243 +0,0 @@ -# 英雄阵容设计 — Draftmaster Arena - -*Created: 2026-04-22* -*Updated: 2026-04-22* -*Status: Draft* -*总计: 50 英雄 | 7 流派 | 3 等级* - ---- - -## 战斗规则 - -### 回合循环(20回合) - -``` -准备阶段 战斗阶段 -┌──────────────┐ ┌──────────────┐ -│ 1. 三选一抽卡 │ │ 5英雄 vs 敌人 │ -│ 2. 可刷新重抽 │ →→→ │ 自动战斗(30s) │ -│ 3. 合成强化 │ │ 死亡触发生效 │ -│ 4. 选5个上阵 │ │ 战斗开始/结束 │ -└──────────────┘ └──────────────┘ - ↑ │ - └──── 全部英雄复活 ←──────────┘ -``` - -### 阵容规则 - -- 场上固定 **5个英雄** 参战 -- 超过5个的英雄进入**候补席**,每回合准备阶段可更换阵容 -- 每回合从三选一中抽取1个新英雄加入阵容 - -### 死亡规则 - -- **回合复活**:战斗中死亡的英雄下回合复活,可重新上阵 -- **死亡触发每回合生效**:死亡流英雄每回合死亡都能触发技能(送死流成立) -- 死亡流策略核心:故意派低血英雄上阵送死以获取触发收益 - -### 血量恢复规则 - -- 战斗结束时,全体英雄恢复 **70% 最大HP**(上限100%) -- 死亡英雄以 **70% HP** 复活 -- 第1回合所有英雄从 **100% HP** 开始 -- **合成奖励**:合成后的英雄以 **100% 满血** 出现 -- **天使长团队加成**:当天使长在场时,恢复效果 +30%(即全体恢复 80%) -- 设计目的:基础50%够用但有缺口,天使长让恢复翻倍,成为后期核心英雄 - -### 卡池等级 - -| 等级 | ATK 范围 | HP 范围 | 卡池出现时机 | -|------|----------|---------|-------------| -| **1级** | 5 – 12 | 15 – 35 | 第1回合起 | -| **2级** | 12 – 22 | 35 – 65 | 第5回合起 | -| **3级** | 22 – 35 | 65 – 100 | 第11回合起 | - -### 合成强化 - -两个**同名同等级**英雄合成为高一等级版本: -- ATK: 合成后 = 基础 × 1.7 -- HP: 合成后 = 基础 × 1.6 -- 技能效果数值 × 1.5 -- 可能解锁额外技能效果 - -### 元素默认属性 - -| 元素 | 暴击率 | 冰冻率 | 风怒率 | 攻击类型 | -|------|--------|--------|--------|---------| -| 火 | 10% | 0% | 0% | 火球(暴击型) | -| 冰 | 0% | 10% | 0% | 冰冻(控制型) | -| 风 | 0% | 0% | 5% | 旋风(穿刺型) | -| 无 | 0% | 0% | 0% | 普通(近战/魔法) | - -### 字段说明 - -| 字段 | 说明 | -|------|------| -| 暴/冰/风 | 暴击率 / 冰冻率 / 风怒率 | -| 穿刺 | 单次攻击命中目标数 | -| 触发 | 技能触发时机:普攻/登场/死亡/被攻/战始/战终/被动/暴击时/风怒时 | -| 流派 | 英雄归属流派,跨流派用 + 连接 | - ---- - -## 1. 护盾流 (7 英雄) - -核心:护盾保护、减伤、团队生存 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 石盾兵 | 1 | 无 | 7 | 30 | 普通(近战) | 0/0/0 | 1 | 【岩石护甲】获得 30% ATK 的护盾 | 普攻 | 护盾 | -| 铁壁卫士 | 1 | 无 | 5 | 35 | 普通(近战) | 0/0/0 | 1 | 【坚韧体质】治疗自身 10% 最大HP | 被攻 | 护盾 | -| 冰晶龟 | 1 | 冰 | 6 | 28 | 冰冻 | 0/15/0 | 1 | 【寒冰甲壳】为所有友方提供 15% 最大HP 护盾 | 战始 | 护盾+冰冻 | -| 银甲骑士 | 2 | 无 | 14 | 50 | 普通(近战) | 0/0/0 | 1 | 【守护之盾】为HP最低友方提供 20% ATK 护盾 | 普攻 | 护盾 | -| 磁场守卫 | 2 | 风 | 13 | 45 | 旋风 | 0/0/5 | 2 | 【磁力反弹】将受到伤害 40% 转化为自身护盾 | 被攻 | 护盾+受伤 | -| 圣盾将军 | 3 | 无 | 24 | 80 | 普通(近战) | 0/0/0 | 1 | 【神圣壁垒】全友方 25% HP 护盾;【圣盾反击】战终若护盾剩余,50%护盾值全体伤害 | 战始+战终 | 护盾 | -| 玄武大帝 | 3 | 冰 | 22 | 95 | 冰冻 | 0/20/0 | 1 | 【玄冰之壳】冰冻攻击者 1.5s + 获得等额伤害护盾 | 被攻 | 护盾+冰冻 | - ---- - -## 2. 暴击流 (7 英雄) - -核心:火系爆发、高暴击率、双倍伤害 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 火焰学徒 | 1 | 火 | 10 | 18 | 火球 | 15/0/0 | 1 | 【炎爆】造成 200% ATK 伤害(双倍) | 暴击时 | 暴击 | -| 烈焰弓手 | 1 | 火 | 9 | 16 | 火球 | 15/0/0 | 1 | 【穿透之焰】本次攻击穿刺 +1 | 暴击时 | 暴击+攻击 | -| 火山巨人 | 1 | 火 | 8 | 30 | 火球 | 12/0/0 | 1 | 【岩浆涌动】对攻击者造成 50% ATK 火焰伤害 | 被攻 | 暴击+受伤 | -| 炎龙骑士 | 2 | 火 | 18 | 40 | 火球 | 20/0/10 | 1 | 【龙息斩】15% 几率对目标及相邻敌人造成 150% ATK | 普攻 | 暴击 | -| 灼热术士 | 2 | 火 | 15 | 35 | 火球 | 18/0/0 | 1 | 【热力增幅】所有火系友方 +15% 暴击率 | 战始 | 暴击 | -| 火凤凰 | 3 | 火 | 28 | 65 | 火球 | 25/0/0 | 1 | 【涅槃】全体敌人 200% ATK 火焰 + 全友方治疗 20% HP;【浴火重生】死亡触发生效 2 次 | 死亡 | 暴击+死亡 | -| 炎魔领主 | 3 | 火 | 32 | 70 | 火球 | 25/0/0 | 1 | 【炼狱】战终全体 150% ATK 火焰;【统御之火】战始火系友方暴击额外 +30% ATK | 战终+战始 | 暴击 | - ---- - -## 3. 攻击流 (7 英雄) - -核心:高基础攻击、穿刺多目标、快速击杀 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 剑术学徒 | 1 | 无 | 12 | 15 | 普通(近战) | 0/0/0 | 1 | 【剑气】10% 几率造成 150% ATK 伤害 | 普攻 | 攻击 | -| 双刀武者 | 1 | 风 | 9 | 18 | 旋风 | 0/0/15 | 1 | 【双刀流】第二次攻击穿刺 +1 | 风怒时 | 攻击+风怒 | -| 狂战士 | 1 | 无 | 11 | 12 | 普通(近战) | 5/0/0 | 1 | 【血性狂暴】HP 低于 50% 时 ATK +50% | 被动 | 攻击+受伤 | -| 精锐剑客 | 2 | 无 | 20 | 38 | 普通(近战) | 5/0/0 | 2 | 【精准打击】暴击时穿刺 +1 | 普攻 | 攻击 | -| 暗影刺客 | 2 | 无 | 22 | 30 | 普通(近战) | 10/0/0 | 1 | 【暗杀】对随机敌人造成 200% ATK 伤害 | 登场 | 攻击+召唤 | -| 战争机器 | 2 | 无 | 18 | 45 | 普通(近战) | 0/0/0 | 3 | 【机关扫射】攻击CD +1秒,穿刺固定为 3 | 被动 | 攻击 | -| 灭世剑圣 | 3 | 风 | 30 | 60 | 旋风 | 5/0/20 | 2 | 【万剑归宗】第二次攻击暴击率 +20%;【剑圣之威】战始自身 ATK +30% | 风怒时+战始 | 攻击+风怒 | - ---- - -## 4. 受伤流 (7 英雄) - -核心:被攻击触发、越打越强、反伤 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 荆棘骑士 | 1 | 无 | 6 | 25 | 普通(近战) | 0/0/0 | 1 | 【荆棘反伤】反弹 50% ATK 伤害给攻击者 | 被攻 | 受伤 | -| 痛苦行者 | 1 | 无 | 8 | 22 | 普通(近战) | 0/0/0 | 1 | 【痛苦积累】永久 +2 ATK(可叠加) | 被攻 | 受伤 | -| 铁骨狂人 | 1 | 无 | 7 | 32 | 普通(近战) | 0/0/0 | 1 | 【铁骨再生】治疗自身 15% 最大HP | 被攻 | 受伤+护盾 | -| 复仇天使 | 2 | 火 | 14 | 42 | 火球 | 12/0/0 | 1 | 【怒火中烧】永久 +5% 暴击率(可叠加,上限 50%) | 被攻 | 受伤+暴击 | -| 血魔 | 2 | 无 | 16 | 40 | 普通(近战) | 0/0/0 | 1 | 【鲜血汲取】吸取攻击者 30% ATK 的HP;【嗜血】HP 低于 30% 时 ATK 翻倍 | 被攻+被动 | 受伤 | -| 风暴泰坦 | 3 | 风 | 25 | 85 | 旋风 | 0/0/10 | 2 | 【风暴共鸣】获得风怒效果(本回合额外攻击一次) | 被攻 | 受伤+风怒 | -| 不死战神 | 3 | 无 | 24 | 90 | 普通(近战) | 0/0/0 | 1 | 【不死之身】以 50% HP 复活(每场战斗限1次);【战意燃烧】被攻永久 +10% ATK | 死亡+被攻 | 受伤+死亡 | - ---- - -## 5. 风怒流 (8 英雄) - -核心:风系双击、连击、高速攻击 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 风行者 | 1 | 风 | 8 | 17 | 旋风 | 0/0/15 | 1 | 【疾风步】第二次攻击伤害 +25% | 风怒时 | 风怒 | -| 旋风剑士 | 1 | 风 | 9 | 20 | 旋风 | 0/0/10 | 2 | 【旋风斩】每次攻击至少命中 2 个目标 | 被动 | 风怒+攻击 | -| 雷鹰 | 1 | 风 | 10 | 14 | 旋风 | 0/0/20 | 1 | 【闪电俯冲】第二次攻击暴击率 +15% | 风怒时 | 风怒 | -| 疾风忍者 | 2 | 风 | 18 | 32 | 旋风 | 5/0/15 | 1 | 【影分身】额外攻击变为穿刺 2(命中额外目标) | 风怒时 | 风怒 | -| 狂风战士 | 2 | 风 | 16 | 45 | 旋风 | 0/0/12 | 2 | 【狂风之力】所有风系友方 +15% 风怒率 | 战始 | 风怒 | -| 风暴德鲁伊 | 2 | 风 | 14 | 38 | 旋风 | 0/0/10 | 1 | 【风之祝福】10% 几率为随机友方 +10% 风怒率 | 普攻 | 风怒 | -| 风暴领主 | 3 | 风 | 26 | 68 | 旋风 | 0/0/25 | 2 | 【风暴召唤】全体友方 +20% 风怒率;【雷霆万钧】第二次攻击穿刺 +1 | 战始+风怒时 | 风怒 | -| 飓风之王 | 3 | 风 | 28 | 72 | 旋风 | 0/0/30 | 3 | 【末日飓风】对所有敌人造成 100% ATK 风系伤害 | 战始 | 风怒+攻击 | - ---- - -## 6. 死亡流 (7 英雄) - -核心:死亡触发、牺牲收益、亡语链(每回合死亡都能触发) - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 幽灵 | 1 | 无 | 8 | 15 | 普通(魔法) | 0/0/0 | 1 | 【怨灵之触】对随机敌人造成 150% ATK 伤害 | 死亡 | 死亡 | -| 骷髅兵 | 1 | 无 | 6 | 18 | 普通(近战) | 0/0/0 | 1 | 【骨之馈赠】治疗HP最低友方 25% 最大HP | 死亡 | 死亡+护盾 | -| 亡灵法师 | 2 | 无 | 15 | 38 | 普通(魔法) | 0/0/0 | 1 | 【亡者之力】所有友方永久 +10% ATK | 死亡 | 死亡 | -| 灵魂收割者 | 2 | 无 | 17 | 35 | 普通(近战) | 0/0/0 | 1 | 【灵魂吞噬】自身永久 +50% ATK 和 +30% HP | 死亡 | 死亡 | -| 暗影祭司 | 2 | 无 | 13 | 42 | 普通(魔法) | 0/0/0 | 1 | 【暗影庇护】为所有友方提供 20% 最大HP 护盾 | 死亡 | 死亡+护盾 | -| 骨龙 | 3 | 无 | 26 | 75 | 普通(近战) | 0/0/0 | 2 | 【骨龙之怒】全体敌人 200% ATK 伤害 + 降低 20% ATK | 死亡 | 死亡+攻击 | -| 冥界领主 | 3 | 无 | 24 | 80 | 普通(魔法) | 0/0/0 | 1 | 【冥界之门】再次触发自身所有死亡技能;【亡灵统御】战始所有友方死亡触发 ×2 | 死亡+战始 | 死亡 | - ---- - -## 7. 召唤流 (7 英雄) - -核心:登场触发、入场爆发、即时收益 - -| 名称 | 等级 | 元素 | ATK | HP | 攻击类型 | 暴/冰/风 | 穿刺 | 技能 | 触发 | 流派 | -|------|------|------|-----|-----|---------|---------|------|------|------|------| -| 治愈精灵 | 1 | 无 | 5 | 22 | 普通(魔法) | 0/0/0 | 1 | 【生命之泉】治疗所有友方 20% 最大HP | 登场 | 召唤+护盾 | -| 战鼓手 | 1 | 无 | 7 | 20 | 普通(近战) | 0/0/0 | 1 | 【战鼓激昂】所有友方 +20% ATK,持续本场战斗 | 登场 | 召唤+攻击 | -| 幻影射手 | 1 | 风 | 9 | 16 | 旋风 | 0/0/5 | 1 | 【幻影射击】对随机 2 个敌人各造成 120% ATK 伤害 | 登场 | 召唤+攻击 | -| 冰霜女巫 | 2 | 冰 | 16 | 38 | 冰冻 | 0/15/0 | 1 | 【冰霜降临】冰冻所有敌人 2 秒(暂停攻击CD) | 登场 | 召唤+冰冻 | -| 大召唤师 | 2 | 无 | 14 | 40 | 普通(魔法) | 0/0/0 | 1 | 【召唤精通】所有友方登场触发技能触发 2 次 | 被动 | 召唤 | -| 元素使者 | 3 | 无 | 22 | 60 | 普通(魔法) | 5/5/5 | 1 | 【万象归一】全友方 +15% ATK、+15% HP、+10% 暴击率、+10% 风怒率 | 登场 | 召唤 | -| 天使长 | 3 | 无 | 20 | 75 | 普通(魔法) | 0/0/0 | 1 | 【神圣降临】全友方护盾 20% HP + 治疗 15% HP;【天使庇护】战始全友方 +10% 暴击/风怒;**【神圣恢复】被动 — 战斗结束时全队恢复效果 +30%(50%→80%)** | 登场+战始+被动 | 召唤+护盾 | - ---- - -## 跨流派配合矩阵 - -| 英雄 | 流派1 | 流派2 | 配合价值 | -|------|-------|-------|---------| -| 冰晶龟 | 护盾 | 冰冻 | 护盾流兼得冰冻控制 | -| 烈焰弓手 | 暴击 | 攻击 | 暴击流增加穿刺能力 | -| 火山巨人 | 暴击 | 受伤 | 被打也能输出 | -| 双刀武者 | 攻击 | 风怒 | 攻击流增加连击 | -| 狂战士 | 攻击 | 受伤 | 低血量爆发 | -| 暗影刺客 | 攻击 | 召唤 | 入场即造成伤害 | -| 磁场守卫 | 护盾 | 受伤 | 被打转化为护盾 | -| 复仇天使 | 受伤 | 暴击 | 被打增加暴击 | -| 风暴泰坦 | 受伤 | 风怒 | 被打触发连击 | -| 不死战神 | 受伤 | 死亡 | 死亡后还能复活 | -| 旋风剑士 | 风怒 | 攻击 | 连击+多目标 | -| 飓风之王 | 风怒 | 攻击 | 开局AOE+连击 | -| 火凤凰 | 暴击 | 死亡 | 死亡触发全屏火焰 | -| 骷髅兵 | 死亡 | 护盾 | 死亡给队友回血 | -| 暗影祭司 | 死亡 | 护盾 | 死亡给队友护盾 | -| 治愈精灵 | 召唤 | 护盾 | 入场全队治疗 | -| 战鼓手 | 召唤 | 攻击 | 入场全队加攻 | -| 幻影射手 | 召唤 | 攻击 | 入场即攻击 | -| 冰霜女巫 | 召唤 | 冰冻 | 入场冰冻全体敌人 | -| 灭世剑圣 | 攻击 | 风怒 | 高攻+连击+多目标 | -| 铁骨狂人 | 受伤 | 护盾 | 被打自回血 | - ---- - -## 平衡注意事项 - -### 需要重点测试的组合 - -1. **冥界领主 + 亡灵法师 + 灵魂收割者** — 死亡流核心三角,每回合送死触发亡语链叠加可能过强 -2. **大召唤师 + 天使长** — 登场触发 2 次 + 全队 buff,叠加可能过强 -3. **复仇天使 + 灼热术士** — 被打加暴击 + 全队加暴击,暴击率可能溢出 -4. **狂战士 + 血魔** — 低血量双倍攻击 + 吸血,可能无限续航 -5. **不死战神 + 冥界领主** — 死亡触发 + 复活 + 亡语链再触发 - -### 需要监控的数值 - -- 暴击率上限(建议封顶 80%) -- 风怒率上限(建议封顶 75%) -- 叠加类 buff 的叠加上限 -- 死亡触发链的最大触发次数 - ---- - -*下一步:通过原型测试验证核心英雄的数值平衡,然后进入 /map-systems 分解系统设计* diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index fbe6bac0..7103eacc 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -214,7 +214,6 @@ export interface HeroEvolve { * * 触发节奏:atked 3次/5次,atking 5次/7次,fstart/fend 1次/波 * - * 设定中的英雄都是1级,最高可以升级到3级(不在列表内提现,升级在游戏内进行) * skills[0]是普通攻击技能 */ @@ -224,7 +223,21 @@ export const HeroInfo: Record = { uuid: 5011, name: "小铁卫", path: "hk1", fac: FacSet.HERO, pool_lv: 1, lv: 1, type: HType.Melee, hp: 300, ap: 28, skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } }, atked: [{ s_uuid: 6301, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } }], - info: "每受击3次为自身添加4层护盾" + // 成长主线:护盾层数 4→5→6(等效减伤 57%→67%),6 级追加治疗形成“盾挡+回血”双循环 + // 注意:evolve.atked 为整体替换且逐级顺序应用,高级别需写完整数组 + evolve: { + 2: { atked: [{ s_uuid: 6301, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } }] }, + 3: { hp_bonus: 150 }, + 4: { atked: [{ s_uuid: 6301, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 6 } }] }, + 5: { hp_bonus: 150, ap_bonus: 10 }, + 6: { + atked: [ + { s_uuid: 6301, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 6 } }, + { s_uuid: 6302, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 250 } }, + ] + }, + }, + info: "每受击3次为自身添加护盾(层数随等级4→5→6);6级起每受击5次回复攻击力250%生命" }, // 以下英雄暂时注释,保留待后续扩展 // 5012:{uuid:5012,name:"不死小强",path:"hk2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Melee,hp:600,ap:57, @@ -257,9 +270,23 @@ export const HeroInfo: Record = { // ========== atking 类 — 刺客(自身强化) ========== 5021: { uuid: 5021, name: "小刺客", path: "hc1", fac: FacSet.HERO, pool_lv: 1, lv: 1, type: HType.Melee, hp: 300, ap: 28, - skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0, overrides: { bck: 20 } } }, + skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } }, atking: [{ s_uuid: 6401, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 8 } }], - info: "每攻击5次永久提升自身攻击力8点" + // 成长主线:滚雪球(AP增量8→10→12,5级阈值5→4刀);6级追加暴伤强化(永久叠加无100%上限,与高AP叠乘) + // 注意:evolve.atking 为整体替换且逐级顺序应用,高级别需写完整数组 + evolve: { + 2: { atking: [{ s_uuid: 6401, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 10 } }] }, + 3: { ap_bonus: 20, hp_bonus: 80 }, + 4: { atking: [{ s_uuid: 6401, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 12 } }] }, + 5: { atking: [{ s_uuid: 6401, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 12 } }] }, + 6: { + atking: [ + { s_uuid: 6401, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 12 } }, + { s_uuid: 6404, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 20 } }, + ] + }, + }, + info: "每攻击5次永久提升自身攻击力(8→10→12,5级起每4次);6级起每攻击7次永久+20%暴击伤害" }, // 5022: { // uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85, diff --git a/assets/script/game/common/config/heros.csv b/assets/script/game/common/config/heros.csv deleted file mode 100644 index 73cec6cb..00000000 --- a/assets/script/game/common/config/heros.csv +++ /dev/null @@ -1,29 +0,0 @@ -uuid,name,path,fac,cards_lv,lv,type,hp,ap,speed,atking,skills,info,atked,revive -5001,hero_name_5001,hk1,0,1,1,0,150,25,800,6301:2,6001=6001:1:1.5:0,hero_info_5001,, -5002,hero_name_5002,hk3,0,3,1,0,150,75,800,,6001=6001:1:1.5:0,hero_info_5002,6301:2, -5003,hero_name_5003,hk4,0,2,1,0,100,100,800,,6001=6001:1:1.5:0,hero_info_5003,, -5004,hero_name_5004,hc1,0,4,1,0,100,200,800,,6001=6001:1:0.7:0,hero_info_5004,, -5005,hero_name_5005,hk2,0,4,1,0,100,200,800,,6001=6001:1:1.5:0,hero_info_5005,, -5101,hero_name_5101,hm2,0,1,1,2,50,60,800,,6201=6007:1:1:0,hero_info_5101,,6501:1:0.5 -5102,hero_name_5102,hm1,0,2,1,2,30,120,800,,6203=6002:1:1:0,hero_info_5102,, -5103,hero_name_5103,hm9,0,3,1,2,45,180,800,,6201=6002:1:1:0,hero_info_5103,, -5104,hero_name_5104,hm4,0,4,1,2,60,240,800,,6201=66002201:1:1:0,hero_info_5104,, -5105,hero_name_5105,hm3,0,5,1,2,75,300,800,,6203=6002:1:1:0,hero_info_5105,, -5201,hero_name_5201,ha1,0,1,1,2,15,60,800,,6101=6005:1:0.9:0,hero_info_5201,, -5202,hero_name_5202,ha2,0,3,1,2,45,180,800,,6011=6005:1:0.9:0,hero_info_5202,, -5203,hero_name_5203,ha3,0,3,1,2,45,180,800,,6011=6005:1:0.9:0,hero_info_5203,, -5301,hero_name_5301,hh1,0,1,1,2,15,20,800,6302:2,6202=6004:1:1.2:0,hero_info_5301,, -5302,hero_name_5302,hz1,0,2,1,2,30,40,800,6304:2,6202=6004:1:1.2:0,hero_info_5302,, -5303,hero_name_5303,hm6,0,4,1,2,60,80,800,,6202=6004:1:1.2:0,hero_info_5303,, -5304,hero_name_5304,hm7,0,6,1,2,90,120,800,,6202=6004:1:1.2:0,hero_info_5304,, -6001,mon_name_6001,mo1,1,1,1,0,120,12,800,,6001=6001:1:0.65:0,,, -6002,mon_name_6002,mo3,1,1,1,0,120,12,800,,6001=6001:1:0.65:0|6004=6004:1:10:0,,, -6003,mon_name_6003,mo4,1,1,1,0,350,30,800,,6001=6001:1:2:0,,, -6004,mon_name_6004,mo2,1,1,1,2,80,45,800,,6001=6101:1:1.5:0,,, -6005,mon_name_6005,mo5,1,1,1,2,80,20,800,,6001=6203:1:1.5:0,,, -6006,mon_name_6006,mo6,1,1,1,0,1500,20,800,,6002=6002:1:2:0|6004=6004:1:10:0,,, -6101,mon_name_6101,mud1,1,1,1,0,120,12,800,,6001=6001:1:0.65:0,,, -6102,mon_name_6102,mud2,1,1,1,2,80,45,800,,6001=6101:1:1.5:0,,, -6103,mon_name_6103,mud3,1,1,1,0,120,12,800,,6001=6001:1:0.65:0,,, -6104,mon_name_6104,mud4,1,1,1,2,350,30,800,,6204=6204:1:2:0|6206=6206:1:10:0,,, -6105,mon_name_6105,mud5,1,1,1,0,1500,20,800,,6002=6002:1:2:0|6005=6005:1:10:0,,, diff --git a/assets/script/game/common/config/heros.md b/assets/script/game/common/config/heros.md deleted file mode 100644 index a55b1578..00000000 --- a/assets/script/game/common/config/heros.md +++ /dev/null @@ -1,697 +0,0 @@ -# 英雄设计 v4(触发类型底座版) - -> 按触发类型分组,每个英雄专注一件事,流派协同由玩家自行发现。 - -## 设计原则 - -- 每个英雄专注单一效果,或最多两个同类效果 -- atked 触发节奏统一:**3次触发** / **5次触发**(强力版) -- 效果目标:atked 类全部作用于**自身** -- 流派不预设,玩家自行组合发现协同 - -## 职业触发规则 - -| 职业 | 主触发1 | 主触发2 | -|------|---------|---------| -| **战士** | atked(受击) | dead(死亡) | -| **刺客** | atking(攻击) | dead(死亡) | -| **辅助** | atking(攻击) | revive(复活) | -| **射手** | atking(攻击) | fstart(战前) | -| **法师** | atking(攻击) | field(驻场) | - -## 技能 ID 速查 - -| 范围 | 用途 | -|------|------| -| 6001-6010 | 普攻弹道(近战6001,远程6002-6010) | -| 6101-6104 | 大招弹道(大火球6101,大紫球6102,大白球6103,大水球/穿云箭6104) | -| 6201-6206 | 技能卡AOE(雷墙/火墙/飓风/水墙/风墙/陨石) | -| 6301 | 护盾 | -| 6302 | 治疗 | -| 6303 | 获取金币 | -| 6401 | 攻击强化(buff_type: ap) | -| 6402 | 生命强化(buff_type: hp_max) | -| 6403 | 暴击强化(buff_type: critical) | -| 6404 | 暴伤强化(buff_type: critical_damage) | -| 6405 | 击晕强化(buff_type: stun_chance) | -| 6406 | 暂未使用 | -| 6407 | 暂未使用 | -| 6408 | 穿刺强化(buff_type: puncture_chance) | -| 6409 | 风怒强化(buff_type: wfuny) | -| 6501 | 复活 | - ---- - -## 一、atked 类英雄(战士 · 自身强化) - -> 受击触发,效果全部作用于自身。越挨打越强,是整个阵容的承伤底座。 -> -> **触发节奏**:每3次受击 / 每5次受击(强力版) -> -> **废弃属性**:frz(冰冻)、bck(击退)在此版本中无效,不再使用。 - ---- - -### [5011] 小铁卫 — pool 1 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 400 / AP 20 / CD 2.0 -- **触发**:atked 每 **3** 次 → `6301` 自身护盾 **4层** - -``` -5011:{uuid:5011, name:"小铁卫", path:"hk1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Melee, - hp:400, ap:20, - skills:{6001:{uuid:6001, lv:1, cd:2.0, ccd:0}}, - atked:[{s_uuid:6301, t_num:3, overrides:{TGroup:TGroup.Self, ap:4}}], - info:"每受击3次为自身添加4层护盾"} -``` - -**一句话**:每挨两下就多一层甲,打不死的理由是"你还没打够" - ---- - -### [5012] 不死小强 — pool 2 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 350 / AP 25 / CD 1.8 -- **触发**:atked 每 **3** 次 → `6302` 自身治疗(AP × **250%**) - -``` -5012:{uuid:5012, name:"不死小强", path:"hk2", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Melee, - hp:350, ap:25, - skills:{6001:{uuid:6001, lv:1, cd:1.8, ccd:0}}, - atked:[{s_uuid:6302, t_num:3, overrides:{TGroup:TGroup.Self, ap:250}}], - info:"每受击3次为自身回复攻击力250%的生命值"} -``` - -**一句话**:每挨三刀就回一口血,伤害只是他的燃料 - ---- - -### [5013] 铁骨头 — pool 2 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 300 / AP 20 / CD 2.0 -- **触发**:atked 每 **5** 次 → `6402` 自身 HP上限 **+100**(永久) - -``` -5013:{uuid:5013, name:"铁骨头", path:"hk3", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Melee, - hp:300, ap:20, - skills:{6001:{uuid:6001, lv:1, cd:2.0, ccd:0}}, - atked:[{s_uuid:6402, t_num:5, overrides:{TGroup:TGroup.Self, ap:100}}], - info:"每受击5次永久提升自身最大生命值100点"} -``` - -**一句话**:第一波他最薄,最后一波他最厚 - ---- - -### [5014] 怒火武者 — pool 3 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 320 / AP 30 / CD 1.5 -- **触发**:atked 每 **3** 次 → `6401` 自身 AP **+12**(永久) - -``` -5014:{uuid:5014, name:"怒火武者", path:"hk4", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Melee, - hp:320, ap:30, - skills:{6001:{uuid:6001, lv:1, cd:1.5, ccd:0}}, - atked:[{s_uuid:6401, t_num:3, overrides:{TGroup:TGroup.Self, ap:12}}], - info:"每受击3次永久提升自身攻击力12点"} -``` - -**一句话**:伤害不会打倒他,只会让他打得更重 - ---- - -### [5015] 血刃武者 — pool 4 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 450 / AP 35 / CD 2.0 -- **触发**: - - atked 每 **3** 次 → `6301` 自身护盾 **3层** - - atked 每 **5** 次 → `6401` 自身 AP **+15**(永久) - -``` -5015:{uuid:5015, name:"血刃武者", path:"hk5", fac:FacSet.HERO, pool_lv:4, lv:1, type:HType.Melee, - hp:450, ap:35, - skills:{6001:{uuid:6001, lv:1, cd:2.0, ccd:0}}, - atked:[ - {s_uuid:6301, t_num:3, overrides:{TGroup:TGroup.Self, ap:3}}, - {s_uuid:6401, t_num:5, overrides:{TGroup:TGroup.Self, ap:15}} - ], - info:"每受击3次加3层护盾,每受击5次永久+15攻击力"} -``` - -**一句话**:护盾让他活着,活着让他越来越强 - ---- - -### [5016] 狂血战士 — pool 5 - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 380 / AP 45 / CD 1.8 -- **触发**: - - atked 每 **3** 次 → `6401` 自身 AP **+10**(永久) - - atked 每 **5** 次 → `6403` 自身暴击率 **+15%**(永久) - -``` -5016:{uuid:5016, name:"狂血战士", path:"hc1", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Melee, - hp:380, ap:45, - skills:{6001:{uuid:6001, lv:1, cd:1.8, ccd:0}}, - atked:[ - {s_uuid:6401, t_num:3, overrides:{TGroup:TGroup.Self, ap:10}}, - {s_uuid:6403, t_num:5, overrides:{TGroup:TGroup.Self, ap:15}} - ], - info:"每受击3次永久+10攻击力,每受击5次永久+15%暴击率"} -``` - -**一句话**:怪物越多他越亢奋,最后变成一个会暴击的移动炮台 - ---- - -## 二、atking 类英雄(刺客 · 自身强化 / 射手 · 队友强化) - -> **触发节奏**:每5次攻击触发 / 每7次攻击触发(强力版) -> -> **刺客**:atking → 自身属性永久叠加,越打越强 -> -> **射手**:atking → 队友属性永久叠加,目标数量随档位提升(1人 → 3人 → 6人,由 hit_count 控制) - ---- - -### 刺客(自身强化,近战) - ---- - -#### [5021] 小刺客 — pool 1 - -- **职业**:刺客(近战) -- **HP / AP / CD**:HP 200 / AP 40 / CD 0.5 -- **触发**:atking 每 **5** 次 → `6401` 自身 AP **+8**(永久) - -``` -5021:{uuid:5021, name:"小刺客", path:"hc1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Melee, - hp:200, ap:40, - skills:{6001:{uuid:6001, lv:1, cd:0.5, ccd:0}}, - atking:[{s_uuid:6401, t_num:5, overrides:{TGroup:TGroup.Self, ap:8}}], - info:"每攻击5次永久提升自身攻击力8点"} -``` - -**一句话**:越打越快,越快越痛 - ---- - -#### [5022] 嗜血剑客 — pool 3 - -- **职业**:刺客(近战) -- **HP / AP / CD**:HP 240 / AP 60 / CD 0.5 -- **触发**: - - atking 每 **5** 次 → `6403` 自身暴击率 **+10%**(永久) - - atking 每 **7** 次 → `6401` 自身 AP **+12**(永久) - -``` -5022:{uuid:5022, name:"嗜血剑客", path:"hc2", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Melee, - hp:240, ap:60, - skills:{6001:{uuid:6001, lv:1, cd:0.5, ccd:0}}, - atking:[ - {s_uuid:6403, t_num:5, overrides:{TGroup:TGroup.Self, ap:10}}, - {s_uuid:6401, t_num:7, overrides:{TGroup:TGroup.Self, ap:12}} - ], - info:"每攻击5次永久+10%暴击率,每攻击7次永久+12攻击力"} -``` - -**一句话**:每一刀都在磨刃,越到后期越难挡 - ---- - -#### [5023] 暗影杀手 — pool 5 - -- **职业**:刺客(近战) -- **HP / AP / CD**:HP 280 / AP 85 / CD 0.4 -- **触发**: - - atking 每 **5** 次 → `6403` 自身暴击率 **+10%**(永久) - - atking 每 **7** 次 → `6404` 自身暴伤 **+15%**(永久) - -``` -5023:{uuid:5023, name:"暗影杀手", path:"hc3", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Melee, - hp:280, ap:85, - skills:{6001:{uuid:6001, lv:1, cd:0.4, ccd:0}}, - atking:[ - {s_uuid:6403, t_num:5, overrides:{TGroup:TGroup.Self, ap:10}}, - {s_uuid:6404, t_num:7, overrides:{TGroup:TGroup.Self, ap:15}} - ], - info:"每攻击5次永久+10%暴击率,每攻击7次永久+15%暴伤"} -``` - -**一句话**:暴击越来越频,每次暴击越来越夸张 - ---- - -### 射手(队友强化,远程) - -目标数量随 pool 提升:**1人 → 3人 → 6人**(`hit_count` 控制) - ---- - -#### [5031] 援护弓手 — pool 1 - -- **职业**:射手(远程) -- **HP / AP / CD**:HP 160 / AP 45 / CD 0.9 -- **触发**:atking 每 **5** 次 → `6401` 随机 **1** 名队友 AP **+8**(永久) - -``` -5031:{uuid:5031, name:"援护弓手", path:"ha1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Long, - hp:160, ap:45, - skills:{6008:{uuid:6008, lv:1, cd:0.9, ccd:0}}, - atking:[{s_uuid:6401, t_num:5, overrides:{TGroup:TGroup.Team, hit_count:1, ap:8}}], - info:"每攻击5次为随机1名队友永久提升攻击力8点"} -``` - -**一句话**:每一箭都是为战友磨的刃 - ---- - -#### [5032] 战术弓手 — pool 3 - -- **职业**:射手(远程) -- **HP / AP / CD**:HP 190 / AP 60 / CD 0.8 -- **触发**:atking 每 **5** 次 → `6403` 随机 **3** 名队友暴击率 **+10%**(永久) - -``` -5032:{uuid:5032, name:"战术弓手", path:"ha2", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Long, - hp:190, ap:60, - skills:{6009:{uuid:6009, lv:1, cd:0.8, ccd:0}}, - atking:[{s_uuid:6403, t_num:5, overrides:{TGroup:TGroup.Team, hit_count:3, ap:10}}], - info:"每攻击5次为随机3名队友永久提升暴击率10%"} -``` - -**一句话**:她的箭带节奏,让三个人同时进入暴击状态 - ---- - -#### [5033] 鹰眼弓将 — pool 5 - -- **职业**:射手(远程) -- **HP / AP / CD**:HP 220 / AP 75 / CD 0.7 -- **触发**: - - atking 每 **5** 次 → `6401` 随机 **6** 名队友 AP **+8**(永久) - - atking 每 **7** 次 → `6404` 随机 **6** 名队友暴伤 **+12%**(永久) - -``` -5033:{uuid:5033, name:"鹰眼弓将", path:"ha3", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Long, - hp:220, ap:75, - skills:{6010:{uuid:6010, lv:1, cd:0.7, ccd:0}}, - atking:[ - {s_uuid:6401, t_num:5, overrides:{TGroup:TGroup.Team, hit_count:6, ap:8}}, - {s_uuid:6404, t_num:7, overrides:{TGroup:TGroup.Team, hit_count:6, ap:12}} - ], - info:"每攻击5次为随机6名队友永久+8攻击力,每攻击7次永久+12%暴伤"} -``` - -**一句话**:她一个人在射箭,全队的伤害数字都在涨 - ---- - -## 三、dead 类英雄(战士 · 刺客 · 死亡遗产) - -> 死亡触发,效果全部作用于**全队**,一次性遗产,数值厚重。 -> -> **战士**:HP 高、死得慢,部分带复活参数,死后复活再战。 -> -> **刺客**:HP 低、死得快,遗产效果偏爆发向(暴击/暴伤/击晕)。 - ---- - -#### [5041] 殉道卫士 — pool 1(战士) - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 300 / AP 25 / CD 1.8 -- **触发**:dead → `6301` 全队护盾 **3层** - -``` -5041:{uuid:5041, name:"殉道卫士", path:"hk1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Melee, - hp:300, ap:25, - skills:{6001:{uuid:6001, lv:1, cd:1.8, ccd:0}}, - dead:[{s_uuid:6301, t_num:1, overrides:{TGroup:TGroup.Team, ap:3}}], - info:"死亡时为全队添加3层护盾"} -``` - -**一句话**:他倒下的那一刻,才是全队最安全的时刻 - ---- - -#### [5042] 遗志将军 — pool 2(战士) - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 350 / AP 30 / CD 2.0 -- **触发**: - - dead → `6401` 全队 AP **+20**(永久) - - dead → `6402` 全队 HP上限 **+80**(永久) -- **复活**:死亡触发遗产后复活1次,恢复 **30%** HP - -``` -5042:{uuid:5042, name:"遗志将军", path:"hk2", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Melee, - hp:350, ap:30, - skills:{6001:{uuid:6001, lv:1, cd:2.0, ccd:0}}, - dead:[ - {s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}}, - {s_uuid:6402, t_num:1, overrides:{TGroup:TGroup.Team, ap:80}} - ], - revive:{s_uuid:6501, r_num:1, upr:0.3}, - info:"死亡时全队永久+20攻击力、+80最大生命值,死后复活一次"} -``` - -**一句话**:他的死是一份礼物,然后他爬起来继续战斗 - ---- - -#### [5043] 亡魂刺客 — pool 3(刺客) - -- **职业**:刺客(近战) -- **HP / AP / CD**:HP 220 / AP 50 / CD 0.8 -- **触发**:dead → `6405` 全队击晕概率 **+15%**(永久) - -``` -5043:{uuid:5043, name:"亡魂刺客", path:"hc1", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Melee, - hp:220, ap:50, - skills:{6001:{uuid:6001, lv:1, cd:0.8, ccd:0}}, - dead:[{s_uuid:6405, t_num:1, overrides:{TGroup:TGroup.Team, ap:15}}], - info:"死亡时全队永久提升击晕概率15%"} -``` - -**一句话**:他用命换来的,是让怪物永远闭嘴的诅咒 - ---- - -#### [5044] 血誓剑客 — pool 4(刺客) - -- **职业**:刺客(近战) -- **HP / AP / CD**:HP 250 / AP 65 / CD 0.7 -- **触发**: - - dead → `6403` 全队暴击率 **+15%**(永久) - - dead → `6404` 全队暴伤 **+20%**(永久) - -``` -5044:{uuid:5044, name:"血誓剑客", path:"hc2", fac:FacSet.HERO, pool_lv:4, lv:1, type:HType.Melee, - hp:250, ap:65, - skills:{6001:{uuid:6001, lv:1, cd:0.7, ccd:0}}, - dead:[ - {s_uuid:6403, t_num:1, overrides:{TGroup:TGroup.Team, ap:15}}, - {s_uuid:6404, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}} - ], - info:"死亡时全队永久+15%暴击率、+20%暴伤"} -``` - -**一句话**:他倒下的瞬间,全队每一刀都变成了他的复仇 - ---- - -#### [5045] 不灭战魂 — pool 5(战士) - -- **职业**:战士(近战) -- **HP / AP / CD**:HP 420 / AP 40 / CD 2.0 -- **触发**: - - dead → `6301` 全队护盾 **5层** - - dead → `6401` 全队 AP **+30**(永久) - - dead → `6402` 全队 HP上限 **+120**(永久) -- **复活**:死亡触发遗产后复活1次,恢复 **50%** HP - -``` -5045:{uuid:5045, name:"不灭战魂", path:"hk3", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Melee, - hp:420, ap:40, - skills:{6001:{uuid:6001, lv:1, cd:2.0, ccd:0}}, - dead:[ - {s_uuid:6301, t_num:1, overrides:{TGroup:TGroup.Team, ap:5}}, - {s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:30}}, - {s_uuid:6402, t_num:1, overrides:{TGroup:TGroup.Team, ap:120}} - ], - revive:{s_uuid:6501, r_num:1, upr:0.5}, - info:"死亡时全队获得5层护盾、永久+30攻击力、永久+120最大生命值,死后复活一次"} -``` - -**一句话**:死一次给全队留下最厚的遗产,然后爬起来再死一次 - ---- - -## 四、fstart 类英雄(法师 · 战前增益) - -> 战斗开始前触发一次,效果必然生效,作用于**全队**。 -> -> 触发次数恒为1,数值厚重,适合奠定全局基础。 - ---- - -#### [5051] 占卜师 — pool 1 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 140 / AP 35 / CD 1.3 -- **触发**:fstart → `6401` 全队 AP **+15** - -``` -5051:{uuid:5051, name:"占卜师", path:"hm1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Long, - hp:140, ap:35, - skills:{6003:{uuid:6003, lv:1, cd:1.3, ccd:0}}, - fstart:[{s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:15}}], - info:"战斗开始时为全队永久提升攻击力15点"} -``` - -**一句话**:战斗还没开始,她就已经把胜利算好了 - ---- - -#### [5052] 护盾牧师 — pool 2 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 150 / AP 40 / CD 1.5 -- **触发**:fstart → `6301` 全队护盾 **2层** - -``` -5052:{uuid:5052, name:"护盾牧师", path:"hm2", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Long, - hp:150, ap:40, - skills:{6004:{uuid:6004, lv:1, cd:1.5, ccd:0}}, - fstart:[{s_uuid:6301, t_num:1, overrides:{TGroup:TGroup.Team, ap:2}}], - info:"战斗开始时为全队添加2层护盾"} -``` - -**一句话**:她的第一个咒语,让全队带着盾进场 - ---- - -#### [5053] 血盟法师 — pool 2 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 160 / AP 45 / CD 1.2 -- **触发**:fstart → `6402` 全队 HP上限 **+100** - -``` -5053:{uuid:5053, name:"血盟法师", path:"hm3", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Long, - hp:160, ap:45, - skills:{6002:{uuid:6002, lv:1, cd:1.2, ccd:0}}, - fstart:[{s_uuid:6402, t_num:1, overrides:{TGroup:TGroup.Team, ap:100}}], - info:"战斗开始时为全队永久提升最大生命值100点"} -``` - -**一句话**:开战前她用魔法把每个人的血管都撑大了一圈 - ---- - -#### [5054] 暴击法师 — pool 3 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 170 / AP 55 / CD 1.3 -- **触发**:fstart → `6403` 全队暴击率 **+20%** - -``` -5054:{uuid:5054, name:"暴击法师", path:"hm4", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Long, - hp:170, ap:55, - skills:{6003:{uuid:6003, lv:1, cd:1.3, ccd:0}}, - fstart:[{s_uuid:6403, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}}], - info:"战斗开始时为全队永久提升暴击率20%"} -``` - -**一句话**:她开战前的一道星光,让所有人的手感变准了 - ---- - -#### [5055] 毁灭法师 — pool 4 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 185 / AP 65 / CD 1.1 -- **触发**: - - fstart → `6404` 全队暴伤 **+25%** - - fstart → `6401` 全队 AP **+20** - -``` -5055:{uuid:5055, name:"毁灭法师", path:"hm5", fac:FacSet.HERO, pool_lv:4, lv:1, type:HType.Long, - hp:185, ap:65, - skills:{6004:{uuid:6004, lv:1, cd:1.1, ccd:0}}, - fstart:[ - {s_uuid:6404, t_num:1, overrides:{TGroup:TGroup.Team, ap:25}}, - {s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}} - ], - info:"战斗开始时为全队永久+25%暴伤、+20攻击力"} -``` - -**一句话**:她预言了战局,也预言了每一刀有多痛 - ---- - -#### [5056] 预言法师 — pool 5 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 200 / AP 70 / CD 1.0 -- **触发**: - - fstart → `6405` 全队击晕概率 **+20%** - - fstart → `6403` 全队暴击率 **+15%** - - fstart → `6404` 全队暴伤 **+20%** - -``` -5056:{uuid:5056, name:"预言法师", path:"hm6", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Long, - hp:200, ap:70, - skills:{6002:{uuid:6002, lv:1, cd:1.0, ccd:0}}, - fstart:[ - {s_uuid:6405, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}}, - {s_uuid:6403, t_num:1, overrides:{TGroup:TGroup.Team, ap:15}}, - {s_uuid:6404, t_num:1, overrides:{TGroup:TGroup.Team, ap:20}} - ], - info:"战斗开始时为全队永久+20%击晕概率、+15%暴击率、+20%暴伤"} -``` - -**一句话**:三道预言同时生效,战斗在开始时就已经结束了 - ---- - -## 五、field 类英雄(法师 · 驻场光环) - -> 英雄存活期间持续提供全队被动光环,死亡后光环立即消失。 -> "保护法师"玩法:保住这个英雄就是保住全队增益。 - ---- - -#### [5061] 亡语法师 — pool 3 - -- **职业**:法师(远程) -- **HP / AP / CD**:HP 160 / AP 50 / CD 1.2 -- **驻场**:field:[7015] — 存活期间全队死亡触发次数 **+1** - -``` -5061:{uuid:5061, name:"亡语法师", path:"hm1", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Long, - hp:160, ap:50, - skills:{6003:{uuid:6003, lv:1, cd:1.2, ccd:0}}, - field:[7015], - info:"驻场期间全队死亡触发技能次数+1,死亡后光环消失"} -``` - -**一句话**:她活着的每一秒,队友的死亡都会留下双份遗产 - ---- - -## 六、fend + atking 类英雄(辅助 · 战斗治疗 + 波次增益) - -> **atking**:攻击时触发治疗,战斗中持续奶全队。 -> -> **fend**:每波结束触发,提供跨波次累积增益(金币 / 属性 / 血量)。 -> -> 触发节奏:atking 每 **5** 次;fend 每波 **1** 次(t_num:1)。 - ---- - -#### [5071] 治愈牧师 — pool 1 - -- **职业**:辅助(远程) -- **HP / AP / CD**:HP 130 / AP 40 / CD 1.0 -- **触发**:atking 每 **5** 次 → `6302` 全队治疗 AP×**200%** - -``` -5071:{uuid:5071, name:"治愈牧师", path:"hh1", fac:FacSet.HERO, pool_lv:1, lv:1, type:HType.Long, - hp:130, ap:40, - skills:{6004:{uuid:6004, lv:1, cd:1.0, ccd:0}}, - atking:[{s_uuid:6302, t_num:5, overrides:{TGroup:TGroup.Team, ap:200}}], - info:"每攻击5次治疗全队200%AP"} -``` - -**一句话**:战场上最稳定的奶源,五刀一奶从不失误 - ---- - -#### [5072] 小金库 — pool 2 - -- **职业**:辅助(远程) -- **HP / AP / CD**:HP 140 / AP 35 / CD 1.1 -- **触发**:atking 每 **5** 次 → `6302` 全队治疗 AP×**200%** -- **波后**:fend → `6303` 获取金币 **+1** - -``` -5072:{uuid:5072, name:"小金库", path:"hh2", fac:FacSet.HERO, pool_lv:2, lv:1, type:HType.Long, - hp:140, ap:35, - skills:{6004:{uuid:6004, lv:1, cd:1.1, ccd:0}}, - atking:[{s_uuid:6302, t_num:5, overrides:{TGroup:TGroup.Team, ap:200}}], - fend:[{s_uuid:6303, t_num:1, overrides:{gold:1}}], - info:"每攻击5次治疗全队,每波结束获得1金币"} -``` - -**一句话**:边治疗边攒钱,细水长流 - ---- - -#### [5073] 强化牧师 — pool 3 - -- **职业**:辅助(远程) -- **HP / AP / CD**:HP 150 / AP 45 / CD 1.0 -- **触发**:atking 每 **5** 次 → `6302` 全队治疗 AP×**250%** -- **波后**:fend → `6401` 全队 AP **+10**(永久) - -``` -5073:{uuid:5073, name:"强化牧师", path:"hh3", fac:FacSet.HERO, pool_lv:3, lv:1, type:HType.Long, - hp:150, ap:45, - skills:{6004:{uuid:6004, lv:1, cd:1.0, ccd:0}}, - atking:[{s_uuid:6302, t_num:5, overrides:{TGroup:TGroup.Team, ap:250}}], - fend:[{s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:10}}], - info:"每攻击5次治疗全队,每波结束全队永久+10攻击力"} -``` - -**一句话**:每撑过一波,全队就变强一次 - ---- - -#### [5074] 生命牧师 — pool 4 - -- **职业**:辅助(远程) -- **HP / AP / CD**:HP 160 / AP 50 / CD 1.0 -- **触发**:atking 每 **5** 次 → `6302` 全队治疗 AP×**250%** -- **波后**:fend → `6402` 全队 HP上限 **+80**(永久) - -``` -5074:{uuid:5074, name:"生命牧师", path:"hh4", fac:FacSet.HERO, pool_lv:4, lv:1, type:HType.Long, - hp:160, ap:50, - skills:{6004:{uuid:6004, lv:1, cd:1.0, ccd:0}}, - atking:[{s_uuid:6302, t_num:5, overrides:{TGroup:TGroup.Team, ap:250}}], - fend:[{s_uuid:6402, t_num:1, overrides:{TGroup:TGroup.Team, ap:80}}], - info:"每攻击5次治疗全队,每波结束全队永久+80最大生命值"} -``` - -**一句话**:每撑过一波,全队血槽都更长一截 - ---- - -#### [5075] 全能牧师 — pool 5 - -- **职业**:辅助(远程) -- **HP / AP / CD**:HP 180 / AP 55 / CD 0.9 -- **触发**:atking 每 **5** 次 → `6302` 全队治疗 AP×**300%** -- **波后**:fend → `6401` 全队 AP **+12**(永久)+ `6402` 全队 HP上限 **+60**(永久) - -``` -5075:{uuid:5075, name:"全能牧师", path:"hh5", fac:FacSet.HERO, pool_lv:5, lv:1, type:HType.Long, - hp:180, ap:55, - skills:{6004:{uuid:6004, lv:1, cd:0.9, ccd:0}}, - atking:[{s_uuid:6302, t_num:5, overrides:{TGroup:TGroup.Team, ap:300}}], - fend:[ - {s_uuid:6401, t_num:1, overrides:{TGroup:TGroup.Team, ap:12}}, - {s_uuid:6402, t_num:1, overrides:{TGroup:TGroup.Team, ap:60}} - ], - info:"每攻击5次治疗全队300%AP,每波结束全队永久+12攻击力、+60最大生命值"} -``` - -**一句话**:治疗、强化、续航三合一,撑的波次越多全队越无敌 diff --git a/assets/script/game/hero/HeroAtkSystem.ts b/assets/script/game/hero/HeroAtkSystem.ts index f5db2f8b..23008671 100644 --- a/assets/script/game/hero/HeroAtkSystem.ts +++ b/assets/script/game/hero/HeroAtkSystem.ts @@ -151,10 +151,10 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda damage = shieldResult.remainingDamage; if (shieldResult.absorbedDamage > 0) { // 【评分系统 - 防御分】统计护盾成功抵挡伤害的次数 - smc.vmdata.scores.shield_block_count += shieldResult.absorbedDamage; + smc.vmdata.scores.shield_block_count += 1; } mLogger.log(this.debugMode, 'HeroAtkSystem', " after shield", damage) - // 显示护盾吸收飘字 + // 显示护盾格挡飘字 if (shieldResult.absorbedDamage > 0 && targetView) { targetView.shield_tip(shieldResult.absorbedDamage); } @@ -171,7 +171,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda } } - // 增加受击计数并触发 atked 技能 + // 受击计数:只有实际造成伤害才 +1(被格挡不计数) TAttrsComp.atked_count++; this.checkAndTriggerAtkedSkills(TAttrsComp, targetView); @@ -399,13 +399,13 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda * 护盾吸收伤害 * * 护盾吸收逻辑: - * 1. 护盾值大于 0 时,抵挡本次伤害 + * 1. 护盾值大于 0 时,抵挡本次伤害(免伤) * 2. 每次抵挡消耗 1 点护盾值 * 3. 护盾归零时,重置护盾最大值属性 * * @param TAttrsComp 被攻击者的属性组件(包含当前护盾值) * @param damage 原始伤害值 - * @returns {remainingDamage, absorbedDamage} 剩余伤害值和吸收的护盾值 + * @returns {remainingDamage, absorbedDamage} 剩余伤害值和被格挡的伤害值 */ private absorbShield(TAttrsComp: HeroAttrsComp, damage: number): { remainingDamage: number, absorbedDamage: number } { if (TAttrsComp.shield <= 0) { @@ -418,7 +418,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda } TAttrsComp.dirty_shield = true; mLogger.log(this.debugMode, 'HeroAtkSystem', ` 护盾抵挡1次伤害,剩余次数 ${TAttrsComp.shield}`); - return { remainingDamage: 0, absorbedDamage: 1 }; + return { remainingDamage: 0, absorbedDamage: damage }; } /** diff --git a/assets/script/game/hero/HeroViewComp.ts b/assets/script/game/hero/HeroViewComp.ts index 9294e997..4fa7a097 100644 --- a/assets/script/game/hero/HeroViewComp.ts +++ b/assets/script/game/hero/HeroViewComp.ts @@ -365,9 +365,9 @@ export class HeroViewComp extends CCComp { Tooltip.load(pos, type, value, s_uuid, this.node.parent, 1, this.model?.fac ?? FacSet.MON); } - /** 护盾吸收提示 */ + /** 护盾格挡提示 */ shield_tip(absorbed: number) { - this.hp_tip(TooltipTypes.life, NumberFormatter.formatNumber(Math.max(0, Math.floor(absorbed)))); + this.hp_tip(TooltipTypes.shield, NumberFormatter.formatNumber(Math.max(0, Math.floor(absorbed)))); } public playBuff(anm: string = "") { if (anm === "") return; diff --git a/assets/script/game/skill/TooltipCom.ts b/assets/script/game/skill/TooltipCom.ts index 84c51074..581271b2 100644 --- a/assets/script/game/skill/TooltipCom.ts +++ b/assets/script/game/skill/TooltipCom.ts @@ -146,10 +146,11 @@ export class TooltipCom extends CCComp { this.node.setPosition(v3(this.node.position.x, currentY - 60)); this.node.setSiblingIndex(topSiblingIndex); break; - case TooltipTypes.shield: + case TooltipTypes.shield: // 护盾格挡 this.node.setPosition(v3(this.node.position.x + offsetX, currentY)); this.node.setSiblingIndex(topSiblingIndex); - this.setupLabel("add_life", "hp", this.value); + this.setupLabel("add_life", "hp", "格挡"); + isHeal = true; break; }