You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
AdLike2048/docs/方案-英雄经验升级.md

1.8 KiB

方案:英雄等级上限与经验升级

状态:已落地(2026-09-03)

1. 等级上限

  • 上限读 Hero.level_limit,经 WeaponComposeConfigProvider.getMaxWeaponLevel。
  • 拖动合成、封神榜/授仙箓、经验升级、棋盘降级回升,一律 min(上限, 新等级),禁止突破。
  • level_limit 缺失或 ≤0:warn 后按 1,不静默当成无上限。

2. 经验升级

  • Hero.exp[i]:从等级 i+1 升到 i+2 所需经验。例:哪吒 10,35,75,130 对应 1→2 … 4→5。
  • exp 为空(基础字刀枪棍弓等)不能靠经验升级,仍可拖字合成。
  • 仅已部署且有塔装载的攻击单位吃经验;背包未上场的字不吃。
  • 经验可结余,循环升级直到不够或已达上限。

3. 击杀 / 助攻

条件 经验
该英雄任意伤害打出致命一击 Monster.exp
对该怪造成过伤害但未拿击杀 常量表 id=9(ConstNumType.AssistExp,para)
  • 伤害来源以 DamageDealt.caster 为准(普攻、技能、毒、火龙、哪吒冲锋等)。
  • 无塔装载的召唤物/机制体不记击杀或助攻。
  • 怪物表 id 由 UnitMetaComp.unitDefId 解析。

4. 实现

模块 职责
TowerExpHost 伤害归属、杀/助加经验、连升
MergeSession.applyBattleBuffUnitLevelUp 写 tile / composition.level,受上限截断
setupTowerCombat 升级后重建战斗数值与技能
DeploySync MapUpgraded 后对账等级与 HeroActor

5. 验收

  • 悟能/悟净/木吒等 level_limit=3 的英雄,任意升级方式不能到 4。
  • 悟空等上限 5 的英雄经验按 exp 数组逐级消耗,满级后经验不再涨、等级不再变。
  • 一塔最后一刀拿击杀经验;其它打过该怪的塔拿助攻经验。