feat(hero): 优化英雄详情页技能展示逻辑
1. 新增带等级和升级预览的技能描述渲染函数 2. 为技能档位添加专属命名,支持按触发语境显示技能名 3. 给所有技能档位补充技能等级标注,优化面板展示 4. 新增200个游戏技能名称配置文件
This commit is contained in:
@@ -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增量固定1,5级阈值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增益固定1,5级 hit_count 1→2(2英雄环境=全队)
|
||||
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 }],
|
||||
|
||||
Reference in New Issue
Block a user