refactor(hero): 统一英雄攻击射程配置并优化射程判断
1. 将MoveSystem和MonMoveSystem中的硬编码射程常量替换为HeroDisVal统一配置 2. 调整近战英雄默认攻击射程为120,修正原硬编码数值不一致问题 3. 优化施法射程计算逻辑,复用HeroDisVal配置 4. 为敌人查找逻辑添加同路优先筛选逻辑 5. 修正部分英雄技能的弹道类型为贝塞尔曲线 6. 移除冗余的射程常量定义,统一配置管理
This commit is contained in:
@@ -48,10 +48,6 @@ interface MoveFacConfig {
|
||||
|
||||
@ecs.register('MoveSystem')
|
||||
export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
|
||||
/** 近战判定射程 */
|
||||
private readonly meleeAttackRange = 250;
|
||||
/** 远程判定射程 */
|
||||
private readonly longAttackRange = 600;
|
||||
private readonly heroFrontAnchorX = -100;
|
||||
private readonly monFrontAnchorX = 0;
|
||||
/** 常规同阵营横向最小间距(英雄) */
|
||||
@@ -166,8 +162,8 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
private isEnemyInAttackRange(model: HeroAttrsComp, selfX: number, enemyX: number): boolean {
|
||||
const dist = Math.abs(selfX - enemyX);
|
||||
const rangeType = model.type as HType.Melee | HType.Mid | HType.Long;
|
||||
if (rangeType === HType.Melee) return dist <= this.meleeAttackRange;
|
||||
return dist <= this.longAttackRange;
|
||||
const attackRange = HeroDisVal[rangeType];
|
||||
return dist <= attackRange;
|
||||
}
|
||||
|
||||
private processCombatLogic(e: ecs.Entity, move: MoveComp, view: HeroViewComp, model: HeroAttrsComp, enemy: HeroViewComp) {
|
||||
|
||||
Reference in New Issue
Block a user