#1  
Old 10-07-2008, 11:05 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
Warrior Threat Simulator

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!
Attached Files
File Type: zip ThreatSimulator1050.zip (25.0 KB, 753 views)

Last edited by Optimoos; 10-08-2008 at 11:24 PM.
Reply With Quote
  #2  
Old 10-08-2008, 02:15 AM
Teh Gnome of Doom
WoW Characters
 
Join Date: Mar 2008
Posts: 14
awsome work, ty heaps, i could see this being VERY useful
Reply With Quote
  #3  
Old 10-08-2008, 05:47 AM
New Registrant
 
Join Date: Nov 2007
Posts: 7
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.
Reply With Quote
  #4  
Old 10-08-2008, 06:36 AM
Supa-Dorf!
WoW Characters
 
Join Date: Aug 2008
Posts: 162
Blog Entries: 1
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
Reply With Quote
  #5  
Old 10-08-2008, 06:47 AM
New Registrant
WoW Characters
 
Join Date: Sep 2008
Posts: 8
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
Reply With Quote
  #6  
Old 10-08-2008, 07:11 AM
Registrant
WoW Characters
 
Join Date: Sep 2008
Posts: 36
Source: Optimoos
- not sure of rage behavior when a queued heroic strike misses, is dodged, parried
- block value on mobs? Do they always block for full? is this one of those hidden blizzard numbers?
- I'm sure I was inconsistent (and probably incorrect) in applying multipliers. If someone can confirm the order I should be multiplying base damage by damage reduction (armor on the mob), damage multipliers (from talents and then from crits), etc.
- rage generation formulas from here Formulas:Rage generation - WoWWiki - Your guide to the World of Warcraft - can anyone figure out what the rage conversion value "c" should be at 80? Presently using level 70 value with level 80 abilities, which is likely throwing stuff off a bit
- 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.
- 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.
Reply With Quote
  #7  
Old 10-08-2008, 08:06 AM
Blechtroll
WoW Characters
 
Join Date: Dec 2007
Location: Berlin
Posts: 99
- 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.
Reply With Quote
  #8  
Old 10-08-2008, 10:50 AM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
Source: Zegai
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.
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.
Reply With Quote
  #9  
Old 10-08-2008, 11:59 AM
New Registrant
 
Join Date: Nov 2007
Posts: 7
I'll run it again at home, but yeah, I get that every time I run it here.

Old version attached maybe?
Reply With Quote
  #10  
Old 10-08-2008, 12:46 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
I'm working on the bugs/requests posted above, a new version will be coming shortly so you can download that and see what happens. Give me 30 minutes or so to finish up.
Reply With Quote
  #11  
Old 10-08-2008, 01:51 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
Source: Naka
- 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.
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.
Reply With Quote
  #12  
Old 10-08-2008, 03:12 PM
New Registrant
WoW Characters
 
Join Date: Sep 2008
Posts: 8
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 03:21 PM. Reason: Added new error code.
Reply With Quote
  #13  
Old 10-08-2008, 03:13 PM
Sponsor
 
Join Date: Apr 2008
Posts: 14
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
Reply With Quote
  #14  
Old 10-08-2008, 03:30 PM
Kazeyonoma's Avatar
CM and Wall-O-Text'er
WoW Characters
 
Join Date: Jul 2007
Posts: 5,332
Blog Entries: 2
annnnnd stickied!
__________________
"Quis custodiet ipsos custodes?"
Reply With Quote
  #15  
Old 10-08-2008, 03:34 PM
Registrant
WoW Characters
 
Join Date: Sep 2008
Posts: 36
From Quigon's mega warrior thread at EJ:

Source: Quigon
When a boss parries your attack, it reduces the default swing timer of the bosses next main hand attack. There are one of three possible outcomes of a boss parrying your attack:
  • If the next attack would normally occur within 20% of your weapon speed after the parry, there is no effect.
  • If the next attack would normally occur between 20% and 60% of your weapon speed later, it happens 20% of your weapon speed later instead.
  • If the next attack would normally occur more than 60% of your weapon speed later, the time until your next attack is reduced by 40% of your weapon speed.

For example, with a 2.0 speed weapon, if a boss’s next attack would normally occur .3 seconds after the parry, it will still happen at that time. If it would normally occur anywhere between .4 and 1.2 seconds after the parry, it instead happens .4 seconds later. And if it were to normally happen 1.5 seconds after the parry, this would be reduced by .8 seconds causing it to happen .7 seconds later.
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.

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.
Reply With Quote
  #16  
Old 10-08-2008, 03:46 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
crash should be fixed, I'm working on the parry system

Update: Crash ISN'T fixed, it'll be fixed in the next build with the parry system

Last edited by Optimoos; 10-08-2008 at 03:51 PM.
Reply With Quote
  #17  
Old 10-08-2008, 11:25 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
Updated to 1.0.5.0, see notes in first post. Please test away and comment on irregularities you find, and feel free to suggest improvements/features you'd like to see.
Reply With Quote
  #18  
Old 10-10-2008, 04:39 AM
New Registrant
WoW Characters
 
Join Date: Oct 2008
Posts: 3
Great work man !!

Which beta build is this up to ?

Thanks
Reply With Quote
  #19  
Old 10-10-2008, 05:14 PM
Optimoos's Avatar
Priiiiiiiiiiiiiiime
WoW Characters
 
Join Date: Feb 2008
Posts: 274
Source: Jova
Great work man !!

Which beta build is this up to ?

Thanks
The numbers I'm using on the abilities were current as of 2 beta builds ago, and I haven't seen any changes to the abilities included since then. If something changes I can certainly update the numbers I'm using.
Reply With Quote
  #20  
Old 10-11-2008, 12:51 PM
Supa-Dorf!
WoW Characters
 
Join Date: Aug 2008
Posts: 162
Blog Entries: 1
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
__________________
November 23, 2004 8:27:03 AM - Glomgore 10+ Years of tanking? Priceless

Last edited by Glomgore; 10-11-2008 at 01:04 PM.
Reply With Quote
Reply

Bookmarks


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

World of Warcraft™ and Blizzard Entertainment® are all trademarks or registered trademarks of Blizzard Entertainment in the United States and/or other countries. These terms and all related materials, logos, and images are copyright © Blizzard Entertainment. This site is in no way associated with or endorsed by Blizzard Entertainment®.