refactor(game): 精简肉鸽模式关卡配置并优化怪物加载逻辑

- 调整SkillSet基础攻击技能参数,降低CD时间和技能消耗
- 更新HeroInfo中英雄和怪物的技能组合,替换为更合理的技能ID
- 注释掉部分法师及精英怪物的定义,简化怪物列表
- 优化Monster类load和hero_init方法,移除不再使用的增强属性和关卡倍数参数
- 精简MissionMonComp刷怪队列逻辑,移除增强属性和关卡倍数支持
- 调整RogueConfig,去除怪物增强属性相关代码,仅保留基础刷怪类型和数量配置
- 修正SkillCom中使用属性枚举的地方,使用统一Attrs枚举
- 清理代码注释和多余空行,提升代码规范性和可读性
This commit is contained in:
walkpan
2025-10-19 12:06:18 +08:00
parent faae0f8005
commit 6d5c768a30
6 changed files with 89 additions and 351 deletions

View File

@@ -7,11 +7,8 @@ import { smc } from "../common/SingletonModuleComp";
import { GameEvent } from "../common/config/GameEvent";
// 导入肉鸽配置
import {
generateStageConfig,
getStageMonsterConfigs,
getStageAllMultipliers,
getStageMonsterConfigs,
MonsterType,
StageType,
getStageType
} from "./RogueConfig";
import { MonModelComp } from "../hero/MonModelComp";
@@ -21,14 +18,13 @@ const { ccclass, property } = _decorator;
/** 视图层对象 */
@ccclass('MissionMonCompComp')
@ecs.register('MissionMonComp', false)
export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使用新的RogueConfig格式
export class MissionMonCompComp extends CCComp {
// 添加刷怪队列 - 使用新的RogueConfig格式
private monsterQueue: Array<{
uuid: number,
position: number,
type: MonsterType,
level: number,
enhancement?: any, // 增强属性配置
stageMultipliers?: any // 关卡倍数配置
level: number
}> = [];
private isSpawning: boolean = false;// 是否正在生成怪物
private spawnInterval: number = 0.1; // 每个怪物生成间隔时间
@@ -41,8 +37,8 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
onLoad(){
this.on(GameEvent.FightReady,this.fight_ready,this)
this.on(GameEvent.NewWave,this.fight_ready,this)
}
/** 视图层逻辑代码分离演示 */
start() {
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
@@ -55,7 +51,6 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
this.do_mon_wave()
}
protected update(dt: number): void {
if(!smc.mission.play||smc.mission.pause) return
@@ -90,7 +85,6 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
}
}
do_mon_wave(){
// 重置召唤相关状态
this.spawnCount = 0;
@@ -120,7 +114,7 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
// 为每个怪物配置生成怪物
monsterConfigs.forEach((monsterConfig: any, index: number) => {
const { uuid, type, enhancement, stageMultipliers } = monsterConfig;
const { uuid, type } = monsterConfig;
// 位置循环使用 (0-4)
const position = index % 5;
@@ -129,21 +123,11 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
uuid,
position,
type,
1, // 默认等级1
enhancement,
stageMultipliers
1 // 默认等级1
);
});
// console.log(`[MissionMonComp]:关卡${currentStage}将生成 ${monsterConfigs.length} 只怪物`);
// 输出增强属性信息
monsterConfigs.forEach((monsterConfig: any) => {
if (monsterConfig.enhancement && monsterConfig.enhancement.buffList.length > 0) {
// console.log(`[MissionMonComp]:怪物 ${monsterConfig.uuid} (${monsterConfig.type}) 拥有增强属性:`,
// monsterConfig.enhancement.buffList.map((buff: any) => `${buff.name}:+${buff.value}`));
}
});
}
// 添加到关卡刷怪队列 - 使用新的配置格式
@@ -151,17 +135,13 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
uuid: number,
position: number,
type: MonsterType,
level: number = 1,
enhancement?: any,
stageMultipliers?: any
level: number = 1
) {
this.monsterQueue.push({
uuid: uuid,
position: position,
type: type,
level: level,
enhancement: enhancement,
stageMultipliers: stageMultipliers
level: level
});
}
@@ -178,9 +158,7 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
monsterData.position,
isBoss,
false,
monsterData.level,
monsterData.enhancement,
monsterData.stageMultipliers
monsterData.level
);
// 增加召唤计数
@@ -194,28 +172,16 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
i: number = 0,
is_boss: boolean = false,
is_call: boolean = false,
lv: number = 1,
enhancement?: any,
stageMultipliers?: any
lv: number = 1
) {
let mon = ecs.getEntity<Monster>(Monster);
let scale = -1;
let pos: Vec3 = v3(MonSet[i].pos);
// 生成怪物,传递增强属性和关卡倍数
mon.load(pos,scale,uuid,is_boss,is_call,enhancement, stageMultipliers);
// 如果有增强属性,记录到控制台
if (enhancement && enhancement.buffList && enhancement.buffList.length > 0) {
// console.log(`[MissionMonComp]: 怪物 ${uuid} 获得增强属性:`,
// enhancement.buffList.map((buff: any) => `${buff.name}:+${buff.value}`));
}
// 如果有关卡倍数,记录到控制台
if (stageMultipliers) {
// console.log(`[MissionMonComp]: 怪物 ${uuid} 关卡倍数 - HP: x${stageMultipliers.hp.toFixed(2)}, 攻击: x${stageMultipliers.attack.toFixed(2)}`);
}
// 生成怪物
mon.load(pos,scale,uuid,is_boss,is_call);
}
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
// this.node.destroy();