+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 20 of 40

Thread: Warrior Threat Simulator

  1. #1
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641

    Warrior Threat Simulator - Source Available

    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
    Attached Files
    Last edited by Optimoos; 02-27-2009 at 04:30 PM.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  2. #2
    awsome work, ty heaps, i could see this being VERY useful

  3. #3
    Join Date
    Nov 2007
    Posts
    13
    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.

  4. #4
    Join Date
    Jul 2008
    Posts
    248
    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

  5. #5
    Join Date
    Sep 2008
    Posts
    26
    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

  6. #6
    Quote Originally Posted by Optimoos View Post
    - 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.

  7. #7
    Join Date
    Dec 2007
    Location
    Berlin
    Posts
    172
    - 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.

  8. #8
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    Quote Originally Posted by Zegai View Post
    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.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  9. #9
    Join Date
    Nov 2007
    Posts
    13
    I'll run it again at home, but yeah, I get that every time I run it here.

    Old version attached maybe?

  10. #10
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    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.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  11. #11
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    Quote Originally Posted by Naka View Post
    - 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.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  12. #12
    Join Date
    Sep 2008
    Posts
    26
    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.

  13. #13
    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

  14. #14
    Join Date
    Jul 2007
    Posts
    16,412
    annnnnd stickied!

    READ THIS: Posting & Chat Rules
    Quote Originally Posted by Turelliax View Post
    I will never be a kaz.. no one can reach the utter awesomeness of you.
    http://i.imgur.com/3vbQi.gif

  15. #15
    From Quigon's mega warrior thread at EJ:

    Quote Originally Posted by 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.

  16. #16
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    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 02:51 PM.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  17. #17
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    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.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  18. #18
    Join Date
    Oct 2008
    Posts
    4
    Great work man !!

    Which beta build is this up to ?

    Thanks

  19. #19
    Join Date
    Feb 2008
    Location
    Calgary, AB
    Posts
    1,641
    Quote Originally Posted by Jova View Post
    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.

    Quote Originally Posted by Turelliax View Post
    people don't know how to keep it in their pants for a little bit before exploding all over my face.

  20. #20
    Join Date
    Jul 2008
    Posts
    248
    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

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts