feat(hero): 新增驻场光环系统与配置
1. 为英雄属性组件添加Field触发类型字段,支持存储驻场光环UUID列表 2. 扩展英雄进化配置,支持覆盖驻场光环配置 3. 优化FieldSkillHelper,优先使用进化后的驻场光环配置 4. 新增占卜师战前强攻限时Buff与援护弓手、占卜师、治愈牧师的6级进化驻场光环配置 5. 补充对应英雄的技能描述与进化逻辑注释
This commit is contained in:
@@ -19,12 +19,14 @@ export class FieldSkillHelper {
|
||||
let total = 0;
|
||||
|
||||
// 1. 统计英雄带来的驻场技能加成
|
||||
// 读 model.field(运行时):优先使用 evolve 覆盖后的驻场配置,未升级时回退到 heroInfo 基础配置
|
||||
ecs.query(ecs.allOf(HeroAttrsComp)).forEach((entity: ecs.Entity) => {
|
||||
const model = entity.get(HeroAttrsComp);
|
||||
if (!model || model.is_dead || model.fac !== FacSet.HERO) return;
|
||||
const heroConfig = HeroInfo[model.hero_uuid];
|
||||
if (heroConfig && heroConfig.field) {
|
||||
for (const skillUuid of heroConfig.field) {
|
||||
const fields = model.field ?? heroConfig?.field;
|
||||
if (fields) {
|
||||
for (const skillUuid of fields) {
|
||||
const skillConfig = FieldSkillSet[skillUuid];
|
||||
if (skillConfig && skillConfig.type === type) {
|
||||
total += skillConfig.value;
|
||||
|
||||
@@ -133,6 +133,7 @@ export class Hero extends ecs.Entity {
|
||||
model.fend = hero.fend;
|
||||
model.atking = hero.atking;
|
||||
model.atked = hero.atked;
|
||||
model.field = hero.field;
|
||||
model.revive = hero.revive;
|
||||
|
||||
// 基础属性按等级倍率初始化
|
||||
@@ -186,6 +187,8 @@ export class Hero extends ecs.Entity {
|
||||
if (evo.dead) model.dead = evo.dead;
|
||||
if (evo.fstart) model.fstart = evo.fstart;
|
||||
if (evo.fend) model.fend = evo.fend;
|
||||
// 覆盖驻场光环(存活期间全局生效)
|
||||
if (evo.field) model.field = evo.field;
|
||||
if (evo.revive) model.revive = evo.revive;
|
||||
// 额外属性加成
|
||||
if (evo.ap_bonus) model.ap += evo.ap_bonus;
|
||||
|
||||
@@ -44,6 +44,8 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
[SkillTriggerType.FEnd]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
|
||||
[SkillTriggerType.Atking]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
|
||||
[SkillTriggerType.Atked]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
|
||||
/** 驻场光环(FieldSkillSet uuid 列表,随 evolve 覆盖,存活期间全局生效) */
|
||||
[SkillTriggerType.Field]?: number[];
|
||||
[SkillTriggerType.Revive]?: { s_uuid: number, r_num: number, upr: number };
|
||||
|
||||
// ==================== 特殊属性 ====================
|
||||
|
||||
Reference in New Issue
Block a user