** With the release of patch 4.0.1, ZAP! is out of date and will not be updated. Head over to TotemSpot for the latest on Elemental theorycraft. **
Wot izzit?
ZAP! is an elemental DPS spreadsheet designed to help the user make choices about gear, glyphs, talents and so forth, following in the footsteps of the excellent but sadly discontinued SEIC. It's written in Microsoft Office 2007, but the compatibility version should work for users of most spreadsheet packages. Intended to be as friendly and easy to use as possible as well as powerful and accurate, there's a fairly detailed user guide on my blog.
(Only use the "compatibility version" if the normal one doesn't work for you.)
What can it do?
The main page allows you to enter your stats, item sets, raid buffs and fight parameters and returns a DPS figure based on it all. It also shows DEP or "Damage Equivalency Points" which are used to compare items and stuff. The Trinkets page is a detailed DEP comparison of trinkets, racials, profession bonuses and potions. There are Calculators for combat ratings, haste targets and gear comparisons and even a page allowing you to see a "Snapshot" of what the spreadsheet thinks your spell "rotation" should be.
What can't it do?
Normal formulation limitations apply - it can only answer those questions which it was designed to answer. Hopefully that constitutes most questions. However ZAP! cannot think for you or make decisions for you, it can only suggest and calculate.
This looks a lot like SEIC, did you totally just knock it off?
This project is entirely my own work, based on my own understanding of the maths and mechanisms and the results of my own playtesting. However, most of my own understanding of these things comes from long-term readership of these forums and the elemental TTT when it was maintained by Binkenstein, as well as from SEIC itself. So no it's not a knock-off, but yes it owes a huge debt to people who aren't me. Plus, SEIC's UI was just a work of genius, so while I tried to improve on it slightly I did stick to the overall concept.
Other options
If you don't like ZAP!, or even if you do, you might want to check out one of these tools instead: SimulationCraft for shamans ESSE by lrdx Ask Mr. Robot by Team Robot Rawr elemental, presently maintained by Lord Helmchen
Feedback
If you find mistakes or weird things, want to ask a question or just have something to say, please don't hesitate to let me know. If it's a useful observation or valid question it'd be better to post it here; if it's a generic banal comment you'd be better off directing it to my blog pages.
Changelog
There's a complete list of changes by version in the thread below if you're willing to wade through it.
How do I use this?!
...there's a guide on my blog, remember? It's really quite in-depth, you should check it out. There's a pretend-FAQ, too.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
I had a brief look at it, and I really want to thank you for taking your time to develop an alternative to SEIC. Got a few questions:
-Is the ToW = Lava spellpower value buffed or unbuffed? If unbuffed, is it truly unbuffed or unbuffed with Flametongue?
-Any plans letting the user select which trinkets he/she is using, and include that in DPS calculations?
1. The spellpower quoted by Lava = ToW is the absolute value at which it "breaks even", that is, the total including buffs and whatnot. You can find the unbuffed value by subtracting the spellpower figure shown in the "Buffs" summary.
2. Well, I personally prefer calculating DPS without trinkets as I think it makes comparison more consistent. It would be pretty easy to include trinkets in a similar way to what Cael did for SEIC, but my fear is that it complicates the process of entering your stats without giving much by way of useful return, seeing as you can already see both the DEP value of the trinket and the DEP value of the proc if you want to.
As for taking the time, time is something I have a lot of at the moment and I mostly did this for personal use. But, thanks for the thanks and the questions!
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Setting Hit Rating to 263 rating results in 17,03%. At this point the DPS estimator shows 8940. Dropping Hit Rating to 90 which gives a total of 10,43% hit still gives that same amount of DPS. As the sheet doesn't update itself on every cell update I used the "CL Usage" as the trigger, set it "None" -> "After LvB" -> "None", which updates the DPS estimator.
Edit: Trying to back-track now how I got the EP values of everything to tens of thousands and at the same time how Hit EP became 3.119.
As the comment in the "hit rating" field states, hit doesn't factor into the DPS calculations and hit DEP is worked out from a percentage of your total DPS. There's no real way to "accurately" formulate miss as the results vary so wildly depending on what spell misses and when. You could guesstimate the effect by multiplying the DPS figure the spreadsheet gives by 100% minus your hit deficit.
What program are you opening the spreadsheet in? For me it certainly updates after every cell update and doesn't have to be "triggered".
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Unfortunately I can't make any promises about either version working properly with OpenOffice. The .xls version is just saved in the older file format using Excel 2007 which seems to make it play a bit nicer with OOo, but the only way to be sure would be to completely rewrite it natively.
Having said that, it does seem to work fine for me in OOo build 9420.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Heroism cast times are now properly capped at 1 second (whoops)
CL-after-LvB calculations fixed
Added Glyph of Elemental Mastery
Added DEP display for potions (which were already being calculated anyway)
Sandbox now has a haste calculator
Some things to note:
1. The new CL calculations have quite dramatically changed the value of CL. Unfortunately the new value fluctuates wildly depending on haste, because I chose not to normalise the rotation for haste fluctuations. What this means is that the value of CL-after-LvB increases to a peak when using it will theoretically tighten up/increase Lava Burst frequency, and then slump when using it decreases Lava Burst frequency (that is, when casting CL causes a small delay between the final LB and recasting LvB, which causes an extra LB to be inserted by the formulator and thus delays the use of Lava Burst).
Mana considerations aside, CL can potentially be up to ~100 DPS gain if used after LvB, or it can be a ~20 DPS decrease because the formulator doesn't yet allow for waiting for Lava Burst's cooldown instead of casting another LB. This is something I plan to fix in a later build, though purely to stabilize the formulator - deliberately waiting for Lava Burst's cooldown in a real encounter is almost never a good idea because the "gap" value at which it's a DPS gain is too small for humans to react to (<0.2 seconds).
Note these results are consistent with SEIC, though my formulation differs in that it accounts for the recasting of Flame Shock when working out a rotation whereas SEIC tends to cast Lightning Bolts right up until Lava Burst has cooled down. This means SEIC will show lower CL-after-LvB DPS than ZAP!, unless you manually adjust the rotation calculator to remove the "extra" LB. [e] Whoops, see my next post, sorry!
What all of this implies is that the decision to use CL in your rotation is even more complicated than I've previously maintained, and as others have pointed out it's of most value if it "tightens up" a rotation by increasing the frequency of LvB casts.
2. Normally, Glyph of Elemental Mastery is, as expected, of miniscule DPS value. With 2t10 the value jumps considerably but is still far below the normal four glyphs. It won't be worth using over other glyphs even with 2t10.
I chose to implement EM usage as a real (fractional) value, so the value of the glyph doesn't change with fight length. That is, a 2 minute 45 second fight duration won't suddenly make Glyph of EM a lot more worthwhile.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Note these results are consistent with SEIC, though my formulation differs in that it accounts for the recasting of Flame Shock when working out a rotation whereas SEIC tends to cast Lightning Bolts right up until Lava Burst has cooled down. This means SEIC will show lower CL-after-LvB DPS than ZAP!, unless you manually adjust the rotation calculator to remove the "extra" LB.
Actually it didn't. I just subtracted the GCD from the last 8 second cooldown period.
Actually it didn't. I just subtracted the GCD from the last 8 second cooldown period.
Feh, that's my own fault for only trying one haste value before I posted. At 858 haste with 0 cast delay and LvB used after CL, the last LB cast starts at 28.22 seconds with LvB's CD at 1.04 and FS's effective cast time at 1.10, which is an "extra" LB compared to what ZAP's doing (near as I can tell, the test that evaluates LB damage over [cast time minus cooldown on LvB] compared to LvB DPS is returning "1" and causing the "extra" cast).
Looking at it now with other stats the rotation it ends up with is the same as the one I end up with, and the resulting DPS delta for CL use is pretty much identical. So actually the DPS value of CL in SEIC fluctuates with haste value in the same way that I'm now finding in ZAP, and at the same haste values, which I would've noticed had I played around a bit more.
Last edited by Zamir : 11/13/09 at 5:45 PM.
Reason: Fixed confusing typo.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Bit confused on the CL part. I noticed a 24 dps drop when I added CL after FL which I assume is related to the previous comment.
As far as I knew using CL was always a dps increase ( admittedly i havent been keeping up with the theorycrafting of late) and I tend to use it most of the time when its off CD. FS>LvB>CL>LB is what I tend to do CD wise which looking at the Sandbox now just using it after LvB for the first 2 LvB seems better using a fixed rotation similar
FS, LvB, CL, LBx5, LvB, CL, LBx5, LvB, LBx5 which given my haste appears to come closest to the LvB CDs.
Stamina 1239
Intellect 1253
Spellpower 2894
Crit rating 566
Haste rating 954
Hit rating 284
Mana regen 267
Glyph of LvB,
Glyph of LB
Glyph of FS
T9-4pc
I am getting a dps value of: 8595 which seems very high, I realise this is ideal circumstances but still seems exceptionally high given its not taking trinkets etc into account.
Edit: Yay for reading the blog explaining the sandbox instead of being an idiot and not.
Last edited by drakonslair : 11/26/09 at 10:20 AM.
ZAP! keeps casting LBs until Lava Burst can be cast. If you ask it use CL in the rotation, and this causes there to be a little delay between the last Lightning Bolt and the next Lava Burst which wasn't there before, it'll fill that gap with a whole LB cast. This decreases the frequency of LvB casts which decreases DPS by more than using CL increases it.
In general terms, it's important to understand that CL has a higher damage per cast time than LB, but lower damage per hit. This means that if the cast time advantage is "wasted", it'll be a DPS decrease. In addition to the situation described above, this happens if LvB's remaining cooldown is longer than a CL cast, but you cast CL and then wait for the cooldown to finish. So in general CL's only a DPS increase if it "tightens up" your LvB frequency without causing any "wait" time.
As to the DPS value being very high, this is just a product of doing DPS on paper rather than in-game. There's no movement, no casting the wrong spell at the wrong time, perfect cooldown use, 100% buff and debuff uptime, and no RNG. You'll find that all spreadsheets/simulators are the same unless they specifically try to model those things. The nearest ZAP! comes to that is to let you specify a delay to use with every spellcast or "rotation" cycle, or creating your own rotation with delays and sub-optimal spell use and whatnot in the Sandbox. Remember that the DPS output is not a "target" to hit in-game, but a value you can use to compare options for gear, glyphs etc.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Yeah figured as much with the dps, guess Im just used to a fair amount of movement these days that its rare to see anything like that without a lot of adds or a gimicky damage fight.
Just checking but I was sure the relative values for ToW vs Lava glyphs was a lot lower than the spreadsheet reports. With my setup above Im getting a 4021 sp break even point where I thought Bink had previously said it was around 3200 before ( maybe that was unbuffed (no FT enchant) and I misunderstood at the time). My haste is having a fair effect on it pushing the SP required up. I was reading the recommendations for glyphs on your blog and it said with T9-4pc it should be similar to ToW but that isnt working out for me
I believe that at the time the 3.2k figure was quoted, LB's overload didn't have a crit value associated with it and crit chance for all spells was 5% lower than it should've been
At that time "normal" haste figures were also significantly lower than most 25-man elementals have since attained
SEIC ships with a cast delay of 150, whereas ZAP! ships with that set to 0.
All those factors pushed up the relative value of Glyph of Lava compared to Glyph of ToW, so that 3.2k spellpower was the ballpark break-even point. However, if you use the most recent release of SEIC with the same settings you're using in ZAP!, you'll see roughly the same Lava = ToW figure.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Quick question though, I've went through your spreadsheet and applied just the basic info and self buffs only. It came up with a dps of 5222 with a simple rotation of fs, lab, lb. I've replicated this in game but my dps is only 4300. I've turned off all buffs and trinks in the spread sheet with the exception of glyphs, totem of wrath and wrath of air.
I must once again stress that you are very unlikely to find that your dummy DPS in-game matches what the spreadsheet suggests under any circumstances, because the whole point of the exercise in Excel is to eliminate randomness and human error and average out everything which affects our DPS so that you can make informed decisions about gear and stuff.
Having said that, I personally find that if I turn off all external buffs/debuffs (including heroism and elemental mastery), account for partial resists (~3% total damage) and maybe set a reasonable delay figure, I can find my training dummy DPS hovering around the spreadsheet's figure. Similarly the last time I did Patchwerk in a 25-man raid (a long time ago), my damage output was in the ballpark of what SEIC was suggesting it would be. But there are random and human elements to elemental damage output which can cause results of something like a 3-minute dummy session or Patchwerk nuke to vary by well over a thousand DPS, and spell travel times, procs/crits and DoTs make it difficult to precisely "stop" DPS measurement without polluting the results. I'd say based on observation that it's reasonable to expect up to 20% variation from simulated or formulated output if the conditions of your test case are as close as possible to the conditions assumed by the calculator.
Ultimately, however, the goal is not to make output realistic, but to make it consistent, and to ensure it sufficiently accounts for all the necessary variables that can affect character choice.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Alright, I know this is really trivial, but could you add version numbers at the end of your spreadsheet's file names? Like ZAP-1.0.5.xls.
I deliberately don't do that because it means I'd have to update download links in five different places, and I'm lazy. However the root directory does contain a list of both current and older versions with the full version and patch numbers appended to the filename.
Meanwhile, version 1.1.0 is nearly complete, but I've not got a lot of time at the moment and it's a low priority as the most significant changes relate to stuff that's only appearing in patch 3.3. I'll probably leave 1.0.5 as the default download until 3.3 is actually released, but 1.1.0 should be ready to download by the end of the week. [e] OK so I got a chance to work on it tonight and it's just about done, just need to check it over. I've also decided that the new segmenting model makes it worth a shiny new version number.
Changes in 1.1.0 so far (not yet released):
Revised fight segmenting model to make it simpler to include new EM
Elemental Mastery now grants haste instead of crit (as per the patch 3.3 change)
CastDelay properly accounted for during Heroism
Mana usage is more accurate
Fixed typo that was throwing off JoW's value
Haste from Totems of Electrifying Wind and Shattered Ice is now shown in the buff display
The "Statistics" display now fully accounts for both BL and EM
CL presently used during both BL and EM if selected
I still need to finish updating the DEP tables and decide what I'm going to do about CL use during EM and Heroism (option to use it? or assume used/not used? or assume based on haste values?) ([e] I've decided to give the user the choice of whether or not to use CL during EM & BL). I'm also considering adding the option to use CL more, but on-CD usage isn't really feasible in my current model so it'd be something arbitrary like twice per LvB or whatever. So I'm not quite decided on whether that's worthwhile or not.
Feedback on these thoughts is of course welcomed.
Also, if anyone's on the 3.3 PTR, I would like to know what haste effects the new Elemental Mastery does and doesn't stack with:
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
eg: % buffs A & B, static haste rating C, haste rating buff D.
(1+A)*(1+B)*(1+C+D)
Aye, what I meant was that Power Infusion and Bloodlust are mutually exclusive - you will only benefit from the most powerful one that is active - whereas Berserking can be "stacked" with BL and PI as you describe above. So I'm a bit curious as to whether the new EM "stacks" with these haste effects, or if any are exclusive to each other.
I've never seen haste stacking explained so simply, though.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
Also, if anyone's on the 3.3 PTR, I would like to know what haste effects the new Elemental Mastery does and doesn't stack with:
Berserking?
Power Infusion?
Heroism/Bloodlust?
I found an old post referencing the Wrath beta that describes the rationale behind whether temporary haste effects stack:
"two spells increasing haste by a percentage will not stack if both can be cast on a target other than the caster. This applies even when the spell is actually cast on the caster."
As such I assume that EM will stack with all the above haste effects, as apparently Icy Veins does. Live and learn I guess.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.
.....
[*]Haste from Totems of Electrifying Wind and Shattered Ice is now shown in the buff display
.....
I'm also considering adding the option to use CL more, but on-CD usage isn't really feasible in my current model so it'd be something arbitrary like twice per LvB or whatever. So I'm not quite decided on whether that's worthwhile or not.
.....
Just a couple of thoughts on these particular issues for you. I have noticed that you use a flat 100% uptime for Electrifying Wind. I've been running a few calcs on it lately and, whilst the figures vary dependant upon haste, it's not a bad assumption for a LB only filler rotation. The more CLs you add, however, the poorer the assumption becomes. Here are some figures that my calcs came up with (based upon an average 40% haste):
Static Fight
LB only rotation : 98.9%
CL after LvB : 97.0%
LB-CL after LvB : 97.4%
CL whenever off CD : 95.6%
Mobile Fight (4 secs moving once every 20 secs)
This is the uptime of ToEW while casting - whether it is active or not during movement is ignored.
LB only rotation : 94.8%
CL after LvB : 90.7%
LB-CL after LvB : 90.2%
CL whenever off CD : 89.7%
With regards to adding in more CLs to the rotation, I would advise that you go for 2 per LvB minus the numbers of FSs so that, with the 27 sec duration FS, you get 3 LvBs and 5 CLs in the rotation. Effectively, the FS replaces one CL in the last LvB CD.
On a totally seperate issue, one thing that I have always wanted to see in a spreadsheet is something that takes into account that no fights (besides Patchwerk) are simple stand and nuke fights. Maybe some form of slider where you select the percentage of the fight spent moving/not casting with the number of LB casts reduced to account for the lost time. Not a perfect model, I know, but even in that fairly simple form, more 'realistic' than the assumption that we can just stand and nuke for 5 mins. I think it might suprise us how some of our choices are affected by this addition - certainly, both the Glyphs of ToW and LB will reduce in effectivenes compared to LvB and FS.
With regard to Chain Lightning options:
I've decided not to try to add more CLs at this time, as it'd require some serious extra gymnastics with my rotation formulae and particularly the clearcasting stuff. The way ZAP constructs its rotation is still very simple, but if I try to make my "simple" method include more CL options it suddenly becomes so complicated that it defeats the purpose of not using a more complex rotation-building method in the first place. So any further CL options will only be included with a rebuild of the rotation mechanism.
Having said that, there is at least now the option to choose whether to use CL during EM/BL.
With regard to Relic uptime:
I'm going to continue to assume 100% uptime because otherwise I have to either (a) multiply the haste value of the totem by its uptime which distorts its actual, real effect on a rotation or (b) model relic up/relic down separately for normal, EM and heroism. The former would be rather inaccurate and the latter would be a lot of extra complexity that wouldn't, in my opinion, be very helpful to the user.
With regard to emulating movement:
Based on your suggestion, Agash, I've changed the way the "Rotation Delay" setting works. It now adds a user-defined period of no casting between every Lava Burst cast, to try and emulate the effect of having to move on a regular basis. LBs are sacrificed first, then CLs, then finally LvB casts are themselves pushed back. It's not perfect - for example, Flame Shock won't be recast until the rotation repeats even though it's one of the logical things we do anyway while moving - but it does reduce the ratio of LB:other casts in a more controlled way than the Cast Delay setting.
EM's instant LB is not sacrificed as it can be cast while moving.
Any further attempt to include the effect of movement is beyond the capability of my current rotation formulae.
With regard to Reign of the Unliving:
[e] Never mind, figured it out - I realised I had made the same mistake as I made with Clearcasting uptime in rc1.
Every one of us is, in the cosmic perspective, precious. If a human disagrees with you, let him live. In a hundred billion galaxies you will not find another.