refactor: 重构关卡战斗流程与AI逻辑,改为单场Boss战模式
1. 近战AI新增警戒线机制,无威胁时退回编队 2. 替换多回合波次为单场Boss战,简化刷怪与回合逻辑 3. 重构招募系统为开局免费三选一流程 4. 调整英雄与怪物基础属性平衡 5. 精简HUD与配置文件冗余代码
This commit is contained in:
@@ -201,8 +201,10 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
}
|
||||
|
||||
/**
|
||||
* 近战交战:有怪物时向右推进,贴近到固定接触距离后停下攻击。
|
||||
* Why: 近战手短需主动逼近;停止判定用固定接触距离(非攻击距离 dis),
|
||||
* 近战交战:怪物进入警戒线(ALERT_RANGE_X)内才向右推进迎敌,
|
||||
* 贴近到固定接触距离后停下攻击;警戒线外则退回后方编队位待命。
|
||||
* Why: 近战手短需主动逼近,但无威胁时不应孤军前压暴露阵型;
|
||||
* 停止判定用固定接触距离(非攻击距离 dis),
|
||||
* 使英雄进入攻击范围后仍继续贴近,直到贴上目标才站稳输出。
|
||||
* 怪物 y 与英雄同在 GAME_LINE 附近(微调也在攻击范围内),无需管 Y 轴。
|
||||
*/
|
||||
@@ -220,7 +222,14 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
if (view.status !== "atk") view.status_change("idle");
|
||||
return;
|
||||
}
|
||||
// 未贴近:向怪物方向推进(攻击范围内也继续移动),于接触距离处停下
|
||||
// 怪物在警戒线之外:不主动迎敌,退回后方编队位待命
|
||||
if (dist > MoveSystem.MELEE_ALERT_X) {
|
||||
this.clearCombatTarget(model);
|
||||
this.moveToSlot(view, move, model, move.targetX);
|
||||
model.is_atking = false;
|
||||
return;
|
||||
}
|
||||
// 警戒线内未贴近:向怪物方向推进(攻击范围内也继续移动),于接触距离处停下
|
||||
const dir = enemyX > selfX ? 1 : -1;
|
||||
move.direction = dir;
|
||||
// 终止点取接触距离与推进上限的较小者,防止越过 150 继续追击
|
||||
@@ -293,6 +302,8 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
private static readonly FORMATION_STEP_X = 60;
|
||||
/** 近战贴近怪物的固定接触距离:小于攻击距离 dis,使英雄进攻击范围后仍继续贴近到此间距才停 */
|
||||
private static readonly MELEE_ENGAGE_X = 60;
|
||||
/** 近战警戒线:怪物进入该距离内才主动向右推进迎敌,否则退回后方编队位待命 */
|
||||
private static readonly MELEE_ALERT_X = 200;
|
||||
/** 英雄向敌人推进的最远终止点 X,防止近战追敌时无限右移脱离战场 */
|
||||
private static readonly HERO_ADVANCE_LIMIT_X = 100;
|
||||
/** 同阵营英雄间最小间距:小于该值时低优先级一方需让位 */
|
||||
|
||||
Reference in New Issue
Block a user