动作生命伤害系数
以刀斧轻击首段原始值 100,000 为 100%。例如 125,000 展示为 125%。这是动作之间的相对威力,尚未包含角色攻击力、防御、抗性、增伤和取整。
AttackInfo.SkillPowerInfo.SkillPowerBonus战斗研究
从动作判定到技能修正,逐层查看数值的来源与作用范围。
以刀斧轻击首段原始值 100,000 为 100%。例如 125,000 展示为 125%。这是动作之间的相对威力,尚未包含角色攻击力、防御、抗性、增伤和取整。
AttackInfo.SkillPowerInfo.SkillPowerBonus逐个伤害对象保存原始值,可用于同一字段比较;其缩放和武器精力攻击的参与方式仍待确认,因此暂不标作百分比或敌人损失的精力点数。
AttackInfo.StaminaAttackInfo.StaminaAttackRateAdd 与 Rate 分开存储;原生代码已确认部分回调及攻击者技能 Buff 在对应字段内累加,移除 Buff 时减回。聚合值怎样进入最终伤害公式仍待确认,因此不合并为总增伤。
CustomSkillPowerBonusAdd / CustomSkillPowerBonusRate已解出 218 个动作状态中的 80 条精力事件,包括一次扣除、按秒消耗、上限与条件。SkillInfo 的起始输入和动作阶段输入分别展示;技能等级、减耗属性及触发条件仍会改变最终消耗。
StaminaConsumeRegainInfo / StatusChangeInfoList选择技能,再选择它的一个伤害对象。结果只比较生命伤害系数字段,便于查看普通与蓄力等变体的差别。
B / A 的生命伤害系数之比。敌人的防御、抗性、动作触发、Buff 和取整可能改变实际伤害比例。
| 伤害对象 / 动作标记 | 生命伤害系数 | 精力攻击 · 原始值 | 条件修正 · 原始值 |
|---|---|---|---|
对象 1SD_Kazan_DualAxeSword_Flow_LightningDraw | 118.25% 原始值 118,250 | 2,363 | 威力 — 精力 — |
对象 2SD_Kazan_DualAxeSword_Flow_BreakSlash01_Charge | 156.225% 原始值 156,225 | 6,200 | 威力 — 精力 — |
| 数据层 | 已提取输入 | 结算边界 |
|---|---|---|
| 角色与武器 | 武器基础攻击、属性补正、装备词条 | 在 Build 中组合角色配置 |
| 动作层 | SkillPowerBonus · StaminaAttackRate | 不同判定有不同输入;零威力对象也可能负责辅助判定。 |
| 技能修正层 | Add · Rate · Attacker / Damager | 部分回调与攻击者技能 Buff 的同字段加算已确认;跨字段及跨来源的最终组合仍待核实。 |
| 条件与目标 | ComputedSkillDamageInfo · DamageInfoApplyRule | 条件触发率、目标规则与 Boss 抗性必须一起验证。 |
| 最终结算 | 防御、抗性、加乘顺序、上下限与取整 | 未公开最终伤害预测,避免把尚未核实的乘区作为游戏公式。 |
以下三条规则来自当前版本的函数指令与反射字段映射,作用范围限定在对应的修正或消耗路径。
AdditionalDamage 回调把 Add、Rate 等输入分别加到当前伤害实例的对应字段;攻击者侧技能 Buff 也按字段加入角色聚合值,并在移除时减回。
currentField += incomingField这证明上述写入路径内的同字段加算。聚合后的值怎样与攻击力、基础动作威力、其他增伤和防御组合,仍未确认。技能等级及叠层设置也会改变进入聚合值的输入。
AddComputedSkillDamageRate · xxDamageInfoFuncAdditionalDamage · xxSpellFunc_AddSkillDamageBuff
0x1418CE87B · 0x1415AC770 · 0x14170EE60 · 0x14170F330
地址基于本版本二进制的首选映像基址。 下载完整研究记录
部分技能根据效果的剩余时间生成 Add 或 Rate:时间乘每秒配置值,经过原生取整与上限截断后,再加到当前伤害的对应字段。
currentField += min(nativeRound(seconds × perSecond), cap)例如 PhantomCross 伤害对象中,RatePerSeconds 为 67、MaxRate 为 2,000。这里只确认原始字段的处理顺序,不能直接写成每秒最终伤害百分比。nativeRound 保留原生指令含义,未简化成普通四舍五入。
xxDmgInfoFuncAdditionalDamageByRemainSpellTime
0x1415ADE00 · 0x1415ADEB4
地址基于本版本二进制的首选映像基址。 下载完整研究记录
一次消耗事件先用原始值乘综合修正,再乘另一项独立系数,最后向零截断成整数请求量。综合修正会按顺序处理技能减耗、条件减耗和下限。
request = truncTowardZero(V × (1 + r) × (1 + H × 0.0001))V 是事件配置消耗;r 是按原生顺序处理后的综合修正;H 是尚未完成业务名称映射的角色字段。r 先取 max(-1, R−S),条件满足时再取 max(-1, r−C)。这是消耗请求量,实际扣除还受剩余精力与状态规则限制,也不能用于按秒消耗事件。
xxConsumeStaminaRegainFunc · Native stamina-consume core
0x1415BF6E0 · 0x141013250 · 0x141013475
地址基于本版本二进制的首选映像基址。 下载完整研究记录
Steam Build 24447756 · Content revision 578943
覆盖 53 个直接引用伤害对象的技能、272 个伤害对象和 318 个状态对象。每个技能详情均保留动作状态与原始对象名。
xxSkillInfo → DamageInfos / SpellInfoList → xxDamageInfo / xxSpellInfo
scripts/normalize/normalize_skill_details.py · scripts/normalize/normalize_skill_combat_inputs.py
原生结论对应二进制:BBQ/Binaries/Win64/BBQ-Win64-Shipping.exe
SHA-256 717AC583A968A464E464403EBCEA3B5DD2EA593373E25CF2B1D846F2BE537D94