搬这篇(3个月前的)旧文章只是因为觉得解释WoD一些机制的文章有些少,个人感觉这篇文章还算浅显易懂,也足够详细,希望可以帮到大家吧…
出处:http://iam.yellingontheinternet.com/2014/03/29/behavior-of-dots-and-haste-in-warlords-of-draenor/
关于WoD的DoT和HoT不再有断点和快照的机制已经有不少相关信息了,天龙也在推特上提到过数次相关内容并经常回答相关的问题。由于很多人似乎对这个“无断点”系统的工作方式抱有疑问,因此我打算解释下这个系统是怎么运作的。首先,来回顾下DoT系统的历史。
当前的机制:急速断点和数值修约
大灾变之前,急速一般不影响DoT的跳速,不过有几个例外,例如装了迅疾回春雕文的回春术可以使回春术的跳速受到急速影响,但这会缩短HoT的持续时间以使跳数保持固定,故此DoT跟急速也就没有面对这么一个问题:不完整的一跳应该要怎么处理?
大灾变中全面采用了新的机制以使DoT可以受到急速加成,而它通过改变DoT的持续时间、使其修约以符合最接近的整数跳数所需时间来解决这个问题。
举例:假设一个DoT持续12秒并且每3秒一跳,在无急速加成的情况下,对目标施放DoT会使其身上出现一个12秒的debuff,而DoT跳完也刚好是4跳。若你有25%的急速,每跳间隔则会缩短到2.4秒(3/1.25),但在这个跳速下跳完5跳仍然会是12秒,因此持续时间没有变化,DoT则增加了一跳。那么如果是20%急速呢? 那么间隔就变成了2.5秒(3/1.2),而这个系统并没有处理非整跳数的能力,所以你将会看到:
- 持续10秒跳4跳的DoT,或者
- 持续12.5秒跳5跳的DoT。
实际上,你看到的是后者。游戏机制将它的持续时间修约至最接近的跳数所需时间了,在这个例子里,跳5跳所需的时间要更接近DoT本身的12秒,因此就是这样的结果。
最后,如果你身上的急速是12.5%,那么每跳间隔就会变成2.667秒,于是这个DoT跳4跳所需时间会是10.67秒,而5跳所需时间则是13.33秒,它们跟12秒的距离是一样的(±0.33)。这就是我们经常所说的“断点”了,只要急速高于这个值,你的DoT就会跳5跳,反之则是4跳。
几个重要结论:

(
持续时间跳数每跳间隔)
- 只要过了急速断点DoT的伤害就会有很大的增长,当然你应该已经知道了,只是希望这些解释能让你明白为什么在目前的机制下必须存在急速断点。
- DoT的持续时间变化较大:一开始是12秒,然后下降到11秒,然后上升到13秒,再然后又回到12秒。实际上如图表所示,其变化曲线呈锯齿状。
- 每跳间隔时间是稳步并平滑下降的,这意味着如果你不断DoT,其DPS是平滑上升的。然而,刷新DoT的频率取决于它的持续时间是多少,而如上所述,持续时间的变化并不稳定。
与此相关的还有刷新DoT的问题。大灾变之前,刷新DoT会以一个新的DoT来完全替换从而使你损失上一个DoT的所有伤害。而从大灾变开始,刷新DoT会让上一个DoT的下一跳先跳完,然后再开始新DoT计时。所以为了不损失DoT伤害的最佳方案就是在上一个DoT的最后一跳前刷新它。术士们得益于
[疫病肆虐
],刷新时机就宽松得多——DoT时间过半即可。
于是,既然DoT的持续时间是在施放或刷新的一瞬间就已经决定了的,那么它就必须快照你当时身上的急速值。既然持续时间是固定为整数跳数的所需时间,那么你也没办法改变已经施放的DoT周期间隔,并且没有机制可以利用那些不完整的跳数。
WoD的机制:随着急速平滑变化
WoD对机制的修改目的主要有两个:
- 淘汰急速断点,因为,尤其因为重铸功能的移除,会造成许多配装上的困扰。另外
- 淘汰属性快照,这个机制可以说给某些职业垫高了技术门槛,同时也加重了插件的使用需求。
而让这些得以实现的技术,你可能已经猜到了,就是非整周期伤害。那么什么是“非整周期伤害”呢?
当一个DoT跳完时,根据距离上一跳的时间会产生一跳不完整的DoT伤害。
所以如果一个DoT每2秒跳一次,并且剩下3秒的时间跳完,那么当它还剩下1秒的时候会跳一次完整的伤害,然后,当DoT消失时,因为距上一跳的时间是1秒(跳速的一半),于是会产生一半伤害的一跳。
就是这样而已,非整周期伤害只是迎合了“DoT没必要非得在某一跳结束”这样的思路。只要Dot可以在任意时间而不是非要跳一下才结束,那么就完全可以自由调整DoT的周期间隔来达到上面说过的两个目的。这里要特别说一下,即使非整周期伤害只在DoT结束时发生,但这个机制仍然会在你刷新DoT时起作用,
因为DoT的持续时间已经不再受到急速的影响。接下来要举的例子应该能让你了解到这点。
在举例之前还要讨论一下刷新机制是如何运作的。既然DoT的“最后一跳”通常会是在任意时间点跳出的非整周期伤害,那么要求在最后一跳前刷新DoT的机制自然也没用了。而暴雪给出的解决方案是他们将会让所有人都使用类似于
[疫病肆虐
]的机制,只不过效果会低于50%(可能是30%)。这样你就无需考虑周期间隔的问题,只要在DoT持续时间剩下的30%内刷新DoT就可以不损失任何伤害了。
举例
一般情况:还是之前说的持续12秒每3秒一跳的DoT。0急速跟25%急速的表现仍然跟之前提到过的无异(不考虑急速变化或过早刷新的因素),因为所有完整的周期伤害都会跳完。但在20%急速(2.5秒周期间隔)的情况下,新的机制就发挥作用了。你施放了DoT,目标身上出现了每2.5秒一跳持续12秒的debuff,而不是12.5秒。在第10秒时第四跳会跳完,而剩下的2秒后,如果你不刷新DoT的话,在它消失的时候会跳出一跳80%的非整周期伤害(2/2.5=0.8)。
跳数增加的情况:现在你身上有了嗜血或其他触发的效果,然后急速增加到了60%,你施放的DoT跳数也从默认的4跳增加到了4*1.6=6.4跳。所以你将会看到完整的6跳,这部分跟目前的机制一样,但当DoT跳完时则会产生新的40%的非整周期伤害。在新的机制作用下,急速仍然能增加你的DoT跳数,但并不会在某个断点值时突然增加N跳。急速越多,构成下一跳伤害的非整伤害也就越多,直到它形成完整的一跳,随后又开始构成下一跳。
刷新DoT的情况:说回20%急速的例子,假设你在最后的3.6秒(12秒的后30%)内刷新了DoT,然后DoT则会延长12秒,此时这个DoT被设定为从最初施放开始总共持续24秒,第4跳在刷新前的10秒位置跳出,但12秒时不会跳非整周期伤害(因为DoT并未跳完),而是会按原有的周期在12.5秒时跳第5跳。接下来在15、17.5、20和22.5秒时都会产生伤害,然后在24秒DoT消失时,由于距上一跳时间为1.5秒,因此产生了60%的非整周期伤害。
总的来说就是:你花了2个GCD施放了2次DoT,DoT在目标身上持续了24秒,你一共造成9.6跳的伤害。也就是说你施放了一个默认为4跳的DoT两次并且有20%急速,4x2x1.2=9.6跳,完美无瑕。
急速变化的情况:跟上面的条件一样,只不过15秒后,你的急速从20%降低到了11.1%,你的每跳间隔从2.5增加到了2.7秒。那么接下来DoT会在17.7、20.4和23.1秒时产生伤害,当DoT消失时,距上一跳时间为0.9秒,所以产生了1/3(0.9/2.7)伤害的非整周期伤害。
保持DoT的情况:那么,在一场持续300秒的战斗中,你从一开始就施放了DoT,并且在接下来的时间内一直在无损刷新DoT。由于每次施放DoT都会增加12秒持续时间,当你施放25次后,DoT将会在战斗结束时刚好跳完。在20%急速影响下,DoT每2.5秒就会跳一次,直到战斗结束一共产生120跳的伤害。
当然在现在的机制下也一样会是120跳,然而,在这个机制下你每次施放都会延长12.5秒的DoT,于是300秒的战斗你只需要施放24次DoT就可以了,这样的变数在WoD里将不再出现。
结论
在不考虑技术限制的前提下,DoT应当总是能持续地造成该有的伤害,另外即使DoT在“某两跳”之间结束也不会有任何问题,并且任何符合的属性都能够无缝加成DoT的伤害。WoD的机制遵循了这个理念,但他们将伤害分配到每一跳中。如果你将每一跳都想象成上一跳以来该有的伤害累积,那么非整周期伤害就好理解了,当DoT在某两跳之间结束时,还没跳出来的那些该有的伤害就会集中作为最后一跳出现。如此一来,DoT的总伤害就总是跟它存在的时间一致,每一“跳”只是周期作用的累积伤害而已。
总之新的机制在各方面都是共同作用的。每次施放DoT都总是增加固定的持续时间,DoT伤害总是造成与其持续时间相符的伤害,而急速能够平稳地增加DoT的伤害。只要不去追究非整周期伤害的事情,那么这个机制还是非常好理解的。非整周期伤害只是为了保证DoT能够顺利地造成最后一点伤害罢了,所以一般人无需去关注它。新旧机制相比最大的不同就是急速不再影响DoT的持续时间。