Elitist Jerks [Resto] spreadsheets and calculations

 12/13/09, 10:16 AM #91 Daidalos Great Tiger   Daidalos Tauren Shaman   Korgath Yes I have just been swamped with work (end of year deadline) so I have not had time. I am typically much better about this kinda thing so I apologize but 12 hours days and weekends (plus actually trying to raid with my guild) mean no time for spreadsheet right now. Things should be better in a couple weeks but I won't really have time until then. Restoration Shaman calculations:http://spreadsheets.google.com/ccc?k...IWv3sPmcYnEJUg
 12/23/09, 12:02 AM #92 Rhap Glass Joe   Rhap Orc Shaman   Firetree After reading most of this thread and looking at the spreadsheets, I would really appreciate if someone could break down the formula I'm seeing used for Healing Wave. I understand most of it except for the 1.88 and how to calculate Tidal Waves into the equation also. Thanks guys.
 12/23/09, 12:31 AM #93 • Jessamy Struck by Diax's Rake     Meissner Troll Death Knight   Mal'Ganis Spell healing costs 5/11 of an item level point. Spell damage costs 6/7 of an item level point. Neither of these stats are in the game anymore though, we now have spell power instead. When they made the conversion, healers typically went from 2000 bonus healing down to 1000 spell power. To make up for the difference, all healing spells in the game are now multiplied by the difference between the old system and the new system. (6/7) / (5/11) = 66/35 = 1.88
 12/23/09, 12:56 AM #94 Rhap Glass Joe   Rhap Orc Shaman   Firetree Well that explains it. I figured it was important and obviously without it the result was inconsistent with in-game testing. Thanks, much appreciated.
12/23/09, 2:39 AM   #95
xMrElix
Glass Joe

Night Elf Death Knight

Sen'jin
So I'm a little new to all of this, and i was wondering if anyone could help me out with determining the final amount of a spell, Earlier i saw this....

# [top](Base+ (3 / 3.5) * 1.88 * (Spell Power))*1.1 (for purification) So in General is the formula...

(Base + ( CastTime / 3.5 ) * TotalModifier * SpellPower)

Where Cast time is obviously the cast time of the spell
TotalModifier is basically all talent increase or anything else like, Blah increase Blah by 10% (or 1.1)
And SpellPower Is your Paper Doll Frame Spellpower at that moment

Also, Do modifiers Scale off one another or do they just stack
like does 10% increase healing + another 20% increased healing equal 30% or 32%

Any help is appreciated, I'm trying to figure this stuff out so i can start doing it on my own, and hopefully carry it over to other classes

EDIT: NEVERMIND! I found my answer in the TTT so I don't think i need help any more

Last edited by xMrElix : 12/23/09 at 3:10 AM.

 01/04/10, 7:57 AM #96 Zyt_fr Glass Joe     Zyt Troll Shaman   Conseil des Ombres (EU) Evaluation of the T10 bonus for four pieces: Let a shaman with c% critical ( c% of his heals produce 150% of the normal value). The heal potential is also : 1x(1-c%) + 1.5*c% = 1 + 0,5xc% The T10 bonus is 25% of the critical heals produced : 0.25 x 1.5 x c% = 0.375 x c% The increase of the heal is also 0.375 x c% / (1 + 0,5 x c%). In the usual range (c% is between 10% and 60%), the formula can be simplified without big error : 0,25 x c%. For example with 20% of critical, the chain healing produces 5% more With 50% of critical, 12,5 % more With 70% of critical, 17,5 % more I don't know exactly if only the first heal gives the T10 bonus or all heals. The calculation above assumes that all critical heals generate a T10 bonus. If it's not the case, the final result should be divided by about 2. I think that the influence of this bonus on the heal produced is very big. Probably, the HEP values should be corrected (especially the value of the critical should be increased)
01/05/10, 6:25 AM   #97
Antivyris
Von Kaiser

Draenei Shaman

Wyrmrest Accord
 Originally Posted by Corunix Actually, I was trying to model my idea about partial intellect gemming (since Rawr.RestoSham module is broken beyond repair, your spreadsheet remains the only source of reliable math I know of), and I was looking at how much LHW/CH would heal for -- when I found out that changing intellect does not affect those values, I thought that there's some kind of an error in there =) So, yes, an option to include intellect in in +healing would be a good thing.
If the errors are never reported, then they can never be fixed. Also, it just recently got a massive over-haul that was long overdue. I'm currently checking all the math inside it against Daidalos' sheet to make sure I've got it all sorted out.

 01/07/10, 10:58 AM #98 Corunix Von Kaiser   Кхарани Draenei Shaman   Дракономор (EU) Yes, I'm sorry about not reporting problems instead of complaining, but there were just too many of them, so I decided to go and fix them instead of reporting -- recently I submitted some patches (my other nick is onyxmaster), mostly based ony the formulas found here =) The main task behind those changes was proper calculations of base values (heal values, cast times, rotations). I'm almost sure I got those right. Latency modeling is a bit wrong now (server-side queueing isn't modelled properly), and overhealing model is not properly implemented (it assumes overhealing is a constant value in percent -- while such assumption might be good for verirfication, it won't give you more or less accurate picture of upgrade paths, i.e. stacking spell power above everything else just won't cut it in real raids). Last edited by Corunix : 01/07/10 at 11:04 AM.
 01/07/10, 11:35 AM #99 Antivyris Von Kaiser   Kalain Draenei Shaman   Wyrmrest Accord Ah, so you're the one I have to thank for that. Unfortunately, the original model was off someone elses code, and I've not gained enough knowledge in C# as of yet to re-write from scratch, so your patches were an extreme help that fended off a re-write. Cleaning up the latter half is a lot less daunting now, so I thank you very much for the patches. However, that patch is the main reason I'm finally back here. I've been a little too absorbed in trying to fix the old model instead of seeing what needs to be done/added, so here I am. I'd give it it's own thread if not for the post count issue, but that's not going to stop me from finding out what that needs. I'm also working on some ideas with the over-heal side to make it possibly a little more realistic. Currently, the spreadsheet it definitely helping more then Rawr at the moment, so I'm trying to find the specific differences, which are so far many small but major differences. Last edited by Antivyris : 01/07/10 at 12:11 PM.
 02/23/10, 9:42 AM #100 stassart Piston Honda   Trelis Tauren Shaman   Proudmoore Anyone else having any luck figuring out the exact mechanics behind the T10 4-piece? My delay releasing T10 4-piece support for shaman_hep has been trying to get the results to match what the calculations expect them to be. If you take a chain heal hop that crits, multiple it by 0.25 (the value of the T10 4-piece), and then divide by 3 (ticks) and keep a running total of that until the hot falls off it matches most of the time. The hot can definitely stack past 3 between several hops, but I have not found any data where a single hop stacks past 3 and matches the expected results. The debug values are the expected values of the tick based on each hop that had crit. ```2/17 19:05:24.468: "Chain Heal hot (T10 4P)", amount: 1313, over: 1313, crit: No debug: hop_1: stacks: 2, last_amount: 360, total amount: 965 debug: hop_2: stacks: 3, last_amount: 115, total amount: 347``` Sometimes the data just doesn't match what I am expecting it to be: ```2/17 18:05:46.187: "Chain Heal hot (T10 4P)", amount: 1388, over: 1388, crit: No 2/17 18:05:46.187 Warning: T10 4-piece expected tick of 2087, got 1388. debug: hop_1: stacks: 2, last_amount: 1038, total amount: 2087``` I am trying to find the conditions that cause it not to match the expected value so that I can determine exactly how T10 4-piece scales with SP.
02/23/10, 12:50 PM   #101
Zigizi
Von Kaiser

Troll Shaman

Borean Tundra
 Originally Posted by stassart Anyone else having any luck figuring out the exact mechanics behind the T10 4-piece? My delay releasing T10 4-piece support for shaman_hep has been trying to get the results to match what the calculations expect them to be. ... I am trying to find the conditions that cause it not to match the expected value so that I can determine exactly how T10 4-piece scales with SP.
Stass, I am planning on doing a run tonight with the 4 piece set and I should be able to provide logs afterwards. Are there any particular conditions I should attempt to simulate, or conflicting trinket/procs I should avoid? I'm eager to help out on gathering this data in any way I can.

02/23/10, 5:32 PM   #102
stassart
Piston Honda

Tauren Shaman

Proudmoore
 Originally Posted by Zigizi Stass, I am planning on doing a run tonight with the 4 piece set and I should be able to provide logs afterwards. Are there any particular conditions I should attempt to simulate, or conflicting trinket/procs I should avoid? I'm eager to help out on gathering this data in any way I can.
I believe I have plenty of 4-piece logs to work with. It is a matter of figuring out what the rules are for the T10 4-piece.

Here are a couple examples where the behavior is not consistent:

```2/17 18:05:34.562  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,55459,"Chain Heal",0x8,12590,12590,0,1
(hop1: 1049.2)
2/17 18:05:35.343  SPELL_AURA_APPLIED,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,70809,"Chain Heal",0x8,BUFF
2/17 18:05:38.437  SPELL_PERIODIC_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,70809,"Chain Heal",0x8,1049,1049,0,nil
(matches expected 1049.2)
2/17 18:05:41.421  SPELL_PERIODIC_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,70809,"Chain Heal",0x8,1050,1050,0,nil
(matches expected 1049.2)
2/17 18:05:42.218  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,55459,"Chain Heal",0x8,12462,12462,0,1
(hop1: 1038.5, total: 2087.7)
2/17 18:05:43.000  SPELL_AURA_REFRESH,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x10514,70809,"Chain Heal",0x8,BUFF
2/17 18:05:46.187  SPELL_PERIODIC_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x514,70809,"Chain Heal",0x8,1388,1388,0,nil
(does not match expected 2087)```
```2/17 18:06:33.343  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002353224,"Savvant",0x514,55459,"Chain Heal",0x8,4506,0,0,1
2/17 18:06:33.343  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x514,55459,"Chain Heal",0x8,7570,0,0,1
2/17 18:06:33.343
SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x10514,55459,"Chain Heal",0x8,12533,3533,0,1
(hop1: 1044.4)
2/17 18:06:34.156  SPELL_AURA_APPLIED,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x10514,70809,"Chain Heal",0x8,BUFF
2/17 18:06:35.703  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x03000000017C03D8,"Gnomesrtasty",0x514,55459,"Chain Heal",0x8,3005,2171,0,nil
2/17 18:06:35.703  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000115C7CC,"HarlÃ¶t",0x514,55459,"Chain Heal",0x8,7627,6343,0,1
2/17 18:06:35.703
SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,55459,"Chain Heal",0x8,12472,12472,0,1
(hop1: 1039.3, total: 2083.7)
2/17 18:06:36.421  SPELL_AURA_REFRESH,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,70809,"Chain Heal",0x8,BUFF
2/17 18:06:39.609  SPELL_PERIODIC_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,70809,"Chain Heal",0x8,2084,2084,0,nil
(matches expected 2083.7)
2/17 18:06:41.765  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,55459,"Chain Heal",0x8,4511,2182,0,1
2/17 18:06:41.765  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x03000000030B333B,"Taal",0x10514,55459,"Chain Heal",0x8,7627,1211,0,1
2/17 18:06:41.765  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x030000000425368F,"Kilromi",0x514,55459,"Chain Heal",0x8,8401,8401,0,nil
(hop3: 375.9, total: 2459.7)
2/17 18:06:42.484  SPELL_AURA_REFRESH,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,70809,"Chain Heal",0x8,BUFF
2/17 18:06:44.468  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x10514,55459,"Chain Heal",0x8,7588,2995,0,1
2/17 18:06:44.468  SPELL_HEAL,0x0300000000226850,"Trelis",0x511,0x03000000030B333B,"Taal",0x514,55459,"Chain Heal",0x8,8391,8391,0,nil
(hop2: 632.3, total: 3092)
2/17 18:06:44.921  SPELL_AURA_REFRESH,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x10514,70809,"Chain Heal",0x8,BUFF
2/17 18:06:47.859  SPELL_PERIODIC_HEAL,0x0300000000226850,"Trelis",0x511,0x0300000002E5CE1E,"Content",0x514,70809,"Chain Heal",0x8,2397,0,0,nil
(does not match expected 3092)```
Edit: Thank you very much Micah! It seems that it behaves exactly as your post below describes.

Last edited by stassart : 02/24/10 at 6:12 PM.

 02/24/10, 12:46 PM #103 Micah Von Kaiser   Mykuh Draenei Shaman   Tichondrius I only worked through the first example but it seems to work just like scorch or deep wounds does IIRC. Basically, whatever amount of healing gained by the CH crit bonus that is left when the buff reapplies gets added to the new value and redistributed. t0: 12590 Chain Heal Direct Crit t1: (12590 * 0.25) = 3148 25% of CH crit, rounded t4: 3148/3 = 1049 First tick of 3 from the CH crit, 2099 remaining to heal t7: 3148/3 = 1050 Second tick of 3 from the CH crit, smart rounded, 1049 remaining to heal t8: 12462 Chain Heal Direct Crit t9: ((12462 * 0.25) + 1049) = (3116 + 1049) = 4165 25% of CH crit plus remaining amount to heal, rounded t12: 4165/3 = 1388 First tick of 3 from the amount of CH crit bonus to heal, matches combat log Using this method appears to be in line with at least the first combat log example. EDIT: Worked through the second example and I get the same result as the combat log using the above method. Last edited by Micah : 02/24/10 at 1:16 PM.
 02/25/10, 11:45 AM #104 stassart Piston Honda   Trelis Tauren Shaman   Proudmoore Thanks Micah, that really helped. I have a found a few inconsistencies with the way it works for anyone interested. t0: chain heal crit t1: chain heal hot applied t2: chain heal hot tick from t0 t3: chain heal crit t4: chain heal hot tick from t0 t5: chain heal hot refresh Sometimes the t4 hot tick will count when reducing the remaining amount of the previous hot, and sometimes it does not. t0: chain heal crit t1: chain heal hot applied t2: chain heal hot tick from t0 t3: chain heal hot tick from t0 t4: chain heal crit t5: chain heal hot tick from t0 t6: chain heal hot t0 removed t7: chain heal hot t4 applied When this occurs 1/3 of the t0 hot tick sometimes carries over to the t4 hot. Both of these situations cause it to have higher output so no complaints.

 Elitist Jerks [Resto] spreadsheets and calculations