Jump to content

Kahorie's DK simulator 2.0 Beta - Including Cataclysm.

  • This topic is locked This topic is locked
1164 replies to this topic

#1 Guest_Afabar_*

  • Guests

Posted 15 March 2009 - 04:45 PM

The OP is currently in a rewrite process. If you think some section need to be corrected/added you can post in this thread or send me a PM.


This simulator has been created to easily compare talent spec, presence, rotation. It can also generate EPs (Equivalence Points) value that give an simulated value of each main character stats and compare them to what 1 Attack power would give you.
As other features, the simulator can help you analyze how your stats are scaling, what is the DPS value of each of your talent points.


The simulator is available on Cata DK Simulator . No installation are required, this will ensure you always run the latest version.


Microsoft Silverlight

Running the first simulation

The first time you run the sim, you have to fill all those empty field.

The character editor

1) Select a premade character and click on the Edit button next to him. This will show you the character editor tab.
2) Import from armory by clicking on the Armory button.
3) Clicking on "Save as" to create a new profile.
4) Go to the consumable tab and Select the ones you use.
5) By moussing-over an item, an item editor will appears allowing you to change gems and enchants
6) Clicking on an gem or enchant will allow you to change them.
6) Clicking on an item will open the Item selector that will allow you to change the selected item.
7) The program redirect you to the main tab.

The template editor

1) Select a premade template and click on the Edit button next to him. This will show you the template editor tab.
2) Edit talent points as you wish. Take note that it do not verify if you have the prerequisite for each talent and is not caped to level 85.
3) Select your glyphs
4) Click on "Save as" to create a new template, or Save to overwrite the one you are editing.
5) The program redirect you to the main tab.


1) If you don't know what to chose, select NoIntro.xml
2) Else, select Intro.xml, and click on edit. This will take you to the Rotation/Priority Editor.
3) There you can customize, a "cast sequence" that the sim will use at the beginning of a fight. More details later.


The sim on each GCD will check what is the better to do according to the priority set up. Most of the premade include Frost Fever and Blood Plague as top priority. So the sim will use the best ability to put it on the mob.
Normally, PS is used to set Blood Plague, IT to set Frost Fever but if you have selected Glyph of Howling Blast, HB is used to set Frost Fever.

1) Before getting familiar with the tool I recommend to use one of the available Priorities.
2) If you want to edit a priority, select it and click on the Edit button next to him. You are redirected to the Priority Editor
3) On the left your actual priority sorted by what the sim will check first. On the right, there is all available priorities.
4) To win space, priority specific element are only available if you select the school in the preset on top right of the editor.
4) Click on "Save as" to create a new profile, or Save to overwrite the one you are editing.


Select a Presence.
Note: If you select Blood presence, EP Value, Stat scaling feature will be calculated regarding threat instead of dps.


The runeforge is selected as an enchant in the gear editor on the left of the screen.


By default, the scenario only contains the fight ending time. It's also possible to add events like temporary damage bonus, adds arrival... More set up and options will be available once we know better how the cataclysm encounter look like.

Simulation Options

- Sim time: How much time you want the sim to beat the dummy.
- BoneShield Time to live: deprecated
- Latency: Default value is set to 0 due to the new Blizzard abillity queue system
- x RP every y s: For AMS soaking.
- Use pet: Tell the sim to use or not pets (Ghoul, Gargoyle).
- Wait for Proc: deprecated
- Use of BS/UA: Tell the sim how it use this abilities.
- ICC Buff: Self explanatory
-Change RNG Seed: Tell the sim to use another RNG, this might be usefull if you have really strange result.

Report Options

- Merge Strike: If you want that Main Hand/ Offhand strike appears in the same line on the report, same for physical and magical scourge strike.
- Show Proc: Detailed in the report, procs like trinkets, talents (Killing machine...), pestilence use and so on.
- Generate combat log: Record the fight and allow you to wee it using the "Display last log" button. Only the GCD consummating ability are recorded.
- Very detailed combat log: Log most of the actions, procs into a file. Don't use the combat log generation if you are simming long stuff.
- Display last report: The last report is save even if you close the sim. This might be usefull from a session to another.
- Display last log: Display the last combat log
- Compare fight: Display the last combat log splited for each 6 min fight ( by default) to easily compare them.

Run the simulation

Click on the Start button then wait for the progress bar to complete. The sim will be switched automatically to the report tab. A basic summaryis showned. Cick on show details for WWS-like report with details stats for abilities. A graph in the bottom is available. Select a fight and see dps spike or other information.

Additional tools and parameters

Buff/Debuf tab

By default all raid buff are enabled.
The player is acting like not providing any raid buff. Imp Icy Talons, Abomination's Might, Horn and Ebon Plague Bringer do not provide the raid buff.

Tank options tab

In Blood presence, the sim will collect some threat data and report them.
Avoidance influence Scent of blood proc, and Bone shield up time.

EP Option

Allow you to select for which stats you want an EP value. The EP value are given relative to DPS. that means the result will be for 1 of a stat how much it give me dps. The value can be exported to external tools like Pawn for in game items comparison. The EP given for trinket are only accounting the proc and not the static stat. How the sim is calculating EP value:

Strength, Agility, Haste rating, Crit rating, Mastery rating
A first simulation is done with the character config giving a DPS called baseDPS. Then for each stats a simulation is run by adding 50 (default value) of this stat on the character.
EP is given by the formula: EP stat = (StatDPS - baseDPS)/50

Weapon speed:
A sim is run with a weapon 0.1 second lower and compare it to previous results.
EP is given by the formula: EP stat = (WeaponSpeedDPS - baseDPS)/0.1

Weapon dps:
A sim is run with a weapon 10 dps higher and compare it to previous results.
EP is given by the formula: EP stat = (WeaponDPSDPS - baseDPS)/10

Expertise rating:
3 simulations are done to calculate this one. One with the character at expertise cap (ExpertiseRatingCap) and one it take the character with Expertise cap minus 50 (ExpertiseRating).
EP is given by the formula: EP stat = (ExpertiseRatingCap - ExpertiseRating )/50

If you have selected frost presence, the sim generate also a run called ExpertiseRatingAfterCap that take the character with Expertise cap plus 50.
EP is given by the formula: EP stat = (ExpertiseRatingAfterCap - ExpertiseRatingCap)/50

note: As the sim don't take the character real Expertise rating, this explains why a player with high expertise (after the cap) can have an value not null.

Hit rating:
Multiple simulations are done to calculate those value. One with the character at melee hit cap, 8% Nerves of cold steel included (HitRatingCap) one with the character at melee hit cap minus 50 hit rating (HitRating) then one with the character at melee hit cap plus 28 hit rating (SpellHitRating).
If the option to have hit value after spell hit is checked, 2 other simulations are generated; Character at spell hit cap (AfterSpellHitBase), Character at spell hit cap plus 50 hit rating(AfterSpellHitRating).

Hit before melee hit cap = (HitRatingCap-HitRating )/50
Hit after melee hit cap = (SpellHitRating - HitRatingCap)/28
Hit after spell hit cap = (AfterSpellHitRating- AfterSpellHitBase)/50

note: As the sim don't take the character real hit rating rating, this explains why a player with high hit rating can seems incorrect.

New: Stats Scaling tab

Select for which stat you want and the sim will run 50 simulations incrementing each stats by 20 at each simulation to see how the stats scale. Choosing "replace stats" make sims from 0 to 1000 rating, choosing "add stats" add to the character config file 0 to 1000 (e.g. ArP at 250, the sim test with 250 to 1250 ArP rating). It might be a good way to see when ArP become better than Strength.
The report is generated under graphical form on the report tab. Select on the bottom of it which stat you want to compare.

Due to how the value are generated, if you let the default 100 hours simulation time, you will have accurate result but this will take very long.

New: Stat summary tab

There you can see your strength, rating, which proc/bonus have been recognize by the sim.
Checking manual input will allow you modify stat of procs.

New: EP Values tab

This is where the Reforge Optimizer is hidden. Enter your EP value and caps and the sim will try to find the better combination using EP. It's long and it's due to how it have been coded.
It will generate for each reforgeable items a combination of at least 3 possibles reforge then mix it. Which for 17 slots, is 3^17 or 129,140,163 possibilities. And that takes some time to do it.

New: Debug tab

The only interesting tools in this tab is the "wipe data" button which will try to clean up some of your old profile, spec and priority.

Priority Explanation

Here is details on the less obvious Priorities available in the sim.
- Disease: Blood Plague and Frost fever are applied or refreshed the best way possible regarding to your config.i.e. it use Howling Blast is glyphed.
- BloodTap: Use blood tap whenever it's available. Not recommend due to Boneshield/PoF interaction.
- DRMObliterate / DRMDeathStrike: Force the sim to use OB or DS only to convert them to Death Rune.
- Rime: Use Hownling blast only on rime proc.
- DeathCoilMaxRp: Cast DC when charater is at max RP.
- KMFrostStrike/KMObliterate: Cast those abilities only on Killing machine proc.
- FadeRime: Make sure you don't waste a Rime proc and cast it before the rime proc fades.


How do I say the sim to use Gargoyle or DRW or summon gargoyle?
The sim cast those spell only if talented instead of a Death Coil. This assure the runes/rotation are not mixed up when casting it.

Questions needed.

Questions needed.


dksimulator - Google Code

#2 Cabal


    Piston Honda

  • Members
  • 140 posts

Posted 15 March 2009 - 07:49 PM

This is really looking great, thanks for your work, and just what the class needs (provided you manage to get it to work well).

If it ever gets even near to what Yo´s simulator was for enhancement shamans, my dream has just come true :)

#3 frmorrison



  • Allied Members
  • 11,427 posts

Posted 15 March 2009 - 08:36 PM

I like the approach of this addon.

I don't like that it creates many text documents for the EP calculation.
I didn't see support for Discretion buffed in 3.1 since it works with Scourge Strike.

#4 Baaja


    Glass Joe

  • Members
  • 2 posts

Posted 15 March 2009 - 10:46 PM

I liked this quite a lot..think it helped me a bit, but I would suggest you made a readme describing how to get some of the (like) character stats...do you mean unbuffed attackpower i.e -green bonus you get from strenght stat...?

Then I am wondering how your talent's have been incorporated into the calculation...the haste buff from Icy Talons for example? Otherwise this is an awesome program you have released for us! played with it a bit before..:)

#5 Harkonnen


    Glass Joe

  • Members
  • 15 posts

Posted 15 March 2009 - 11:14 PM

I must admit that this looks indeed very promising.

#6 Xaer


    Glass Joe

  • Members
  • 19 posts

Posted 16 March 2009 - 10:06 AM


Great work, this will keep me busy quite a while.

#7 Hotiedraenei


    Glass Joe

  • Members
  • 19 posts

Posted 16 March 2009 - 01:44 PM

Using this build with the simulator http://talent.mmo-ch....5&version=9684, I noticed that some of the Talent points were not listed in your talent templates.

In the Frost Section

Unholy Section

I added that code to a template for the build I want to test. With the way you designed the simulator will it take into account those talents or is this a still work in progress for some of the talents?

Very nice simulator by the way.

Also the other question is for the Priority do I only list each skill 1 time or more for each time it would be used in a rotation? The current rotation I want to test is this:
Rotation (use blood tap at opening): PS -> IT -> IT -> IT -> BB -> DC -> DC -> PS -> IT -> IT -> BB -> IT -> DC -> DC

Thanks for any help or information.

#8 Guest_Afabar_*

  • Guests

Posted 16 March 2009 - 02:11 PM

If a talent is not in the template XML file, it's because it's not yet implemented.
But Runic Power Mastery is recognized with RMP.
Desecration will be implemented in the next release I plan for this afternoon(CET).

All pet related features are not yet coded, because I need to compile more data to have accurate result.

The simulator is priority based, not rotation based, anyway to simulate such rotation.

Rotation (use blood tap at opening): PS -> IT -> IT -> IT -> BB -> DC -> DC -> PS -> IT -> IT -> BB -> IT -> DC -> DC

This set-up should make it :


#9 Energizr


    Glass Joe

  • Members
  • 22 posts

Posted 16 March 2009 - 03:26 PM

Looks really promising! I've been waiting for this.

Check the builds before you test, few spells missing in other specs also.

Also if I may longer your to do list a bit or maybe I'm just missing it, but the rune forging should be ?added? somehow to the concept.

Thanks for this.

#10 crunchyblack


    Von Kaiser

  • Members
  • 43 posts

Posted 16 March 2009 - 04:07 PM

This does indeed look very promising. Good work so far.

Quick question: Did you code this in c-sharp? Also, if you're in need of any help developing this toss me a PM; I'm very proficient in most programming languages.

#11 Rayven01


    Glass Joe

  • Members
  • 19 posts

Posted 16 March 2009 - 05:19 PM

Very interesting. Hopefully an option will be added at some point to simulate based on fixed rotations instead of priority. As far as I can tell it's impossible for a priority system to model rotations that are based on timing, like the new Frost/Unholy rotation:

I tried the following:

But then BS is used too close together and diseases aren't always up.

#12 Guest_Afabar_*

  • Guests

Posted 16 March 2009 - 06:57 PM

Simulator updated to 0.2. check the original post

0.2 Release notes.
* A readme is available to help simulator configuration.
* Desecration is now fully implemented.
* Toughness is now fully implemented.
* The logfiles are created in the combatlog folder.
* Creation of a blank template.
* Sigils implementation
* Set Bonus implementation

To answer the questions :
* The tool is made with VB.net, because I feel more comfortable with this language.
* If you find anything missing that is not written in the readme. Let me know.
* You will be able to see how is calculated every thing once I figure how to easily put and retrieve the sources on the Internet.

#13 Rayven01


    Glass Joe

  • Members
  • 19 posts

Posted 16 March 2009 - 08:03 PM

The default template files are a little buggy. For instance 17/0/54 actually adds up to 17/0/58 (and does great dps! :) and 17/54/0 has extra points in chill of the grave and only one in blood of the north.

#14 Guest_Afabar_*

  • Guests

Posted 17 March 2009 - 09:59 AM

The problem with rotation is what simulator have to decide when a ability is missed.
I can hard code for each ability if it have to retry the next GCD or if it follow the rotation to the next step.
But I want something more configurable. So let me a day or two and I set up something.

@Rayven :
Could you send me by PM the Frost/Unholy template you are talking about ?

#15 kelben


    Piston Honda

  • Members
  • 147 posts

Posted 17 March 2009 - 06:18 PM

Been fiddling with the frost DPS side of things,the talent template needs to be adjust (Sample 17/54/0/), and adjust the priority template to include ITs

The spec / rotation I'm using is a 6x IT. Blood Tap, IT, OB, BS, IT (sit on the plague rune until the frost rune activates) OB, 6xIT, OB,BS,OB,BS, 6xIT. HB only on rime proc. The complicated start is simply so that my unholy and frost runes activate in alternating pattern rather then in twos.

Came out with 6.4k dps number. I've personally never pulled it off and I'm assuming this sim doesn't account for raid debuffs / buffs etc. And I have no real idea how you work with unbreakable armor / DRM / HB. Is it howling blast only on rime procs?


Haste is the devil...

#16 Guest_Afabar_*

  • Guests

Posted 17 March 2009 - 11:02 PM

You can't simulate this with priority right now.
If everything go as I want, tomorrow you will be able to choose between priority or rotation.
But I need to test it more before release it.

All raid buff that are taken into account are listed in the read me file, but a lot of other things are till needed to be implemented.

#17 Andoras


    Von Kaiser

  • Members
  • 29 posts

Posted 18 March 2009 - 03:46 PM

Pretty neat tool. Glad someone is doing something like this. One minor thing, I put Death Strike into the Blood rotation since Blood is going to be using DS now. I ran the EP sim, and the damage breakdown #s seemed pretty accurate compared to what I've experienced on the PTR, but is DB supposed to be Death Strike? It makes sense, but I wasn't 100% sure. If it is Death Strike, that seemed like the only thing that didn't completely match-up. The sim was showing around 7% damage from DB(assuming it's DS), whereas on the PTR I was getting between 10 and 12% on Death Strike. Pretty minor thing, I think, but something I wanted to mention to try to help. The rotation in the combat log matched up very well to what I had been doing on the PTR, too.

Also, interesting note on the EP calc. With 228 Armor Pen Rating on my gear + Blood Gorged, it actually gave me a higher EP weight for Armor pen than Strength(290v262). I had been wondering if with enough armor pen I could reach that level, but was surprised to see I was there already. Any other Blood DKs with a decent amount of Armor Pen gear getting that result?

#18 Guest_Afabar_*

  • Guests

Posted 18 March 2009 - 04:06 PM

It looks like you put your finger on a typo error. DB is as you guess Death Strike. I correct this.

You have to keep in mind that the Armor Penetration is boosted in this patch. You get 25% more Penetration from rating.
On an other side, by default the range used for the calculation of EP is set to 200, that is a lot. You can change this in the character.xml file.
I have put this high value because if something would be badly implemented, it would be easily seen.

Edit :
I just put online the 0.3.0 version of the simulator with some major update. Check the OP.

I can add in the package your template, priority or rotation files. Just send them to me via PM. I'm looking especially for some legit (not more than 71 talent point) top dps configuration files.

#19 NCH


    Glass Joe

  • Members
  • 4 posts

Posted 18 March 2009 - 05:51 PM

Really nice work, i am proving it now.


#20 Guest_Afabar_*

  • Guests

Posted 19 March 2009 - 11:38 AM

0.4.0 Release notes
* Beta Dancing Rune Weapon Implementation.
* Hysteria.
* Rune buffer.
* Rune Weapon.
* Bug : Merciless Combat was not applied to Frost Strike.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users