|
|
|
|
@@ -321,112 +321,210 @@ export const HeroInfo = {
|
|
|
|
|
|
|
|
|
|
//怪物
|
|
|
|
|
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.remote,hp:20,ap:8,dis:350,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"远程怪物-高伤害"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
5206:{uuid:5206,name:"树卫", path:"mgem3",quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.GREEN,lv:2,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:40,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.GREEN,lv:2,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:40,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.GREEN,lv:2,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:350,cd:2.5,speed:40,skills:[6007],
|
|
|
|
|
buff:[ ],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
|
|
|
|
|
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.GREEN,lv:2,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"远程怪物-高伤害"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.remote,hp:20,ap:8,dis:350,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"普通怪物-战士型"},
|
|
|
|
|
type:HType.warrior,hp:25,ap:8,dis:200,cd:2,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.GREEN,lv:1,kind:1,
|
|
|
|
|
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"远程怪物-高伤害"},
|
|
|
|
|
type:HType.remote,hp:20,ap:8,dis:350,cd:1.5,speed:45,skills:[6007],
|
|
|
|
|
buff:[ ],info:"普通怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
type:HType.warrior,hp:45,ap:12,dis:200,cd:2,speed:25,skills:[6007],
|
|
|
|
|
buff:[ ],info:"精英怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"},
|
|
|
|
|
type:HType.warrior,hp:45,ap:12,dis:200,cd:2,speed:25,skills:[6007],
|
|
|
|
|
buff:[ ],info:"精英怪物-战士型"},
|
|
|
|
|
|
|
|
|
|
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,
|
|
|
|
|
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
|
|
|
|
buff:[
|
|
|
|
|
|
|
|
|
|
],info:"法师怪物-高伤害脆弱"}
|
|
|
|
|
type:HType.warrior,hp:45,ap:12,dis:200,cd:2,speed:25,skills:[6007],
|
|
|
|
|
buff:[ ],info:"精英怪物-战士型"}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// ==================== 怪物系列分类配置 ====================
|
|
|
|
|
|
|
|
|
|
// 怪物系列枚举
|
|
|
|
|
export enum MonsterSeriesType {
|
|
|
|
|
ORC = "ORC", // 兽人系列
|
|
|
|
|
CYCLOPS = "CYCLOPS", // 独眼系列
|
|
|
|
|
MINOTAUR = "MINOTAUR", // 牛头系列
|
|
|
|
|
NATURE = "NATURE", // 自然系列
|
|
|
|
|
ELEMENTAL = "ELEMENTAL" // 元素系列
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 怪物系列配置
|
|
|
|
|
export const MonsterSeriesConfig = {
|
|
|
|
|
// 兽人系列 (mor开头)
|
|
|
|
|
[MonsterSeriesType.ORC]: {
|
|
|
|
|
name: "兽人系列",
|
|
|
|
|
description: "来自荒野的兽人族群",
|
|
|
|
|
monsters: {
|
|
|
|
|
warrior: [5201, 5203, 5227], // 兽人战士、兽人护卫、精英兽人
|
|
|
|
|
remote: [5202], // 兽人刺客
|
|
|
|
|
mage: [] // 无法师
|
|
|
|
|
},
|
|
|
|
|
allMonsters: [5201, 5202, 5203, 5227]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 独眼系列 (md开头)
|
|
|
|
|
[MonsterSeriesType.CYCLOPS]: {
|
|
|
|
|
name: "独眼系列",
|
|
|
|
|
description: "古老的独眼巨人族群",
|
|
|
|
|
monsters: {
|
|
|
|
|
warrior: [5222, 5223, 5225], // 独眼巨人x2、精英独眼
|
|
|
|
|
remote: [5224], // 独眼巨人(远程)
|
|
|
|
|
mage: [] // 无法师
|
|
|
|
|
},
|
|
|
|
|
allMonsters: [5222, 5223, 5224, 5225]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 牛头系列 (mn开头)
|
|
|
|
|
[MonsterSeriesType.MINOTAUR]: {
|
|
|
|
|
name: "牛头系列",
|
|
|
|
|
description: "迷宫中的牛头怪族群",
|
|
|
|
|
monsters: {
|
|
|
|
|
warrior: [5219, 5220, 5226], // 牛头战士x2、精英牛头
|
|
|
|
|
remote: [5221], // 牛头战士(远程)
|
|
|
|
|
mage: [] // 无法师
|
|
|
|
|
},
|
|
|
|
|
allMonsters: [5219, 5220, 5221, 5226]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 自然系列 (mgem开头)
|
|
|
|
|
[MonsterSeriesType.NATURE]: {
|
|
|
|
|
name: "自然系列",
|
|
|
|
|
description: "大地与自然的守护者",
|
|
|
|
|
monsters: {
|
|
|
|
|
warrior: [], // 无战士
|
|
|
|
|
remote: [], // 无远程
|
|
|
|
|
mage: [5204, 5205, 5206] // 石卫、土卫、树卫
|
|
|
|
|
},
|
|
|
|
|
allMonsters: [5204, 5205, 5206]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 元素系列 (my开头)
|
|
|
|
|
[MonsterSeriesType.ELEMENTAL]: {
|
|
|
|
|
name: "元素系列",
|
|
|
|
|
description: "纯粹的元素力量化身",
|
|
|
|
|
monsters: {
|
|
|
|
|
warrior: [], // 无战士
|
|
|
|
|
remote: [], // 无远程
|
|
|
|
|
mage: [5216, 5217, 5218] // 元素1、元素2、元素3
|
|
|
|
|
},
|
|
|
|
|
allMonsters: [5216, 5217, 5218]
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取指定系列的怪物列表
|
|
|
|
|
export const getMonstersBySeries = (series: MonsterSeriesType, type?: keyof typeof HType): number[] => {
|
|
|
|
|
const seriesConfig = MonsterSeriesConfig[series];
|
|
|
|
|
if (!seriesConfig) {
|
|
|
|
|
console.warn(`[MonsterSeries]: 未找到系列 ${series}`);
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (type !== undefined) {
|
|
|
|
|
const typeKey = HType[type] === HType.warrior ? "warrior" :
|
|
|
|
|
HType[type] === HType.remote ? "remote" : "mage";
|
|
|
|
|
return seriesConfig.monsters[typeKey] || [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return seriesConfig.allMonsters;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 根据怪物UUID获取所属系列
|
|
|
|
|
export const getMonsterSeries = (uuid: number): MonsterSeriesType | null => {
|
|
|
|
|
for (const [seriesKey, config] of Object.entries(MonsterSeriesConfig)) {
|
|
|
|
|
if (config.allMonsters.includes(uuid)) {
|
|
|
|
|
return seriesKey as MonsterSeriesType;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取系列信息
|
|
|
|
|
export const getSeriesInfo = (series: MonsterSeriesType) => {
|
|
|
|
|
return MonsterSeriesConfig[series] || null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取所有系列列表
|
|
|
|
|
export const getAllMonsterSeries = (): MonsterSeriesType[] => {
|
|
|
|
|
return Object.values(MonsterSeriesType);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 按类型分组的怪物列表
|
|
|
|
|
export const MonstersByType = {
|
|
|
|
|
warrior: [5201, 5203, 5219, 5220, 5222, 5223, 5225, 5226, 5227], // 所有战士类型怪物
|
|
|
|
|
remote: [5202, 5221, 5224], // 所有远程类型怪物
|
|
|
|
|
mage: [5204, 5205, 5206, 5216, 5217, 5218] // 所有法师类型怪物
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 随机从指定系列获取怪物
|
|
|
|
|
export const getRandomMonsterFromSeries = (series: MonsterSeriesType, type?: keyof typeof HType): number => {
|
|
|
|
|
const monsters = getMonstersBySeries(series, type);
|
|
|
|
|
if (monsters.length === 0) {
|
|
|
|
|
console.warn(`[MonsterSeries]: 系列 ${series} 中没有${type ? HType[type] : ''}类型怪物`);
|
|
|
|
|
return 5201; // 返回默认怪物
|
|
|
|
|
}
|
|
|
|
|
return monsters[Math.floor(Math.random() * monsters.length)];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 随机选择一个系列
|
|
|
|
|
export const getRandomSeries = (): MonsterSeriesType => {
|
|
|
|
|
const allSeries = getAllMonsterSeries();
|
|
|
|
|
return allSeries[Math.floor(Math.random() * allSeries.length)];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|