打印

[原理] 野蛮人(Bar) Whirlwind 攻击速度的计算原理

野蛮人(Bar) Whirlwind 攻击速度的计算原理

anhei3战网

Barbarian Whirlwind 攻击速度的计算

一. 仅使用一把武器的情况

    即除了两手分别持武器(Dual Wielding)以外的情况.

1. 计算 delay延时

    游戏首先要计算一个 delay 值, 公式如下:
delay = [A1_Frames * 256 / [(WIAS - WSM + 100) * 256 / 100]]

其中:
A1_Frames: 攻击动作的帧数, 如下表:
====================
武器类型  A1_Frames
--------------------
单手武器      16
--------------------
双手剑        16
--------------------
双手其它      19
====================

WIAS: Weapon Increased Speed, 武器上的提速.
WSM: Weapon Speed Modifier, 武器的基础速度.
    []: 方括号表示向下取整数.

2. 查 Real_Delay

    根据 delay 值从下表查出一个对应的 Real_Delay 值.
====================
delay    Real_Delay
--------------------
0 - 11       4
12 - 14      6
15 - 17      8
18 - 19     10
20 - 22     12
23 - 25     14
26及以上    16
====================

3. Whirlwind 的动作序列

    启动 Whirlwind 时的那一帧记为第 0 帧.

(1) 第 4 帧时, 攻击 Whirlwind 范围内的某个敌人;
(2) 第 8 帧时, 攻击 Whirlwind 范围内的某个敌人;
(3) 此后, 每隔 Real_Delay 个帧数就标记一次 "攻击状态"; 每隔 4
    帧检测一次"攻击状态", 若发现 "攻击状态" 被标记, 则攻击 
    Whirlwind 范围内的某个敌人.

4. Whirlwind 的攻击范围

    Whirlwind 的攻击范围是 5 TU(TU解释: tile unit. 菱形的地图单元, 对角线长度分别为:水平32像素, 竖直16像素.). 但究竟能否打到敌人还与武器的
攻击范围有关. 若范围内有多个敌人, 将选择其中一个. 具体选法未
知, 有可能是按敌人进出攻击范围的顺序排队.

5. Whirlwind 的动作序列帧与 Real_Delay 对照表

表中标记"M"表示此时标记一次"攻击状态", 标记"A"表示攻击敌人. 
若 M 与 A 同时出现, 则攻击敌人, 标记为"A".
========================================
Real_Delay  16  14  12  10   8   6   4
----------------------------------------
序列帧
----------------------------------------
4            A   A   A   A   A   A   A
8            A   A   A   A   A   A   A
10           -   -   -   -   -   -   -
12           -   -   -   -   -   -   A
14           -   -   -   -   -   M   -
16           -   -   -   -   A   A   A
18           -   -   -   M   -   -   -
20           -   -   A   A   -   A   A
22           -   M   -   -   -   -   -
24           A   A   -   -   A   -   A
26           -   -   -   -   -   M   -
28           -   -   -   A   -   A   A
30           -   -   -   -   -   -   -
32           -   -   A   -   A   A   A
34           -   -   -   -   -   -   -
36           -   A   -   -   -   -   A
38           -   -   -   M   -   M   -
40           A   -   -   A   A   A   A
42           -   -   -   -   -   -   -
44           -   -   A   -   -   A   A
46           -   -   -   -   -   -   -
48           -   -   -   A   A   -   A
50           -   M   -   -   -   M   -
52           -   A   -   -   -   A   A
54           -   -   -   -   -   -   -
56           A   -   A   -   A   A   A
========================================
可见, 当 Real_Delay 为 4 的整数倍时, 标记"攻击状态"与检测
"攻击状态"发生在同一帧. 当 Real_Delay 不是 4 的整数倍时, 标记
与检测"攻击状态"将发生分离. 例如 Real_Delay = 6 时, 从第 8 帧
起, 下一次标记"攻击状态"发生在第 8 + 6 = 14 帧, 而这个标记要
等到第 16 帧游戏检测"攻击状态"时才被检测到, 因此对应的攻击发
生在第 16 帧.

二. 两手分别持一把武器(Dual Wielding)

    数据与公式和上面完全一样, 只是在动作序列中有以下不同:
(1) 一把武器作为 当前武器, 另一把武器作为 第二武器;
(2) 每次攻击时, 两把武器均会攻击敌人, 且不会攻击同一个敌人; 
    但第一次攻击(第 4 帧)除外, 第一次攻击时仅 当前武器 攻击敌
    人;
(3) 每发生一次攻击后, 游戏会切换武器, 当前武器 成为 第二武器, 
    原先的 第二武器 成为当前武器;
(4) Real_Delay 为 当前武器 的 Real_Delay 值.

    切换武器的动作使得实际的动作序列颇为复杂, 尤其是两把武器
速度不同时. 下面举例说明:

武器A: Real_Delay = 6, 持于右手;
武器B: Real_Delay = 14, 持于左手;
动作序列如下:

1. 第 0 帧, 开始 Whirlwind. 当前武器为 武器A, 第二武器为 
   武器B.
2. 第 4 帧, 
  2.1 武器A 准备攻击敌人;
  2.1.1 若范围内有敌人, 则武器A 攻击敌人, 然后切换武器, 本帧
        结束.
  2.1.2 若范围内无敌人, 本帧结束.
3. 第 8 帧, 此时的 当前武器 要视 2 中的结果而定.
  3.1 当前武器 准备攻击敌人;
  3.1.1 若范围内有敌人, 则 当前武器 攻击敌人, 然后切换武器;
  3.1.2 若范围内无敌人, 本帧结束.
  3.2 若 3.1.1 中切换了武器(此时的 当前武器 为 3.1 中的 
      第二武器), 
  3.2.1 若范围内有其它敌人, 则 当前武器 攻击敌人, 然后切换武
        器, 本帧结束. (注意, 此时不会攻击 3.1.1 中被攻击的敌
        人, 不论它是否位于范围之内.)
  3.2.2 若范围内无其它敌人, 本帧结束.
4. 第 8 帧结束时, 下次攻击发生在哪一帧?
  4.1 若 当前武器 为 武器A, 则下次攻击发生在第 16 帧(见 
      序列帧 与 Real_Delay 对照表.)
  4.2 若 当前武器 为 武器B, 则下次攻击发生在第 24 帧.
5. 第 8 帧之后的第一个攻击帧. 此时是第 16 帧还是第 24 帧要视
   4 中的结果而定. 攻击的过程与 3 中类似. 
  5.1 若此时是第 16 帧,
    5.1.1 若 当前武器 为 武器A, 则下次攻击发生在第 20 帧
       (见 序列帧 与 Real_Delay 对照表).
    5.1.2 若 当前武器 为 武器B, 则下次攻击发生在第 24 帧.
  5.2 若此时是第 24 帧,
    5.2.1 若 当前武器 为 武器A, 则下次攻击发生在第 28 帧.
    5.2.2 若 当前武器 为 武器B, 则下次攻击发生在第 36 帧.
6. 依次类推.
您目前仅能浏览部分内容,查看全部内容及附件,请先 登录注册
分享到:


www.anhei3.net
暗黑3战网

评分 TOP

学习中

评分 TOP

楼上灌水太厉害了吧?

评分 TOP

求教

第8帧时:
  3.2.1 若范围内有其它敌人, 则 当前武器 攻击敌人, 然后切换武
        器, 本帧结束. (注意, 此时不会攻击 3.1.1 中被攻击的敌
        人, 不论它是否位于范围之内.)
这么说,2把武器打1个敌人的情况,也是4F 打1次,而伤害却比用双手武器(长柄武器)低很多?
也就说 在打1 个敌人,比如 BOSS 和PVP 的时候 2把武器WW 的伤害只相当于1 把武器+1盾的伤害效果?

评分 TOP

提示: 作者被禁止或删除 内容自动屏蔽

评分 TOP


Powered by discuz ©2008-2009 暗黑战网(anhei3.net)

川公网安备 51160202511654号

蜀ICP备14017336号