Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Class Mechanics » Shamans

Closed Thread
 
LinkBack Thread Tools
Old 03/03/09, 10:38 AM   #1
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
[Elemental]Another DPS calculator

Hello,

I am a student who's addicted to wow :P and I play a draenei elemental shaman since TBC was launched For school I had to make some C# program and I've chosen to make a dps calculator for the class I play. Because the calculator might be usefull for others, I decided to share it with you.


When you open the file included, you will see a window with 6 tabs, I will explain shortly what you cna find on each:

Character:
On this tab you fill in stuff about your character, what are your unbuffed stats, which glyphs do you use and some gear related options. Also on this tab you set the fight length and the delay of your spells. Further there is an option to go the admin panel but there is nothing there really (only an option to set the # of samples)

Talents:
No need to comment I think. I tried to make it look fancy but havent finished it yet (only important talents shown). I will keep it like this till I finished all other things on my todo list (unless there are changes due to patch or major bugs with it)

(De)Buffs:
Here you can select which buffs you have and what debuffs are active on the boss. There is a little bug with MotW (explained later)

Spell Info:
This 1 is split into 2 tabs, the first tab is named "Stats", here are your buffed stats (including 'buffs' from 'debuffs')
The 2nd tab is more fancy as it shows information about your spells. You can 'compare' 2 spells with eachother. The listed information here is: min/max/avg damage (both hit & crit), CastTime , CastTime with heroism, Cooldown, Mana Cost. On top middle is an option to set clearcasting active.

Rotations:
On this tab you can select which spells you use in your rotation. You can also enable/disable using Heroism + Elemental Mastery.

Results:
Currently due to a complete rewrite there is no DEP values yet, you can calculate them yourself by using this 'formula': (<crit/haste/power DPS> - <base DPS>)/200
In the textfield is information shown, not all is important but I am using this field for debugging. This tab will be revamped in a later version.



On the upper right you see a button with the name "Calculate" , press it and the program will start calculating.


How does the calculation work:
Firstly it will generate a dynamic list of random numbers between 0 and 100. The number of numbers in this list depends on Fight Length and number of Samples. This list is used to calculate the: Damage done, Crit/Hit, LO-proc.
Secondly it will calculate the DPS for each situation (base, crit, haste, power). Due to the list with random numbers it will give a good estimate of DEP values.

Notes / known bugs:
- When deselecting "Mark of the Wild", it does not automatically deselect the improved variant.

- FS DD = (base_dmg + 0.214 * SpellPower) * (1 + Concussion + BoomingEchoes) * damagemodifier
- DPS is not affected by mana (will include it later)
- Heroism cooldown = 10minutes (patch 3.1)
- Glyph Totem of Wrath = 84 SP

- Samples used to calculate DPS: 50
- Calculation time (3min fight) = ~30 seconds

download link
Shaman DPS Calculator
Shaman DPS Calculator [Source]


Changelog:
v1.02 (12 March): Hit/Potions/Relics being modeled , changed results output

Last edited by Arta : 03/12/09 at 6:20 AM.

Offline
Old 03/03/09, 10:44 AM   #2
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Samples: 500
Fight Length: 10mins
Rest = default stats



base ~4763 DPS
power ~5010 DPS
haste ~4939 DPS
crit ~4869 DPS

SP DEP: 1,24
Haste DEP: 0,88
Crit DEP: 0,53

Calculation time: 00:08:39.8098400

Last edited by Arta : 03/12/09 at 6:40 AM. Reason: new version = new results

Offline
Old 03/03/09, 11:35 AM   #3
EredarNal
Glass Joe
 
Tauren Shaman
 
Eredar
Might wanna consider adding an option for other totems (Skycall, Ancestral Guardian). Speed potion as an option would be nice as well. A "non-draeni" option for us Horde folk. Being able to manually alter fight length rather than the slider (but that's just being nitpicky).

Very cool tool tho. Thanks for uploading it ^_^

Offline
Old 03/03/09, 11:56 AM   #4
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Originally Posted by EredarNal View Post
Might wanna consider adding an option for other totems (Skycall, Ancestral Guardian). Speed potion as an option would be nice as well. A "non-draeni" option for us Horde folk. Being able to manually alter fight length rather than the slider (but that's just being nitpicky).

Very cool tool tho. Thanks for uploading it ^_^
First thing on my todo list is potion modelling, with the option to use the potion during heroism or not.
Draenei Aura is easy plugged in, but as I aint modelling anything with hit (only the number in "Combat Stats - General" tab) it aint that important, yet.

Fight Length, in future it will be able to set it to a random value (between 0 and 10mins)

Relics are on my todo list, but will be modelled at a later stage

Offline
Old 03/03/09, 8:20 PM   #5
Binkenstein
mumbo-jumbo-theorycrafter
 
Binkenstein's Avatar
 
Pandaren Shaman
 
Saurfang
Originally Posted by Arta View Post
Rotations:
On this tab you can select which spells you use in your rotation (for CL you can select how many targets will be hit). You can also enable/disable using Heroism + Elemental Mastery.

How does the calculation work:
Make a list of random numbers (used to calculate damage done, crit/hit, LO-proc)
Calculate for 4 situations the DPS (50 samples per situation) .. due to the list of random numbers being the same for each situation, it gives a good estimate of DEP values

Notes:
- Booming Echoes talent is currently set to 2 and is calculated this way in Flame Shock damage:
(base_dmg + 0.214 * SpellPower) * (1 + Concussion) * (1 + BoomingEchoes) * damagemodifier
Few notes based purely on what you've posted here.
  1. Specifying number of targets hit with CL seems redundant, given the fact that dps tends to be analysed as "single target" damage
  2. Using random numbers (and the same random numbers) is nice, but you will probably want more than 50 samples for each "situation", otherwise you will start to see variance from test to test. This is why EnhSim uses large timeframes for calculations.
  3. Based on the way Concussion works with SE&F (not that you appear to have included that), it's safe to assume that booming echoes is an additive modifier with Concussion, rather than another multiplicative modifier.

A general note: your use of the English language seems to be... not very good. "Hitrating does not afflict DPS" is a good/bad example (hint: the word you're looking for is "affect")

www.totemspot.com The Shaman Community Site - My blog

Totemspot Guides includes Ele & Enh guides for Mists

New Zealand Offline
Old 03/04/09, 1:20 AM   #6
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Originally Posted by Binkenstein View Post
Few notes based purely on what you've posted here.
  1. Specifying number of targets hit with CL seems redundant, given the fact that dps tends to be analysed as "single target" damage
  2. Using random numbers (and the same random numbers) is nice, but you will probably want more than 50 samples for each "situation", otherwise you will start to see variance from test to test. This is why EnhSim uses large timeframes for calculations.
  3. Based on the way Concussion works with SE&F (not that you appear to have included that), it's safe to assume that booming echoes is an additive modifier with Concussion, rather than another multiplicative modifier.

A general note: your use of the English language seems to be... not very good. "Hitrating does not afflict DPS" is a good/bad example (hint: the word you're looking for is "affect")
  1. Rethinking of it, you are right. As it is not part of my usual rotation I just included it. Will change this to only use the damage done to the first target in the DPS calculation. Have to think of a model for LO procs on CL .. more targets = more chance on LO to proc, but then I have to guess which jump affects the first target.
  2. To be a bit more clear on the random thing. I am filling a double array with a minimum length of 500 random numbers (1 sample, 1sec fight time). The first 'column' is filled with numbers between 0 and 100, the second column with numbers between 0 and ArrayLength/2. When this array is filled the DPS calculation starts for each situation. The Arraypointer is reset before the DPS calculation starts, and it just keeps on counting after each sample .. making use of all values in the array.
  3. SE&F is included, but it's not part of the initial FS damage. (Only to calculate the periodic damage). As I still can't logon the PTR I just guessed it was multiplicative.

And about my English language, I know I will make mistakes. It is not my main language but I will try to make myself clear as good as possible (doesn't mean I shouldn't read my own text to note such mistake)

Offline
Old 03/04/09, 1:40 AM   #7
Binkenstein
mumbo-jumbo-theorycrafter
 
Binkenstein's Avatar
 
Pandaren Shaman
 
Saurfang
2) You're still using too small a data set to get a statistically significant result.

3) I was under the impression that it had been changed to affect the whole spell, not just the dot.

www.totemspot.com The Shaman Community Site - My blog

Totemspot Guides includes Ele & Enh guides for Mists

New Zealand Offline
Old 03/04/09, 10:59 PM   #8
Ikefury
Von Kaiser
 
Draenei Shaman
 
Elune
It looks like the Combat Data tab only shows you your min/max/avg damage based off your unbuffed state for lava burst and lightning bolt. It has me listed as a max lavaburst at 11.7k and a max lb of 8.9k with 2025 sp base, when if i had all the buffs/debuffs on the lists given they'd each be about 2-3k higher.

At the same time, the direct damage portion of flame shock is listed as maxing out 3.2k, which is about 300 higher then my max crit and 500 more then my average (as going by this weeks patchwerk). Booming Echoes is a 20% damage increase, though, so that makes it seem more inline with the buffs list.

Offline
Old 03/07/09, 3:14 AM   #9
Zodiac2800
Glass Joe
 
Orc Shaman
 
Thunderhorn (EU)
I was wondering if you could release your source code? As I'm sure many others do, I feel insecure running .exe files I haven't compiled myself.
Thanks in advance.

Offline
Old 03/07/09, 5:26 AM   #10
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Originally Posted by Ikefury View Post
It looks like the Combat Data tab only shows you your min/max/avg damage based off your unbuffed state for lava burst and lightning bolt. It has me listed as a max lavaburst at 11.7k and a max lb of 8.9k with 2025 sp base, when if i had all the buffs/debuffs on the lists given they'd each be about 2-3k higher.

At the same time, the direct damage portion of flame shock is listed as maxing out 3.2k, which is about 300 higher then my max crit and 500 more then my average (as going by this weeks patchwerk). Booming Echoes is a 20% damage increase, though, so that makes it seem more inline with the buffs list.
It is using your buffed stats .. the thing not modeled in the values listed there is CC + Elemental Oath.
Default there are 2 points spent in Booming Echoes .. set this to '0' to see what you should be able to do on live atm



Originally Posted by Zodiac2800 View Post
I was wondering if you could release your source code? As I'm sure many others do, I feel insecure running .exe files I haven't compiled myself.
Thanks in advance.
Shaman.dps.rar
source code of the .exe I posted


Am currently rewriting and adding other things to the 'new' version. I am trying to have it ready before Wednesday,

- it will have a new lay-out
- more options
- modeling mana
- modeling the recasting of totems on a longer fight
- more rotation options (if LvB cooldown < LB CastTime -> use Earth/Frost Shock, Chain Lightning or Thunderstorm)

Last edited by Arta : 03/07/09 at 5:32 AM.

Offline
Old 03/07/09, 2:25 PM   #11
Zodiac2800
Glass Joe
 
Orc Shaman
 
Thunderhorn (EU)
Originally Posted by Arta View Post
Shaman.dps.rar
source code of the .exe I posted
Thank you very much.

Offline
Old 03/10/09, 4:34 PM   #12
darizra
Glass Joe
 
Draenei Shaman
 
Ysera
Any way to include trinket procs? They are a significant boost to DPS

Offline
Old 03/11/09, 4:23 AM   #13
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Originally Posted by darizra View Post
Any way to include trinket procs? They are a significant boost to DPS
It is on my todo list, but I dont know if I can model them correctly tho as I do not have the values of the trinkets. The static bonuses are already listed on your character tab, so these dont have to be modeled
I was thinking to model these trinkets procs/use:
  1. Damage boosting
    • Proc trinkets
      • Darkmoon Card: Death
      • Darkmoon Card: Illusion
      • Dying Curse
      • Embrace of the Spider
      • Extract of Necromatic Power
      • Flow of Knowledge
      • Forge Ember
      • Illustration of the Dragon Soul
      • Pendulum of Telluric Currents
      • Sundial of the Exiled
    • Use trinkets
      • Mark of the War Prisoner
      • Figurine - Twilight Serpent
  2. Mana regen boosting procs/uses
    • Je'Tze's Bell
    • Soul of the Dead


The "Use" trinkets are easy to model, but for the proc based trinkets I either have to gather data (see below) or take an average bonus.
The data I need to gather per trinket is:
- Proc chance
- Internal cooldown (most (if not all) are 45secs)
- Shares cooldown with <other trinkets>
- If it has a damage effect, is this damage affected by SP and if so .. how?


Another thing with trinkets is that almost each patch adds new ones which needs to be added (Unless they all act the same and I can write a general function around it )

Offline
Old 03/11/09, 8:47 AM   #14
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Didn't have the time I hoped for this weekend, or maybe I shouldn't have rewritten all

Anyway, I did not finish the stuff I wanted to do. But I do have an update

Updated:
  • new UI
  • textfield to set Fight Length (not working 100% yet tho )
  • Talent tree is like in-game, just looks worse
    • Left click icon = +1 point
    • Right click icon = -1 point
  • More buff options
  • New rotation system
    • If you see strange behaviour, please post it + the stats/talents/options you used
  • Compare spells (show 2 spells and their damage next to eachother)


Todo:
  • rewrite output part (DPS + DEP values)
  • model potions
  • model mana
  • model Hit
  • model trinkets
  • model other relics than just "Totem of Hex" + Lava Burst totem
  • Make the talents tab look better (and proper code if talents can be chosen or not)
  • Things I forgot :p

Offline
Old 03/12/09, 6:02 AM   #15
Arta
Von Kaiser
 
Human Shaman
 
Hellscream (EU)
Made some nice progress yesterday evening and tweaked the last things this morning

New in version 1.02
  • Hit being modeled
  • Potions being modeled
  • Relics being modeled
  • using 75 Samples instead of 50
  • Results tab now only shows the DPS for each situation, the DEP value and the time calculating
  • Length of the list with random numbers is being calculated differently

Hit:
When you are under the hit cap the calculation will also calculate your Hit DEP .. no idea if I did it right statistic wise. While haste/power/crit DEP values are being calculated by using an increase of 200 of the stat, hit is being calculated a bit different.
base_dps = dps you would do with the hit you have
hit_dps = dps you would do being hit capped
hit DEP = (hit_dps - base_dps) / "rating you need to be hit capped"

Relics:
Currently modeled relics are:
  • Skycall totem - 15% proc chance to gain 100 haste for 10 seconds (only procs of LB)
  • Totem of the Elemental Plane - 15% proc chance to gain 196 haste for 10 seconds with an internal cooldown of 45 seconds. (procs only of LB)
  • Totem of the Ancestral Guide - +LB/CL damage
  • Totem of Hex- +LB/CL damage
  • Venture Co. Lightning Rod - +LvB damage

Random numbers:
The length of this list is now calculated based on this formula:
500 + (# Samples * Fight Length [seconds] / 20)
With default settings the list contains 1175 random numbers.
Perfectly I want a random number for each cast, but this will take ages to calculate as the generating of a random number is based on CPU time. Filling the list too fast means that random=/=random as the CPU time isnt updated yet. If some1 can help me with a work-around here to speed it up ..

Offline
Closed Thread

Go Back   Elitist Jerks » Class Mechanics » Shamans

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Glyph Calculator alcaras User Interface and AddOns 0 10/29/08 12:11 PM
WoW item calculator VIB Public Discussion 4 06/12/07 4:37 PM
WoW Item Calculator? Praetorian Public Discussion 117 04/16/07 8:02 PM
Moonkin DPS Calculator? Aadar Class Mechanics 87 04/16/07 2:31 AM
Hunter DPS Calculator windex Class Mechanics 6 03/25/07 2:30 PM