3 Commits

Author SHA1 Message Date
panFD
2ab5100b41 feat: 更新BOSS阶段配置并简化方案设计
重构了兽人首领BOSS的阶段配置,将原12个阶段方案精简为1个示例方案,调整了触发条件与技能配置,优化了阶段方案的可读性与可维护性,确保大招引用近战池保证可达性。
2026-10-08 16:45:53 +08:00
panFD
f4fb561319 fix(map): 调整下一回合刷怪时机避免与英雄过场同帧移动
修改 autoNextPhase 逻辑,将 advanceToNextSection 从 PrepareStart 阶段移至 PrepareEnd 阶段,确保英雄归位待机约 1 秒后再生成怪物,使怪物随回合开始横幅同步登场,解决与英雄过场行军同帧移动的显示问题。
2026-10-08 16:44:49 +08:00
panFD
fef913bd75 feat: add 12 boss phase plans and wire to 4 bosses
Twelve plans across four bosses (melee/mage/archer/tank), clear-replace and keep-add modes interleaved, hp and time trigger dimensions. Four bosses wired with phase_ids pools for random plan selection.
2026-10-08 15:56:16 +08:00
2 changed files with 10 additions and 4 deletions

View File

@@ -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"

View File

@@ -582,12 +582,15 @@ export class MissionComp extends CCComp {
private autoNextPhase() { private autoNextPhase() {
switch (this.currentPhase) { switch (this.currentPhase) {
case MissionPhase.PrepareStart: case MissionPhase.PrepareStart:
// 节间过场倒计时结束:推进到下一节、停背景滚动、派发 SectionStart 刷怪,进入 PrepareEnd 自动开战 // 节间过场倒计时结束:停背景滚动、英雄归位转待机,进入 PrepareEnd 缓冲
this.stopWaveCountdown(); this.stopWaveCountdown();
this.advanceToNextSection();
this.changePhase(MissionPhase.PrepareEnd); this.changePhase(MissionPhase.PrepareEnd);
break; break;
case MissionPhase.PrepareEnd: case MissionPhase.PrepareEnd:
// 先生成下一回合怪物再进 BattleStart:此时英雄已待机约 1s,
// 怪物随"第 X 回合开始"横幅从右侧跑入,避免与英雄过场行军同帧移动;
// SectionStart 同步派发 NewWave,保证 changePhase(BattleStart) 的 isBossWave 就绪
this.advanceToNextSection();
this.changePhase(MissionPhase.BattleStart); this.changePhase(MissionPhase.BattleStart);
break; break;
case MissionPhase.BattleStart: case MissionPhase.BattleStart:
@@ -854,7 +857,10 @@ export class MissionComp extends CCComp {
* 2. 不清理英雄/技能实体、不重置局内数据、不重新三选一——英雄保留并自动归位(编队排队)。 * 2. 不清理英雄/技能实体、不重置局内数据、不重新三选一——英雄保留并自动归位(编队排队)。
* 3. 进度实时镜像到 HUD,但不写持久存档(存档只在整关通关时推进到下一关)。 * 3. 进度实时镜像到 HUD,但不写持久存档(存档只在整关通关时推进到下一关)。
* *
* 调用时机:PrepareStart 过场倒计时结束(autoNextPhase)。 * 调用时机:PrepareEnd 结束、进入 BattleStart 前(autoNextPhase)。
* Why: 过场倒计时(PrepareStart)结束时英雄刚归位转待机,若同帧刷怪会出现
* 怪物与英雄一起移动的表现;推迟到 PrepareEnd 结束刷怪,英雄已待机约 1s,
* 怪物从右侧跑入与"第 X 回合开始"横幅同步登场。
* 保证:仅 1~4 回合清场后触发,末回合(BOSS_SECTION)已走 open_Victory 结算,不会推进。 * 保证:仅 1~4 回合清场后触发,末回合(BOSS_SECTION)已走 open_Victory 结算,不会推进。
*/ */
private advanceToNextSection() { private advanceToNextSection() {