#经验分享 #治疗 #战法机制 #进阶
先说结论:治疗回复多少,看的是「挨这一下的人」,不是奶妈自己 很多人以为「奶妈智力越高,全队奶量就越大」,把治疗类战法当成奶妈输出能力来堆智力装备。但翻开引擎源码会发现,这游戏的治疗计算函数吃的参数是接收治疗的这个人自己的当前兵力和当前智力,奶妈自己的属性只决定治疗率这个固定百分比之外的部分(比如少数「造成治疗量提升」类buff的乘算加成),并不会让基础治疗量这一项变大。也就是说,同一个奶妈对两个属性不同的队友使用完全相同的治疗战法,两人回复的兵力可以差出一大截——这不是随机波动,是公式决定的确定性差异。下面用一场真实模拟战报和一次隔离验证来实测证明。 治疗公式拆解:基础治疗查表 + 智力,两项都算「接收者自己的」 引擎里 DamageCalculator.calculatehealing(healer, healrate) 的实现是:治疗量 = (基础治疗量 + 智力) × 治疗率。其中基础治疗量是按当前兵力去查一张兵力→数值表(500兵力对应52点,10000兵力对应442点,中间线性插值),智力则是直接加上这个人的当前智力属性值。关键在于战斗代码里调用这个函数时,不管是即时治疗、每回合持续治疗,还是受伤后概率触发的〖急救〗,传进去的都是实际要被治疗的这个人,而不是原始施放战法的奶妈。战法描述里常见的「受智力影响」,指的正是这个加在治疗量里的智力项——但它算的是被治疗者自身的智力,并非奶妈本人的智力。至于描述里「治疗率48%→96%」这种范围,是战法等级(练度)决定的固定百分比,不受任何人属性影响;少数走「伤害量×比例」特殊公式的战法(比如草船借箭一类)是例外,遇到这类描述要单独判断,不适用本文结论。 实测:华佗一次〖青囊〗,吕布和夏侯渊回的兵力不一样 用验证队伍「吕布骑兵队」(吕布、夏侯渊、华佗)对阵「蜀国枪兵队」跑一场50级、seed=42的模拟战斗,华佗的自带战法〖青囊〗开局即发动,给吕布和夏侯渊各上了一个〖急救〗状态(受伤后50%概率回复兵力,治疗率48%)。战报记录里,同一个〖青囊〗触发的〖急救〗效果,吕布只回复了438兵力,夏侯渊先后回复了571、511、510兵力——同一个来源、同一个百分比,回复量却差了100多点。原因很直接:吕布50级基础智力只有约39(基础26+成长0.27×49级),夏侯渊则有约109(基础68+成长0.84×49级),两人智力差了70点,直接体现在了各自触发〖急救〗时的治疗量上。华佗自己的智力全程没有出现在这个计算里。 隔离验证:智力和兵力,谁对治疗量影响更大 为了把变量彻底分开,直接调用引擎的 calculatehealing() 函数做单独测试(治疗率固定48%,与青囊一致):兵力同为6000时,智力40的目标回复218,智力110的目标回复252,只多15.6%;但如果反过来固定智力都是70,只让兵力从6000掉到1000(重伤状态),回复量从232骤降到107,跌幅超过一半。结论是:兵力对基础治疗量的影响比智力大得多——一个残血单位就算智力再高,能从「治疗率X%」里换回来的绝对兵力也天然更少,因为查表用的基础值本身就随着当前兵力走低。这也解释了为什么很多时候小治疗很难真正把残血队友救回来:治疗和伤害在同一个天平上,兵力越低,治疗效率反而越弱。 实战启示:别再迷信「奶妈智力堆得越高,全队奶量越大」 ①奶妈自己的智力不会让全队回血更多——真正决定单次回复量的是被治疗的那个人自己的智力和兵力,奶妈只提供固定的治疗率(%)和(如果有的话)「造成治疗量提升」类buff的乘算加成;给奶妈本人堆智力,只会让奶妈自愈或被治疗时受益更多,不会让队友多回血。②治疗率的「X%→Y%」提升,靠的是把这个战法练到更高等级(书本练度),不是任何人的属性,不要指望战场上临时的属性变化能改变这个百分比。③残血队友恰恰是治疗效率最低的时候——公式里基础治疗值随当前兵力走低,同样的治疗率,救一个残血的人换回来的绝对兵力反而更少,别指望一个〖急救〗把濒死队友一口气奶满,减伤、免控、优先保护这类前置手段比事后治疗更可靠。④如果一个战法是「受伤后概率触发急救」这种被动,优先分配给智力较高、兵力厚的后排/副将,而不是纯武力的前排肉盾——同样的触发条件下,后者能换回来的兵力天然更少。⑤少数特殊治疗战法(比如按受到伤害量的百分比回复,如草船借箭一类)不走这套「兵力+智力」公式,遇到这类描述要单独确认,不要套用本文的结论。