feat(battle): 重构技能施放与战斗距离系统

- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围
- 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能
- 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离
- 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑
- 优化Skill实体创建,增加对象池支持
- 添加技能CD触发方法和状态检查方法
This commit is contained in:
walkpan
2026-03-12 09:13:28 +08:00
parent ce2cd05ba9
commit 5d09b3361e
7 changed files with 194 additions and 35 deletions

View File

@@ -91,6 +91,7 @@ export class Hero extends ecs.Entity {
if(hero.skills[1]) {
model.skill_id=hero.skills[1]
}
model.updateSkillDistanceCache(model.skill_id || model.atk_id);
// 初始化 buff/debuff 系统
model.initAttrs();
@@ -143,4 +144,4 @@ export class HeroLifecycleSystem extends ecs.ComblockSystem
mLogger.log(true, 'HeroLifecycle', `英雄离开世界: 实体ID ${e.eid}`);
}
}
}
}