feat(hero): 优化英雄详情页技能展示逻辑

1. 新增带等级和升级预览的技能描述渲染函数
2. 为技能档位添加专属命名,支持按触发语境显示技能名
3. 给所有技能档位补充技能等级标注,优化面板展示
4. 新增200个游戏技能名称配置文件
This commit is contained in:
panFD
2026-08-08 23:27:47 +08:00
parent 6cfe734724
commit ac14b8563c
4 changed files with 522 additions and 102 deletions

View File

@@ -145,6 +145,70 @@ export const SkillTriggerDesc = {
[SkillTriggerType.Revive]: "复活时",
}
/**
* 技能等级枚举(与英雄等级同标尺 1~5
* 配置触发技能档位时填入,表达"英雄升到 lv 级 → 该技能提升到 s_lv 级"的成长节奏,
* 与 LvTriggerEntry.lv 并列展示,便于 UI 面板显示"技能Lv.x"。
*/
export enum SkillLv {
Lv1 = 1,
Lv2 = 2,
Lv3 = 3,
Lv4 = 4,
Lv5 = 5,
}
/**
* 触发技能标准命名表(按触发方式 → 技能ID 分组命名)。
* 同一技能在不同触发语境下使用不同名称,贴合流派语义:
* atked=战士反击系 / atking=刺客·射手追击系 / dead=死亡遗产系 / fstart=法师战吼系 / revive=涅槃。
* 命名参考主流 Roguelike/自走棋技能风格(盾墙、复仇、嗜血、战吼、遗志、凤凰涅槃等)。
*/
export const TriggerSkillNameSet: Record<string, Record<number, string>> = {
[SkillTriggerType.Atked]: {
6301: "不屈壁垒", // 受击获得护盾,越挨打越硬
6302: "嗜血反击", // 受击恢复生命
6401: "愈战愈勇", // 受击永久提升攻击
6402: "钢筋铁骨", // 受击永久提升生命
6403: "复仇之心", // 受击限时提升暴击
6404: "以牙还牙", // 受击限时提升暴伤
6405: "震慑反扑", // 受击限时提升击晕
},
[SkillTriggerType.Atking]: {
6301: "攻守兼备", // 攻击为自己叠加护盾
6302: "治愈祷言", // 攻击治疗低血队友
6401: "嗜血连击", // 攻击永久提升攻击(滚雪球)
6403: "致命节奏", // 攻击限时提升暴击
6404: "猎手直觉", // 攻击提升暴伤
},
[SkillTriggerType.Dead]: {
6301: "守护遗志", // 死亡全队获得护盾
6401: "英魂永驻", // 死亡全队提升攻击
6402: "生命馈赠", // 死亡全队提升生命
6403: "致命遗产", // 死亡全队提升暴击
6404: "破灭遗产", // 死亡全队提升暴伤
6405: "震撼遗言", // 死亡全队提升击晕
},
[SkillTriggerType.FStart]: {
6301: "圣光护盾", // 开局全队护盾
6401: "破晓战吼", // 开局全队攻击提升
6402: "活力祝福", // 开局全队生命提升
},
[SkillTriggerType.Revive]: {
6501: "凤凰涅槃", // 死亡后原地复活
},
}
/**
* 查询触发技能在指定触发语境下的标准名称。
* @param type 触发类型SkillTriggerType
* @param s_uuid 技能ID
* @returns 语境专属名称;未配置时回退 SkillSet 通用名称
*/
export function getTriggerSkillName(type: SkillTriggerType, s_uuid: number): string {
return TriggerSkillNameSet[type]?.[s_uuid] ?? SkillSet[s_uuid]?.name ?? "";
}
/**
* 英雄/怪物基础信息接口
*/
@@ -191,9 +255,11 @@ export interface HSkillInfo {
/**
* 触发技能单档配置:达到 lv 级时此档参数生效t_num/overrides 可随等级变化)。
* s_lv 标注此档对应的技能等级SkillLv 枚举),表达"英雄 lv 级 → 技能 s_lv 级"的成长节奏。
*/
export interface LvTriggerEntry {
lv: number; // 达到该英雄等级时解锁此档
s_lv?: SkillLv; // 此档对应的技能等级(标注用,便于面板显示"技能Lv.x"
t_num: number;
overrides?: SkillOverrides;
}
@@ -253,9 +319,9 @@ export const HeroInfo: Record<number, heroInfo> = {
// 成长主线:护盾层数 4→5→6等效减伤 57%→67%
atked: {
6301: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
{ lv: 2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ lv: 4, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 6 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 6 } },
],
},
hp_bonus: [{ lv: 3, value: 150 }, { lv: 5, value: 150 }],
@@ -267,13 +333,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: {
6302: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 250 } },
{ lv: 2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 300 } },
{ lv: 4, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 350 } },
{ lv: 5, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 250 } },
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 300 } },
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 350 } },
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } },
],
6402: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
],
},
hp_bonus: [{ lv: 3, value: 150 }],
@@ -284,13 +350,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: {
6301: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 3 } },
{ lv: 2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
{ lv: 4, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ lv: 5, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ 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, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 2 } },
],
},
hp_bonus: [{ lv: 3, value: 150 }],
@@ -301,13 +367,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
atked: {
6401: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ lv: 5, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ 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, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 150 }],
@@ -318,15 +384,15 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: {
6301: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 3 } },
{ lv: 2, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 4 } },
{ lv: 4, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ lv: 5, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 5 } },
{ 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, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 200 }],
@@ -337,13 +403,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: {
6401: [
{ lv: 1, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ lv: 5, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ 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, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7017, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
ap_bonus: [{ lv: 3, value: 20 }],
@@ -385,8 +451,8 @@ export const HeroInfo: Record<number, heroInfo> = {
// 成长主线滚雪球AP增量固定15级阈值5→4刀
atking: {
6401: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ lv: 5, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ 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 } },
],
},
ap_bonus: [{ lv: 3, value: 20 }],
@@ -398,13 +464,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
atking: {
6403: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ lv: 5, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 1 } },
],
},
ap_bonus: [{ lv: 3, value: 20 }],
@@ -416,13 +482,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast1].cd, ccd: 0 } },
atking: {
6401: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ lv: 5, t_num: 4, overrides: { TGroup: TGroup.Self, ap: 1 } },
{ 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: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Self, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 100 }],
@@ -454,8 +520,8 @@ export const HeroInfo: Record<number, heroInfo> = {
// 成长主线AP增益固定15级 hit_count 1→22英雄环境=全队)
atking: {
6401: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 1, ap: 1 } },
{ lv: 5, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 1 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 60 }],
@@ -466,14 +532,14 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
atking: {
6403: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ lv: 5, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 1 } },
{ lv: 4, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 80 }],
@@ -490,14 +556,14 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
atking: {
6401: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 1 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
{ lv: 5, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, ap: 1 } },
{ 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, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7020, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 100 }],
@@ -561,10 +627,10 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
dead: {
6301: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
{ 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: 4, 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 } },
],
},
hp_bonus: [{ lv: 3, value: 100 }],
@@ -575,12 +641,12 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
dead: {
6401: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
],
6402: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
{ 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: [
@@ -595,14 +661,14 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
dead: {
6405: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 10, buff_duration: 6 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 5, buff_duration: 5 } },
{ lv: 2, s_lv: SkillLv.Lv2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 7, buff_duration: 5 } },
{ lv: 4, s_lv: SkillLv.Lv3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7017, buff_value: 10, buff_duration: 6 } },
],
6403: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 6 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 100 }],
@@ -613,14 +679,14 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast3].cd, ccd: 0 } },
dead: {
6403: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 5, buff_duration: 5 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 7, buff_duration: 5 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7012, buff_value: 10, buff_duration: 6 } },
{ 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, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 5, buff_duration: 5 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 7, buff_duration: 6 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7020, buff_value: 10, buff_duration: 6 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 3, value: 150 }],
@@ -636,15 +702,15 @@ export const HeroInfo: Record<number, heroInfo> = {
// 死亡释放5 层护盾 + 全队 +10 HP复活 1 次血量 50%
dead: {
6301: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 7 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 8 } },
{ 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: 4, 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, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 10 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 12 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 15 } },
{ 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: [
@@ -662,9 +728,9 @@ export const HeroInfo: Record<number, heroInfo> = {
// 统一复用 7111 基础配置,通过 buff_value/buff_duration 覆写实现三档成长
fstart: {
6401: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111 } },
{ lv: 3, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111, buff_value: 60, buff_duration: 7 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, timed_buff_id: 7111, buff_value: 90, buff_duration: 10 } },
{ 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 } },
],
},
hp_bonus: [{ lv: 2, value: 80 }, { lv: 4, value: 80 }],
@@ -675,13 +741,13 @@ export const HeroInfo: Record<number, heroInfo> = {
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
fstart: {
6301: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } },
{ lv: 2, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } },
{ lv: 4, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } },
{ lv: 5, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } },
{ 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: 4, 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 } },
],
6402: [
{ lv: 1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 2 } },
{ lv: 1, s_lv: SkillLv.Lv1, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 2 } },
],
},
hp_bonus: [{ lv: 3, value: 80 }],
@@ -751,10 +817,10 @@ export const HeroInfo: Record<number, heroInfo> = {
// 成长主线:治疗量 200→250→300%5级 hit_count 1→2全队
atking: {
6302: [
{ lv: 1, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 200 } },
{ lv: 2, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 250 } },
{ lv: 4, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 300 } },
{ lv: 5, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 300 } },
{ 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: 4, s_lv: SkillLv.Lv3, t_num: 5, overrides: { TGroup: TGroup.Team, ap: 300 } },
{ lv: 5, s_lv: SkillLv.Lv4, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 2, ap: 300 } },
],
},
hp_bonus: [{ lv: 3, value: 80 }],