The Lurker Lounge Forums
new FHR FAQtoid - Printable Version

+- The Lurker Lounge Forums (https://www.lurkerlounge.com/forums)
+-- Forum: Lurker Games (https://www.lurkerlounge.com/forums/forum-6.html)
+--- Forum: Diablo II (https://www.lurkerlounge.com/forums/forum-8.html)
+--- Thread: new FHR FAQtoid (/thread-986.html)



new FHR FAQtoid - librarian - 03-19-2009

Heiho,

I don't and won't announce any minor edits in that not-so-small-anymore collection, but the commonly believed '1/12 loss of maxlife will cause Hit Recovery' rule is more than slightly off.
Although the assembly analysisses both from Myrdinn and Nefarius are over a year old I haven't seen it discussed further since then, and I just had the time to try a summary in more, eh, human terms.
It bloated the original text to about three-times size, but well ...

So here it is:
http://www.mannm.org/d2library/faqtoids/fhr_eng.html

based on Nefarius'
http://phrozenkeep.planetdiablo.gamespy.co...pic.php?t=47619
and Myrdinn's
http://www.theamazonbasin.com/d2/forums/in...showtopic=77949
findings

My door is always open for suggestions. Metaphorically speakin', of course ;-)


new FHR FAQtoid - Taem - 03-19-2009

Is there an English transcript of that page? I'm having difficulty deciphering exactly what it says.


new FHR FAQtoid - librarian - 03-19-2009

Heiho,

sorry, I forgot to add the _eng suffix :-)
Correct link is
http://www.mannm.org/d2library/faqtoids/fhr_eng.html

Will edit initial posting right away.


new FHR FAQtoid - Taem - 03-20-2009

Does {} mean round up or down? And same with []? The frames end up with the difference of 1 depending on if you round up or down in each part of the formula.

Quote:HRf = {256 * GetHitbase / [vanim * (50 + EFHR) / 100]} - 1

Humm, I figured it out: {} round up, [] round down. However, using this formula in Excel, I'm almost identical results for Hit Recovery to FPS as what other tables on the net list, for example, this site.

MY RESULTS:
Assassin
FHR...FPS
0...9
6...8
14...7
26...6
46...5
83...4
194...3

Pre 1.1 Results:
Assassin
FHR...FPS
0...9
7...8
15...7
27...6
48...5
86...4
200...3

Is this correct? If so, when are you doing to come out when completed tables :D?

Also, if anyone wants an Excel formula to do it themselves, it's pretty simple:
FHR: =(ROUNDUP(256*B1/ROUNDDOWN(B2*(50+B3)/100,0),0)-1)

USER INPUT:
B1 = Base
B2 = VANIM
B3 = EFHR: =ROUNDUP(B4*120/(B4+120),0)
B4 = Faster Hit Recover from items


new FHR FAQtoid - librarian - 03-20-2009

Heiho,

ah, the formula part has not changed, so you'll get pretty much same results :-)
The referential tables I use are linked also in that FAQtoid, they're here
http://www.mannm.org/d2library/faqtoids/stattab_eng.html#fhr
Back in the days I decided to put all the tables into one page for better survey instead of cluttering them over several FAQtoids.

In your terms:
Quote:USER INPUT:
B1 = Base
B2 = VANIM
B3 = EFHR: =ROUNDUP(B4*120/(B4+120),0)
B4 = Faster Hit Recover from items
B3 should read
B3 = EFHR: =ROUNDDOWN(B4*120/(B4+120),0)
instead; square brackets indicate floor function (rounding down), and curved brackets indicate ceiling function (rounding up)


The new part is about the loss of life actually needed to trigger Hit Recovery, which was commonly believed to be 1/12 of target's maximum life. But it is, as default, 1/16. And this starts the evaluation of Hit Recovery, but doesn't grant it. And some missile based attacks will use 1/8 instead of 1/16 to start evaluation, thus while, say, throwing throwing knifes you'll need to erase 1/8 of opponent's maximum life to even start Hit Recovery evaluation.

As a side effect I noticed that the Barbarian hireling doesn't suffer GetHit and Knockback, because he lacks according animation modes. Which is kind of funny, since I haven't seen this mentioned anywhere.
Not that I'd expect to know all english resources, but the most prominent german resource was written by me, and I still get complaints because I hadn't included equipment suggestions containing some of the more ridiculous items the game offers by now (the resource is from 1.10).


new FHR FAQtoid - Taem - 03-20-2009

Quote:ah, the formula part has not changed, so you'll get pretty much same results :-)

Silly me :lol:.

Quote:The new part is about the loss of life actually needed to trigger Hit Recovery, which was commonly believed to be 1/12 of target's maximum life. But it is, as default, 1/16. [...] And some missile based attacks will use 1/8 instead of 1/16 to start evaluation, thus while, say, throwing throwing knifes you'll need to erase 1/8 of opponent's maximum life to even start Hit Recovery evaluation.

Now that is interesting. So player characters can get sent into a hit recovery much more often then before in patch 1.09. And that sucks for throwing knives; makes it near impossible to send an opponent into hit recovery.

Quote:And this starts the evaluation of Hit Recovery, but doesn't grant it.

I'm a little confused on exactly what this means? If you could explain, are you saying that if your character looses 1/16th of it's life to a monster's attack (melee, or spell, and some thrown weapons), that your character will exhibit the sound and animation effects of being sent into a hit recovery, but what? Your Hit Recovery FPS from gear does not kick in? Or you never actually enter Hit Recovery. Sorry, I'm confused by that statement, but I'm trying to understand.


new FHR FAQtoid - Taem - 03-20-2009

Quote:ah, the formula part has not changed, so you'll get pretty much same results :-)

Silly me :lol:.

Quote:The new part is about the loss of life actually needed to trigger Hit Recovery, which was commonly believed to be 1/12 of target's maximum life. But it is, as default, 1/16. [...] And some missile based attacks will use 1/8 instead of 1/16 to start evaluation, thus while, say, throwing throwing knifes you'll need to erase 1/8 of opponent's maximum life to even start Hit Recovery evaluation.

Now that is interesting. So player characters can get sent into a hit recovery much more often then before in patch 1.09. And that sucks for throwing knives; makes it near impossible to send an opponent into hit recovery.

Quote:And this starts the evaluation of Hit Recovery, but doesn't grant it.

I'm a little confused on exactly what this means? If you could explain, are you saying that if your character looses 1/16th of it's life to a monster's attack (melee, or spell, and some thrown weapons), that your character will exhibit the sound and animation effects of being sent into a hit recovery, but what? Your Hit Recovery FPS from gear does not kick in? Or you never actually enter Hit Recovery. Sorry, I'm confused by that statement, but I'm trying to understand.


new FHR FAQtoid - librarian - 03-20-2009

Heiho,

1. damage is applicated
2. if damage causes death of the target unit there'll be no further evaluation of GetHit
3. if target unit is frozen there'll be no further evaluation of GetHit
4. if applied damage is poison only there'll be no further evaluation of GetHit
5. if applied damage is smaller than 1 (aka 256 bites) there'll be no further evaluation of GetHit **
6. get MaxLife, maximum life of target unit
7. get divisor (the value which was believed to be 1/12)
8. get GetHitTriggerNumber via GetHitTriggerNumber = MaxLife / divisor
9. then the applied damage counts in in several steps
* if damage is smaller than GetHitTriggerNumber, there'll be no further evaluation of GetHit
* if damage is smaller than GetHitTriggerNumber * 2, GetHit evaluation will continue with 50% chance (rnd {0, 1} = 0 Exit, otherwise continue)
* if damage is smaller than GetHitTriggerNumber * 4, Hit Recovery will occur with 75% Chance (rnd {0, 1, 2, 3} = 0 Exit, otherwise Hit Recovery)
* if damage is bigger than GetHitTriggerNumber * 4, Hit Recovery will occur

10. if target unit is no subject to Hit Recovery at all, Hit Recovery will be skipped (yup, this check is done at the very end :-P )

An example to clarify the bolded part:
Let's just assume a MaxLife of 1600 and an attack with the standard divisor of 16, because I'm tired, no good at math, and have a long weekend full of work in front of me ;-)

GetHitTriggerNumber = MaxLife / divisor -> 1600 / 16 -> 100

damage applied is smaller than 100 -> no GetHit

damage is bigger than 100 but smaller than 200 -> 50% chance of continuing evaluation in next step, otherwise no GetHit
last condition true, or damage is bigger than 200 but smaller than 400 -> 75% chance of GetHit, otherwise no GetHit
=> damage is bigger than 100 but smaller than 200 -> 50% * 75% -> 37,5% chance of GetHit

damage is bigger than 400 -> GetHit granted always

So to be sure GetHit is triggered, life loss must be 1/4 of MaxLife. 1/16 of MaxLife lost will only have a probability of 37,5% to cause GetHit, and values between 1/8 and 1/4 of MaxLife will have a probability of 75% to cause GetHit.
This is far more complicated than the common rule of thumb, which suggested that 1/12 loss of MaxLife will always cause GetHit. This was always disputed especially in PvP communities, since to those guys forcing the opponent into Hit Recovery (resp avoiding it) is far more important than it is in PvM, and they noticed many aberrations of the 1/12 rule. In PvM I myself cared more about my char's HitRecovery than about monsters'.




new FHR FAQtoid - Taem - 03-21-2009

Quote:Heiho,

1. damage is applicated
2. if damage causes death of the target unit there'll be no further evaluation of GetHit
3. if target unit is frozen there'll be no further evaluation of GetHit
4. if applied damage is poison only there'll be no further evaluation of GetHit
5. if applied damage is smaller than 1 (aka 256 bites) there'll be no further evaluation of GetHit **
6. get MaxLife, maximum life of target unit
7. get divisor (the value which was believed to be 1/12)
8. get GetHitTriggerNumber via GetHitTriggerNumber = MaxLife / divisor
9. then the applied damage counts in in several steps
* if damage is smaller than GetHitTriggerNumber, there'll be no further evaluation of GetHit
* if damage is smaller than GetHitTriggerNumber * 2, GetHit evaluation will continue with 50% chance (rnd {0, 1} = 0 Exit, otherwise continue)
* if damage is smaller than GetHitTriggerNumber * 4, Hit Recovery will occur with 75% Chance (rnd {0, 1, 2, 3} = 0 Exit, otherwise Hit Recovery)
* if damage is bigger than GetHitTriggerNumber * 4, Hit Recovery will occur

10. if target unit is no subject to Hit Recovery at all, Hit Recovery will be skipped (yup, this check is done at the very end :-P )

An example to clarify the bolded part:
Let's just assume a MaxLife of 1600 and an attack with the standard divisor of 16, because I'm tired, no good at math, and have a long weekend full of work in front of me ;-)

GetHitTriggerNumber = MaxLife / divisor -> 1600 / 16 -> 100

damage applied is smaller than 100 -> no GetHit

damage is bigger than 100 but smaller than 200 -> 50% chance of continuing evaluation in next step, otherwise no GetHit
last condition true, or damage is bigger than 200 but smaller than 400 -> 75% chance of GetHit, otherwise no GetHit
=> damage is bigger than 100 but smaller than 200 -> 50% * 75% -> 37,5% chance of GetHit

damage is bigger than 400 -> GetHit granted always

So to be sure GetHit is triggered, life loss must be 1/4 of MaxLife. 1/16 of MaxLife lost will only have a probability of 37,5% to cause GetHit, and values between 1/8 and 1/4 of MaxLife will have a probability of 75% to cause GetHit.
This is far more complicated than the common rule of thumb, which suggested that 1/12 loss of MaxLife will always cause GetHit. This was always disputed especially in PvP communities, since to those guys forcing the opponent into Hit Recovery (resp avoiding it) is far more important than it is in PvM, and they noticed many aberrations of the 1/12 rule. In PvM I myself cared more about my char's HitRecovery than about monsters'.

Thanks for indepth explanation. I understand it now. Yes, you said all that before in almost identical fashion, but I guess I didn't quite get it for some reason until now, so I appreciate you taking the time to explain it again to me. Well, it makes for a much more realistic experience - the more damage you have, the less likely you will be capable of defending yourself.


new FHR FAQtoid - librarian - 03-21-2009

Heiho,

Quote:Yes, you said all that before in almost identical fashion, but I guess I didn't quite get it for some reason until now, so I appreciate you taking the time to explain it again to me.

no worries, I'll try to clarify the section based on your better understanding of the posting's version. If I don't get feedback, I don't get the chance to improve the FAQtoid :-)