feat: 添加 Boss 阶段系统及测试配置
新增 BossPhaseSystem 脚本及元文件,添加阶段挂载与接管的日志记录 修改测试模式配置,调整 Boss 相关属性以适配阶段系统
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
9
assets/script/game/hero/BossPhaseSystem.ts.meta
Normal file
9
assets/script/game/hero/BossPhaseSystem.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "bde209ff-324b-4f07-a241-fb977cbc6c2f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -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 按单阶段战斗`);
|
||||
|
||||
@@ -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. 生成引擎 ========================
|
||||
|
||||
Reference in New Issue
Block a user