RestoSham: The Discussion Thread

Topics: Rawr.RestoSham
Jan 21, 2010 at 5:31 PM

Well, now that there are a couple developers on RestoSham and there have been quite a few changes going on, it's probably time to make a thread so the RestoSham developers can let us non-developers know what is on their minds.

Alrighty, I'll start by asking a few questions I have about the current (2.3.6) RestoSham model.

  1. Where did RT+CH+LHWx2 go? My sustained rotation (especially in 10-mans) is not exclusively Riptide and Chain Heal. LHW is a huge amount of healing (esp. with Tidal Waves from RT/CH), and with so few probable targets in a 10-man, much higher HPS than hoping a long-cast CH hits everyone, but I can't just set sustained to RT+LHW because I do use CH quite a lot. :S
  2. What is the difference between the target settings? The code suggests that they control ELW early cutoff and CH jumps based on a bunch of seemingly arbitrary hard-coded values. What are all these hard-coded variables derived from?
  3. Speaking of target, here's a weird one: What do the Burst/Sustained values mean when Target is set to Tank or Raid? If it is set on Tank, does that just mean it is simulating doing the burst rotation on the tank constantly? In that case, where does the Sustained score come from? Likewise, if Raid is selected, where does the burst score come from? Does it just assume tank spamming when calculating the burst score and then simulates the sustained stuff for the sustained score separately and stick them together? Shouldn't there be a slider for Burst/Sustained factor? Man I hope I worded this question right. o.O
  4. Does the burst rotation take into account going OOM? A lot of models don't, but as a healer, when spamming your burst rotation on the tank, going OOM is definitely a possibility depending on buffs and IWS procs.
  5. Speaking of OOM; how is OOM handled anyway? Does it just do (MUPS*FightSeconds)>TotalManaPool == Stop Healing or is there some kind of scaler after OOM gets hit or something?
  6. Is the Ping option supposed to include player reaction time or is it simply what the latency thing in WoW usually says. I'm assuming the latter as there aren't really any procs we have to react on.
  7. How is Bloodlust/Heroism handled? It looks like it's commented out in the code, the options widget is disabled and it is not in the buffs pane. Since it's not modeled at all, shouldn't the options widget default to "None" instead of "Me" so it looks like it's not counted to the user?
  8. How do you feel about "idea" patches? I've written a bunch of patches to add various features that some might find useful, but i can't verify that they are 100% reliable (since I can only do a limited amount of testing due to my platform), so I haven't been submitting them. If you would like to take a look at them, I can update, clean them up and submit 'em.

Anyway, I'm glad to see this model under active development. You guys are doing a great job. ^^

 

Developer
Jan 21, 2010 at 5:46 PM

I'd say this for all code-capable users:

If you have a patch you've created for some sort of feature/usability option, chances are someone else would benefit from your work so please post the patch. However, don't lump a bunch of features into one patch, submit them separately so we can review the code per feature and apply/decline as necessary.

Jan 21, 2010 at 8:12 PM

Well, my main point about patches is I cannot guarantee they will work perfectly right out of the box. I was mostly asking if it was alright to submit patches with descriptions like "This patch adds support for X, but it just doesn't seem right to me for some reason. The math needs to be double-checked." I ask because I've worked on projects where you'd get laughed right out of the building for submitting patches that aren't 100% rock solid. >.>

I'll dig out my old stuff here in the next couple of days, update them to the new codebase, upload 'em and see what you guys think.

Oh yeah, and I hate it when people combine multiple unrelated changes into a single patch (or even a commit sometimes), so don't worry about that. ^^

Developer
Jan 22, 2010 at 4:31 AM

There has indeed been a lot of changes, so let me try my best to answer your questions.

1.  The RT+CH+LHW rotation was removed simply because it just didn't live up to being a good rotation model wise.  It acted upon constraints that just didn't work out like I'd hoped.  It may be added in as soon as we can get a decent way to add it back in.  Till that time, I would reccomend simply setting the RT+LHW as your burst and RT+CH as your sustained style to simulate it, albeit crudely.

2.  The code for the ELW and CH jumps was actually user submitted.  I am fine-tuning down the amounts based on averages from World of Logs combats and HEP reports of users, but this takes a very long time to get them where they are solid.  The main difference between target settings is to simulate your environment for Chain Heal jumps, ELW procs, and specific glyphs like Lesser Healing wave and Chain heal, as well as Riptide.  Those 5 factors all change drastically when you change the amount of targets and their buffs.

3.  I'd like to assure you, it's common to be confused on that.  In mine, and almost every model, Burst and Sustained means the same thing.  Burst is without mana constraints, and Sustained is with mana constraints.  That's the only difference between the two.  

4.  Since I explained it in 3, I think this one is was answered, but to be thorough, no it does not take mana into account.

5.  Currently, sustained HPS is handled by determining the Burst HPS/MPS first for all styles.  Then, it determines the mana pool available for those spells.  If you do not have enough mana to non-stop cast, this % is applied to your HPS and that's where you get the sustained rating.  That's as easy as I can put it without just copy/pasting the code, as it's much cleaner and complex then my simple explanation.

6. Latency in WoW, since, well, we really don't have much to react to as you say.  You could tweak it to human latency, but I think that might be over-doing it.  150-250 is always a good fallback.

7.  This was actually a patch by the user, and I have to agree with them, there is no good way to model Heroism as a healer.  You run into that GCD so fast due to haste stacking that it would just be a nightmare to get real numbers with it, and averaging it out doesn't really do it enough justice.  So, it's left out, though it's set that it still comes out of your mana pool.  This will be changed later so you can set if you cast heroism or not, simply for mana reasons.

8.  If you noticed a lot above, a decent chunk was submitted by users.  Nothing pleases me more then working endlessly to implement something, wrack my brain over it, and then the next day someone has a patch for what I wanted to add, and it's done in a much nicer and cleaner way.  It's always good to have people who aren't focused on the whole of the project trying to improve it, because you'll notice something small that I might miss.  That's the joy of Open Source, so by all means, submit away.  While I can't guarantee they'll make it in, I can guarantee they'll always get a serious look-see from me at least.

 

Hope those help

Jan 22, 2010 at 6:32 AM

Thanks for the informative and relatively quick response! Very helpful! :D

  1. I'll see what I can do about re-modeling it. I'll probably try to rig it up like "Do Riptide and Chain Heal, then LHW until RT is back up." If that is basically what it did before (which IIRC wasn't), let me know what you think about ways to go about it.
  2. Since 10-man and 25-man healing is so different, perhaps "Average Possibility of a Chain Heal Jump" and "Possible Targets" variables should be exposed to userspace? For example, if I have a very melee-heavy 10-man group, CH jump possibility is very high and I should be able to take that into account. The inverse is also true. Sometimes I get groups that have personal space invasion issues. >.>
  3. Since Burst and Sustained can be different rotations, shouldn't they both count mana or be locked together? So far I've been using it assuming "Burst" was my tank healing style and "Sustained" was my raid healing style being weighed together as a kind of overall character performance thing regardless of the "Target" setting.
  4. I had a feeling it didn't.
  5. I kind-of think I know what the code is doing, but the "Convert" variables are confusing me a bit, so I'm not 100% sure what it is doing. Some comments in the code would be nice. ^^
  6. Leaving it at my net latency then.
  7. Yeah. The code said that about BL/Hero and I agree, I was mostly just pointing out that the UI makes it look like it is counted when the code clearly says it's not.
  8. Open Source, with it's incredible power of constant peer review and negotiation is - simply put - awesome. Wouldn't have it any other way. :)

Actually, another question about patches: Because I'm using MonoDevelop, I do not have an interface designer. If I wrote a patch and included some exposed variables and lengthy comments about what the UI would have to do to them, would someone write the actual controls for it? I've added a couple features that add user-controlled variables, but unfortunately I can only hard-code the input. :(

Heh, so many patch questions - this site really needs a contributor FAQ. xD

Developer
Jan 22, 2010 at 7:19 AM

If you write them up extensively, I'm sure someone could translate it at some point. (probably me with the permission of the model dev if they don't have the extra time)

Developer
Jan 22, 2010 at 7:55 PM

I'm actually still not very used to commenting code, I'll see if I can be a lot more diligent in that.  I'll probably rename that convert variable as well, as I do see where you could confuse that, and variables should be named what they are.  I think, though, adding mana constraints into burst would take away some of it's usefulness, though it could be represented in some way, like taking the above conversion and forcing it on Burst, so you know how much you could put out on top of your mana contraints, this would give mana 'some' value in burst, but not a lot.

Jan 22, 2010 at 8:15 PM
Edited Jan 22, 2010 at 8:16 PM

I think I can safely say that a lot of programmers forget to write documentation on their code (I know I do ^^; ). I'll see about commenting up everything that I can understand. Actually, if I remember correctly, I have a patch somewhere where I did just that, albeit on the old codebase.

Hmm. Maybe the concept of Burst/Sustained could be explored more? Could the information be presented in a different fashion? Perhaps different information altogether? Should the possibilities be discussed? I kind-of like the the idea of Burst being a simulation of tank healing ability and Sustained - raid healing. (Think how tank models show survival+mitigation vs. threat) Maybe they could have their own set of options? Hmm. Interesting. I'll think about how something like that would work.

The place I work at just kicked up into the surprise overtime period today (I work in the publishing industry, deadline time sucks. :S ), so I'm not going to have a lot of time to work on stuff for the next couple of weeks, but I'll see what I can post this weekend. ...If I even get a weekend. xD

Jan 26, 2010 at 10:02 PM

I cleaned up and uploaded a bunch of simple patches into the patches section for you to play with. :)

Just a couple of things to make some talents relevant and a stat for ESHPS. I included my cast time patch too since I've always wanted that feature. I'm glad this inspired me to get it working at release-quality. It's been buggy for months. ^^

These should be able to be applied in any order. I based all patches on a clean copy of RestoSham. Applying all of them is bound to produce offset warnings, but they don't change the same areas, so they should still apply cleanly.


If you don't mind a little bit of code critique, while I was working on the above patches, I noticed some types of code that I'd like to mention. If you're not interested, just skip the rest of this post. ^^

I seemed to see a lot of strange comments. Stuff like:

// HW healing scale = purification scale
float HWHealingScale = PurificationScale;

Comments are nice, but when they are basically the code plus a few spaces, there really isn't any reason to have the comment. However, something like:

// Healing Wave benefits from the Purification (2% per point) talent
float HWHealingScale = PurificationScale;
Would be a little bit more helpful, but still probably unneeded as it's pretty-much obvious what is going on there. Really the only thing that could be changed would be to rename PurificationScale to a generic "HealingScale" and calculate all the basic scale stuff ahead of time.

This brings me to another style I see a lot of, lots of seemingly needless variables. Variables are good and all, but there are a lot of instances of code like this:

// ELW bonus healing = spell power
float ELWBonusHealing = stats.SpellPower;
// ... * generic healing scale * HoT scale
ELWBonusHealing *= 1.88f * 0.3636f;
// ELW healing scale = purification scale
float ELWHealingScale = PurificationScale;
float ELWHPS = (652 + ELWBonusHealing) * ELWHealingScale / 12;
I'm not understanding the need for so many variables over so many lines. With some combining and a more descriptive comment, something like this could also work:

// Earthliving ticks 12 times for 652 with a SP coeff of 1.88. Each HoT tick has a 0.3636 coeff.
float ELWHPS = (652 + stats.SpellPower * (1.88f * 0.3636f)) * PurificationScale / 12;
A big formula isn't quite so bad when all of the mysterious numbers are identified in a comment. Luckily, most of the variables used in formulas in this model are well-named and descriptive, so really only the static numbers need to be explained.

Anyway, The code obviously still works fine. Everyone has their own coding style, I just thought I'd show a little insight on the way I see it. :)

 

Developer
Jan 27, 2010 at 7:48 AM

That's a bit of the chunk of someone's patch, i'm still cleaning up here and there a bit.  Will be going through the patches soon, though just started in a new guild so my time's been a bit divided.

Jan 28, 2010 at 12:09 AM

I've been trying to write a patch to add a "Time to OOM" stat, but for all the formulas I try, it just doesn't seem to want to work.

values.Add("Time until OOM", string.Format( MAPS > MUPS ? "Never" : "{0}s - {1}",
	Math.Floor(ManaUsed / MUPS), ManaUsed / MUPS > FightSeconds ? "Not during fight" : "During fight!" ));

If ManaUsed is the total amount of mana generated during the fight, then dividing it by MUPS should give the number of seconds said mana pool would last shouldn't it?

I've been testing by messing with the "Time Spent Casting" slider and watching the value of MP5. When MP5 has value (which I assume means you're going OOM during the fight), the number of seconds reported is still quite a bit less than the fight time.

(BasicStats.Mana / (MAPS - MUPS)) Doesn't look like it works either. I'm stumped.

Developer
Jan 28, 2010 at 5:33 AM

I've been toying with this as well as how to add it with the odd way we have things setup.  I'm thinking, however, the simplist way to get a decent approximation is taking the ((MUPS / MAPS) * FightSeconds) first, then if that is less then FightSeconds * Activity, you don't go OOM, otherwise put the seconds until you do.

Feb 10, 2010 at 6:52 PM

Well, after using RestoSham for the last few months, I've come to learn a couple things about it. I've mentioned most of this stuff before, but I'm saying it again because it is still a problem for me, and now I know what real effects it is having on my performance.

RestoSham has been telling me to stack SP/Crit/Haste, and now I'm having really bad problems running OOM all the time. I believe this is due to the burst stat being inflated because it doesn't notice that I'm going OOM. Unfortunately, I can't just sort by sustained score because I can't set the sustained rotation to anything that resembles my healing style. I can't just spam CH in 10-mans; Because there's usually only one other healer, I have to off-tank heal a lot. However, I can't just set the model to tank healing, because I also have to raid heal at the same time, and "tank mode" turns off other important calculations such as CH jumps. When I have to heal the tank, I use a ES+RT+LHW setup. I don't usually bother with CH because bosses are so huge that the DPS beating on his butt are too far away to get linked, and CH is just too slow to deal with the burst damage tanks take when I need to heal them. When I need to heal the DPS, CH is awesome. I also usually toss a RT in there to get the 20% CH bonus.

Am I doing it wrong? Am I healing correctly? Am I using Rawr incorrectly? Nobody else seems to be posting about these problems, so I'm not sure what to think.

RestoSham has become more of a "What would my casting speeds be with this Haste?" or "What would the uptime on this trinket proc be?" kind of thing for me and I've started to not really trust this model's gear planning suggestions or optimizations anymore, which has really stifled my desire to work on it. It needs some major design changes to make it useful for me, and I don't know how to go about making them. I really don't want to maintain my own fork of RestoSham, but I don't want to stomp all over your code either, as I know how some can get really attached to it.

If I were to rewrite a large portion of the codebase, I would plan on changing these things:

  1. Burst and Sustained would be changed to "Tank Healing" and "Raid Healing", and both would be functionally identical. the reason being...
  2. Each healing mode would have it's own set of options, including:
    • Cast sequence.
    • Casting Activity.
    • Average number of CH links. (If applicable)
    • Average number of RT ticks before CH consumption. (Separate because CH might come soon on a tank, but not on the raid.)
  3. There would be scale controls for OOM penalty and Tank/Raid ratio.
  4. Control of Tank ES probability for LHW glyph. (To take into account other Shaman with ES on multiple tanks, and healing tanks without them.)

I've been thinking about how I would write such a thing for several weeks now, and I think I know how I would do most of it. Let me know what you think.

Developer
Feb 11, 2010 at 6:52 AM

Current process of shaman healing, typically, is stacking haste till 1257.  While getting haste to that number, you stack enough Int/MP5 to not go oom.  Crit, for the most part, is skipped over almost as a whole by the shaman community.  

I actually ran into a lot of the same issues with the original chunks, having me stack crit/sp and that ended up making it near impossible to complete uld-10 as restoration 2 healing, and made it very stressful 3-healing.  Crit loses a lot of weight in a raid healing situation simply because almost always your toes are going to get stepped on by another healer, or the raid damage is not beyond say 4-5k.  It loses it's ground in tank-healing most times because of Tidal Waves.  

RT to get the 20% bonus is actually not that great if I recall.  It's a massive heal for the first target only, and when you stack enough haste you probably could have cast 1.5 chain heals in the time it took to RT then CH.  Where it is nice is when you need massive healing on 2-3 targets constantly, fights like Patchwerk 25 or Morrowgar, and other various cleave-bosses.  

Actually, there is a very good test to the accuracy of Rawr, and if you would indulge me I'd like you to try it.  

At Curse, there is an addon called Shaman HEP.  It's not exactly an addon, it's a perl script.  Follow the directions that come with it (that includes also downloading PERL, but that is free as it's a linux based scripting language).  Clear your combat log, then run a raid.  At the end of the raid, log out, then copy that combat log to the Shaman_Hep directory (or something like that) in your addons folder.  In there is a batch-file, edit it and change the name/path of the log in the file to the file you copied in there.  Last, edit the config file to get the proper settings (especially make sure your character name and set bonuses are correct, you can leave the rest at default).  After running this tool, it will output to a file that parses your entire log and tells you the weight values of your skills.  However, unlike any other tool that would do this, this is off 'Your' style alone.  Based off your own healing style, it tells you how much effective healing another 1 of X will give you.  Compare a night of these against Rawr and let me know what you think.  If they are wildy off, then it sounds like it's definately something that might need to be added, but if they are close then it might just be some other factor that may be missing.

If they are wildy off, by all means please post an issue with the character.xml, If they aren't, well, I hate to go down THAT road, but perhaps you are being forced to carry a lot more weight then you should.  We aren't crappy at MT healing, but we are by no means the greatest class to do it.  Many of us that can consistently tank heal have had to go the route of using Healing wave to pull it off with LHW's in between to clean up smaller damage, especially in ICC.  Also, a lot of recent issues in ICC-10 have been from many guilds trying to two-healer things when really 3 is a better route at times.  If could be composition, perhaps some healers slacking off, or even people standing in fire.  Without logs/raiding with you/character.xml, it's really hard to see where any error might actually be.

Developer
Feb 11, 2010 at 6:56 AM

A minor note, I wouldn't ask you to do the above if I wasn't extremely interested in the outcome.  I'm not vain enough to go 'It's obviously you' because I know the model has gone a complete 180 from a few months ago.  Even if it's entirely how/what you do, until I have data to prove that I'm in no position here to even suggest it yet, especially since in Ulduar using Rawr I hit the same kind of wall, and that wall was the model was wrong.

Feb 11, 2010 at 6:27 PM

Alrighty, my exact situation is this: I usually raid ICC-10 with 3 healers except on fights we know we can 2-heal, in which case I go Enhance since I can easily pull 6K+ DPS. There is another Shaman on raid healing and either a Pally, Disc Priest, or Druid for tank heals. The tanks are almost always a Pally and a Blood DK. Since the other Shaman is a Chain Healing fiend and I tend to prefer RT+LHW anyway, I usually do off-tank+raid healing. On Recount (which I know is not completely accurate as a benchmarking tool), my "Healing done" is roughly split 65%/35% between LHW+RT and CH (25-man is usually 5%/95% for me). When healing the raid, I'm very likely to cast CH on the melee, and LHW on the ranged, as they won't stay close enough to CH no matter what I tell them.

I don't know how it's possible to stack 1257 haste. I'm having a terrible time keeping over 500. IIRC I even set up a haste-capped Rawr profile "as a joke, to see what such a silly thing would look like". What do you suggest I do? Gear just doesn't have a lot of haste on it (remember, I don't have access to any 25-man, hard-mode or crafted gear, and only limited badge gear, so my gear does not have inflated stats). 1257 is like, an average of 79 haste per slot. That's nearly 3 times the usual amount of haste you find of 10-man gear, and higher than even my highest haste item (Deathspeaker Desciple's Belt at 74 haste). Am I supposed to drop my 200SP/30Int worth of gems for 140haste of haste gems? Also, Rawr shows Haste to be ranked as the lowest of all stats on both scores, even if I set both healing styles to CH Spam. If I do set them both to CH Spam and change targets to "Heavy Raid" (which the code suggests is 25-man, with max CH links), haste goes through the roof and it wants me to regem to haste exclusively, which is expected for 25-mans.

I've tried raiding some nights simply spamming CH, but it just doesn't seem to work for me in 10-mans. CH usually hits 1 other person, but not usually any more than that. (In fact, I kind-of go "ha HA!" and feel good about myself when I see all 4 links), so LHW is just faster (1.2s compared to 2s for CH) and heals for more (as LHW nearly always crits with TW up for 14-16K where CH can sometimes crit the first target for 9K). I dunno, maybe I'm just doing something wrong, or I just perceiving the numbers and frequencies incorrectly. Hopefully that perl script you mentioned will break down stuff like CH links. The other Shaman I raid with does CH a lot more and it works better for him, even though we have very similar gear. It is very possible that I'm just a moron I'm doing it wrong. I've made really bad/stupid mistakes before.

I'll try to do a parse thing next time I raid. I should be doing Saurfang and possibly first attempts at Blood Council or Festergut on 10-man tonight (My guild isn't very progressed yet). Should I wait until I do fights I'm familiar with or will 45-second wipe testing attempts not mess with the output? I'll try some attempts just doing 25-man-style CH Spam too and see what happens.

In any case, It would still be really cool if things like chain heal link probability, burst/sustained scale and wether to limit burst to MAPS/MUPS could be user-controllable in Rawr.

 

Probably Unneeded Bonus feature!: A history of my 10-man healing experience if you're interested, so you can know how my style evolved into the bizarre abomination it is today:
I was a Chain Healing monster back in BC; I spammed that thing like it was made of win. Healing was incredibly boring back then. When 3.0 came out and I got Riptide and Tidal Waves, it was like a whole 'nother game for me. Healing was fun again.
Wrath happened-- Oh yeah, all the raids I mention are in 10-man mode. I've never been big into 25-man raiding outside of a little stint in T7 when Naxx was easy-peasy. In 25-man raids, there is absolutely no reason not to just spam CH like crazy as it is very obvious that it is the best way to do things. Also, I was a strict raid healer until fairly recently (ToC/ICC).
T7: Anyway, in T7, I stacked massive amounts of MP5 as we usually didn't have replenishment. When we did, I'd end fights with 80% of my mana, but nobody died either, so it was pretty good. I also had quite a bit of haste then; around 600 I believe. CH was fast, and the RT GCD was fast enough, so my style was basically CH Spam with a couple RTs here and there for spikes. When I needed a big heal, I'd usually use HW and LHW was almost completely untouched. I also wasn't into theorycrafting then.
T8: When T8 came out, I decided to drop a lot of MP5 for other stats since we then got a Survival Hunter (Yay consistent replenishment). In T8 my haste went abysmally low. I think at one time it got as low as 300. Around that time I had an epiphany about LHW; This was before the LHW TW haste nerf. LHW was wicked fast even at low haste and healed a huge amount for time spent, so I started using that a lot. A large part of this change that led to Chain Heal's disuse was that Ulduar was big. It was /big/. /Big/. Our ranged DPS have personal space issues or something because they always stand super-far apart all the time, even if you yell at them to stand close. The problem was so bad that I had re-spec to take Improved Ghost Wolf so I could get to people during Ignis and XT (XT's Tantrum SUCKED! ARGH!). Chain Heal simply wasn't worth the time when it took 2.3 seconds to cast and wouldn't even link to anybody when LHW could drop in under a second and be 20% bigger. LHW started creeping up over CH more and more, and I started gearing accordingly. Healing was pretty good in Ulduar I think. DPS was really low until the free conquest gear happened, but we eventually did most of the place. No mana problems and no haste problems until Tidal Waves got nerfed, but around that time I got my T8 4-piece, so it helped it a bit.
T9: Anyway, ToC came out. This is the time I started using Rawr to work on my gear set. Rawr liked Spell Power where previously I liked Int and MP5. I started stacking SP from then on because that is what Rawr was telling me. ToC was easy, but nothing wanted to drop for me for months (but man did I get Enhance stuff since that Hunter disappeared after T8). I almost always ran with a Druid and Disc Priest then. I probably should have let the Druid do the tank healing, but Rawr built me for RT+LHW, and I heavily outgeared the Druid at the time. Man, thinking about it; ToC was a joke. That crap was so easy.
T10: Now that ICC is out, raiding is hard again. Due to my lack of Int/MP5/Haste, I'm running OOM all the time and my heals are slow. I've been really discouraged lately and even considered switching to Enhance full-time because healing has been really frustrating. Especialy since I've been doing what Rawr says and it's making it worse, so I've kind-of just gone back to just looking at gear that with RatingBuster. That's where I am now.

Ahh, wasn't that fun? That's how I got where I am. I dabbled in a few 25-man pugs in all tiers, and CH spamming was very obviously better in all circumstances. However, I'm not talking about 25-man. The thing where CH Spam is great is totally, 100%, undeniably, proven true in 25-mans, but I'm having limited success using that paradigm in 10-mans due to the lack of CH link targets and haste on gear.

Anyway, if you've read all the way down here, man, pat yourself on the back. Go get a cookie or something. I probably wouldn't have read all this. :P

Feb 11, 2010 at 8:02 PM

YES!  I love cookies.

Anyway - as long as you bring up the idea of removing burst healing again, let me say that I like it and don't want it to go away.  Burst vs sustained is entirely different than tank vs raid.  Burst is *supposed* to ignore mana.  It's a measure of how much spike damage you can heal though for a short period during a fight.  And that seems useful.  As you've noticed, though, it kinda dominates the overall rating Rawr gives you.  I optimize on sustained instead of overall for that very reason.  (I wish we there was a slider so I could set the weight of burst vs. sustained, but I think I already made a request about that in the issue tracker).  I am in no way opposed to adding in tank & raid sub-categories to the overall score, but I am against removing the burst/sustained separation.

At any rate, if anyone does end up doing some major revisions to the calculations part of the restosham module, let me know.  I was playing with some code about a week ago I would like to share with that person.

Developer
Feb 11, 2010 at 8:36 PM

Generally, Here is kind of how it ends up.  It sounds like Rawr is thinking you are going OOM, which I very much doubt.  With Any of the styles, once you hit enough mana to keep a sustained casting with your activity, it will want haste.  Lots and lots of haste.  Question, do you have activity set to 100%?  It should be at 85/90.  Anyone who sets it to 100 is just kind of kidding themselves, there isn't a single fight out there without downtime.  Also, make sure you put in the amount of water-shield pops you are getting, this oddly can give you a lot more mana than you think.  Last night on Marrowgar alone it was responsible for 6k mana.

As far as major revisions, there's none planned at this time on the calculation end, really it's nice enough that what we are all discussing is essentially how that information is brought across.  And by all means, if you think you've got some good changes, submit them via patch, more eyes and hands are never a bad thing.

Feb 11, 2010 at 9:30 PM
ZDBioHazard wrote:

I don't know how it's possible to stack 1257 haste. I'm having a terrible time keeping over 500. IIRC I even set up a haste-capped Rawr profile "as a joke, to see what such a silly thing would look like". What do you suggest I do? Gear just doesn't have a lot of haste on it (remember, I don't have access to any 25-man, hard-mode or crafted gear, and only limited badge gear, so my gear does not have inflated stats). 1257 is like, an average of 79 haste per slot. That's nearly 3 times the usual amount of haste you find of 10-man gear, and higher than even my highest haste item (Deathspeaker Desciple's Belt at 74 haste). Am I supposed to drop my 200SP/30Int worth of gems for 140haste of haste gems? Also, Rawr shows Haste to be ranked as the lowest of all stats on both scores, even if I set both healing styles to CH Spam. If I do set them both to CH Spam and change targets to "Heavy Raid" (which the code suggests is 25-man, with max CH links), haste goes through the roof and it wants me to regem to haste exclusively, which is expected for 25-mans.

This is unrelated to the discussion on the RestoSham module, but here is a profile for a resto shaman with gear solely available through emblem purchases and 5-man drops.  As you can see, this toon has 22k unbuffed mana, 2100 spellpower (before ELW), 793 haste rating, and 342 MP5 while casting (before WS) while using gems that match socket bonuses.  The shield can easily be swapped out for one with an addition 34 haste, e.g. Pulsing Spellshield or Shield of Assimilation, that you are likely to get just from doing the weekly raid quests, which gets you to 827 haste rating in Tier 9 gear or lower.  With your Deathspeaker Disciple's Belt, you can gain 44+ additional haste rating using sp/haste and haste gems.

Feb 11, 2010 at 11:38 PM
Edited Feb 11, 2010 at 11:54 PM
antivyris wrote:

Generally, Here is kind of how it ends up.  It sounds like Rawr is thinking you are going OOM, which I very much doubt.  With Any of the styles, once you hit enough mana to keep a sustained casting with your activity, it will want haste.  Lots and lots of haste.  Question, do you have activity set to 100%?  It should be at 85/90.  Anyone who sets it to 100 is just kind of kidding themselves, there isn't a single fight out there without downtime.  Also, make sure you put in the amount of water-shield pops you are getting, this oddly can give you a lot more mana than you think.  Last night on Marrowgar alone it was responsible for 6k mana.

As far as major revisions, there's none planned at this time on the calculation end, really it's nice enough that what we are all discussing is essentially how that information is brought across.  And by all means, if you think you've got some good changes, submit them via patch, more eyes and hands are never a bad thing.

I usually set the Activity slider to 95% (I really couldn't get a real number from somewhere, and I realize there's downtime) and set the fight time to 8 minutes, but you're probably right; I doubt I really do cast that much. I kind-of have it set up for worst-case scenario, since those happen often in my guild. >.> That said, I really am going OOM during boss fights (I classify OOM as MTT on cooldown, pot taken and all innervates/hymns/etc used up. Totally and completely out of mana). That is the reason I posted what I did a couple days ago. Over the course of a few months, Rawr sent me to OOMsville with it's recommendations even though it knew I was going OOM (MP5/Int had by far the highest value on the RSV screen). Now, with the facts brought to light since that post, I believe it is a combination of me using RestoSham wrong, and me just plain playing wrong. I'll have to invest in changing a bunch of stuff and see what difference it makes. I've always figured it wasn't worth it to gem for Haste since I've never seen anyone in my server's 10-man raiding population doing that over Int/SP. (I don't do a great amount of research since everything I can find is in regard to maximizing 25-man CH spam. I've been learning by doing pretty much.)

So as far as using RestoSham, I'm supposed to ignore the Burst value when deciding on what pieces of gear to use? If not, how does the burst rating work into the decision if something will result in better performance or not? I don't just stick to the sustained rotation the entire fight and the parts of the fight I do need to burst someone affect my mana pool and I end up going OOM. Currently there is no way to take that into account using the model. Also, because there are procs and whatnot that only trigger off certain spells (like the riptide totem or the PvP LHW totem) that are useful because I use those spells in actuality but have no way let the model know that and I can't see what those items would do for me. It's just kind-of frustrating.

You mention WS pops, what does that do anyway? I have to refresh WS about 1-2 times a fight, so I put 9, but that put my MAPS way out of whack. I checked in the source, and it appears to be number of individual WS procs per minute(?). Maybe that should be clarified on the interface?

About the model itself, being pretty familiar with the code myself, it's a pretty solid set of calcs. There's a couple things that I find puzzling, and there some things I really wish it did, but there's nothing really fundamentally wrong with the math that I can see, and I'll get around to adding the things I wish it did some time or another. Most of the things I find irritating about it have to do with presentation and configurability.

xemnosyst wrote:

As long as you bring up the idea of removing burst healing again, let me say that I like it and don't want it to go away.

The reason you mention is exactly why I specified that there would be a per-style control for OOM penalty. :)