feat: 添加 Boss 阶段系统及测试配置

新增 BossPhaseSystem 脚本及元文件,添加阶段挂载与接管的日志记录
修改测试模式配置,调整 Boss 相关属性以适配阶段系统
This commit is contained in:
panFD
2026-10-07 17:20:25 +08:00
parent 541ca0e251
commit f679644bbb
5 changed files with 21 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
import { v3 } from "cc"
import { v3 } from "cc"
import { BoxSet, FacSet, FightSet } from "./GameSet"
import { SkillOverrides, TGroup, SkillSet, FieldSkillSet, SkillConfig, SkillKind, FieldSkillConfig, FieldSkillType, mergeSkillParams, BuffTarget } from "./SkillSet"
import { BuffList, BuffConfig, ModOp } from "./BuffSet"

View File

@@ -48,6 +48,10 @@ export class BossPhaseSystem extends ecs.ComblockSystem implements ecs.ISystemUp
const plan = BossPhaseSet[phase.plan_id];
if (!plan) return;
// 分诊日志:系统接管确认(elapsed===0 表示本组件首个有效帧,只输出一次)
if (phase.elapsed === 0) {
mLogger.log(DEBUG, "BossPhase", `${model.hero_name} 阶段系统已接管(方案 ${phase.plan_id},当前 P${phase.index + 1},hp ${Math.round(model.hp)}/${model.hp_max})`);
}
phase.elapsed += this.dt;
const def = plan.switches[phase.index];

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "bde209ff-324b-4f07-a241-fb977cbc6c2f",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -279,6 +279,8 @@ export class Monster extends ecs.Entity {
const phase = this.add(BossPhaseComp);
phase.plan_id = phase_plan_id;
phase.index = 0;
// 分诊日志:确认组件挂载成功(区分"未挂载"与"系统未接管"两类故障)
mLogger.log(true, "BossPhase", `${model.hero_name} 挂载阶段方案 ${phase_plan_id}(P1 起点)`);
} else {
// 配置兜底:引用了不存在的方案,退化为单阶段并告警(不阻断战斗)
mLogger.warn(true, "BossPhase", `阶段方案 ${phase_plan_id} 未在 BossPhaseSet 中定义,Boss 按单阶段战斗`);

View File

@@ -249,12 +249,11 @@ export interface GeneratedMonster {
export const TestModeConfig = {
enable: false, // 默认关闭测试模式
baseHp: 150,
baseHp: 5000,
baseAp: 12,
monType: MonType.Melee,
monUuid: 6001,
monType: MonType.MeleeBoss,
monUuid: 6101,
spawnCount: 1,
skill: undefined as { s_uuid: number; cd?: number; overrides?: SkillOverrides } | undefined,
/** 测试模式注入的大招列表(追加,不替换普攻) */
ults: undefined as { s_uuid: number; cd?: number; overrides?: SkillOverrides }[] | undefined,
@@ -264,9 +263,9 @@ export const TestModeConfig = {
fstart: undefined as TriggerGrouped | undefined,
/** 测试模式:Boss 阶段方案 id(0 = 不启用阶段;需配合 isBoss: true 才会挂载组件) */
phasePlanId: 0 as number,
phasePlanId: 10001,
/** 测试模式:是否以 Boss 身份刷出(影响层级/金币/阶段组件挂载) */
isBoss: false,
isBoss: true,
};
// ======================== 8. 生成引擎 ========================