此站点大量使用JavaScript。
请在您的浏览器中启用JavaScript。
经典怀旧服主题
Thottbot主题
小知识
屏幕截图
视频
评论
评论来自
Rothia
DON'T NERF SAPPHIRON
Posted by Pazorax | WoW Developer | Blizzard Forums | 2020-11-11
Hey everybody!
We recently completed testing
纳克萨玛斯
on the PTR. A big thank you goes out to everyone who helped us find bugs or exploits we could fix before release. We often get questions about how we decide what counts as a bug, and what’s worth changing, so I thought you might enjoy a deep dive into our investigation of
萨菲隆
’s
冰霜光环
.
TLDR for anyone who only wants to know the conclusion: We’re changing the spell to tick every 2 seconds consistently.
When
萨菲隆
is engaged, the entire raid is affected by a
冰霜光环
which reads: “Deals Frost Damage every second”, but many players reported that it should be every 2 seconds. Our first thought was, “that was the Wrath of
巫妖王
version,” but we know that in a game as complicated as WoW, there can be surprising and unexpected interactions, and a lot has changed over the last 15 years. When a current behavior doesn’t match players’ or developers’ memories, it always makes us a little suspicious. Sometimes it turns out our memories are wrong, but we’ve also seen it lead to the uncovering of an unexpected interaction, so, it’s usually worth a look, and that was certainly the case here.
We looked at many old videos, and though some were from the wrong expansion, we were able to find videos that showed the original fight. The videos actually had evidence of both tick rates within the same fight. The
冰霜光环
seemed to
mostly
tick every 2 seconds, but
occasionally
tick once per second for a bit, before returning to ticking every 2 seconds. We also checked in our reference server, and the behavior was the same as we saw in the videos: mostly 2 second ticks, but occasionally a brief streak of 1 second ticks, before returning to 2 second ticks.
Perhaps the most useful clue was this post from WoW game designer Daelo in 2009, in which he describes fixing
萨菲隆
’s
冰霜光环
so that it does “the damage that was seen previous to the 3.0.8 patch”:
"We just hotfixed
萨菲隆
's
冰霜光环
so it should do the damage that was seen previous to the 3.0.8 patch regardless of the size of the raid or your server's performance. This should be 1200 every 2 seconds in Normal, and 1600 every 2 seconds in Heroic. You'll notice that the
冰霜光环
debuff you have no longer has a duration that refreshes. The tooltip also incorrectly lists the damage as occurring every second. The tooltip error will be fixed the next time we make a client patch available."
This certainly suggests that it was doing damage every 2 seconds prior to the 3.0.8 patch, but this was a hotfix to the Wrath of
巫妖王
version of
纳克萨玛斯
. We’ve already found other differences between the original and Wrath of
巫妖王
versions of
纳克萨玛斯
, so while this post was helpful, it wasn’t enough to satisfy us on its own. It contained an important clue about the debuff duration refreshing, which led us to suspect the DoT refresh might be clipping the damage tick. In WoW Classic, when you refresh a DoT, it resets the timer on the periodic damage, and can cause you to miss ticks, and since the
冰霜光环
has a 5 second duration that gets reset throughout the fight. It was a good bet that the damage timer was getting reset then too. Of course, we already reproduced that behavior in WoW Classic, so that still didn’t explain the discrepancy between the two.
At that point, we dug further into the game code and found the difference in the way
萨菲隆
re-applies the Aura. In both reference and WoW Classic, the aura re-application was done as part of an Action Trigger which fires every 2 seconds. However, in the original code, action triggers share a timer with periodic spell ticks, and action triggers were always processed first. In modern code, they run on independent timers, so a long-running action script won’t delay a spell tick.
This meant that when
萨菲隆
re-applied the
冰霜光环
in reference, it was
guaranteed
to clip the damage tick that was about to happen, leading to every other tick getting skipped. In modern code, the damage tick and the reapplication are both scheduled to occur at the same time, but are controlled by two separate timers, so either one might happen first. It just so happens that in this encounter, the reapplication generally happens
after
the DoT tick on the same second, so that players got the full damage on every tick, instead of every other tick.
But this mystery isn’t solved yet. What about those occasional one second ticks we saw in the original videos and in the reference server. They were rare, but if the reference code is guaranteed to do the refresh before the damage tick, how were they ever ticking at once a second? It turns out that the
冰霜光环
application didn’t always succeed, and if it failed, the existing DoT happily ticked away doing damage once per second until the next refresh attempt 2 seconds later, like this:
Time (seconds)
Event
Damage
0
Aura #1 Applied
0
1
Aura #1 ticks
600
2
Aura #2 Applied (clips Aura #1)
0
3
Aura #2 ticks
600
4
Aura #3 fails (Aura #2 ticks)
600
5
Aura #2 ticks
600
6
Aura #4 Applied (clips Aura #2)
0
7
Aura #4 ticks
600
Since
萨菲隆
is 3 levels higher than the player, the spell can only miss 1% of the time, but that’s what explained the occasionally 1 second ticks we saw in the videos, and with our reference.
We also reached out to the original designer, who still works at Blizzard, on a different game team. After we described our findings, he agreed that the
intended
behavior was for the damage to be every second, and the fact that the reapplication of the aura was clipping a tick of the DoT was a bug that wasn’t noticed or fixed until Wrath of
巫妖王
.
So where do we go from here? We often must carefully consider a conflict between original intent and original behavior. There’s no one right answer in all cases, but for this case, the original behavior is the correct decision, and we plan to fix this in much the same way Daelo did in Wrath of
巫妖王
. In modern code, we have a way to reliably apply an aura that deals damage every 2 seconds as long as the boss is alive, and we’ll re-write this ability to use that method, just as Daelo did in Wrath of
巫妖王
.
While the behavior that led to it originally occurring every 2 seconds instead of every 1 second was a bug, it was consistent enough as to be indistinguishable from a text bug in the Aura description. Choosing to go with the original intent would result in almost twice as much damage as players experienced in 2006, so in the end that makes this decision pretty clear.
I hope you enjoyed that trip through our development process. See you in Azeroth!
DON'T NERF SAPPHIRON
Posted by Pazorax | WoW Developer | Blizzard Forums | 2020-11-12
Hey everybody,
I wanted to drop in and give one more update. Astute readers of my earlier post may have noticed that the original implementation had a 1% to do an extra tick of damage, and while that’s pretty minor on
average
, taking an extra tick of 600 damage can create a dangerous
streak
that can make the fight significantly harder, especially if you don’t have much
冰霜抗性
.
I’m really happy to share with you that after I made my post, our newest team member added an effect that exactly reproduces the 1% chance to have an extra tick of frost damage, so you’ll have something even more true to the original difficulty.
Watch out for those damage streaks! It’s cold in there!
Blizzard:
https://us.forums.blizzard.com/en/wow/t/dont-nerf-sapphiron/709636/48
Wowhead:
https://www.cuckhead.com/wotlk/news=319065/wow-classic-deep-dive-into-sapphirons-frost-aura-frost-damage-dealt-every-2-seco
链接
冰霜抗性
冰霜抗性
魔法增益
法术细节
持续时间
n/a
类型
物理
机制
n/a
驱散类型
n/a
GCD目录
n/a
成本
无
范围
0码
(自身)
施法时间
瞬发
冷却
n/a
GCD
0秒
效果
Apply Aura:Mod Resistance (冰霜)
价值:8
PVP 倍率:1
标记
被动技能
隐藏光环
相关
贡献
在发表评论前,请留心以下提示:
您的评论必须为简体中文,否则将会被删除。
不知道如何发评论?参考我们的
格式指南
!
发表前最好先自行校对一次。
有问题可以访问我们的
论坛
来寻求帮助。
发表评论
你没有登录。
请登录
或者
注册账号
来添加你的评论。
使用下面的表格浏览您的截屏。
[Screenshots containing UI elements are generally declined on sight, the same goes for screenshots from the modelviewer or character selection screen.]
质量越高越好!
[Please review our
Screenshot Guidelines
before submitting!]
您没有登录。请
登录
后提交截屏。
将视频URL输入下列表格即可。
URL:
支持:仅限 YouTube
说明:您的视频需通过审核才能在站点上显示。
我们用
Wowhead 客户端
保证数据库的及时更新,向您提供额外的有趣的功能!
两大目的:
它还维护WoW的一个插件
Wowhead Looter
, 在您游戏时采集数据!
它将
采集所得数据
上传至Wowhead,保证数据库时刻掌握最新信息!
您可以用它追踪完成的任务、配方、坐骑、伙伴宠物以及头衔!
您还在等什么?立即
下载客户端
整装待发吧。
我们用 Wowhead 客户端保证数据库的及时更新,向您提供额外的有趣的功能!
两大目的:
您可以用它追踪完成的任务、配方、坐骑、伙伴宠物以及头衔!
您还在等什么?立即 下载客户端 整装待发吧。