I've tried to do reverse engineering of
shamstats110208.xls for extracting some information about HEP used in this thread.
I describe now what i've got, tell me please if i'm wrong with something.
Calculation conditions:
1. We assume that healer use only maximal ranks of spells (HW,CH,LHW)
2. We assume that there is fixed proportion of casts: HW=20%, CH=70%, LHW=10%
3. We assume that healer heals till OOM and stop healing.
Next we start calculating weight:
First "Hps Equivalence Points" calculated, it's pre HEP values;
HpsEP for some stat just means how much our hps increases if we increase this stat to 1;
Unit of HpsEP(stat) magnitude is [h/s]/[unit of stat];
At the end HEP are found as normalized HpsEP under the condition that HEP(+healing)=1.0;
So what i can see concerning
HpsEP calculations:
(Base) Calculate our HPS0 under conditions listed above. It will be base value.
(+Healing) Increase +healing per 1, calculate modified hps, calculate difference with base. It is HpsEP value for +healing.
HpsEP(+healing)=(HPS1-HPS0)/(1_of_healing); Unit is [HpsEP(+healing)] = [(h/s-h/s)/h] = [(h/s)/h];
(+CritRating) Increase Crit per 1%, calculate modified hps, calculate difference with base, divide result by equivalent critrating. It is HpsEP value for CritRating.
HpsEP(+critrating)=(HPS1-HPS0)/(Equal_critrating); Unit is [HpsEP(+critrating)] = [(h/s-h/s)/cr] = [(h/s)/cr];
(+HasteRating) Increase Haste per 1%, calculate modified hps, calculate difference with base one, divide result by equivalent haste. It is HpsEP value for HasteRating.
HpsEP(+hasterating)=(HPS1-HPS0)/(Equal_hasterating); Unit is [HpsEP(+hasterating)] = [(h/s-h/s)/hr] = [(h/s)/hr];
(+MP5) Calculate some Value = HPS/(5*Manacost), next calculate percentage for non casting time, multiply them and get HpsEP.
Final experssion is: HpsEP(+mp5) = HPS/(5*Manacost)* ( 1 - CastingTime/FightTime );
Unit is: [HpsEP(+mp5)] = [ (h/s) / m ];
Unit should be [(h/s)/(m/s)].
In my humble opinion it's
incorrect because of wrong unit.
I can't write any formula for HpsEP(+mp5) under these conditions and can explain it:
We heal by max ranks till OOM and additional MP5 doesn't give us any HPS boost.
(+Mana) Calculate some Value = HPS/(5*Manacost), next calculate HpsEP(+Mana)=Value/FightTime=HPS/(5*Manacost*FightTime);
Units of this magnitude [HpsEP(+Mana)]=[h/(s*m*s)]=[ (h/s)/m/s ];
It seems
incorrect too because of wrong unit.
It should be [(h/s)/m] as for other HpsEPs, so i think right formula is (assuming we have correct HpsEP(+mana)):
HpsEP(+mana)= HpsEP(+mp5) * ( ( 1 mana / CastTime ) / 5 / ( 1 mana ) = HpsEP(+mp5)/(5*CastTime);
Unit is [HpsEP(+mana)]=[ (h/s) / (m/s) / s ] = [(h/s)/m] ;
(+Spirit) Calculate equivalence between mp5 and spi taking in consideration 10% time OO5SR.
HpsEP(+Spi)=HpsEP(+MP5)*(MP5_equal/SPI_equal);
Unit is [HpsEP(+Spi)]=[HpsEP(+MP5)] * [(m/s)/spi] = [(h/s)/(m/s) * (m/s)/spi] = [(h/s)/spi];
Possible mistake: always zero multiplier in calculation.
Note: Can be calculated only if we know correct HpsEP(+MP5)
(+Int) Weighted summ of HpsEP for Mana, Crit and Healing.
HpsEP(+Int) = HpsEP(+healing)*(healing_equal/Int_equal) + HpsEP(+Mana)*(Mana_equal/Int_equal) + HpsEP(+Critrating)*(Critrating_equal/Int_equal);
If units of all HpsEP are correct the unit for [HpsEP(+Int)]=[(h/s)/int];
Possible mistakes:
- HEP used instead of HpsEP for +Healing
- Summ is calculated only for HW values. All other final values calculate for HW=20%, CH=70%, LHW=10%
Note: Can be calculated only if we know correct HpsEP(+Mana)
As a conclusion
If i'm right in my description, our current HEP
correctly reflects all healing-burst stats: Healing,CritRating,HasteRating
And it is
incorrect with healing-efficiency stats such as: MP5, Mana, Spirit.
HpsEP(+Int) is
semi-correct.