feat(hero): 新增英雄等级进化配置与属性技能变更逻辑

实现了英雄从2级开始的等级进化系统,支持替换普攻技能、覆盖各类触发技能、添加额外属性加成,同时在英雄配置中添加了进化配置的类型定义与示例配置
This commit is contained in:
walkpan
2026-05-28 22:27:38 +08:00
parent 9ddf5b99c5
commit 62a92ab9b6
2 changed files with 66 additions and 0 deletions

View File

@@ -147,6 +147,7 @@ export interface heroInfo {
dis?: number; // 攻击距离(像素)
speed?: number; // 移动速度(像素/秒)
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
evolve?: Record<number, HeroEvolve>; // 等级进化配置key=等级(2,3,...)
info: string; // 描述文案
}
/**
@@ -159,6 +160,24 @@ export interface HSkillInfo {
ccd:number; // 占位当前cd用于cd计时
overrides?: SkillOverrides; // 角色专属参数覆盖
}
/**
* 英雄等级进化配置
* 定义英雄在某等级时技能/属性的变化
*/
export interface HeroEvolve {
/** 替换普攻技能(清除旧技能,添加新技能) */
skill?: { s_uuid: number; cd?: number; overrides?: SkillOverrides };
/** 覆盖触发技能(完全替换该类型的触发配置) */
atking?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
atked?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
dead?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
fstart?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
fend?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
revive?: { s_uuid: number; r_num: number; upr: number };
/** 额外属性加成(在等级倍率基础上叠加) */
ap_bonus?: number;
hp_bonus?: number;
}
/*
*=============英雄配置列表================
* 职业触发规则 (v3)
@@ -217,6 +236,11 @@ export const HeroInfo: Record<number, heroInfo> = {
hp:450,ap:25,
skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.VerySlow1].cd,ccd:0}},
atked:[{s_uuid:6301,t_num:2}],
evolve:{
2:{atked:[{s_uuid:6301,t_num:1,overrides:{TGroup:TGroup.Team,ap:3,hit_count:3}}]},
3:{atked:[{s_uuid:6301,t_num:1,overrides:{TGroup:TGroup.Team,ap:5,hit_count:5}}],
dead:[{s_uuid:6402,t_num:1,overrides:{ap:40}}],ap_bonus:20,hp_bonus:200},
},
info:"高血量坦克受击2次自动加护盾"},
5008:{uuid:5008,name:"守护骑士",path:"hk2", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Melee,
@@ -250,6 +274,12 @@ export const HeroInfo: Record<number, heroInfo> = {
skills:{6007:{uuid:6007,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow1].cd,ccd:0}},
field:[6405],
atking:[{s_uuid:6405,t_num:2}],
evolve:{
2:{atking:[{s_uuid:6105,t_num:3,overrides:{ap:100,frz:20}}]},
3:{skill:{s_uuid:6105,overrides:{frz:15,hit_count:6}},
atking:[{s_uuid:6105,t_num:1,overrides:{ap:150,frz:35,hit_count:8}}],
ap_bonus:30},
},
info:"驻场提供冰冻光环每2次普攻叠加冰冻概率"},
5107:{uuid:5107,name:"霜寒法师",path:"hm5", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
@@ -282,6 +312,11 @@ export const HeroInfo: Record<number, heroInfo> = {
hp:120,ap:40,
skills:{6004:{uuid:6004,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Mid1].cd,ccd:0}},
atking:[{s_uuid:6302,t_num:2}],
evolve:{
2:{atking:[{s_uuid:6302,t_num:1,overrides:{ap:250}}]},
3:{atking:[{s_uuid:6302,t_num:1,overrides:{ap:400}}],
revive:{s_uuid:6501,r_num:1,upr:0.5},hp_bonus:100},
},
info:"每2次普攻后治疗全队恢复攻击力300%的生命值"},
5304:{uuid:5304,name:"神圣医师",path:"hh2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,