awsome work, ty heaps, i could see this being VERY useful
Feb 27, 2009 Update I am abandoning this project, there will be no further updates to it made by me. The reasons are:
- I'm unhappy with my implementation of talents, and with the current rapid changes going on from patch to patch, it is too difficult to maintain accurate numbers along with developing new features
- Acceptance to a new guild increasing my in-game time.
- Real life work been busier than it was when I started this.
All of that being said, while I am stopping work on this project, I am currently in the design phase of a new project which solves my first problem listed above (the major reason for my halting development on this). I don't want to into too much detail at this time, but the new project will support more classes than the warrior and will support more roles than just tanking. I hope to have something up for initial evaluation by the community in the next few weeks.
For now, I am attaching source code for what is as close to the current compiled version being distributed of this threat sim. In the near future I will also attach the source for my latest development version which is highly broken, but it will allow anyone who wishes to continue with this project or see where I was going to get a leg up.
Thanks for all the positive feedback on this... and now on to our regularly schedule program.
Ok, after all the discussion about this talent being better than that talent, and trying to decide what's the best way to go, and feeling like static spreadsheets are woefully inadequate, I spent my evening writing up a threat simulator.
The current build is likely buggy but I'm happier with the math it is spitting out. All of the threat numbers should be reported in the combat log for anyone to verify what is going on.
Here are a few things I'm presently concerned about:
- I ignored flat damage bonuses available through imp disarm and imp defensive stance (via enrage) talents, I can add these later as necessary
- I've tried to emulate the combat table as best as I can. I've left out incoming crits no matter what your avoidance stats are based on the fact that as tanks we will all aim for crit immunity.
Update 1: I've fixed a lot of the major bugs and the numbers the simulator is spitting out are much more reasonable now. Basically at this point I need someone else to take a look at the math it's doing and make sure it's valid. The two biggest items to be aware of - when a mob blocks it is absorbing the full damage, I can't recall if this is how things work on live/beta or what the deal is, so this needs to be adjusted. Also, there is no sanity checking on the input boxes - if you type random words in and your computer explodes, please don't blame me.
Update 2: Threat was being generated on slam/revenge dodge and parries, this has been fixed. Thanks to Mefear for this one.
Update 3: Thunderclap is now available. I think I have now covered all of the essential threat generation abilities. The current priority order is to Shield Slam, Thunderclap (if you've enabled it), Revenge, then Devastate. I'm pretty happy with where this little app is at right now and without any comments or feedback I'm not going to do much more with it, so play around if you like, or... don't. :P
Update 4: Reposted to Theory & Articles for public consumption
Update 5:
- error in the combat table fixed, crits should happen at appropriate intervals now
- special attacks only use 1/5th rage when they miss, are dodged or parried (apart from Thunderclap which will always use full rage)
- ALL special abilites when they miss or are dodged/parried no longer generate threat (only fixed one of them when I found this bug before, doh)
- mob block % has always been modifiable via interface - I've added mob block value and set it to 54 as default
- damage reduction from mob armor has changed to always be applied last after all other modifiers
- rage "c" value modified to 320.67
- damage shield logging is clearer now to indicate crits vs regular hits
Further replies below
Update 6 (Build 1.0.3.2)
- quick fix to solve the crash, I'm implementing the parry system and will release that shortly
Update 7 (Build 1.0.4.0)
- Crash should actually be fixed now
- Implemented parry hasting per the math provided by talisfears
- have started the conversion from text boxes to number boxes to make input a little more sane
Update 8 (Build 1.0.5.0)
- all input boxes are properly constrained, time for me to let this sit for awhile until I get more feedback
Downloading
I've managed to just attach the .exe this time so the download isn't as big and it fits right on the forum. If it doesn't work for you, make sure you've got the .Net framework. Version 3.5 is available here:
Download details: .NET Framework 3.5
Would love to get some feedback, thanks!
Source for version close to 1.0.5.0 : Free File Hosting Made Simple - MediaFire
Last edited by Optimoos; 02-27-2009 at 04:30 PM.
awsome work, ty heaps, i could see this being VERY useful
AP Modified Damage Range with defensive stance penalty: 2515 to 2574 damage per white swing
Calculated weapon DPS increase from 2333,33333333333 AP is 166,666666666667
Calculated weapon DPS is 10,03125
No weird stats, didn't modify AP, armor or weapon damage, just added talents in and modified block value.
I think this isn't right :P
Damage Shield looks a bit weird as well, but can't know for sure. It varied from 90, 100 to 410 without changing any stats (so with 150 BV).
Also lacking expertise as well.
With no changes:
AP Modified Damage Range with defensive stance penalty: 2172 to 2231 damage per white swing
Calculated weapon DPS increase from 2000 AP is 142,857142857143
Calculated weapon DPS is 10,03125
It looks like you are doing the same mistake I made when making my own personal sim - multiplying weapon speed by 10 for pratical purposes, but forgetting to account for that. Thus the weapon DPS being too low and AP DPS too high.
Can't be sure without looking at code, though. I'd post my own sim, but it's very unpolished and I'm hoping to make an interface and expand it to DPS in general before anything.
I think this might need to STICKY'ED. This is amazing, to even attempt, and I'm sure this will be a MAJOR asset to the community.
Supa-Dorf gives 2 thumbs up!
Unfortunatly, I know NOTHING of anything like this... so yeah. I'll be keeping tabs on the updates.
November 23, 2004 8:27:03 AM - Glomgore 10+ Years of tanking? Priceless
Love this program, have the potential to be something huge!
Just a thought about shield slam, on 19 slams i had 1 crit with critical block 3/3 and 15 base crit. I could just be real unlucky but maybe you could double check this?
Also adding a summary for the different attacks, crit min and max same with non crits. And possibly % of total damage and threat ?
I'm sure you have already though on this, keep up the awesome work
/Cheers
- Missed specials cost 1/5 of the rage. Heroic Strike included.
- At level 70 all mobs block about 5% for exactly 54, including bosses, not sure about level 80 yet
- Armor is always done last to damage that it applies to. Bleeds won't be reduced by armor. As far as I know multipliers like Enrage, 1h spec, and the def stance penalty are all multiplicative with armor and with each other.
- If c follows its trendline, it will be 320.67 at level 80.
- Your last concern is just a design decision, I only very recently added the potential for crits into my spreadsheet to help beginners and help defense items drift to the top of the gear list.
I'll try to check out the code later and see if any of the math disagrees with my spreadsheet.
- dodged abilities do still generate threat?
- parries grant a free swing?
- no white damage?
Looks neat though. But yeah - it would be easier to check the numbers if you released the code.![]()
This one is interesting, because running the sim on my computer produces nothing like this. The only ability I'm currently simulating that modifies AP is AttT. Using my default settings and 0/3 AttT produces this at start:
AP Modified Damage Range with defensive stance penalty: 321 to 379 damage per white swing
Calculated weapon DPS increase from 2000 AP is 142.857142857143
Calculated weapon DPS is 100.3125
Changing to 3/3 AttT produces:
AP Modified Damage Range with defensive stance penalty: 355 to 414 damage per white swing
Calculated weapon DPS increase from 2333.33333333333 AP is 166.666666666667
Calculated weapon DPS is 100.3125
These numbers look correct to me, and I'm trying to figure out why yours are off. I'll look into it while going through the remainder of the posts in this thread.
I'll run it again at home, but yeah, I get that every time I run it here.
Old version attached maybe?
I'm pretty sure I've fixed missed, dodged, and parried attacks generating threat. Let me know if you see more of this.
I'm not 100% sure of the math behind parry hasting, so presently when you parry an attack you are granted an instant swing. I know it's not this simple but I haven't found any references on precisely how it works. As it is now, it is "close" but not perfect.
I'm not sure what you mean by no white damage - the simulator is generating white damage and threat from it.
Thanks Talisfears for the information, it has all been incorporated.
As for the request to implement expertise - it's basically already there, you simply need to modify the mob's parry and dodge chance based on what your expertise is granting you. The same goes for picking up the cruelty talent - just add the % crit to the crit box rather than having a cruelty talent dropdown.
Just crashed for me in Vista Sp1, dunno if you find this report to be helpful but here it goes
************** Exception Text **************
System.ArgumentOutOfRangeException: Value of '-1' is not valid for 'Value'. 'Value' should be between 'minimum' and 'maximum'.
Parameter name: Value
at System.Windows.Forms.ProgressBar.set_Value(Int32 value)
at ThreatSimulator.ThreatSimulator.rageMod(Boolean adding, Int32 amount, Boolean miss)
at ThreatSimulator.ThreatSimulator.devastateAttack()
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndPr oc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
New error are like 10 min:
************** Exception Text **************
System.ArgumentOutOfRangeException: Value of '-5' is not valid for 'Value'. 'Value' should be between 'minimum' and 'maximum'.
Parameter name: Value
at System.Windows.Forms.ProgressBar.set_Value(Int32 value)
at ThreatSimulator.ThreatSimulator.rageMod(Boolean adding, Int32 amount, Boolean miss)
at ThreatSimulator.ThreatSimulator.sSlamAttack()
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndPr oc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Looks like the same problem with Value tho.
Last edited by Naifon; 10-08-2008 at 02:21 PM. Reason: Added new error code.
This is awesome.
I am getting an error occasionally. One of the progress is getting set to a negative value some how. I'll edit this when I see the error again and post it here.
Any chance of also getting the source?
Edit: See post above![]()
annnnnd stickied!
From Quigon's mega warrior thread at EJ:
The mechanic works the same way for the warrior, when he parries the boss' attack, it speeds his next white attack by the same system.Originally Posted by Quigon
Here is another post you might be interested in, where I derived the average attack speed multiplier as a function of parry and opponent attack speed.
Great work man !!
Which beta build is this up to ?
Thanks
Looks like it's working great Opt. I was gonna ask about expertise, but then saw yer post above, amazing.
I THINK how parry haste works is it reduces the mobs auto atk timer by 40%, not sure if it works the same way on PC parrys.
Also, another possibility is working in our glyphs?
10+ rage on heroic strike crits, free heroic after revenges?
One more, possibly adding in multiple mobs? Allowing warriors too see what our average TPS for AoE tanking is?
You've got the TC every CD in there, add maybe Shockwave.
I know that = lotsa work, just suggesting ideas
Last edited by Glomgore; 10-11-2008 at 12:04 PM.
November 23, 2004 8:27:03 AM - Glomgore 10+ Years of tanking? Priceless
Bookmarks