Files
pixelheros/assets/script/game/common/config/heroSet.ts
walkpan 268c6e155a refactor(英雄&卡池): 修改英雄等级字段为pool_lv并优化卡池配置
重构heroInfo接口,将原cards_lv字段重命名为pool_lv,同步更新所有英雄配置与注释;修正HListComp的等级显示逻辑,新增按pool_lv分级的卡池配置。
2026-05-23 15:09:45 +08:00

365 lines
17 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { v3 } from "cc"
import { BoxSet, FacSet } from "./GameSet"
import { SkillOverrides, TGroup } from "./SkillSet"
export enum HType {
Melee = 0,
Mid = 1,
Long = 2,
}
export const HTypeName ={
0:"近战",
1:"中程",
2:"远程",
}
/**
* 英雄攻击速度分级配置 (数值为攻击间隔cd越小越快)
*/
export enum AtkSpeedLv {
VeryFast1 = 1, VeryFast2 = 2,
Fast1 = 3, Fast2 = 4,
Normal1 = 5, Normal2 = 6,
Slow1 = 7, Slow2 = 8,
VerySlow1 = 9, VerySlow2 = 10,
}
export const AtkSpeedSet = {
[AtkSpeedLv.VeryFast1]: { name: "极速+", cd: 0.15 },
[AtkSpeedLv.VeryFast2]: { name: "极速", cd: 0.30 },
[AtkSpeedLv.Fast1]: { name: "快速+", cd: 0.50 },
[AtkSpeedLv.Fast2]: { name: "快速", cd: 0.70 },
[AtkSpeedLv.Normal1]: { name: "普通+", cd: 0.90 },
[AtkSpeedLv.Normal2]: { name: "普通", cd: 1.10 },
[AtkSpeedLv.Slow1]: { name: "慢+", cd: 1.50 },
[AtkSpeedLv.Slow2]: { name: "慢", cd: 1.80 },
[AtkSpeedLv.VerySlow1]: { name: "很慢+", cd: 2.30 },
[AtkSpeedLv.VerySlow2]: { name: "很慢", cd: 2.80 },
};
export const HeroPos={
0:{pos:v3(-320,BoxSet.GAME_LINE,0)},
1:{pos:v3(0,BoxSet.GAME_LINE,0)},
2:{pos:v3(0,BoxSet.GAME_LINE,0)},
}
export const FormationPointX = {
[HType.Melee]: -20,
[HType.Mid]: 100,
[HType.Long]: 100,
} as const;
export const HeroDisVal: Record<HType.Melee | HType.Mid | HType.Long, number> = {
[HType.Melee]: 120,
[HType.Mid]: 720,
[HType.Long]: 720,
}
export const resolveFormationTargetX = (fac: FacSet, type: HType): number => {
const resolvedRangeType = type as HType.Melee | HType.Mid | HType.Long;
const side = fac === FacSet.MON ? 1 : -1;
return FormationPointX[resolvedRangeType] * side;
}
export enum MonStart {
SLINE_1=140, //上线y
SLINE_2=100, //下线y
SLINE_3=180, //下线y
SLINE_4=60, //y起始点
START_X=320, //x起始点
START_I=90, //x轴间隔
}
/**
* 英雄/怪物基础信息接口
*/
export interface heroInfo {
uuid: number; // 唯一标识英雄5000段,怪物5200段
name: string; // 显示名称
icon?: string; // 图标名称(对应美术资源名)
path: string; // 资源路径(对应美术资源名)
fac: FacSet; // 阵营FacSet.HERO 或 FacSet.MON
kind?: number; // 未使用
lv: number; // 英雄等级
pool_lv?: number; // 卡片等级
type: HType; // 攻击定位(近战/中程/远程)
hp: number; // 生命值上限
ap: number; // 攻击力
call?:{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}[]; // 战斗结束时释放的技能配置
field?:number[]; // 驻场技能uuid列表英雄在场时对全局生效
atking?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 普通攻击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的普攻次数
atked?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 受击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的受击次数
revive?:{s_uuid:number,r_num:number,upr:number}; // 复活技能配置s_uuid: 技能id, r_num: 触发所需的复活次数, upr 等级对复活次数的影响
dis?: number; // 攻击距离(像素)
speed?: number; // 移动速度(像素/秒)
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
info: string; // 描述文案
}
/**
* 技能基础信息接口
*/
export interface HSkillInfo {
uuid: number; // 唯一标识技能6000段等
lv:number; // 技能等级
cd:number; // 技能cd
ccd:number; // 占位当前cd用于cd计时
overrides?: SkillOverrides; // 角色专属参数覆盖
}
/*
*=============英雄配置列表================
* 英雄规则设定
* 战士 专注 受攻击触发技能
* 射手 专注 施法触发技能
* 法师 专注 战斗开始触发技能
* 辅助 专注 战斗结束触发技能
*
* 设定中的英雄都是1级,最高可以升级到3级不在列表内提现,升级在游戏内进行)
* skills[0]是普通攻击技能
* skills[1]是等级2时的技能,skills[2]是等级3时的技能
*
* 属性基准(pool_lv:1,lv:1) SPEED:800, AP:30 | HP:300 | skills[0].cd = 1.0 (普通)
* 坦克(pool_lv:1,lv:1) SPEED:800, AP:25 | HP:450 | skills[0].cd = 2.3 或 2.8 (很慢+/很慢) - 突出沉重感与承伤定位
* 近战dps(pool_lv:1,lv:1) SPEED:800, AP:50 | HP:250 | skills[0].cd = 0.3 或 0.5 (极速/快速+) - 强化割草连击爽感
* 远程dps(pool_lv:1,lv:1) SPEED:800, AP:60 | HP:150 | skills[0].cd = 0.7 或 0.9 (快速/普通+) - 稳定持续的物理输出节奏
*远程法dps(pool_lv:1,lv:1) SPEED:800, AP:60 | HP:150 | skills[0].cd = 1.5 或 1.8 (慢+/慢) - 强调施法前摇与单发爆发
* 远程辅助(pool_lv:1,lv:1) SPEED:800, AP:20 | HP:150 | skills[0].cd = 1.1 (普通) - 贴近基准,动作不急不躁,侧重技能
*/
export const HeroInfo: Record<number, heroInfo> = {
// ========== 铁壁反伤流 (保留原有 5001, 5002) ==========
5001:{uuid:5001,name:"见习战士",path:"hk2", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Melee,hp:150,ap:25,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},
atked:[{s_uuid:6301,t_num:2}],
info:" "},
5002:{uuid:5002,name:"盾骑士",path:"hk1", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Melee,hp:150,ap:75,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},
atked:[{s_uuid:6301,t_num:2,overrides:{TGroup:TGroup.Team,ap:2,hit_count:3}}],
info:" "},
/*
// 废弃旧英雄
5003:{uuid:5003,name:"战士3",path:"hk3", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Melee,hp:100,ap:100,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},
info:" "},
5004:{uuid:5004,name:"战士4",path:"hk4", fac:FacSet.HERO,pool_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,
skills:{6002:{uuid:6002,lv:1,cd:0.7,ccd:0}},
info:" "},
5005:{uuid:5005,name:"战士5",path:"hk5", fac:FacSet.HERO,pool_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},
info:" "},
*/
// ========== 攻速叠伤流 ==========
5006:{uuid:5006,name:"疾风战士",path:"hk3", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Melee,
hp:200,ap:20,
skills:{6001:{uuid:6001,lv:1,cd:0.3,ccd:0}},
atking:[{s_uuid:6401,t_num:1}],
info:"极速攻速,每次攻击叠加攻击力"},
5205:{uuid:5205,name:"暴风射手",path:"ha3", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
hp:180,ap:55,
skills:{6002:{uuid:6002,lv:1,cd:0.5,ccd:0}},
atking:[{s_uuid:6403,t_num:2}],
info:"远程快速射击每2次攻击为全队叠加暴击率"},
5403:{uuid:5403,name:"嗜血剑圣",path:"hc1", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Melee,
hp:280,ap:90,
skills:{6001:{uuid:6001,lv:1,cd:0.7,ccd:0}},
atking:[{s_uuid:6401,t_num:1,overrides:{TGroup:TGroup.Self,ap:8}}],
dead:[{s_uuid:6401,t_num:1,overrides:{TGroup:TGroup.Team,ap:10}}],
info:"每次攻击给自己叠攻击,死亡时把力量传给全队"},
// ========== 铁壁反伤流 (新加) ==========
5007:{uuid:5007,name:"盾卫",path:"hk1", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Melee,
hp:450,ap:25,
skills:{6001:{uuid:6001,lv:1,cd:2.3,ccd:0}},
atked:[{s_uuid:6301,t_num:2}],
info:"高血量坦克受击2次自动加护盾"},
5008:{uuid:5008,name:"守护骑士",path:"hk2", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Melee,
hp:500,ap:20,
skills:{6001:{uuid:6001,lv:1,cd:2.3,ccd:0}},
atked:[{s_uuid:6301,t_num:2,overrides:{TGroup:TGroup.Team,ap:2,hit_count:2}}],
info:"受击时为全队加护盾,越被围殴全队越安全"},
5009:{uuid:5009,name:"不屈战神",path:"hk4", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Melee,
hp:600,ap:30,
skills:{6001:{uuid:6001,lv:1,cd:2.8,ccd:0}},
atked:[
{s_uuid:6301,t_num:1,overrides:{TGroup:TGroup.Self,ap:4}},
{s_uuid:6402,t_num:3}
],
dead:[{s_uuid:6402,t_num:1,overrides:{ap:40}}],
info:"血量最厚的前排,受击加盾+全队加血,死亡时给全队巨额生命强化"},
// ========== 法师英雄 (保留 5101) ==========
5101:{uuid:5101,name:"奥术法师",path:"hm2", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,hp:150,ap:60,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},
revive:{s_uuid:6501,r_num:1,upr:0.5},
info:""},
/*
// 废弃旧英雄
5102:{uuid:5102,name:"火焰法师",path:"hm1", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,hp:130,ap:120,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},
info:""},
5103:{uuid:5103,name:"冰法法师",path:"hm3", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},
info:""},
5104:{uuid:5104,name:"寒霜术士",path:"hm5", fac:FacSet.HERO,pool_lv:4,lv:1,type:HType.Long,hp:160,ap:240,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},
info:""},
5105:{uuid:5105,name:"炎爆法师",path:"hm4", fac:FacSet.HERO,pool_lv:5,lv:1,type:HType.Long,hp:175,ap:300,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},
info:"" },
*/
// ========== 冰冻控制流 (新加) ==========
5106:{uuid:5106,name:"寒冰学徒",path:"hm3", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
hp:130,ap:50,
skills:{6007:{uuid:6007,lv:1,cd:1.5,ccd:0}},
atking:[{s_uuid:6405,t_num:2}],
info:"水球攻击每2次普攻为全队叠加冰冻概率"},
5107:{uuid:5107,name:"霜寒法师",path:"hm5", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
hp:160,ap:80,
skills:{6007:{uuid:6007,lv:1,cd:1.0,ccd:0}},
atking:[{s_uuid:6105,t_num:2,overrides:{ap:120,frz:25}}],
info:"水球普攻每2次攻击触发冰刺AOE25%冰冻概率冻住一排敌人"},
5108:{uuid:5108,name:"永冬贤者",path:"hm4", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,
hp:250,ap:110,
skills:{6007:{uuid:6007,lv:1,cd:1.8,ccd:0}},
fstart:[{s_uuid:6405,t_num:1,overrides:{ap:3}}],
atking:[{s_uuid:6105,t_num:1,overrides:{ap:150,frz:35,hit_count:8}}],
info:"开局给全队叠加冰冻率每次攻击释放强力冰刺35%冰冻概率"},
/*
// ========== 远程英雄 (旧) ==========
5201:{uuid:5201,name:"射手",path:"ha1", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,hp:115,ap:60,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},
info:""},
5202:{uuid:5202,name:"游侠2",path:"ha2", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},
info:""},
5203:{uuid:5203,name:"游侠3",path:"ha3", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},
info:""},
5204:{uuid:5204,name:"游侠4",path:"ha4", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},
info:""},
*/
// ========== 辅助英雄 (保留 5301, 5302) ==========
5301:{uuid:5301,name:"牧师",path:"hh1", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,hp:115,ap:50,
skills:{6004:{uuid:6004,lv:1,cd:1.2,ccd:0}},
atking:[{s_uuid:6302,t_num:2}],
info:"" },
5302:{uuid:5302,name:"医师",path:"hh2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,hp:130,ap:50,
skills:{6004:{uuid:6004,lv:1,cd:1.2,ccd:0}},
atking:[{s_uuid:6302,t_num:2,overrides:{hit_count:3,ap:200}}],
info:""},
// ========== 治疗续航流 (新加) ==========
5303:{uuid:5303,name:"见习牧师",path:"hh1", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
hp:120,ap:40,
skills:{6004:{uuid:6004,lv:1,cd:1.1,ccd:0}},
atking:[{s_uuid:6302,t_num:2}],
info:"每2次普攻后治疗全队恢复攻击力300%的生命值"},
5304:{uuid:5304,name:"神圣医师",path:"hh2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
hp:150,ap:50,
skills:{6004:{uuid:6004,lv:1,cd:0.9,ccd:0}},
atking:[{s_uuid:6302,t_num:2,overrides:{hit_count:3,ap:200}}],
info:"持续治疗每2次普攻触发3次群体治疗每次恢复200%攻击力"},
5305:{uuid:5305,name:"生命贤者",path:"hh3", fac:FacSet.HERO,pool_lv:3,lv:1,type:HType.Long,
hp:200,ap:70,
skills:{6004:{uuid:6004,lv:1,cd:1.0,ccd:0}},
fstart:[{s_uuid:6402,t_num:1,overrides:{ap:25}}],
atking:[{s_uuid:6302,t_num:1,overrides:{ap:250}}],
info:"开局给全队加25点生命上限每次普攻后全队治疗250%攻击力"},
/*
// ========== 刺客英雄 (旧) ==========
5401:{uuid:5401,name:"刺客1",path:"hc1", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,hp:115,ap:50,
skills:{6006:{uuid:6006,lv:1,cd:1.2,ccd:0}},
atking:[{s_uuid:6302,t_num:2}],
info:"" },
5402:{uuid:5402,name:"刺客2",path:"hc2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,hp:130,ap:50,
skills:{6006:{uuid:6006,lv:1,cd:1.2,ccd:0}},
atking:[{s_uuid:6304,t_num:2}],
info:""},
*/
/*
*=============怪物配置列表================
* 基础近战型(lv:1) SPEED:800 |AP:12 | HP:360 | skills[0].cd=0.65
* 重型坦克型(lv:1) SPEED:800 |AP:30 | HP:1050 | skills[0].cd=2
* 远程dps(lv:1) SPEED:800 |AP:45 | HP:240 | skills[0].cd=1.5
* 远程辅助(lv:1) SPEED:800 |AP:20 | HP:240 | skills[0].cd=1
* 精英 (lv:1) SPEED:800 |AP:20 | HP:4500 | skills[0].cd=1
*/
// 基础怪物
6001:{uuid:6001,name:"兽人初阶战士",path:"m1", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:360,ap:12,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:0.65,ccd:0}},info:""},
6002:{uuid:6002,name:"兽人高阶战士",path:"m2", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:360,ap:12,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:0.65,ccd:0}},info:""},
6003:{uuid:6003,name:"兽人初阶射手",path:"m3", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:1050,ap:30,speed:100,
skills:{6008:{uuid:6008,lv:1,cd:2,ccd:0}},info:""},
6004:{uuid:6004,name:"兽人高阶射手",path:"m4", fac:FacSet.MON,lv:1,type:HType.Long,hp:720,ap:45,speed:100,
skills:{6008:{uuid:6008,lv:1,cd:1.5,ccd:0}},info:""},
6005:{uuid:6005,name:"兽人刺客",path:"m5", fac:FacSet.MON,lv:1,type:HType.Long,hp:720,ap:20,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:1.5,ccd:0}},info:""},
6006:{uuid:6006,name:"骷髅高阶战士",path:"m6", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:2,ccd:0}},info:""},
6007:{uuid:6007,name:"兽人蓝色法师",path:"m7", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:2,ccd:0}},info:""},
6008:{uuid:6008,name:"兽人红色法师",path:"m8", fac:FacSet.MON,lv:1,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:2,ccd:0}},info:""},
// BOSS怪物
6101:{uuid:6101,name:"兽人首领-双刀战士-蓝边",path:"mb1", fac:FacSet.MON,lv:6,type:HType.Long,hp:720,ap:30,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""},
6102:{uuid:6102,name:"兽人首领-斧头战士-绿边",path:"mb2", fac:FacSet.MON,lv:6,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:2,ccd:0},},info:""},
6103:{uuid:6103,name:"兽人首领-魔法师-紫边",path:"mb3", fac:FacSet.MON,lv:6,type:HType.Long,hp:720,ap:30,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""},
6104:{uuid:6104,name:"兽人首领-射手-黄边",path:"mb4", fac:FacSet.MON,lv:6,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:2,ccd:0},},info:""},
6105:{uuid:6105,name:"亡灵首领-法师-红边",path:"mb5", fac:FacSet.MON,lv:6,type:HType.Long,hp:720,ap:30,speed:100,
skills:{6103:{uuid:6103,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""},
6106:{uuid:6106,name:"亡灵首领-骑马战士-红边",path:"mb6", fac:FacSet.MON,lv:6,type:HType.Melee,dis:360,hp:4500,ap:20,speed:100,
skills:{6005:{uuid:6005,lv:1,cd:2,ccd:0},},info:""},
};
export const HeroList: number[] = [
// 铁壁反伤流
5001, 5002, 5007, 5008, 5009,
// 攻速叠伤流
5006, 5205, 5403,
// 冰冻控制流
5101, 5106, 5107, 5108,
// 治疗续航流
5301, 5302, 5303, 5304, 5305,
];