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 { BoxSet, FacSet, FightSet } from "./GameSet"
|
||||||
import { SkillOverrides, TGroup, SkillSet, FieldSkillSet, SkillConfig, SkillKind, FieldSkillConfig, FieldSkillType, mergeSkillParams, BuffTarget } from "./SkillSet"
|
import { SkillOverrides, TGroup, SkillSet, FieldSkillSet, SkillConfig, SkillKind, FieldSkillConfig, FieldSkillType, mergeSkillParams, BuffTarget } from "./SkillSet"
|
||||||
import { BuffList, BuffConfig, ModOp } from "./BuffSet"
|
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];
|
const plan = BossPhaseSet[phase.plan_id];
|
||||||
if (!plan) return;
|
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;
|
phase.elapsed += this.dt;
|
||||||
const def = plan.switches[phase.index];
|
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);
|
const phase = this.add(BossPhaseComp);
|
||||||
phase.plan_id = phase_plan_id;
|
phase.plan_id = phase_plan_id;
|
||||||
phase.index = 0;
|
phase.index = 0;
|
||||||
|
// 分诊日志:确认组件挂载成功(区分"未挂载"与"系统未接管"两类故障)
|
||||||
|
mLogger.log(true, "BossPhase", `${model.hero_name} 挂载阶段方案 ${phase_plan_id}(P1 起点)`);
|
||||||
} else {
|
} else {
|
||||||
// 配置兜底:引用了不存在的方案,退化为单阶段并告警(不阻断战斗)
|
// 配置兜底:引用了不存在的方案,退化为单阶段并告警(不阻断战斗)
|
||||||
mLogger.warn(true, "BossPhase", `阶段方案 ${phase_plan_id} 未在 BossPhaseSet 中定义,Boss 按单阶段战斗`);
|
mLogger.warn(true, "BossPhase", `阶段方案 ${phase_plan_id} 未在 BossPhaseSet 中定义,Boss 按单阶段战斗`);
|
||||||
|
|||||||
@@ -249,12 +249,11 @@ export interface GeneratedMonster {
|
|||||||
|
|
||||||
export const TestModeConfig = {
|
export const TestModeConfig = {
|
||||||
enable: false, // 默认关闭测试模式
|
enable: false, // 默认关闭测试模式
|
||||||
baseHp: 150,
|
baseHp: 5000,
|
||||||
baseAp: 12,
|
baseAp: 12,
|
||||||
monType: MonType.Melee,
|
monType: MonType.MeleeBoss,
|
||||||
monUuid: 6001,
|
monUuid: 6101,
|
||||||
spawnCount: 1,
|
spawnCount: 1,
|
||||||
|
|
||||||
skill: undefined as { s_uuid: number; cd?: number; overrides?: SkillOverrides } | undefined,
|
skill: undefined as { s_uuid: number; cd?: number; overrides?: SkillOverrides } | undefined,
|
||||||
/** 测试模式注入的大招列表(追加,不替换普攻) */
|
/** 测试模式注入的大招列表(追加,不替换普攻) */
|
||||||
ults: 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,
|
fstart: undefined as TriggerGrouped | undefined,
|
||||||
|
|
||||||
/** 测试模式:Boss 阶段方案 id(0 = 不启用阶段;需配合 isBoss: true 才会挂载组件) */
|
/** 测试模式:Boss 阶段方案 id(0 = 不启用阶段;需配合 isBoss: true 才会挂载组件) */
|
||||||
phasePlanId: 0 as number,
|
phasePlanId: 10001,
|
||||||
/** 测试模式:是否以 Boss 身份刷出(影响层级/金币/阶段组件挂载) */
|
/** 测试模式:是否以 Boss 身份刷出(影响层级/金币/阶段组件挂载) */
|
||||||
isBoss: false,
|
isBoss: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
// ======================== 8. 生成引擎 ========================
|
// ======================== 8. 生成引擎 ========================
|
||||||
|
|||||||
Reference in New Issue
Block a user