Warlock talent plus Tier 5 set bonus equals 536 million DPS
Um, nerf Warlocks? With all of the talking we've been doing about Wrath of the Lich King lately, we haven't really mentioned the one thing players are supposed to be doing on the beta servers: finding bugs. Fortunately, Sneakthief found a very nice one -- when you combine the Warlock 51 point Affliction talent Everlasting Affliction with the set bonus from the Tier 5 Warlock set, you get an everlasting Corruption spell that goes up in damage 10% every time a Shadow Bolt hits. (He's beating up on a Servant of Allistarj, by the way, which is why the mob isn't dying.)
Extrapolate a few minutes later, and you've got 536 million damage ticking every time Corruption comes around -- which seems to be the cap, so I'm sure a math major can tell us just why that number's special. And all that damage happens to be, as Sneakthief says, enough not just to take down Kil'jaeden with one tick, but all of Sunwell combined. Of course, this is an easy fix (one way to do it would just be to put a cap on how high Corruption damage can go), but this is exactly what the beta is for: finding hilarious bugs and
Update: The figure in the video works out to be 2^29. Thanks, math nerds! We love you!
Update2: Man you math guys are smart. 2^29 is apparently three bits less than 2^32 (a usual block of memory usage, I believe), and there's some good speculation in the comments as to what the other three bits are for. Damage type sounds like the best answer to me -- any action you take that does damage outputs a 2^32 bit variable, with the damage limit being the aforementioned 536 million number, and the leftover memory specifying one of eight types, the last one of which is healing. Nice job, brainiacs. We should note: this is all speculation, so don't get all cut up over the fact that Blizzard doesn't use "IEEE floating point standards" or whatever those are. But it's fun to look inside the code behind the curses and see how Blizzard programs this all out.
Filed under: Warlock, Bugs, Blizzard, Expansions, Humor, Classes, Talents, Wrath of the Lich King
Patch 5.3 interview with Ghostcrawler
Mystery of the Unborn Val'kyr
The latest patch 5.3 news
All of the latest Mists of Pandaria news





Reader Comments (Page 2 of 4)
Hangk Aug 8th 2008 5:10PM
Maybe the other three bits is the type of damage?
*counts on fingers* shadow, fire, frost, arcane, nature, physical, holy, falling -- that's 2^3 types. You think?
Michael Aug 8th 2008 4:27PM
I'm not a lock, so how does the normal Corruption spell work?
John Aug 8th 2008 4:30PM
quick, before it gets fixed, someone go one shot Kiljaeden and post it to youtube.
Manatank Aug 8th 2008 4:52PM
You can't one shot him. It takes a while for the damage boost to ratchet up that high.
Kaeb Aug 8th 2008 5:00PM
The whole point is that the damage ramps up, so he'd have to find a way to tank K'J until his dot ramped up high enough to drop him.
Kryptonls Aug 8th 2008 5:52PM
The aggro built on the dmg the ticks would make as they increase, would easily surpass the TPS generated by a tank in SWP gear, surely?
Cowbane Aug 8th 2008 4:31PM
I thought 56 million sounded like a value of an integer or a long, but it isn't, because the maximum amount of money you can have is dead equal to the value of an integer, I have no clue why 56 million is the max, but seems odd.
Chris Anthony Aug 8th 2008 4:39PM
~536 million, or 2^29 (the actual damage being produced) is three bits shy of a double (2^32). As Ryan asked above, what are the other three bits used for? (Damage type, maybe?)
Mike Schramm Aug 8th 2008 5:02PM
Man you guys are good. Very impressed.
Zep Aug 8th 2008 4:42PM
Damage type, duration, set+talent bonuses...
ObiChad Aug 8th 2008 4:53PM
If the remaining three bits are used to classify one thing, we are looking for something with 8 choices. Damage types that I can find are:
nature
shadow
fire
frost
arcane
holy
physical
which gives us seven. Seems possible that's what the other 3 bits are for.
If somehow healing uses this same data type, and healing is a "damage type" that would give us the 8th value.
Manatank Aug 8th 2008 4:53PM
You couldn't store those three things with a single bit.
tuscansalami Aug 8th 2008 5:28PM
Whilst the later ticks were damaging in excess of 500 million, the 53 million dps mentioned would most likely be whatever damage meter being used reported back as the average done per second over the duration of the whole fight. After all, it would have taken a while for it to warm up to such ridiculous sounding proportions, and thus dragged down the average of the recorded session in the progress.
paul.marsico Aug 8th 2008 4:50PM
This was the very first thing I thought of when I saw EA, that my T5 set was going to turn me into God.
Eric Aug 8th 2008 5:05PM
1: A double is used for non-integer numbers. No way blizz uses that for damage, which would be an integer.
2: A double takes up 64 bits of space. 2^32 is the maximum size of an unsigned long, however (an integer variable with double the storage space)
3: Like the gold cap, there's probably a minor oversight making the value a signed value rather than an unsigned value. So that leaves 2 digits.
It's definitely ticking for 2^29, though. That definitely shows that it's not a double or a float keeping track of the damage (look up IEEE floating point standards. Fun stuff).
Simply put, I dunno. I thought it might be keeping stored the total value of the spell, rather than the individual ticks, but corruption has 6 ticks, so that's out...
Eric Aug 8th 2008 5:09PM
Dude, you can't just hack open a long and store extra junk in the unused bits.
Well, okay, you could, if you really wanted to. But it'd be so much easier to keep the damage type held in a separate set of fields. All of that stuff is handled server-side anyway, so you're not putting undue stress on the consumer's hardware.
Also, hacking open a variable leaves tons of problems when you try to do math on it. There's a much more logical answer, somewhere.
Hangk Aug 8th 2008 5:23PM
Who says you can't hack open a long?
#define DAMAGE_AMOUNT(x) x & 0x1FFFFFFF
#define DAMAGE_TYPE(x) x & 0XE0000000
#define DAMAGE_TYPE_HOLY 1
#define DAMAGE_TYPE_FIRE 2
(...and so on...)
Sure you could keep it all in separate fields, but remember you're supposed to be able to play this game over a 56K modem. Overhead counts.
Nick S Aug 8th 2008 5:28PM
yeah "hacking open" the long would be how i'd do it. compact and easy to read.
Eric Aug 8th 2008 6:06PM
Okay, forgot about transmission.
The three bits would probably be useful to save, given how there could be a thousand cases or more of damage being taken.
*sigh*
I really need to bush up on my network skills...
Derick Aug 9th 2008 12:20AM
The 1 shot Kil'Jaeden thing kinda seems like a stupid comparison...
That's a 1 shot after 5 minutes of ticks?
er ok.
but I see your point.