Compare commits
3 Commits
4eba1c8ad8
...
805a3928a7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
805a3928a7 | ||
|
|
2507940cfd | ||
|
|
de763efb0f |
File diff suppressed because it is too large
Load Diff
@@ -5958,10 +5958,10 @@
|
|||||||
"height": 61,
|
"height": 61,
|
||||||
"rawWidth": 54,
|
"rawWidth": 54,
|
||||||
"rawHeight": 61,
|
"rawHeight": 61,
|
||||||
"borderTop": 0,
|
"borderTop": 28,
|
||||||
"borderBottom": 0,
|
"borderBottom": 33,
|
||||||
"borderLeft": 0,
|
"borderLeft": 27,
|
||||||
"borderRight": 0,
|
"borderRight": 27,
|
||||||
"packable": true,
|
"packable": true,
|
||||||
"pixelsToUnit": 100,
|
"pixelsToUnit": 100,
|
||||||
"pivotX": 0.5,
|
"pivotX": 0.5,
|
||||||
@@ -6006,8 +6006,8 @@
|
|||||||
"rawHeight": 24,
|
"rawHeight": 24,
|
||||||
"borderTop": 0,
|
"borderTop": 0,
|
||||||
"borderBottom": 0,
|
"borderBottom": 0,
|
||||||
"borderLeft": 0,
|
"borderLeft": 25,
|
||||||
"borderRight": 0,
|
"borderRight": 25,
|
||||||
"packable": true,
|
"packable": true,
|
||||||
"pixelsToUnit": 100,
|
"pixelsToUnit": 100,
|
||||||
"pivotX": 0.5,
|
"pivotX": 0.5,
|
||||||
|
|||||||
140
assets/script/game/common/config/HeroDesignSpec.md
Normal file
140
assets/script/game/common/config/HeroDesignSpec.md
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
# 英雄设定重构设计方案
|
||||||
|
|
||||||
|
> 本文档是 `heroSet.ts` 英雄配置的硬指标规范,所有新增/重构英雄必须遵循。
|
||||||
|
|
||||||
|
## 背景
|
||||||
|
|
||||||
|
对 `heroSet.ts` 中的英雄配置进行模板化重构。5011(铁壁战士)作为标杆保留并改编号为 5001,其余英雄全部推翻重来。
|
||||||
|
|
||||||
|
## 编号体系
|
||||||
|
|
||||||
|
| 号段 | card_lv | 说明 |
|
||||||
|
|------|---------|------|
|
||||||
|
| 5001-5099 | 1 | 绿卡英雄池 |
|
||||||
|
| 5101-5199 | 2 | 蓝卡英雄池 |
|
||||||
|
| 5201-5299 | 3 | 紫卡英雄池 |
|
||||||
|
| 5301-5399 | 4 | 红卡英雄池 |
|
||||||
|
| 5401-5499 | 5 | 金卡英雄池 |
|
||||||
|
|
||||||
|
- 不按触发类型分组编号,按讨论顺序依次分配
|
||||||
|
- 现有英雄只保留 5001(原 5011 铁壁战士),其余全部移除
|
||||||
|
|
||||||
|
## 规则 1:触发节奏模板
|
||||||
|
|
||||||
|
所有触发技能统一 3 档成长:**lv1 → s_lv1, lv3 → s_lv2, lv5 → s_lv3**
|
||||||
|
|
||||||
|
| 触发类型 | t_num 节奏 | 说明 |
|
||||||
|
|----------|-----------|------|
|
||||||
|
| atked(受击) | lv1/lv3 恒 5 次,lv5 降为 4 次 | 满级质变 |
|
||||||
|
| atking(攻击) | lv1/lv3 恒 5 次,lv5 降为 4 次 | 满级质变 |
|
||||||
|
| dead(死亡) | 恒 1 次 | 成长靠数值 |
|
||||||
|
| fstart(回合开始) | 恒 1 次 | 成长靠数值 |
|
||||||
|
| field(光环) | 无 t_num | lv1 基础档(7xxx),lv3 中档(72xxx),lv5 高档(74xxx) |
|
||||||
|
| revive(复活) | 恒 r_num=1 | upr 50% → 60% → 70% |
|
||||||
|
|
||||||
|
**核心原则:lv5 通过降 t_num(或高档数值)实现大幅提升。**
|
||||||
|
|
||||||
|
### field 光环 uuid 编号规则
|
||||||
|
|
||||||
|
| 档位 | uuid 格式 | 示例(攻击光环) |
|
||||||
|
|------|----------|-----------------|
|
||||||
|
| lv1 基础档 | 7xxx | 7002 |
|
||||||
|
| lv3 中档 | 72xxx | 7202 |
|
||||||
|
| lv5 高档 | 74xxx | 7402 |
|
||||||
|
|
||||||
|
## 规则 2:品质-档位标准
|
||||||
|
|
||||||
|
**card_lv = 基础 1 + 能力加成**
|
||||||
|
|
||||||
|
| 能力项 | 加成 | 说明 |
|
||||||
|
|--------|------|------|
|
||||||
|
| 基础触发技能(1个,单体) | +0 | card_lv=1 |
|
||||||
|
| 更高数值 | +1 | card_lv=2 |
|
||||||
|
| ap/hp 成长 | +1 | card_lv=2 |
|
||||||
|
| 范围扩大(单体→全体) | +2 | card_lv=3 |
|
||||||
|
| 双技能(+revive/光环) | +4 | card_lv=5 |
|
||||||
|
|
||||||
|
**组合示例:**
|
||||||
|
- 1 + 0 = card_lv 1(基础)
|
||||||
|
- 1 + 1 = card_lv 2(数值强化 或 ap/hp 成长)
|
||||||
|
- 1 + 2 = card_lv 3(范围扩大)
|
||||||
|
- 1 + 1 + 2 = card_lv 4(数值 + 范围)
|
||||||
|
- 1 + 4 = card_lv 5(双技能)
|
||||||
|
|
||||||
|
**双技能定义**:指英雄同时拥有**两个不同的触发类型字段**(如 atked + revive,或 dead + field)。同一触发类型下的 TriggerGrouped 挂多个 s_uuid 属于主触发类型内的能力组合,不算"双技能"。
|
||||||
|
|
||||||
|
**原则:每个英雄单独讨论,根据能力组合定 card_lv,不死板规定。**
|
||||||
|
|
||||||
|
## 规则 3:命名规则
|
||||||
|
|
||||||
|
**公式:能力关键词 + 职业后缀**
|
||||||
|
|
||||||
|
### 职业后缀词库
|
||||||
|
|
||||||
|
| 职业 | 后缀选项 |
|
||||||
|
|------|---------|
|
||||||
|
| 战士/坦克 | 战士、勇士、斗士、卫士、守护者、壁垒、磐石 |
|
||||||
|
| 刺客 | 刺客、杀手、影刃、猎手、潜行者 |
|
||||||
|
| 弓手 | 弓手、射手、神射、鹰眼、游侠 |
|
||||||
|
| 法师 | 法师、先知、术士、贤者、祭司 |
|
||||||
|
| 辅助 | 牧师、祭司、圣言、吟游诗人 |
|
||||||
|
|
||||||
|
### 能力关键词词库
|
||||||
|
|
||||||
|
| 效果 | 关键词 |
|
||||||
|
|------|--------|
|
||||||
|
| 护盾 | 铁壁、壁垒、磐石、守护 |
|
||||||
|
| 回血 | 不死、再生、血魔、永生 |
|
||||||
|
| 攻击提升 | 狂战、怒血、嗜血、破晓 |
|
||||||
|
| 生命提升 | 不朽、钢骨、生命 |
|
||||||
|
| 暴击 | 致命、绝影、精准 |
|
||||||
|
| 暴伤 | 破灭、毁灭 |
|
||||||
|
| 击晕 | 震撼、威慑 |
|
||||||
|
| 治疗 | 治愈、圣言、祈福 |
|
||||||
|
| 复活 | 不灭、凤凰、涅槃 |
|
||||||
|
| 攻速 | 风怒、迅捷 |
|
||||||
|
| 光环 | 战歌、光环、领域 |
|
||||||
|
|
||||||
|
### 预设命名示例
|
||||||
|
|
||||||
|
| 触发 | 能力 | 预设名字 |
|
||||||
|
|------|------|---------|
|
||||||
|
| atked | 护盾 | 铁壁卫士、磐石勇士、壁垒守护者 |
|
||||||
|
| atked | 回血 | 不死战士、再生斗士、血魔勇士 |
|
||||||
|
| atked | 攻击 | 怒血狂战、嗜血斗士、破晓勇士 |
|
||||||
|
| atked | 生命 | 钢骨卫士、不朽战士、生命守护者 |
|
||||||
|
| atking | 自身攻击 | 影袭刺客、嗜血杀手、暗夜猎手 |
|
||||||
|
| atking | 自身暴击 | 致命刺客、绝影杀手、精准猎手 |
|
||||||
|
| atking | 队友攻击 | 援护射手、战歌弓手、鼓舞游侠 |
|
||||||
|
| atking | 治疗 | 治愈牧师、圣言祭司、祈福诗人 |
|
||||||
|
| dead | 护盾 | 殉道卫士、守护英魂、牺牲壁垒 |
|
||||||
|
| dead | 攻击/生命 | 遗志将军、英魂战士、传承斗士 |
|
||||||
|
| dead | 暴击/暴伤 | 亡语刺客、诅咒杀手、破灭猎手 |
|
||||||
|
| fstart | 攻击 | 破晓先知、战吼法师、晨光祭司 |
|
||||||
|
| fstart | 护盾 | 圣光祭司、守护贤者、壁垒法师 |
|
||||||
|
| field | 攻速 | 战歌法师、风怒先知、迅捷贤者 |
|
||||||
|
| revive | 复活 | 不灭战魂、凤凰祭司、涅槃贤者 |
|
||||||
|
|
||||||
|
## 规则 4:info 描述
|
||||||
|
|
||||||
|
- **info 字段清空**,或作为内部注释使用
|
||||||
|
- 玩家看到的技能信息由系统根据触发技能配置自动生成(取满级数据)
|
||||||
|
|
||||||
|
## 当前英雄池
|
||||||
|
|
||||||
|
| 编号 | 名称 | card_lv | 触发类型 | 能力 | 状态 |
|
||||||
|
|------|------|---------|---------|------|------|
|
||||||
|
| 5001 | 铁壁战士 | 1 | atked | 护盾 | 保留(原 5011) |
|
||||||
|
| 5002+ | 待定 | 待定 | 待定 | 待定 | 待创建 |
|
||||||
|
|
||||||
|
## 重构代码变更清单
|
||||||
|
|
||||||
|
重构英雄时需同步修改以下位置:
|
||||||
|
1. `heroSet.ts` — `calcHeroPowerNormalized` 的 `baseHeroId` 默认值从 5011 改为 5001
|
||||||
|
2. `heroSet.ts` — `HeroList` 数组更新为新 uuid 列表
|
||||||
|
3. `heroSet.ts` — `HeroInfo` 对象全量替换(移除所有 5012-5071,含注释代码)
|
||||||
|
4. `CardSet.ts` — 自动从 HeroList 生成卡池,需验证
|
||||||
|
|
||||||
|
## 下一步
|
||||||
|
|
||||||
|
逐个讨论并创建新英雄,从 5002 开始。
|
||||||
11
assets/script/game/common/config/HeroDesignSpec.md.meta
Normal file
11
assets/script/game/common/config/HeroDesignSpec.md.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.0.1",
|
||||||
|
"importer": "text",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "defa93a3-1e05-4fad-b94c-b12ed9651c9a",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
@@ -1,33 +1,33 @@
|
|||||||
/**
|
/**
|
||||||
* @file HeroSkillDesc.ts
|
* @file HeroSkillDesc.ts
|
||||||
* @description 英雄技能/能力描述的【唯一文字表达标准层】
|
* @description 英雄技能/能力描述的【唯一文字表达标准层】
|
||||||
*
|
*
|
||||||
* 设计目标:
|
* 设计目标:
|
||||||
* heroSet / SkillSet 中的 info / infos 仅作"基础备注",不再承担面板展示。
|
* heroSet / SkillSet 中的 info / infos 仅作"基础备注",不再承担面板展示。
|
||||||
* 所有功能性描述(触发技能、驻场光环、复活、等级额外属性加成)统一由本模块
|
* 所有功能性描述(触发技能、驻场光环、复活、等级额外属性加成)统一由本模块
|
||||||
* 依据结构化配置动态拼出,数值永远来自 mergeSkillParams 合并后的实时配置,
|
* 依据结构化配置动态拼出,数值永远来自 mergeSkillParams 合并后的实时配置,
|
||||||
* 杜绝"改数值忘改文案"的漂移。
|
* 杜绝"改数值忘改文案"的漂移。
|
||||||
*
|
*
|
||||||
* 输出(双格式,供 UI 按需取用):
|
* 输出(双格式,供 UI 按需取用):
|
||||||
* - buildSkillDesc(source) → 纯文本(Label 用),数值无颜色
|
* - buildSkillDesc(source) → 纯文本(Label 用),数值无颜色
|
||||||
* - buildSkillDescRich(source) → 富文本(RichText 用,BBCode),技能名蓝色、数值绿色高亮
|
* - buildSkillDescRich(source) → 富文本(RichText 用,BBCode),技能名蓝色、数值绿色高亮
|
||||||
* 两者共用同一套结构化行构建逻辑,仅渲染阶段区分,保证纯/富文本内容严格一致。
|
* 两者共用同一套结构化行构建逻辑,仅渲染阶段区分,保证纯/富文本内容严格一致。
|
||||||
*
|
*
|
||||||
* 通用性(纯配置驱动):
|
* 通用性(纯配置驱动):
|
||||||
* 1. 触发框架:按触发类型遍历(SkillSet + overrides,不动)
|
* 1. 触发框架:按触发类型遍历(SkillSet + overrides,不动)
|
||||||
* 2. 效果文案:查 SkillDescSet 结构化模板渲染
|
* 2. 效果文案:查 SkillDescSet 结构化模板渲染
|
||||||
* 3. 目标/属性名:由本模块统一语义化(target/hit_count、ATTR_NAME)
|
* 3. 目标/属性名:由本模块统一语义化(target/hit_count、ATTR_NAME)
|
||||||
*
|
*
|
||||||
* 数据源(入参抽象 ISkillDescSource):
|
* 数据源(入参抽象 ISkillDescSource):
|
||||||
* heroInfo(静态 1 级配置)与 HeroAttrsComp(运行时应用 evolve 后的当前等级配置)
|
* heroInfo(静态 1 级配置)与 HeroAttrsComp(运行时应用 evolve 后的当前等级配置)
|
||||||
* 字段结构一致,天然都满足。HeroBoxComp 传 model 显示当前等级;卡池/商店传 heroInfo 显示 1 级。
|
* 字段结构一致,天然都满足。HeroBoxComp 传 model 显示当前等级;卡池/商店传 heroInfo 显示 1 级。
|
||||||
*
|
*
|
||||||
* 依赖:
|
* 依赖:
|
||||||
* - heroSet :SkillTriggerName、SkillTriggerType、TriggerGrouped/LvFieldEntry/LvReviveEntry/LvBonusEntry 及 resolver
|
* - heroSet :SkillTriggerName、SkillTriggerType、TriggerGrouped/LvFieldEntry/LvReviveEntry/LvBonusEntry 及 resolver
|
||||||
* - SkillSet :SkillSet、mergeSkillParams、SkillOverrides、SkillKind、TGroup
|
* - SkillSet :SkillSet、mergeSkillParams、SkillOverrides、SkillKind、TGroup
|
||||||
* - SkillDescSet:结构化描述模板
|
* - SkillDescSet:结构化描述模板
|
||||||
* - FieldSkillSet(驻场技能)、BuffList(计时 buff 默认值兜底)、Attrs(属性枚举)
|
* - FieldSkillSet(驻场技能)、BuffList(计时 buff 默认值兜底)、Attrs(属性枚举)
|
||||||
*/
|
*/
|
||||||
import { SkillTriggerName, SkillTriggerType, TriggerGrouped, LvTriggerEntry, LvFieldEntry, LvReviveEntry, LvBonusEntry, resolveTriggerByLv, resolveFieldByLv, resolveReviveByLv, getTriggerSkillName, HGrowType, calcGrowBonus } from "./heroSet";
|
import { SkillTriggerName, SkillTriggerType, TriggerGrouped, LvTriggerEntry, LvFieldEntry, LvReviveEntry, LvBonusEntry, resolveTriggerByLv, resolveFieldByLv, resolveReviveByLv, getTriggerSkillName, HGrowType, calcGrowBonus } from "./heroSet";
|
||||||
import { FieldSkillSet, mergeSkillParams, SkillConfig, SkillKind, SkillOverrides, SkillSet, TGroup } from "./SkillSet";
|
import { FieldSkillSet, mergeSkillParams, SkillConfig, SkillKind, SkillOverrides, SkillSet, TGroup } from "./SkillSet";
|
||||||
import { FieldDescSet, FieldValueFmt, SkillDescSet } from "./SkillDescSet";
|
import { FieldDescSet, FieldValueFmt, SkillDescSet } from "./SkillDescSet";
|
||||||
@@ -99,6 +99,18 @@ const ATTR_NAME: Partial<Record<Attrs, string>> = {
|
|||||||
/** 富文本数值高亮色(鲜亮绿色,深色面板上高亮醒目) */
|
/** 富文本数值高亮色(鲜亮绿色,深色面板上高亮醒目) */
|
||||||
const RICH_VALUE_COLOR = "#3CE66E";
|
const RICH_VALUE_COLOR = "#3CE66E";
|
||||||
|
|
||||||
|
/** 数值描边色(深绿,衬托亮绿填充,与技能名橙填充+深褐描边同一设计思路) */
|
||||||
|
const RICH_VALUE_OUTLINE = "#145A32";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数值富文本片段:亮绿填充 + 深绿描边。
|
||||||
|
* 高亮数值明度高,深色描边增强边缘对比、提升深色面板上的锐度。
|
||||||
|
* @param text 数值文本(含单位,如 "15%"、"4次")
|
||||||
|
*/
|
||||||
|
function valueRich(text: string | number): string {
|
||||||
|
return `<outline color=${RICH_VALUE_OUTLINE} width=1><color=${RICH_VALUE_COLOR}>${text}</color></outline>`;
|
||||||
|
}
|
||||||
|
|
||||||
/** 富文本技能名高亮色(蜜桃橙,暖色系,与面板绿/蓝/红/黄/紫均不冲突) */
|
/** 富文本技能名高亮色(蜜桃橙,暖色系,与面板绿/蓝/红/黄/紫均不冲突) */
|
||||||
const RICH_NAME_COLOR = "#F8C471";
|
const RICH_NAME_COLOR = "#F8C471";
|
||||||
|
|
||||||
@@ -498,14 +510,14 @@ export function buildSingleSkillRich(skillUuid: number, overrides?: SkillOverrid
|
|||||||
const skill = mergeSkillParams(base, overrides);
|
const skill = mergeSkillParams(base, overrides);
|
||||||
// SkillConfig 未定义 cd 字段,冷却时间由外部运行时数据传入;计时模式展示持续时间
|
// SkillConfig 未定义 cd 字段,冷却时间由外部运行时数据传入;计时模式展示持续时间
|
||||||
const dur = skill.buff_duration ?? (skill.timed_buff_id !== undefined ? BuffList[skill.timed_buff_id]?.duration : undefined) ?? 0;
|
const dur = skill.buff_duration ?? (skill.timed_buff_id !== undefined ? BuffList[skill.timed_buff_id]?.duration : undefined) ?? 0;
|
||||||
const cdTag = dur > 0 ? `<color=${RICH_VALUE_COLOR}>持续:${dur}s</color>` : "";
|
const cdTag = dur > 0 ? valueRich(`持续:${dur}s`) : "";
|
||||||
const nameTag = `${skillNameRich(skill.name)} Lv.${lv}`;
|
const nameTag = `${skillNameRich(skill.name)} Lv.${lv}`;
|
||||||
|
|
||||||
// 复用结构化效果行,head 为空避免重复触发类型前缀
|
// 复用结构化效果行,head 为空避免重复触发类型前缀
|
||||||
const line = buildEffectLine("", skill);
|
const line = buildEffectLine("", skill);
|
||||||
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
||||||
const effect = line.value
|
const effect = line.value
|
||||||
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
|
? `${prefix}${valueRich(line.value)}${line.suffix}`
|
||||||
: `${prefix}${line.suffix}`;
|
: `${prefix}${line.suffix}`;
|
||||||
|
|
||||||
return cdTag ? `${nameTag} ${cdTag}\n${effect}` : `${nameTag}\n${effect}`;
|
return cdTag ? `${nameTag} ${cdTag}\n${effect}` : `${nameTag}\n${effect}`;
|
||||||
@@ -525,7 +537,7 @@ export function buildEquipRich(fieldUuids: number[], showName: boolean = false):
|
|||||||
if (!line) continue;
|
if (!line) continue;
|
||||||
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
||||||
const text = line.value
|
const text = line.value
|
||||||
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
|
? `${prefix}${valueRich(line.value)}${line.suffix}`
|
||||||
: `${prefix}${line.suffix}`;
|
: `${prefix}${line.suffix}`;
|
||||||
lines.push(text);
|
lines.push(text);
|
||||||
}
|
}
|
||||||
@@ -553,7 +565,7 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
|
|||||||
const effectRich = (line: ISkillLine): string => {
|
const effectRich = (line: ISkillLine): string => {
|
||||||
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
|
||||||
const text = line.value
|
const text = line.value
|
||||||
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
|
? `${prefix}${valueRich(line.value)}${line.suffix}`
|
||||||
: `${prefix}${line.suffix}`;
|
: `${prefix}${line.suffix}`;
|
||||||
return highlightDuration(text);
|
return highlightDuration(text);
|
||||||
};
|
};
|
||||||
@@ -584,7 +596,7 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
|
|||||||
const curSLv = cur.s_lv ?? (curIdx + 1);
|
const curSLv = cur.s_lv ?? (curIdx + 1);
|
||||||
// 触发次数直接写为富文本(数字绿色高亮),如 "受伤3次"
|
// 触发次数直接写为富文本(数字绿色高亮),如 "受伤3次"
|
||||||
const curTrig = needCount
|
const curTrig = needCount
|
||||||
? `${trigName}<color=${RICH_VALUE_COLOR}>${cur.t_num}</color>次`
|
? `${trigName}${valueRich(cur.t_num)}次`
|
||||||
: trigName;
|
: trigName;
|
||||||
// 技能名 + 档位数字后缀(如 "不屈壁垒1"),与光环命名口径一致
|
// 技能名 + 档位数字后缀(如 "不屈壁垒1"),与光环命名口径一致
|
||||||
const curHead = `「${skillName}${curSLv}」: ${curTrig}, `;
|
const curHead = `「${skillName}${curSLv}」: ${curTrig}, `;
|
||||||
@@ -608,7 +620,7 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
|
|||||||
const revive = resolveReviveByLv(source[SkillTriggerType.Revive] as LvReviveEntry[] | undefined, lv);
|
const revive = resolveReviveByLv(source[SkillTriggerType.Revive] as LvReviveEntry[] | undefined, lv);
|
||||||
if (revive) {
|
if (revive) {
|
||||||
const reviveName = getTriggerSkillName(SkillTriggerType.Revive, revive.s_uuid);
|
const reviveName = getTriggerSkillName(SkillTriggerType.Revive, revive.s_uuid);
|
||||||
lines.push(`${skillNameRich(reviveName)}: 每回合拥有<color=${RICH_VALUE_COLOR}>${revive.r_num}</color>次重生机会, 死亡后以<color=${RICH_VALUE_COLOR}>${Math.round(revive.upr * 100)}%</color>血量原地重生`);
|
lines.push(`${skillNameRich(reviveName)}: 每回合拥有${valueRich(revive.r_num)}次重生机会, 死亡后以${valueRich(`${Math.round(revive.upr * 100)}%`)}血量原地重生`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lines.join("\n");
|
return lines.join("\n");
|
||||||
@@ -620,7 +632,7 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
|
|||||||
* 持续时间对药水/计时 buff 同样关键,这里补充高亮,保证视觉一致。
|
* 持续时间对药水/计时 buff 同样关键,这里补充高亮,保证视觉一致。
|
||||||
*/
|
*/
|
||||||
function highlightDuration(text: string): string {
|
function highlightDuration(text: string): string {
|
||||||
return text.replace(DURATION_PATTERN, `持续<color=${RICH_VALUE_COLOR}>$1</color>秒`);
|
return text.replace(DURATION_PATTERN, `持续${valueRich("$1")}秒`);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -634,7 +646,7 @@ function renderLineRich(line: ISkillLine): string {
|
|||||||
// 未来档数值灰色追加在当前高亮数值后("15%/20%/30%"),suffix 仍位于整段数值之后
|
// 未来档数值灰色追加在当前高亮数值后("15%/20%/30%"),suffix 仍位于整段数值之后
|
||||||
const next = line.nextValues?.length ? `<color=${RICH_LOCKED_COLOR}>/${line.nextValues.join("/")}</color>` : "";
|
const next = line.nextValues?.length ? `<color=${RICH_LOCKED_COLOR}>/${line.nextValues.join("/")}</color>` : "";
|
||||||
return line.value
|
return line.value
|
||||||
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${next}${line.suffix}`
|
? `${prefix}${valueRich(line.value)}${next}${line.suffix}`
|
||||||
: `${prefix}${next}${line.suffix}`;
|
: `${prefix}${next}${line.suffix}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -646,7 +658,7 @@ function renderLineRich(line: ISkillLine): string {
|
|||||||
function buildChanceSuffix(skill: SkillConfig): string {
|
function buildChanceSuffix(skill: SkillConfig): string {
|
||||||
const items: string[] = [];
|
const items: string[] = [];
|
||||||
const push = (val: number | undefined, label: string) => {
|
const push = (val: number | undefined, label: string) => {
|
||||||
if (val && val > 0) items.push(`附加<color=${RICH_VALUE_COLOR}>${val}</color>%${label}`);
|
if (val && val > 0) items.push(`附加${valueRich(val)}%${label}`);
|
||||||
};
|
};
|
||||||
push(skill.crt, "暴击");
|
push(skill.crt, "暴击");
|
||||||
push(skill.frz, "冰冻");
|
push(skill.frz, "冰冻");
|
||||||
@@ -699,8 +711,8 @@ export function buildCardDescRich(card: CardConfig): string {
|
|||||||
return rich;
|
return rich;
|
||||||
}
|
}
|
||||||
|
|
||||||
const rhythm = `每<color=${RICH_VALUE_COLOR}>${tInv}</color>秒召唤<color=${RICH_VALUE_COLOR}>${(card.overrides?.num ?? 0) + 1}</color>个${skillNameRich(skill.name)}攻击敌人`;
|
const rhythm = `每${valueRich(tInv)}秒召唤${valueRich((card.overrides?.num ?? 0) + 1)}个${skillNameRich(skill.name)}攻击敌人`;
|
||||||
const times = `, 共<color=${RICH_VALUE_COLOR}>${tTimes}</color>次`;
|
const times = `, 共${valueRich(tTimes)}次`;
|
||||||
return `${rhythm}, ${rich}${times}`;
|
return `${rhythm}, ${rich}${times}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -363,340 +363,299 @@ export interface LvBonusEntry {
|
|||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
*=============英雄配置列表================
|
*=============英雄配置列表================
|
||||||
* v4 触发类型底座版 — 每个英雄专注单一效果,流派协同由玩家自行发现
|
* v5 模板重塑版 — 按 HeroDesignSpec.md 规范统一配置
|
||||||
*
|
*
|
||||||
* atked 战士 受击触发,效果作用于自身,越挨打越强
|
* 规则:3档 lv1/3/5,lv5 降 t_num(atked/atking 5→4)
|
||||||
* atking 刺客 攻击触发自身强化;射手 攻击触发队友强化(hit_count 控制目标数 1→3→6)
|
* 品质:card_lv = 1 + 能力加成(数值/范围/双技能)
|
||||||
* dead 战士/刺客 死亡触发,一次性全队遗产
|
* 编号:5001-5099=card1, 5101-5199=card2, 5201-5299=card3, 5301-5399=card4, 5401-5499=card5
|
||||||
* fstart 法师 战斗开始前触发一次,必然生效的全队增益
|
|
||||||
* field 法师 驻场光环,存活期间持续生效,死亡消失
|
|
||||||
* fend 辅助 每回合结束触发,跨回合累积增益
|
|
||||||
*
|
|
||||||
* 触发节奏:atked 3次/5次,atking 5次/7次,fstart/fend 1次/回合
|
|
||||||
*
|
|
||||||
* skills[0]是普通攻击技能
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export const HeroInfo: Record<number, heroInfo> = {
|
export const HeroInfo: Record<number, heroInfo> = {
|
||||||
// ========== atked 类(战士 · 自身强化) ==========
|
// ========== card_lv=1(5001-5005)基础单体/默认范围 ==========
|
||||||
5011: {
|
|
||||||
uuid: 5011, name: "铁壁", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 300, ap: 28,
|
// 5001 铁壁战士 — atked 护盾(标杆,原5011)
|
||||||
|
5001: {
|
||||||
|
uuid: 5001, name: "铁壁战士", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 300, ap: 28,
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
// 成长主线:受击5次凝聚护盾,层数 2→3→4→5;每级按 Tank 成长类型递增 hp/ap
|
|
||||||
atked: {
|
atked: {
|
||||||
6301: [
|
6301: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
||||||
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
||||||
{ lv: 6, s_lv: SkillLv.Lv4, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 5 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>受击5次凝聚护盾",
|
info: "",
|
||||||
},
|
},
|
||||||
5012: {
|
// 5002 影袭刺客 — atking 自身攻击
|
||||||
uuid: 5012, name: "不死小强", path: "hk2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
|
5002: {
|
||||||
|
uuid: 5002, name: "影袭刺客", path: "hc1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Assassin, hp: 300, ap: 28,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
|
||||||
|
atking: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5003 遗志将军 — dead 全队攻击
|
||||||
|
5003: {
|
||||||
|
uuid: 5003, name: "遗志将军", path: "hk2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, hp: 300, ap: 28,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
|
dead: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5004 破晓先知 — fstart 全队攻击
|
||||||
|
5004: {
|
||||||
|
uuid: 5004, name: "破晓先知", path: "hm1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 143, ap: 40,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid3].cd, ccd: 0 } },
|
||||||
|
fstart: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5005 战歌法师 — field 攻击光环
|
||||||
|
5005: {
|
||||||
|
uuid: 5005, name: "战歌法师", path: "hm2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 143, ap: 40,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid3].cd, ccd: 0 } },
|
||||||
|
field: [
|
||||||
|
{ lv: 1, uuids: [7002] },
|
||||||
|
{ lv: 3, uuids: [7202] },
|
||||||
|
{ lv: 5, uuids: [7402] },
|
||||||
|
],
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
// ========== card_lv=2(5101-5105)数值强化 ==========
|
||||||
|
|
||||||
|
// 5101 不死斗士 — atked 回血(更高数值)
|
||||||
|
5101: {
|
||||||
|
uuid: 5101, name: "不死斗士", path: "hk3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 600, ap: 57,
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
atked: {
|
atked: {
|
||||||
6302: [
|
6302: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 250 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 200 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 300 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 250 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 350 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 300 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } },
|
|
||||||
],
|
|
||||||
6402: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>受伤恢复生命",
|
info: "",
|
||||||
},
|
},
|
||||||
5013: {
|
// 5102 致命杀手 — atking 暴击(更高数值)
|
||||||
uuid: 5013, name: "铁骨头", path: "hk4", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
|
5102: {
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
uuid: 5102, name: "致命杀手", path: "hc2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Assassin, hp: 600, ap: 57,
|
||||||
atked: {
|
|
||||||
6301: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 5 } },
|
|
||||||
],
|
|
||||||
6402: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>受伤获得护盾与生命",
|
|
||||||
},
|
|
||||||
5014: {
|
|
||||||
uuid: 5014, name: "怒火武者", path: "hk5", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
|
|
||||||
atked: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv2, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
],
|
|
||||||
6403: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>受伤提升攻击与暴击",
|
|
||||||
},
|
|
||||||
5015: {
|
|
||||||
uuid: 5015, name: "血刃武者", path: "hc3", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, hp: 1200, ap: 113,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
|
||||||
atked: {
|
|
||||||
6301: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 5 } },
|
|
||||||
],
|
|
||||||
6404: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>受伤获得护盾与暴伤",
|
|
||||||
},
|
|
||||||
5016: {
|
|
||||||
uuid: 5016, name: "狂血战士", path: "hc4", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, hp: 1500, ap: 142,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
|
||||||
atked: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv2, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
],
|
|
||||||
6405: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>受伤提升攻击与击晕",
|
|
||||||
},
|
|
||||||
// 以下英雄暂时注释,保留待后续扩展
|
|
||||||
// 5012:{uuid:5012,name:"不死小强",path:"hk2", fac:FacSet.HERO,card_lv:2,lv:1,type:HType.Melee,hp:600,ap:57,
|
|
||||||
// skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow3].cd,ccd:0}},
|
|
||||||
// atked:[{s_uuid:6302,t_num:3,overrides:{TGroup:TGroup.Self,ap:250}}],
|
|
||||||
// info:"s3次为自身回复攻击力250%的生命值"},
|
|
||||||
// 5013:{uuid:5013,name:"铁骨头",path:"hk3", fac:FacSet.HERO,card_lv:2,lv:1,type:HType.Melee,hp:600,ap:57,
|
|
||||||
// skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow3].cd,ccd:0}},
|
|
||||||
// atked:[{s_uuid:6402,t_num:5,overrides:{TGroup:TGroup.Self,ap:100}}],
|
|
||||||
// info:"s5次永久提升自身最大生命值100点"},
|
|
||||||
// 5014:{uuid:5014,name:"怒火武者",path:"hk4", fac:FacSet.HERO,card_lv:3,lv:1,type:HType.Melee,hp:900,ap:85,
|
|
||||||
// skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow1].cd,ccd:0}},
|
|
||||||
// atked:[{s_uuid:6401,t_num:3,overrides:{TGroup:TGroup.Self,ap:12}}],
|
|
||||||
// info:"s3次永久提升自身攻击力12点"},
|
|
||||||
// 5015:{uuid:5015,name:"血刃武者",path:"hk5", fac:FacSet.HERO,card_lv:4,lv:1,type:HType.Melee,hp:1200,ap:113,
|
|
||||||
// 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:3}},
|
|
||||||
// {s_uuid:6401,t_num:5,overrides:{TGroup:TGroup.Self,ap:15}}
|
|
||||||
// ],
|
|
||||||
// info:"s3次加3层护盾,s5次永久+15攻击力"},
|
|
||||||
// 5016:{uuid:5016,name:"狂血战士",path:"hc1", fac:FacSet.HERO,card_lv:5,lv:1,type:HType.Melee,hp:1500,ap:142,
|
|
||||||
// skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow3].cd,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:"s3次永久+10攻击力,s5次永久+15%暴击率"},
|
|
||||||
|
|
||||||
// ========== atking 类 — 刺客(自身强化) ==========
|
|
||||||
5021: {
|
|
||||||
uuid: 5021, name: "小刺客", path: "hc1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, hp: 300, ap: 28,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
|
|
||||||
// 成长主线:滚雪球(AP增量固定1,5级阈值5→4刀)
|
|
||||||
atking: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv2, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>攻击永久提升攻击",
|
|
||||||
},
|
|
||||||
5022: {
|
|
||||||
uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
|
||||||
atking: {
|
atking: {
|
||||||
6403: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>攻击限时提升暴击",
|
|
||||||
},
|
|
||||||
5023: {
|
|
||||||
uuid: 5023, name: "暗影杀手", path: "hc5", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, hp: 1200, ap: 113,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast1].cd, ccd: 0 } },
|
|
||||||
atking: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv2, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 1 } },
|
|
||||||
],
|
|
||||||
6403: [
|
6403: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>攻击提升攻击与暴击",
|
info: "",
|
||||||
},
|
},
|
||||||
// 5022: {
|
// 5103 殉道勇士 — dead 全队护盾(更高数值)
|
||||||
// uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
|
5103: {
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
|
uuid: 5103, name: "殉道勇士", path: "hk4", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, hp: 600, ap: 57,
|
||||||
// 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: {
|
|
||||||
// uuid: 5023, name: "暗影杀手", path: "hc3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, hp: 1500, ap: 142,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast1].cd, 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%暴伤"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// ========== atking 类 — 射手(队友强化,hit_count 控制目标数) ==========
|
|
||||||
5031: {
|
|
||||||
uuid: 5031, name: "援护弓手", path: "ha1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, hp: 143, ap: 40,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal2].cd, ccd: 0 } },
|
|
||||||
// 成长主线:AP增益固定1,5级 hit_count 1→2(2英雄环境=全队)
|
|
||||||
atking: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 1, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 1 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>攻击提升队友攻击",
|
|
||||||
},
|
|
||||||
5032: {
|
|
||||||
uuid: 5032, name: "战术弓手", path: "ha2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
|
|
||||||
atking: {
|
|
||||||
6403: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 1 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv2, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>攻击限时提升队友暴击",
|
|
||||||
},
|
|
||||||
// 5032: {
|
|
||||||
// uuid: 5032, name: "战术弓手", path: "ha2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
|
|
||||||
// atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 10 } }],
|
|
||||||
// info: "攻击5次为随机3名队友永久提升暴击率10%"
|
|
||||||
// },
|
|
||||||
5033: {
|
|
||||||
uuid: 5033, name: "鹰眼弓将", path: "ha3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, hp: 717, ap: 200,
|
|
||||||
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
|
|
||||||
atking: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 1 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
|
|
||||||
],
|
|
||||||
6404: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>攻击提升队友攻击与暴伤",
|
|
||||||
},
|
|
||||||
// 5033: {
|
|
||||||
// uuid: 5033, name: "鹰眼弓将", path: "ha3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, hp: 717, ap: 200,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, 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 类(战士+刺客 · 死亡遗产) ==========
|
|
||||||
// 5041: {
|
|
||||||
// uuid: 5041, name: "殉道卫士", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, hp: 300, ap: 28,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
|
||||||
// dead: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } }],
|
|
||||||
// info: "死亡时为全队添加3层护盾"
|
|
||||||
// },
|
|
||||||
// 5042: {
|
|
||||||
// uuid: 5042, name: "遗志将军", path: "hk2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, 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: {
|
|
||||||
// uuid: 5043, name: "亡魂刺客", path: "hc1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
|
|
||||||
// dead: [{ s_uuid: 6405, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } }],
|
|
||||||
// info: "死亡时全队永久提升击晕概率15%"
|
|
||||||
// },
|
|
||||||
// 5044: {
|
|
||||||
// uuid: 5044, name: "血誓剑客", path: "hc2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, hp: 1200, ap: 113,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, 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: {
|
|
||||||
// uuid: 5045, name: "不灭战魂", path: "hk3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, hp: 1500, ap: 142,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, 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最大生命值,死后复活一次"
|
|
||||||
// },
|
|
||||||
5041: {
|
|
||||||
uuid: 5041, name: "殉道卫士", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, hp: 300, ap: 28,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
dead: {
|
dead: {
|
||||||
6301: [
|
6301: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>死亡全队获得护盾",
|
info: "",
|
||||||
},
|
},
|
||||||
5042: {
|
// 5104 圣光祭司 — fstart 全队护盾(更高数值)
|
||||||
uuid: 5042, name: "遗志将军", path: "hk2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
|
5104: {
|
||||||
|
uuid: 5104, name: "圣光祭司", path: "hm3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 287, ap: 80,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
|
||||||
|
fstart: {
|
||||||
|
6301: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5105 风怒先知 — field 攻速光环
|
||||||
|
5105: {
|
||||||
|
uuid: 5105, name: "风怒先知", path: "hm1", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 287, ap: 80,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
||||||
|
field: [
|
||||||
|
{ lv: 1, uuids: [7006] },
|
||||||
|
{ lv: 3, uuids: [7206] },
|
||||||
|
{ lv: 5, uuids: [7406] },
|
||||||
|
],
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
// ========== card_lv=3(5201-5205)范围扩大 ==========
|
||||||
|
|
||||||
|
// 5201 怒血勇士 — atked 全队攻击(范围扩大)
|
||||||
|
5201: {
|
||||||
|
uuid: 5201, name: "怒血勇士", path: "hk5", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 900, ap: 85,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
|
atked: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 1 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 2 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5202 援护射手 — atking 队友攻击(范围扩大)
|
||||||
|
5202: {
|
||||||
|
uuid: 5202, name: "援护射手", path: "ha1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Assassin, hp: 430, ap: 120,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal2].cd, ccd: 0 } },
|
||||||
|
atking: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 1, ap: 1 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 1 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 1 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5203 传承卫士 — dead 全队生命(范围扩大)
|
||||||
|
5203: {
|
||||||
|
uuid: 5203, name: "传承卫士", path: "hk1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, hp: 900, ap: 85,
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
dead: {
|
dead: {
|
||||||
|
6402: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5204 晨光贤者 — fstart 全队暴击(范围扩大)
|
||||||
|
5204: {
|
||||||
|
uuid: 5204, name: "晨光贤者", path: "hm2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 430, ap: 120,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid3].cd, ccd: 0 } },
|
||||||
|
fstart: {
|
||||||
|
6403: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5205 精准术士 — field 暴击光环(范围扩大)
|
||||||
|
5205: {
|
||||||
|
uuid: 5205, name: "精准术士", path: "hm3", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 430, ap: 120,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
||||||
|
field: [
|
||||||
|
{ lv: 1, uuids: [7004] },
|
||||||
|
{ lv: 3, uuids: [7204] },
|
||||||
|
{ lv: 5, uuids: [7404] },
|
||||||
|
],
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
// ========== card_lv=4(5301-5305)数值+范围 ==========
|
||||||
|
|
||||||
|
// 5301 复仇守护者 — atked 全队暴击(范围+数值)
|
||||||
|
5301: {
|
||||||
|
uuid: 5301, name: "复仇守护者", path: "hk2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 1200, ap: 113,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
|
||||||
|
atked: {
|
||||||
|
6403: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5302 破灭游侠 — atking 队友暴伤(范围+数值)
|
||||||
|
5302: {
|
||||||
|
uuid: 5302, name: "破灭游侠", path: "ha2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Assassin, hp: 573, ap: 160,
|
||||||
|
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
|
||||||
|
atking: {
|
||||||
|
6404: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5303 亡语刺客 — dead 全队暴击+暴伤(双效果)
|
||||||
|
5303: {
|
||||||
|
uuid: 5303, name: "亡语刺客", path: "hc3", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, grow_type: HGrowType.Assassin, hp: 1200, ap: 113,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
|
||||||
|
dead: {
|
||||||
|
6403: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
||||||
|
],
|
||||||
|
6404: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5304 战吼术士 — fstart 全队攻击+生命(双效果)
|
||||||
|
5304: {
|
||||||
|
uuid: 5304, name: "战吼术士", path: "hm1", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 573, ap: 160,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid1].cd, ccd: 0 } },
|
||||||
|
fstart: {
|
||||||
6401: [
|
6401: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 8 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
|
||||||
],
|
],
|
||||||
6402: [
|
6402: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
// 5305 领域贤者 — field 暴伤+攻速光环(双效果)
|
||||||
|
5305: {
|
||||||
|
uuid: 5305, name: "领域贤者", path: "hm2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 573, ap: 160,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
||||||
|
field: [
|
||||||
|
{ lv: 1, uuids: [7005, 7006] },
|
||||||
|
{ lv: 3, uuids: [7205, 7206] },
|
||||||
|
{ lv: 5, uuids: [7405, 7406] },
|
||||||
|
],
|
||||||
|
info: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
// ========== card_lv=5(5401-5405)双技能(+revive/field) ==========
|
||||||
|
|
||||||
|
// 5401 不灭战魂 — atked 攻击 + revive(双技能)
|
||||||
|
5401: {
|
||||||
|
uuid: 5401, name: "不灭战魂", path: "hk3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, hp: 1500, ap: 142,
|
||||||
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
|
atked: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
revive: [
|
revive: [
|
||||||
@@ -704,206 +663,90 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
|
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
|
||||||
{ lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 },
|
{ lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 },
|
||||||
],
|
],
|
||||||
info: "<color=#27AE60>✧</color>死亡全队攻血提升\n<color=#9B59B6>✦</color>死亡后原地重生",
|
info: "",
|
||||||
},
|
},
|
||||||
5043: {
|
// 5402 战歌游侠 — atking 攻击 + field 攻速光环(双技能)
|
||||||
uuid: 5043, name: "亡魂刺客", path: "hc1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
|
5402: {
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
|
uuid: 5402, name: "战歌游侠", path: "ha3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Assassin, hp: 717, ap: 200,
|
||||||
dead: {
|
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
|
||||||
6405: [
|
atking: {
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 5, buff_duration: 5 } },
|
6401: [
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 7, buff_duration: 5 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 10, buff_duration: 6 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 3 } },
|
||||||
],
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 4 } },
|
||||||
6403: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 6 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>死亡全队击晕与暴击",
|
field: [
|
||||||
},
|
{ lv: 1, uuids: [7006] },
|
||||||
5044: {
|
{ lv: 3, uuids: [7206] },
|
||||||
uuid: 5044, name: "血誓剑客", path: "hc2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, hp: 1200, ap: 113,
|
{ lv: 5, uuids: [7406] },
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
|
|
||||||
dead: {
|
|
||||||
6403: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
|
||||||
6404: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 7, buff_duration: 6 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
|
|
||||||
],
|
],
|
||||||
|
info: "",
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>死亡全队暴击与暴伤",
|
// 5403 凤凰祭司 — dead 攻击+护盾 + revive(双技能)
|
||||||
},
|
5403: {
|
||||||
|
uuid: 5403, name: "凤凰祭司", path: "hk4", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, hp: 1500, ap: 142,
|
||||||
// ===== 5045 不灭战魂(已启用)=====
|
|
||||||
// 遗志双核心:死亡一次释放【盾+HP】双遗产
|
|
||||||
// 数值节奏:盾 5→6→7→8,HP 10→12→15
|
|
||||||
5045: {
|
|
||||||
uuid: 5045, name: "不灭战魂", path: "hk3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, hp: 1500, ap: 60,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
|
||||||
// 死亡释放:5 层护盾 + 全队 +10 HP;复活 1 次血量 50%
|
|
||||||
dead: {
|
dead: {
|
||||||
|
6401: [
|
||||||
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 8 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
|
||||||
|
],
|
||||||
6301: [
|
6301: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 8 } },
|
|
||||||
],
|
|
||||||
6402: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
|
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
|
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
revive: [
|
revive: [
|
||||||
{ lv: 1, s_uuid: 6501, r_num: 1, upr: 0.5 },
|
{ lv: 1, s_uuid: 6501, r_num: 1, upr: 0.5 },
|
||||||
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
|
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
|
||||||
|
{ lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 },
|
||||||
],
|
],
|
||||||
info: "<color=#27AE60>✧</color>死亡全队加护盾\n<color=#27AE60>✧</color>重生: 每回合可重生1次, 恢复50%血量",
|
info: "",
|
||||||
},
|
},
|
||||||
|
// 5404 涅槃贤者 — fstart 护盾+攻击 + revive(双技能)
|
||||||
// ========== fstart 类(法师 · 战前增益) ==========
|
5404: {
|
||||||
5051: {
|
uuid: 5404, name: "涅槃贤者", path: "hm3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, hp: 717, ap: 200,
|
||||||
uuid: 5051, name: "占卜师", path: "hm1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, hp: 143, ap: 40,
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal3].cd, ccd: 0 } },
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid3].cd, ccd: 0 } },
|
|
||||||
// 战前计时 buff:每回合开始全队 AP 限时提升(+30/5s → +60/7s → +90/10s)
|
|
||||||
// 统一复用 7111 基础配置,通过 buff_value/buff_duration 覆写实现三档成长
|
|
||||||
fstart: {
|
|
||||||
6401: [
|
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111 } },
|
|
||||||
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111, buff_value: 60, buff_duration: 7 } },
|
|
||||||
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111, buff_value: 90, buff_duration: 10 } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
info: "<color=#27AE60>✧</color>回合开始全队提升攻击",
|
|
||||||
},
|
|
||||||
5052: {
|
|
||||||
uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
|
|
||||||
fstart: {
|
fstart: {
|
||||||
6301: [
|
6301: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
|
|
||||||
],
|
],
|
||||||
6402: [
|
6401: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 2 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
|
||||||
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 8 } },
|
||||||
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>回合开始全队获得护盾",
|
revive: [
|
||||||
},
|
{ lv: 1, s_uuid: 6501, r_num: 1, upr: 0.5 },
|
||||||
// 5052: {
|
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
|
||||||
// uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
|
{ lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 },
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
|
|
||||||
// fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 2 } }],
|
|
||||||
// info: "战斗开始时为全队添加2层护盾"
|
|
||||||
// },
|
|
||||||
// 5053: {
|
|
||||||
// uuid: 5053, name: "血盟法师", path: "hm3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
|
||||||
// fstart: [{ s_uuid: 6402, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 100 } }],
|
|
||||||
// info: "战斗开始时为全队永久提升最大生命值100点"
|
|
||||||
// },
|
|
||||||
// 5054: {
|
|
||||||
// uuid: 5054, name: "暴击法师", path: "hm4", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid3].cd, ccd: 0 } },
|
|
||||||
// fstart: [{ s_uuid: 6403, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 20 } }],
|
|
||||||
// info: "战斗开始时为全队永久提升暴击率20%"
|
|
||||||
// },
|
|
||||||
// 5055: {
|
|
||||||
// uuid: 5055, name: "毁灭法师", path: "hm5", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, hp: 573, ap: 160,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid1].cd, 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: {
|
|
||||||
// uuid: 5056, name: "预言法师", path: "hm6", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, hp: 717, ap: 200,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal3].cd, 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: {
|
|
||||||
// uuid: 5061, name: "亡语法师", path: "hm1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
|
||||||
// field: [7015],
|
|
||||||
// info: "驻场期间全队死亡触发技能次数+1,死亡后光环消失"
|
|
||||||
// },
|
|
||||||
5061: {
|
|
||||||
uuid: 5061, name: "战歌法师", path: "hm3", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
|
|
||||||
field: [
|
|
||||||
{ lv: 1, uuids: [7002, 7006] },
|
|
||||||
{ lv: 2, uuids: [7202, 7006] },
|
|
||||||
{ lv: 4, uuids: [7202, 7206] },
|
|
||||||
],
|
],
|
||||||
info: "<color=#27AE60>✧</color>光环全队提升攻击\n<color=#9B59B6>✦</color>追加提升攻速",
|
info: "",
|
||||||
},
|
},
|
||||||
|
// 5405 圣言诗人 — atking 治疗 + field 生命光环(双技能)
|
||||||
// ========== fend + atking 类(辅助 · 治疗续航 + 回合增益) ==========
|
5405: {
|
||||||
5071: {
|
uuid: 5405, name: "圣言诗人", path: "hh1", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Support, hp: 717, ap: 200,
|
||||||
uuid: 5071, name: "治愈牧师", path: "hh1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, hp: 143, ap: 40,
|
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal2].cd, ccd: 0 } },
|
||||||
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal3].cd, ccd: 0 } },
|
|
||||||
// 成长主线:治疗量 200→250→300%,5级 hit_count 1→2(全队)
|
|
||||||
atking: {
|
atking: {
|
||||||
6302: [
|
6302: [
|
||||||
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 200 } },
|
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 200 } },
|
||||||
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 250 } },
|
{ lv: 3, s_lv: SkillLv.Lv2, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 250 } },
|
||||||
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 300 } },
|
{ lv: 5, s_lv: SkillLv.Lv3, t_num: 4, overrides: { TGroup: TGroup.Team, ap: 300 } },
|
||||||
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 300 } },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
info: "<color=#27AE60>✧</color>攻击治疗低血队友",
|
field: [
|
||||||
|
{ lv: 1, uuids: [7007] },
|
||||||
|
{ lv: 3, uuids: [7207] },
|
||||||
|
{ lv: 5, uuids: [7407] },
|
||||||
|
],
|
||||||
|
info: "",
|
||||||
},
|
},
|
||||||
// 5072: {
|
|
||||||
// uuid: 5072, name: "小金库", path: "hh2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid1].cd, 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: {
|
|
||||||
// uuid: 5073, name: "强化牧师", path: "hh3", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal3].cd, 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: {
|
|
||||||
// uuid: 5074, name: "生命牧师", path: "hh4", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, hp: 573, ap: 160,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal3].cd, 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: {
|
|
||||||
// uuid: 5075, name: "全能牧师", path: "hh5", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, hp: 717, ap: 200,
|
|
||||||
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal2].cd, 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最大生命值"
|
|
||||||
// },
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*=============怪物配置列表================
|
*=============怪物配置列表================
|
||||||
@@ -982,30 +825,16 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const HeroList: number[] = [
|
export const HeroList: number[] = [
|
||||||
// atked 类(战士 · 自身强化)
|
// card_lv=1
|
||||||
5011,
|
5001, 5002, 5003, 5004, 5005,
|
||||||
5012,
|
// card_lv=2
|
||||||
5013, 5014, 5015, 5016,
|
5101, 5102, 5103, 5104, 5105,
|
||||||
// atking 刺客(自身强化)
|
// card_lv=3
|
||||||
5021,
|
5201, 5202, 5203, 5204, 5205,
|
||||||
5022,
|
// card_lv=4
|
||||||
5023,
|
5301, 5302, 5303, 5304, 5305,
|
||||||
// atking 射手(队友强化)
|
// card_lv=5
|
||||||
5031,
|
5401, 5402, 5403, 5404, 5405,
|
||||||
5032,
|
|
||||||
5033,
|
|
||||||
// dead 类(死亡遗产)
|
|
||||||
5041, 5042, 5043, 5044,
|
|
||||||
5045,
|
|
||||||
// fstart 类(法师 · 战前增益)
|
|
||||||
5051,
|
|
||||||
5052,
|
|
||||||
// 5053, 5054, 5055, 5056,
|
|
||||||
// field 类(法师 · 驻场光环)
|
|
||||||
5061,
|
|
||||||
// fend + atking 类(辅助 · 治疗 + 回合增益)
|
|
||||||
5071,
|
|
||||||
// 5072, 5073, 5074, 5075,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// ==================== 英雄强度评分公式 ====================
|
// ==================== 英雄强度评分公式 ====================
|
||||||
@@ -1485,7 +1314,7 @@ export function calcHeroPower(hero: heroInfo, targetLv: number = 1): number {
|
|||||||
* @param baseScore 基准分
|
* @param baseScore 基准分
|
||||||
* @returns 以基准英雄为 baseScore 的相对分数
|
* @returns 以基准英雄为 baseScore 的相对分数
|
||||||
*/
|
*/
|
||||||
export function calcHeroPowerNormalized(hero: heroInfo, targetLv: number = 1, baseHeroId: number = 5011, baseScore: number = 100): number {
|
export function calcHeroPowerNormalized(hero: heroInfo, targetLv: number = 1, baseHeroId: number = 5001, baseScore: number = 100): number {
|
||||||
const baseHero = HeroInfo[baseHeroId];
|
const baseHero = HeroInfo[baseHeroId];
|
||||||
if (!baseHero) return 0;
|
if (!baseHero) return 0;
|
||||||
const basePower = calcHeroPower(baseHero, targetLv);
|
const basePower = calcHeroPower(baseHero, targetLv);
|
||||||
|
|||||||
@@ -557,13 +557,19 @@ export class HeroBoxComp extends CCComp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ---- AP / HP ----
|
// ---- AP / HP ----
|
||||||
|
// plus(附加值)= 最终值 - 当前等级基础值;基础值 = 1 级原始 base + 等级成长 + ap/hp_bonus 一次性奖励。
|
||||||
|
// Why: base_ap/base_hp 是不含任何等级增长的原始值,直接用 final-base 会把升级带来的
|
||||||
|
// 属性增长也计入增量。这里补齐等级增长作为基准,使 plus 仅反映 buff/光环等临时增益。
|
||||||
|
const lv = Math.max(1, Math.floor(this.model.lv ?? 1));
|
||||||
|
const grow = hero ? calcGrowBonus(hero, lv) : { ap: 0, hp: 0 };
|
||||||
|
|
||||||
const finalAp = Math.max(0, Math.floor(this.model.getFinalAp()));
|
const finalAp = Math.max(0, Math.floor(this.model.getFinalAp()));
|
||||||
const baseAp = Math.max(0, Math.floor(this.model.base_ap ?? 0));
|
const lvBaseAp = Math.max(0, Math.floor((this.model.base_ap ?? 0) + grow.ap + HeroBoxComp.sumBonus(hero?.ap_bonus, lv)));
|
||||||
this.setStatRow(this.ap_all_label, this.ap_plus_label, finalAp, finalAp - baseAp);
|
this.setStatRow(this.ap_all_label, this.ap_plus_label, finalAp, finalAp - lvBaseAp);
|
||||||
|
|
||||||
const finalHp = Math.max(0, Math.floor(this.model.getFinalHpMax()));
|
const finalHp = Math.max(0, Math.floor(this.model.getFinalHpMax()));
|
||||||
const baseHp = Math.max(0, Math.floor(this.model.base_hp ?? 0));
|
const lvBaseHp = Math.max(0, Math.floor((this.model.base_hp ?? 0) + grow.hp + HeroBoxComp.sumBonus(hero?.hp_bonus, lv)));
|
||||||
this.setStatRow(this.hp_all_label, this.hp_plus_label, finalHp, finalHp - baseHp);
|
this.setStatRow(this.hp_all_label, this.hp_plus_label, finalHp, finalHp - lvBaseHp);
|
||||||
|
|
||||||
// ---- 图标(UUID 变化时重新加载首帧动画) ----
|
// ---- 图标(UUID 变化时重新加载首帧动画) ----
|
||||||
if (hero && heroUuid !== this.iconHeroUuid) {
|
if (hero && heroUuid !== this.iconHeroUuid) {
|
||||||
|
|||||||
Reference in New Issue
Block a user