feat(hero): 新增英雄职业定位系统,优化编队站位逻辑

1. 新增HRole枚举与角色定位配置,解耦成长类型与阵容职能
2. 重构移动系统的编队优先级计算,基于职业定位重新排序站位
3. 重写单行编队站位算法,根据队伍人数自动适配紧凑/松散排布
4. 为所有预设英雄配置对应职业定位
This commit is contained in:
pan
2026-08-12 11:04:59 +08:00
parent 426dc24899
commit 4594f673b4
4 changed files with 141 additions and 91 deletions

View File

@@ -1,5 +1,5 @@
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { HeroDisVal, HeroInfo, HSkillInfo, HType, SkillTriggerType, TriggerGrouped, LvFieldEntry, LvReviveEntry, LvBonusEntry, FieldEntry } from "../common/config/heroSet";
import { HeroDisVal, HeroInfo, HSkillInfo, HType, SkillTriggerType, TriggerGrouped, LvFieldEntry, LvReviveEntry, LvBonusEntry, FieldEntry, HRole } from "../common/config/heroSet";
import { mLogger } from "../common/Logger";
import { FacSet, FightSet } from "../common/config/GameSet";
import { FieldSkillSet, FieldSkillType, SkillOverrides } from "../common/config/SkillSet";
@@ -29,6 +29,7 @@ export class HeroAttrsComp extends ecs.Comp {
type: number = 0; // 0近战 1远程 2辅助
fac: number = 0; // 0:hero 1:monster
grow_type?: number; // 成长类型HGrowType驱动每级 hp/ap 线性成长
role?: HRole; // 位置类型/职业定位(驱动编队站位优先级)
// ==================== 基础属性(有初始值) ====================
base_ap: number = 0; // 原始基础攻击(无任何加成)
base_hp: number = 0; // 原始基础血量(无任何加成)
@@ -563,6 +564,8 @@ export class HeroAttrsComp extends ecs.Comp {
this.lv = 1;
this.type = 0;
this.fac = 0;
this.grow_type = undefined;
this.role = undefined;
this.base_ap = 0;
this.base_hp = 0;
this.ap = 0;