Aldriana / ShadowCraft-Engine

Calculations backend for ShadowCraft, a WoW theorycraft project.
GNU Lesser General Public License v3.0
37 stars 22 forks source link

5.x update (MoP) #98

Open dazer opened 12 years ago

dazer commented 12 years ago

In the interest of having a centralized hub to discuss or check up what needs to be done, I'll be updating this lists as things get checked in. If you want to discuss one of these topics in more detail, feel free to open a different issue. Note that all these only relate to making the whole thing work again; if you feel more comfortable by refining other aspects of the library, those are always welcomed too.

-Write and/or update the 3 new models. This is, of course, the biggest and most delicate task; we need to keep a very tight control over it as that's where the strength of any formulator lies. -Update the proc and gear buff 'databases' with the new trinkets and tier sets. Also, it'd be nice if we had a way for the front-end to simply input the spell ids for those so it could pick up on them without the issues we had in the past (see lfr-WoU). -Implement the new racials (also, fix the exp/hit related ones). -Figure out the formulae for shadow blades, poisons (dp and it's instant proc, wp and venomous wounds), dispatch, etc. Also: check that the old ones work as expected. This may need a bit of testing, but perhaps someone can figure this out browsing the dbc files (in simcraft/rawr/enhsim perhaps). -New feature that would be extremely nice to have: a way to compute the compound ep of a weapon, so we don't have users swapping them like we did with the legendary daggers. Combat rogues will get to choose what type of mh weapon to weild so that'd be a good improvement.

Solved Issues: -Talent and glyph rankings. -Update the way mastery works if it's changed (ie: the paperdoll now shows it in the same fashion as other rating stats; how does that relate to the final percentage number that we need?) -Have a way to internally implement the level-scaling tradeskill perks without forcing the front-end to tell what buff to use. Implemented those that are not linked to gear stats, like ring enchants and the like. -Include and model the 3 new enchants, and how that relates to the proc class. Particularly, finish the way hurricane was handled or update the proc class so it can handle multiple-stats procs more nicely. Using the most p to date known behaviour. -Check in the new miss/dodge/parry/glance mechanics (base rates and implications in the hit_chance methods). -See how the new hit/exp propagate through the EP methods and update accordingly. -Figure out a better way to tell the modeler what cycle (spec) to choose (the new talents are not tied to the spec).

Pathal commented 12 years ago

"-Check in the new base miss/dodge/parry/glance rates (if there are) as well as the armor for lvl 93 enemies." Armor is 24835, at least for the dummies. I'm not sure why they would be different though. http://us.battle.net/wow/en/forum/topic/5889309137?page=93#1853

Every rogue attack right now appears to follow the 7.5% chance to miss. The 7.5% chance to be dodged appears to apply to everything but poisons. Therefore, poisons only have a 7.5% chance to not land when triggered.

If I look over my last logs when testing Anticipation (posted on the Mists thread on EJ), I saw a 23.3% glancing rate on the first session and a 25% rate on the second, I'm going to assume it's still 24% chance to glance.

Also not on the list, rupture was NOT scaling with BG last time I checked on the beta. A number of people are under the impression Combat isn't "supposed to" use rupture and I can't really disagree.

dazer commented 12 years ago

Well, that was fast; I'm going to clarify a bit my intent here: some people have showed interest in pushing some code and I thought I could give some tasks with varying dificulties. So this list has a lot more to do with the lib itself rather than figuring stuff out as we did in the mechanics testing thread back at the start of cata.

For instance, the extent of the new hit/exp breakpoints has a lot more to do with how we compute the ep stats: we don't have a reason to report the spell_hit and yellow_hit values so we could merge it somehow. While it's very straightforward to figure what the future values will be, the implementation in ShadowCraft perhaps needs to be given some thought.

Pathal commented 12 years ago

I figured they would help someone.

I always find it easier to develop an algorithm when I have some numbers and expectations to work with.

dazer commented 12 years ago

Of course, and that's appreciated. In fact it'd be nice to have a resource reference somewhere, so we can link stuff like the balance analysis thread you just posted, or the dbc extract from the game files (https://code.google.com/p/simulationcraft/source/browse/branches/mop/engine/dbc, for instance), or the mechanic's testing from wrath or even the old spreadsheets.

It simply crossed my mind that I was too hastly in writing the list and that the issues usually encompass a bit more than simply putting the numbers in, so I expanded a bit on those.

Pathal commented 12 years ago

A resource to store scaling factors, mechanical, and rotation information in addition to this? Perhaps using the wiki pages on this repo or your branch to keep quick references so we don't have to dig through the SimC info?

dazer commented 12 years ago

That sounds like the best place for it, yes; I must say I don't have the faintest idea how the github wikis work and how can people contribute to it so, if someone want's to take a look on how to go about that, go ahead.

Pathal made it evident this is a non-issue.

If anything, I don't think the scope should extend to cycle info, as that'll get covered in the EJ threads anyway (besides, I recall we had some discussion in EJ about wikifying the guides and I wasn't too excited about it). I'd have things like how and where to find combat ratings, other scaling factors, diminishing return formulae (if/when we support other classes) as well as some methods we use to test stuff in-game or how to compute a proc rate: just some every-day theorycrafting stuff.

Pathal commented 12 years ago

I'm still playing around with the formatting and just haven't saved the page. It's not too hard, but it feels like there's a lack of control in regards to how I can organize things (like no tables or html/css); it's mostly just the basics like bold, italics, etc. There should be a middle ground somewhere that doesn't look overbearing.

The rotation information I was thinking of storing, was things like archived calculations, and storing reference values that are debatably superfluous to the "formal guides". Like the Assassination calculations back in t11 that showed the damage loss from various finisher sizes and rupture downtimes, or the DPS contributions from abilities that Shadowcraft tabs up at the end of the algorithms. They're the things that can easily get lost after 20 pages of questions and discussion.

They're worth posting in the threads, especially the final values which could quite easily earn a spot in the front post. But leaving them lost in the bowels of a forum system feels like a disservice.

EDIT: http://github.github.com/github-flavored-markdown/sample_content.html

WordWord
I takethat back.

Looks like I've missed a few things.

Pathal commented 12 years ago

Well, I've noticed that there's still a pretty major disparity between the base damage listed on different locations. For example, Dispatch on Wowhead says it has a base damage of 383, however wowdb/mmo-champ says 1340, and in game tooltips report 1609 base damage.

I went through the dbc output from SimC, and it seems to agree with wowhead (but not rounded as heavily). I think I'm gonna test it in game later tonight and pray that it matches up with one of the sources and then check a few other abilities.

EDIT: Also new... "Nothing has changed in this regard, other than the few rolling periodic type spells we mentioned earlier. However, the benefit of this functionality (being able to clip the last tick with no loss) has been extended to a few additional spells. These spells have been turned into periodics, despite not really doing anything periodically, so that you can take advantage of this same ability to clip the last couple seconds with no loss. Inquisition, Haunt, Revealing Strike, Envenom, and Savage Roar work this way. For example, Savage Roar uses a 3 sec periodic tick rate under the hood, so that if it normally lasts 18 sec, and you recast it after 17 sec, it will have 19sec remaining. Total of 36 sec for two casts of it, despite clipping it by 1 sec. We hope this is a nice little quality of life change (and should obviously have no downside)."

And I don't seem to be finding a value from a fan site that properly reflects in game damage. So either I did my math wrong, or every site is wrong, or the information we can grab from Blizzard is wrong. Or maybe some combination of the three.

dazer commented 12 years ago

The damage bonus for dispatch is 383. But the percentage bonus applies to both the weapon and the damage bonus (3.5 * 383 = 1340.5). The tooltip in-game is accounting for Assassasin's Resolve (baseline for assassination) for a grand total of 3.5 * 1.2 * 383 = 1608.6

I know my repo is wrong in that regard (in every weapon strike), but since we still need to figure some more formulas I didn't worry too much about it. Then again I'll hapily merge them in if you take the time to change them.