refactor(skill): 重构技能数据结构并支持技能等级
- 将 HeroAttrsComp 中的技能数组和独立 CD 映射重构为统一的 HSkillInfo 对象记录 - 在 SDataCom 中新增 skill_lv 字段,并在 Skill 加载时传入技能等级 - 更新 Hero 和 Monster 初始化逻辑以适配新的技能数据结构 - 修改 SCastSystem 以传递技能等级并影响技能效果 - 更新 heroSet 配置,将 skills 字段类型改为 Record<number, HSkillInfo>
This commit is contained in:
@@ -67,12 +67,18 @@ export interface heroInfo {
|
||||
ap: number; // 攻击力
|
||||
// dis: number; // 攻击距离(像素)
|
||||
speed: number; // 移动速度(像素/秒)
|
||||
skills: number[]; // 携带技能ID列表
|
||||
slvs:number[]; // 技能等级
|
||||
cds:number[]; // 技能cd
|
||||
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
|
||||
info: string; // 描述文案
|
||||
}
|
||||
|
||||
/**
|
||||
* 英雄/怪物基础信息接口
|
||||
*/
|
||||
export interface HSkillInfo {
|
||||
uuid: number; // 唯一标识(英雄5000段,怪物5200段)
|
||||
lv:number; // 技能等级
|
||||
cd:number; // 技能cd
|
||||
ccd:number; // 占位当前cd,用于cd计时
|
||||
}
|
||||
/*
|
||||
*=============英雄配置列表================
|
||||
* 英雄规则设定
|
||||
@@ -91,47 +97,47 @@ export interface heroInfo {
|
||||
export const HeroInfo: Record<number, heroInfo> = {
|
||||
// ========== 近战英雄 ==========
|
||||
5001:{uuid:5001,name:"盾战士",path:"hk1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,hp:450,ap:25,speed:180,
|
||||
skills:[6001,6301],slvs:[1,1],cds:[0.75,5],info:"近战,魔法盾 坦克"},
|
||||
skills:{6001:{uuid:6001,lv:1,cd:0.75,ccd:0},6301:{uuid:6301,lv:1,cd:5,ccd:0}},info:"近战,魔法盾 坦克"},
|
||||
5002:{uuid:5002,name:"圣骑士",path:"hk3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Melee,hp:1350,ap:75,speed:180,
|
||||
skills:[6001,6305],slvs:[1,1],cds:[0.75,5],info:"近战,群体护盾 坦克"},
|
||||
skills:{6001:{uuid:6001,lv:1,cd:0.75,ccd:0},6305:{uuid:6305,lv:1,cd:5,ccd:0}},info:"近战,群体护盾 坦克"},
|
||||
5003:{uuid:5003,name:"风行剑士",path:"hk4", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,hp:500,ap:100,speed:180,
|
||||
skills:[6001,6014],slvs:[1,1],cds:[1.1,5],info:"近战,闪击 近战dps"},
|
||||
skills:{6001:{uuid:6001,lv:1,cd:1.1,ccd:0},6014:{uuid:6014,lv:1,cd:5,ccd:0}},info:"近战,闪击 近战dps"},
|
||||
5004:{uuid:5004,name:"刺客",path:"hc1", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:1000,ap:200,speed:180,
|
||||
skills:[6001,6104],slvs:[1,1],cds:[1.1,5],info:"近战,火焰击 近战dps"},
|
||||
skills:{6001:{uuid:6001,lv:1,cd:1.1,ccd:0},6104:{uuid:6104,lv:1,cd:5,ccd:0}},info:"近战,火焰击 近战dps"},
|
||||
// 5005:{uuid:5005,name:"自然骑士",path:"hk2", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:1000,ap:200,speed:180,
|
||||
// skills:[6001,6302],slvs:[1,1],cds:[1.1,5],info:"治疗近战,火焰击 近战dps"},
|
||||
|
||||
|
||||
// ========== 法师英雄 ==========
|
||||
5101:{uuid:5101,name:"奥术法师",path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:150,ap:60,speed:100,
|
||||
skills:[6005,6012],slvs:[1,1],cds:[1.4,5],info:"冰球,冰锥 远法dps"},
|
||||
skills:{6005:{uuid:6005,lv:1,cd:1.4,ccd:0},6012:{uuid:6012,lv:1,cd:5,ccd:0}},info:"冰球,冰锥 远法dps"},
|
||||
5102:{uuid:5012,name:"火焰法师",path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:300,ap:120,speed:100,
|
||||
skills:[6004,6013],slvs:[1,1],cds:[1.4,5],info:"火击,火球 远法dps"},
|
||||
skills:{6004:{uuid:6004,lv:1,cd:1.4,ccd:0},6013:{uuid:6013,lv:1,cd:5,ccd:0}},info:"火击,火球 远法dps"},
|
||||
5103:{uuid:5013,name:"冰法法师",path:"hm4", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:450,ap:180,speed:100,
|
||||
skills:[6003,6012],slvs:[1,1],cds:[1.4,5],info:"冰击,冰锥 远法dps"},
|
||||
skills:{6003:{uuid:6003,lv:1,cd:1.4,ccd:0},6012:{uuid:6012,lv:1,cd:5,ccd:0}},info:"冰击,冰锥 远法dps"},
|
||||
5104:{uuid:5104,name:"寒霜术士",path:"hm4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:600,ap:240,speed:100,
|
||||
skills:[6012,6202],slvs:[1,1],cds:[1.4,5],info:"冰锥,冰刺 远法dps"},
|
||||
skills:{6012:{uuid:6012,lv:1,cd:1.4,ccd:0},6202:{uuid:6202,lv:1,cd:5,ccd:0}},info:"冰锥,冰刺 远法dps"},
|
||||
5105:{uuid:5105,name:"炎爆法师",path:"hm3", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,hp:750,ap:300,speed:100,
|
||||
skills:[6013,6201],slvs:[1,1],cds:[1.4,5],info:"火球,陨石术 远法dps" },
|
||||
skills:{6013:{uuid:6013,lv:1,cd:1.4,ccd:0},6201:{uuid:6201,lv:1,cd:5,ccd:0}},info:"火球,陨石术 远法dps" },
|
||||
|
||||
// ========== 远程英雄 ==========
|
||||
5201:{uuid:5201,name:"射手",path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:150,ap:60,speed:120,
|
||||
skills:[6002,6011],slvs:[1,1],cds:[1.3,5],info:"普通射击,暴射 远dps"},
|
||||
skills:{6002:{uuid:6002,lv:1,cd:1.3,ccd:0},6011:{uuid:6011,lv:1,cd:5,ccd:0}},info:"普通射击,暴射 远dps"},
|
||||
|
||||
5202:{uuid:5202,name:"游侠",path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:450,ap:180,speed:120,
|
||||
skills:[6011,6101],slvs:[1,1],cds:[1.3,5],info:"暴射,光箭 远dps"},
|
||||
skills:{6011:{uuid:6011,lv:1,cd:1.3,ccd:0},6101:{uuid:6101,lv:1,cd:5,ccd:0}},info:"暴射,光箭 远dps"},
|
||||
|
||||
// ========== 腐竹英雄 ==========
|
||||
5301:{uuid:5301,name:"牧师",path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:150,ap:20,speed:100,
|
||||
skills:[6012,6302],slvs:[1,1],cds:[1,5],info:"冰锥1,治疗 远辅助" },
|
||||
skills:{6012:{uuid:6012,lv:1,cd:1,ccd:0},6302:{uuid:6302,lv:1,cd:5,ccd:0}},info:"冰锥1,治疗 远辅助" },
|
||||
|
||||
5302:{uuid:5302,name:"战地医师",path:"hz1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Mid,hp:300,ap:40,speed:100,
|
||||
skills:[6012,6304],slvs:[1,1],cds:[1,5],info:"冰锥1,群体治疗 远辅助"},
|
||||
skills:{6012:{uuid:6012,lv:1,cd:1,ccd:0},6304:{uuid:6304,lv:1,cd:5,ccd:0}},info:"冰锥1,群体治疗 远辅助"},
|
||||
|
||||
5303:{uuid:5303,name:"守护祭司",path:"ha3", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Mid,hp:600,ap:80,speed:100,
|
||||
skills:[6002,6004],slvs:[1,1],cds:[1,5],info:"普通射击,单体攻击buff 射手辅助"},
|
||||
skills:{6002:{uuid:6002,lv:1,cd:1,ccd:0},6004:{uuid:6004,lv:1,cd:5,ccd:0}},info:"普通射击,单体攻击buff 射手辅助"},
|
||||
5304:{uuid:5304,name:"秘法精灵",path:"ha3", fac:FacSet.HERO,cards_lv:6,lv:1,type:HType.Long,hp:900,ap:120,speed:100,
|
||||
skills:[6002,6105],slvs:[1,1],cds:[1,5],info:"普通射击,群体攻击buff 射手辅助"},
|
||||
skills:{6002:{uuid:6002,lv:1,cd:1,ccd:0},6105:{uuid:6105,lv:1,cd:5,ccd:0}},info:"普通射击,群体攻击buff 射手辅助"},
|
||||
|
||||
|
||||
|
||||
@@ -149,20 +155,20 @@ export const HeroInfo: Record<number, heroInfo> = {
|
||||
|
||||
//============== 兽人系列 ===============
|
||||
// 1. 基础近战型
|
||||
6001:{uuid:6001,name:"兽人战士",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:[6001,6003],slvs:[1,1],cds:[0.65,10],info:""},
|
||||
6001:{uuid:6001,name:"兽人战士",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
// 2. 快速突击型
|
||||
6002:{uuid:6002,name:"兽人斥候",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:[6001,6003],slvs:[1,1],cds:[0.65,10],info:""},
|
||||
6002:{uuid:6002,name:"兽人斥候",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
// 3. 重型坦克型
|
||||
6003:{uuid:6003,name:"兽人卫士",path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:350,ap:30,speed:120,skills:[6001,6003],slvs:[1,1],cds:[2,10],info:""},
|
||||
6003:{uuid:6003,name:"兽人卫士",path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:350,ap:30,speed:120,skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
|
||||
// 4. 远程骚扰型
|
||||
6004:{uuid:6004,name:"兽人射手",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:80,skills:[6001,6003],slvs:[1,1],cds:[1.5,10],info:""},
|
||||
6004:{uuid:6004,name:"兽人射手",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:80,skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
|
||||
// 5. 特殊机制型
|
||||
6005:{uuid:6005,name:"兽人自爆兵",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:[6001,6003],slvs:[1,1],cds:[0.65,10],info:""},
|
||||
6006:{uuid:6006,name:"兽人召唤师",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:[6001,6003],slvs:[1,1],cds:[1,10],info:""},
|
||||
6007:{uuid:6007,name:"兽人祭司",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:[6001,6003],slvs:[1,1],cds:[1,10],info:""},
|
||||
6008:{uuid:6008,name:"兽人图腾师",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:[6001,6003],slvs:[1,1],cds:[1,10],info:""},
|
||||
6005:{uuid:6005,name:"兽人自爆兵",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:180,skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
6006:{uuid:6006,name:"兽人召唤师",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
6007:{uuid:6007,name:"兽人祭司",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
6008:{uuid:6008,name:"兽人图腾师",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:80,skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||
// 6. 精英/BOSS型
|
||||
6009:{uuid:6009,name:"兽人首领(BOSS)",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:100,skills:[6002,6004],slvs:[1,1],cds:[1,10],info:""},
|
||||
6009:{uuid:6009,name:"兽人首领(BOSS)",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:100,skills:{6002:{uuid:6002,lv:1,cd:1,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},info:""},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user