feat: 新增天赋系统,实现局外天赋养成与战斗属性加成
- 新增天赋配置表与相关枚举、数据结构 - 新增全局单例的天赋数据管理接口,支持升级、重置、点数管理 - 新增天赋属性加成结算逻辑,支持全局天赋与职业专精天赋 - 新增治疗强化、buff强化属性与对应天赋支持 - 新增天赋更新事件,同步UI与战斗数据 - 在英雄加载、升级流程中接入天赋加成计算
This commit is contained in:
@@ -13,6 +13,7 @@ import { Attrs } from "../common/config/HeroAttrs";
|
||||
import { MoveComp } from "./MoveComp";
|
||||
import { mLogger } from "../common/Logger";
|
||||
import { FieldSkillType } from "../common/config/SkillSet";
|
||||
import { applyTalentBonuses } from "../common/config/TalentSet";
|
||||
/** 英雄实体:负责英雄节点创建、属性初始化、入场动画与销毁流程 */
|
||||
@ecs.register(`Hero`)
|
||||
|
||||
@@ -194,6 +195,12 @@ export class Hero extends ecs.Entity {
|
||||
model.ap += apExtra;
|
||||
}
|
||||
|
||||
// 天赋加成层:基础天赋全局生效,专精天赋按职业过滤(仅英雄生效,怪物跳过)
|
||||
// Why: 放在成长/bonus 之后、光环乘区之后,以基础快照为基数叠加,避免与乘区叠加成乘法膨胀
|
||||
if (model.fac === FacSet.HERO) {
|
||||
applyTalentBonuses(model, smc.getTalentLevels(), model.role);
|
||||
}
|
||||
|
||||
// 缓存技能射程等派生数据,减少战斗帧内重复计算
|
||||
model.updateSkillDistanceCache();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user