The results between SS vs OB are very different now - different to the tune of ~300 dps... ~300 dps in Scourge Strike's favor.
It took me a sec to figure out why.
You didn't put the glyphs in the 3/13/55 or 0/17/54 build by default (whereas 0/10/61 does have them in). Not a big deal, but a minor fix for future changes. Once you make sure glyphs are taken care of, Oblit pulls comfortably ahead once again, as expected.
The change to the result formatting is great, by the way.
Edit: The different formatting seems to only apply to the EP results, not a regular simulation's results. If in a future update it could apply to both, that would be much appreciated.
Edit 2: I actually did get hit/expertise values, but they seem incorrect. Expertise is rating higher than hit which should be impossible, really. At the most, the two would be equal. Something odd with how it's calculating it.
Why does the combat log feature, when using a SS build, generate "SS hit for 0" everywhere you'd expect a hit? When looking at the combat log for an Ob build you see the expected hits for a number value. Thanks for all the work that has been put into this great tool.
1.0.1 crashes as soon as I click on "start simulation". 0.9.9 worked fine. Happens bot with priority and rotation mode.
[EDIT]the problem was caused by the fact that I tried importing an old character file, which didn't have the new <GrimToll> and <MjolnirRunestone> tags.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at DKSIMVB.MainStat.init()
at DKSIMVB.Sim.Initialisation()
at DKSIMVB.Sim.Start(ProgressBar pb, Int32 SimTime, MainForm MainFrm)
at DKSIMVB.MainForm.Button1Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
It would be EXTREMELY helpful, in order to figure out the sim's decisions, to have in the combat log:
1)Rime HB distinguished from simple HB (helps tracking runes a lot)
2)A code saying what runes are available every time the sim is going to do an attack, and when they're not how long it's left till they are. A good syntax would be: [D1F8U8] meaning that I've got 1 death rune, 1 more D/B will be available in 1 second, there's 1 FU pair available, and the next FU pair will be on CD for the next 8 seconds. (this way you can't see if the runes on CD will become regular or death runes, but IMHO it's a good tradeoff).
i.e.
1 [BBFFUU] HB crit for 5748
145 [BBF9U9] OB crit for 8227
310 [BB9797] FS crit for 7629
475 [BB8686] BS hit for 1491
640 [B96464] BS crit for 3654
805 [985353] Blood Tap
805 [985353]Unbreakable Armor
If you activate "very detailed combat log", you can see Rime proc.
However, I can add the rune state to the log. I will try to include that in the next version.
I actually did get hit/expertise values, but they seem incorrect. Expertise is rating higher than hit which should be impossible, really. At the most, the two would be equal. Something odd with how it's calculating it.
You have to tell me your settings/config and at best leave most of them untouched. I can't just run the EP calculator twenty times for debugging, it takes far too long .
Here it works fine but it always crashes if I: Edit an existing spec -> choose the new spec -> restart simulation.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at DKSIMVB.MainForm.LoadBeforeSim()
at DKSIMVB.MainForm.Button1Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
PS. It's fine if I restart the program and choose the new spec and all other options. It's only a bit time wasting that fields are emptied and have to be chosen again.
You have to tell me your settings/config and at best leave most of them untouched. I can't just run the EP calculator twenty times for debugging, it takes far too long .
=p.
Gear used was my own (226 hit rating, 131 expertise). Spec used was 3/13/55. Hours were first 1000, then 2000. Latency was 150. Everything else was default/shown below (Presence - Blood, etc).
EP seems indeed to be better. Still I noticed two things:
1) Hit seems to be undervalued (1.7-1.8) for both 51/00/20 (500h EP) and 03/13/55 (111h EP). My char sheet had 263 hit rating, EP 50 for both cases. Also spellhit showed value of 0 in both cases.
2) WDPS and set bonuses were around two times too high (for example 2xT9 was calculated as ~1000 AP value).
Other values I got from 500h 51/00/20 EP run were pretty much where I would expect them to be.
* EP calculation corrected some more
* DC+HB were using melee hit
* Ghoul 3.2 hit+exp changes
EP for the main stats seem to work correctly now, but they can only really be tested by you . The weapon stats can be off and the set bonuses are untouched.
4xT9:
* Unholy - {[(base DPS) * (diseases % of total damage)] + [(base DPS) * (WP % of total damage)]} * (spell crit) = (DPS -> compare to AP)
* Blood - [(base DPS) * (diseases % of total damage)] * (spell crit) = (DPS -> compare to AP)
For 4xT9 I have no idea if WP will really proc it, it doesn't count internal cooldown of WP and I use spell crit not melee crit (not sure if that is correct?).
* EP calculation corrected some more
* DC+HB were using melee hit
* Ghoul 3.2 hit+exp changes
Also include in the release:
* 4P T9 is now implemented on character and EP stat.
* Report is now sorted, and the first decimal is showed.
Fugazor,
That is not the approach of the simulator. Complex formula are for spreadsheets. I prefer to implement them as close as they are in game and let the random number generator make the work.
edit:
I have create a 1.0.2.1 version. A minor error on the Spell hit rating value.
UPDATE: appears that I need to select a Runeforge on the 2nd weapon within the UI, even though one isn't used, and the error stopped.
I edited the 2H character to use my tank's settings. (The file is here if you want to check it).
The error I get when using that character is below. If I switch back to the DW Ulduar character you supplied, the sim works. No other setting changed in this use-case.
************** Exception Text **************
The given paths' format is not supported.
System.NotSupportedException: The given path's format is not supported.
at System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath)
at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.Path.GetFullPath(String path)
at System.Xml.XmlResolver.ResolveUri(Uri baseUri, String relativeUri)
at System.Xml.XmlUrlResolver.ResolveUri(Uri baseUri, String relativeUri)
at System.Xml.XmlTextReaderImpl..ctor(String url, XmlNameTable nt)
at System.Xml.XmlTextReader..ctor(String url, XmlNameTable nt)
at System.Xml.XmlDocument.Load(String filename)
at DKSIMVB.MainStat.init()
at DKSIMVB.Sim.Initialisation()
at DKSIMVB.Sim.Start(ProgressBar pb, Int32 SimTime, MainForm MainFrm)
at DKSIMVB.MainForm.Button1Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
(2) for tank simulation, I can't work out how you have determined the proc frequency of Rune Strike. As you know it's based on the DK dodging, but the sim doesn't know what my avoidance is.
1/ I see nothing wrong. I try to check anyway.
2/ The "tanking" module is far from been reliant. So much is missing. Rune strike is always cast if you have enough RP.
1/ I see nothing wrong. I try to check anyway.
2/ The "tanking" module is far from been reliant. So much is missing. Rune strike is always cast if you have enough RP.
Thanks. For issue 1, it resolved when I had selected the 2nd weapon runeforge (even though it was 1H).
For Rune Strike, thanks for that.
My recommendations for how you'd make the RS a little more meaningful:
* Have it fire off 18 times every 60s, that's about what a 60% avoidance tank would see against a boss striking every 2s. It's more accurate than 'whenever RP is available', but isn't perfect.
I just run a simulation with the new version, which now shows hit/crit/miss percentages with 1 decimal digit and I noticed something strange. With 236 hit rating and Nerves of Cold Steel, I get around 0.6 to 0.7% chance to miss on my special melee strikes (but I shouldn't miss at all). Did something change in the latest version and the increased chance to hit from the talent is not taken into account? I haven't observed something like that in past versions of the simulator, although that could well have to do with decimal digits not showing in the report.
"Miss %" includes dodges/parries, so if you aren't expertise soft-capped in your dps gear, that's most likely the culprit, not any fault in the simulation.
Edit: Nevermind. Now that you are logged out in your dps gear, it's easy to see that you are, indeed, expertise soft capped, so my guess would be incorrect ^^
Next possible bug?
I get negative EP values on this simulation of an Unholy Oblit tank spec. This is the rotation file, I used existing Priority file, and this spec.
This Simulator can be accompanied nicely by an in-game addon: Taking as input EP values derived by it and making listed and overall stats for gear, gems, enchants, bufs.
Just a quick note with regards to the simulator, anytime I edit some sort of file (character, spec, rotation) and save/import it, I get an error when I try to begin a simulation. A simple exiting of the program and starting it again resolves the problem, but I figure it might be something you'll want to fix in a later version.
Here's the error message if it's of any help.
************* Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at DKSIMVB.MainForm.LoadBeforeSim()
at DKSIMVB.MainForm.Button1Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
When I run the simulator for my frost DW 0/54/17 spec with glypg of Disease the simulator seems not to use Pestilence to reapply diseases but just does it-ps. I use the standard frost priority with out a general rotation. what do i need to change for the sim to start using pest to reapply diseases.
When I run the simulator for my frost DW 0/54/17 spec with glypg of Disease the simulator seems not to use Pestilence to reapply diseases but just does it-ps. I use the standard frost priority with out a general rotation. what do i need to change for the sim to start using pest to reapply diseases.
I think you specify a priority and not a rotation (leave one blank).