Barbarian 双挥速度的计算
(由Kyrene和Brianp提供)
=========================================================
文法约定:
IAS: Increased Attack Speed, 提升攻击速度(去掉百分号).
Total_Item_IAS: 所有物品上的 IAS 的总和, 包括武器和非武器.
Left_Weapon_IAS: 左手武器上的 IAS
Right_Weapon_IAS: 右手武器上的 IAS
Item_IAS: Total_Item_IAS 中的有效部分.
Effective_Item_IAS: Item_IAS 经过折算后实际起作用的部分.
Skill_IAS: 技能提供的 IAS.
SI: Speed Increase. 实际的速度提升.
SI_Modifier: 对 SI 的修正值.
WSM: Weapon Speed Modifier, 武器的基础速度.
Left_WSM: 左手武器的基础速度.
Right_WSM: 右手武器的基础速度.
Anim_Length: 动作帧数.
Frames: 每次攻击的实际帧数.
(): 圆括号表示优先计算.
[]: 方括号表示向下取整数.
{}: 花括号表示向上取整数.
所有计算结果均应向下取整数.
=========================================================
一. 普通双挥
即持两把武器, 不使用任何双挥技能时的攻击速度.
1. 右手的挥动速度
Item_IAS = Total_Item_IAS - Left_Weapon_IAS
Effective_Item_IAS = 120 * Item_IAS / (120 + Item_IAS)
SI = Skill_IAS - (Left_WSM + Right_WSM) / 2
+ Effective_Item_IAS
若 SI > 75, 则 SI = 75
Frames = {256 * 16 / [256 * (1 + SI / 100)]} - 1
当持两把武器却使用单手攻击技能, 例如 Concentrate,
Berserk 等, 其攻击速度始终为右手挥动速度.
2. 左手的挥动速度
Item_IAS = Total_Item_IAS - Right_Weapon_IAS
Effective_Item_IAS = 120 * Item_IAS / (120 + Item_IAS)
SI = 0.5 * Right_Weapon_IAS - 1.5 * Left_Weapon_IAS
+ Skill_IAS + Effective_Item_IAS
若 SI > 75, 则 SI = 75
Frames = {256 * 12 / [256 * (1 + SI / 100)]} - 1
二. 双挥技能
双挥技能有: Double Swing, Double Throw 和 Frenzy.
以下是一些数据:
======================================
技能 Anim_Length SI_Modifier
--------------------------------------
Double Swing 17 20
--------------------------------------
Double Throw 12 -30
--------------------------------------
Frenzy 17 -30
======================================
计算过程:
Item_IAS = Total_Item_IAS - Left_Weapon_IAS
Effective_Item_IAS = 120 * Item_IAS / (120 + Item_IAS)
SI = Skill_IAS - (Left_WSM + Right_WSM) / 2
+ Effective_Item_IAS + SI_Modifier
若 SI > 75, 则 SI = 75
Frames = {256 * Anim_Length / [256 * (1 + SI / 100)]} / 2
三. 总结
使用双挥技能时, 左手武器的 IAS 无效, 但左手武器的基础
速度却有效.