refactor(hero): 重构英雄死亡与复活机制
1. 统一英雄真实死亡流程:死亡时快照数据到全局列表,动画结束后统一销毁实体 2. 移除回合自动复活逻辑,改为由复活系统主动读取快照重新召唤 3. 修复近战追敌可能脱离战场的问题,增加推进距离上限 4. 重构死亡计数与全员存活检测逻辑,基于死亡快照列表而非实体状态
This commit is contained in:
@@ -223,7 +223,8 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
// 未贴近:向怪物方向推进(攻击范围内也继续移动),于接触距离处停下
|
||||
const dir = enemyX > selfX ? 1 : -1;
|
||||
move.direction = dir;
|
||||
const stopX = enemyX - dir * MoveSystem.MELEE_ENGAGE_X;
|
||||
// 终止点取接触距离与推进上限的较小者,防止越过 300 继续追击
|
||||
const stopX = Math.min(enemyX - dir * MoveSystem.MELEE_ENGAGE_X, MoveSystem.HERO_ADVANCE_LIMIT_X);
|
||||
const speed = model.speed / 3;
|
||||
this.moveEntity(view, dir, speed, stopX);
|
||||
model.is_atking = false;
|
||||
@@ -290,6 +291,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;
|
||||
/** 英雄向敌人推进的最远终止点 X,防止近战追敌时无限右移脱离战场 */
|
||||
private static readonly HERO_ADVANCE_LIMIT_X = 300;
|
||||
|
||||
/**
|
||||
* 计算某个槽位的目标 X。
|
||||
|
||||
Reference in New Issue
Block a user