- 移除 IWaveSlot 中的 monCount 字段,改为固定 6 个槽位 - Boss 现在固定占用 2 个槽位且只能放置在 1、3、5 号位 - 每波开始时立即生成所有怪物,不再支持死亡后排队刷怪 - 简化 MissionMonComp 中的槽位管理逻辑,移除 slotSpawnQueues 等复杂结构
85 lines
3.0 KiB
TypeScript
85 lines
3.0 KiB
TypeScript
|
||
export enum UpType {
|
||
AP1_HP1 = 0, //平衡
|
||
HP2 = 1, //强hp
|
||
AP2 = 2 //强ap
|
||
}
|
||
// 普通关卡成长值:第一项为攻击力成长,第二项为血量成长
|
||
export const StageGrow = {
|
||
[UpType.AP1_HP1]: [4,10], // 平衡型:攻4 血10
|
||
[UpType.HP2]: [2,20], // 强HP型:攻2 血20
|
||
[UpType.AP2]: [8,0], // 强AP型:攻8 血0
|
||
}
|
||
|
||
// Boss关卡成长值:同上,数值更高
|
||
export const StageBossGrow = {
|
||
[UpType.AP1_HP1]: [3,16], // 平衡型:攻3 血16
|
||
[UpType.HP2]: [1,24], // 强HP型:攻1 血24
|
||
[UpType.AP2]: [10,4], // 强AP型:攻10 血4
|
||
}
|
||
|
||
export const MonType = {
|
||
Melee: 0, // 近战高功
|
||
Long: 1, // 高速贴近
|
||
Support: 2, // 支持怪
|
||
MeleeBoss: 3, // boss怪
|
||
LongBoss: 4, // boss怪
|
||
}
|
||
export const MonList = {
|
||
[MonType.Melee]: [6001,6002,6003], // 近战怪
|
||
[MonType.Long]: [6004,6005], // 远程怪
|
||
[MonType.Support]: [6005], // 辅助怪
|
||
[MonType.MeleeBoss]:[6006,6015], // 近战boss
|
||
[MonType.LongBoss]:[6104], // 远程boss
|
||
}
|
||
/*
|
||
*** 全局刷怪强度配置,后期根据玩家强度动态调整
|
||
*/
|
||
export const SpawnPowerBias = 1
|
||
export interface IWaveSlot {
|
||
type: number; // 对应 MonType
|
||
count: number; // 占位数量
|
||
slotsPerMon?: number; // 每个怪占用几个位置,默认 1
|
||
}
|
||
|
||
// =========================================================================================
|
||
// 【每波怪物占位与刷怪配置说明】
|
||
// 1. 字段说明:
|
||
// - type: 怪物类型 (参考 MonType,如近战 0,远程 1,Boss 3 等)。
|
||
// - count: 该类型的怪在场上同时存在几个。
|
||
// - slotsPerMon: (可选) 单个怪物体积占用几个占位坑,默认为 1。如果是大型 Boss 可设为 2,它会跨占位降落。
|
||
//
|
||
// 【注意】:
|
||
// 全场固定 6 个槽位(索引 0-5)。
|
||
// Boss 固定占用 2 个位置,且只能出现在 1、3、5 号位(对应索引 0, 2, 4)。
|
||
// 每波怪物总槽位占用不能超过 6。不再支持排队刷怪。
|
||
// =========================================================================================
|
||
export const WaveSlotConfig: { [wave: number]: IWaveSlot[] } = {
|
||
1: [
|
||
{ type: MonType.Melee, count: 3 },
|
||
{ type: MonType.Long, count: 3 }
|
||
],
|
||
2: [
|
||
{ type: MonType.Melee, count: 2 },
|
||
{ type: MonType.Long, count: 2 },
|
||
{ type: MonType.Support, count: 2 }
|
||
],
|
||
3: [
|
||
{ type: MonType.Melee, count: 2 },
|
||
{ type: MonType.MeleeBoss, count: 1, slotsPerMon: 2 },
|
||
{ type: MonType.Long, count: 2 }
|
||
],
|
||
4: [
|
||
{ type: MonType.Melee, count: 2 },
|
||
{ type: MonType.Long, count: 2 },
|
||
{ type: MonType.LongBoss, count: 1, slotsPerMon: 2 }
|
||
],
|
||
}
|
||
|
||
// 默认占位配置 (如果在 WaveSlotConfig 中找不到波次,则使用此配置)
|
||
export const DefaultWaveSlot: IWaveSlot[] = [
|
||
{ type: MonType.Melee, count: 3 },
|
||
{ type: MonType.Long, count: 3 }
|
||
]
|
||
|