资讯详情

资讯详情

Path of Building PoE2 DPS 伤害计算完整指南:从一次暴击闪电到面板数字的完整追踪

Path of Building PoE2 DPS 伤害计算完整指南从一次暴击闪电到面板数字的完整追踪【免费下载链接】PathOfBuilding-PoE2项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2Path of BuildingPoB的 Calcs 面板会直接给你一个 DPS 数字但很多人只看不懂它到底是怎么从你身上的武器、词缀、技能宝石算出来的这篇指南换个思路——不罗列模块而是跟着一发会暴击的闪电伤害走完全程把 CalcOffence.lua 里的计算顺序、每一步的公式和面板上那些数字的来源一次讲透。读完你会明白为什么 MORE 比 INC 值钱、为什么暴击流要堆暴击伤害、以及面板 DPS 和理论值差在哪。一次命中要回答的四个问题PoB 计算某个技能时本质是在回答四个问题每个问题对应面板上的一组数字问题对应输出面板位置这一下打多少伤害各伤害类型的 min/max/平均Damage 栏多大概率暴击CritChance / CritMultiplierCrit 栏多大概率打中HitChance含命中与格挡Hit 栏一秒能砸几一下HitSpeed每秒命中数Attacks per second 栏DPS 就是这四个数字的乘积后面细说。下面的流程严格按照 CalcOffence.lua 中calcs.offence的执行顺序展开。基础伤害武器、附加伤害和基础伤害乘数怎么合体计算的第一步发生在所有词缀生效之前。PoB 先算出每种伤害类型Physical / Lightning / Cold / Fire / Chaos的基础值公式是baseMin ((source[typeMin] or 0) addedMin * addedMult) * baseMultiplier翻译成人话source武器面板伤害攻击技能或技能宝石自身伤害法术addedMin × addedMult附加伤害词缀且会被X% of Added Damage这类词缀放大baseMultiplier技能数据里的 baseMultiplier比如某些技能的每颗宝石 X 伤害在这里乘进去。关键细节附加伤害是加法进底池的。你武器 100 物理附加 200 闪电你的物理底池还是 100闪电底池是 200——它们各自独立后面各自走各自的加成。这也是附加伤害不吃物理加成、只吃元素加成这一常见疑问的答案。转换与获得两种借伤害的机制区别PoB 用一张 5×5 的转换表conversionTable处理所有 Convert 词缀。处理顺序是固定的两步先处理技能专属转换This Skills Physical Damage is Converted to Lightning再处理全局转换Physical Damage is Converted to Lightning并且全局转换只作用在技能转换后剩下的部分上。如果所有转换加起来超过 100%会等比压缩回 100%——所以转 150% 伤害这种词缀实际只有 100% 生效。另一种机制是Gain As获得 X% 物理伤害作为闪电伤害它存在独立的gainTable里。两者区别很大Convert转换Gain As获得原伤害是否减少是按百分比扣走否原伤害完整保留目标伤害吃到目标类型加成能能面板表现原伤害变少新伤害变多原伤害不变额外多出一块最后每种伤害类型的汇总基础值是三段相加summedMin baseMin * convMult convertedMin gainedMin即自己剩下的底池 从别处转进来的 从别处获得的。这个数字就是后面所有加成的作用对象。INC 和 MORE 到底差在哪先看 PoB 怎么取数这是玩家最常搞混的一层。在 ModList.lua 里两个词缀走的是完全不同的取数函数local inc 1 skillModList:Sum(INC, cfg, Damage, LightningDamage) / 100 local more skillModList:More(cfg, Damage, LightningDamage)Sum(INC)把所有 increased/reduced求和30% 和 50% 合计 1.8 倍More()把所有 more/less连乘30% more 和 50% more 合计 1.3 × 1.5 1.95 倍。所以同样是两块词缀INC 给你 1.8 倍MORE 给你 1.95 倍。MORE 的边际收益永远不递减这就是MORE 比 INC 值钱的数学根源。然后每种伤害类型的最终命中前伤害是return round(summedMin * inc * more * moreMinDamage addMin)注意两个容易忽略的点存在独立的MinDamage/MaxDamage修正Min Physical Damage is Increased by X%只对区间端点生效这里只处理命中前的伤害。抗性、护甲在下一步才减所以按 X 伤害计算护甲CalcArmourAsThoughDealing之类的词缀会在这个阶段介入。双通道计算暴击流为什么暴击伤害收益被暴击率摊薄PoB 对每个技能做两遍完整计算pass 1是暴击命中cfg.skillCond[CriticalStrike] truepass 2是普通命中。两遍各自独立走完 INC/MORE 流程这样暴击时伤害 X%这种只在暴击时生效的词缀天然就能工作。两遍之后合并成平均命中output.AverageHit totalHitAvg * (1 - CritChance/100) totalCritAvg * CritChance/100暴击倍率本身也是加法池 乘法池的结构(1 基础暴击加成% × (1INC%) × MORE%)默认 150% 是基础值里已含 50%。还有一个细节值得注意命中率不满 100% 时暴击会先过一遍命中判定——PoB 在 effective 模式下把 CritChance 乘上 HitChance 来模拟暴击 roll 成功后再确认命中的规则Bifurcated Crits两次判定则按1 - (1-c)²折算。所以低命中堆高暴击时面板 DPS 的下跌比你直觉里更狠。减伤链护甲、穿透、抗性降序怎么一步步砍掉你的伤害平均命中算出来后PoB 会模拟敌人视角把伤害砍一遍顺序是物理伤害 → 护甲公式armourReduction armour / (armour raw * ArmourRatio) * 100护甲减伤是百分比且随你伤害提高而边际递减——这就是为什么物理流后期堆伤害比堆穿透/碎甲更划算的数学原因对 CalcDefence.lua 中armourReductionF的封装。忽略护甲词缀直接把对应部分清零。元素伤害 → 抗性 穿透先把敌方抗性夹到配置上限默认 75%再用max(resist - pen, minPen)得到有效抗性存在混沌用最低/最高抗性结算这类词缀时PoB 会遍历三种元素抗性取目标值并按实际生效的元素重新取穿透。敌人侧加成 → 总乘区effMult (1 takenInc/100) * takenMore * (1 - effectiveResist/100)受伤增加Damage Taken这类词缀也走同样的 INC/MORE 双池只不过挂在敌人身上。最终 min/max/平均三个值统一乘以 effMult得到敌人实际掉的血。面板 DPS 从哪来速度、多重命中与 DpsMultiplier减完之后DPS 的主公式只有一行output.TotalDPS output.AverageDamage * (globalOutput.HitSpeed or globalOutput.Speed) * output.DpsMultiplier * quantityMultiplier拆开看AverageDamage AverageHit × HitChance/100——打空的那一下只算 0 伤害命中率本身来自 CalcDefence.lua 的经典公式1.25 × accuracy / (accuracy 0.3 × evasion)再乘上 (1 − 格挡率)HitSpeed触发类技能Brand、持续伤害类是1 / (HitTime Cooldown)或1 / max(HitTime, Cooldown)普通攻击受服务器 tick 上限约束每秒最多若干次命中DpsMultiplier一个专门挂在 DPS 上的 MORE 池双持Hits with both weapons100%、Barrage 的重复数、机会性重新装填等都往这里乘——这就是为什么有些技能面板单发伤害不高DPS 却翻倍。异常状态为什么 Ignite 有 DPS 上限Ailment点燃/中毒/冰缓等走独立管道但源数据复用前面的结果PoB 把减伤前的命中平均StoredHitAvg/StoredCritAvg存起来作为异常状态的输入。计算时先按持续挂状态的叠层期望取一个 roll 均值叠层越多越偏向区间上限然后ailmentDPS baseVal * effectMod * rateMod * activeAilments * effMult ailmentDPSCapped min(ailmentDPSUncapped, DotDpsCap)注意两个点异常状态按自己的伤害类型Ignite 按火、Poison 按混沌过一遍敌人抗性且存在一个全局的DotDpsCap上限——叠到顶之后面板上会继续显示 x% of Maximum ailment DPS 提示你还差多少才封顶。Combined DPS 则是命中 DPS 各异常状态 DPS Impale 等的加总。用 Breakdown 面板核对每一步上面讲的每个乘数PoB 都可以在界面里逐行验证Calcs 页签的Breakdown视图由 CalcBreakdown.lua 生成会打出类似这样的链条2500 to 4500 (damage from weapon) 800 to 1200 (added damage) x 1.80 (increased/reduced) x 1.30 (more/less) 6300 to 8880 (total damage) x 0.833 (effective DPS modifier)每一行都带灰色注释标明来源。建议的核对路径先确认 (1) 基础伤害里附加伤害是否被乘对(2) 转换表是否把目标伤害扣减了(3) effective modifier 是否符合你预期的抗性/穿透/受伤增加。如果某行乘数和你预期不符往上看它的^8(...)^7注释就能定位是哪个词缀进了哪个池子。项目内也有 docs/calcOffence.md 记录了 pass/output 的机制适合想改代码的同学深入。顺着这套逻辑做 Build 的三个判断理解了流水线装备取舍就有了依据堆底池还是堆加成所有加成都作用于summedMin所以底池越大同样的 INC 值收益越高。后期装备选择时X 伤害类词缀在数学上等价于把底池放大优先级取决于你现有加成池的大小——加成池越大底池越值钱。MORE 的兑换率一块 X% MORE 的收益是乘法独立于所有其他乘区而两块 X% INC 的收益会被池子里已有的 INC 摊薄。粗略经验当你总 INC 已经很高时一块小 MORE 经常胜过同数值的两块 INC。暴击流的收益曲线面板 DPS 对暴击率的依赖是1 - c c × multiplier这意味着暴击率从 50% 提到 70% 的收益小于从 0% 提到 20% 的收益——暴击率越高多堆 1 点暴击伤害的相对价值越高反之亦然。DPS 不是玄学它就是一台把底池 → 转换 → 加成 → 暴击 → 减伤 → 速度按固定顺序乘一遍的计算器。你现在看 Calcs 面板时已经能对上每一个数字是从哪一行公式来的了。【免费下载链接】PathOfBuilding-PoE2项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →