Helpless
Hit Recovery
According to common belief loss of a certain value of maximum life * or suffering a stunning attack causes Hit Recovery to an unit. This plays a special animation called obviously Get Hit animation with a given duration, The Hit Recovery time. The 'Faster Hit Recovery' item property will shorten that duration. Similar to all time-consumpting mechanisms duration is measured in Frames, a Frame lasts 1/25 second. You may also read 'tick' instead of 'frame' sometimes.
Many creatures in Sanctuary have individual durations for Hit Recovery assigned, but some don't need to go into Hit Recovery. The base duration is dependend on kind of unit, but only of importance to player characters and hirelings, since you can't prolong or shorten other unit's Get Hit animation. Items granting Faster Hit Recovery - FHR - are listed at Atair's d2wissen. All units which may wear such items will benefit from FHR. Formular derivation follows in a paragraph below.
Shape-shifted forms like Undead Fetish caused by triggering delirium state or Vampire caused by wearing full Trang Oul set will use those forms' durations. Some threads indicate this is always the case, so, say, a Paladin shifting to Werebear or a Barbarian shifting to Werewolf will be subject to wereform's tables, not table of own class anymore.
* In fact there's some more to it, the commonly known 1/12 life loss rule is 'lying for children'; it gives an approximation, but is not true. 1/12 may have been valid pre1.10, since 1.1x the common value is 1/16, but especially some ranged attacks will even use 1/8. The Evaluation is more complicated and will be discussed later on in this FAQtoid; at the very end you'll find some related listings.
For more scary technical details see this thread by Nefarius at the Phrozen Keep and GetHit mode trigger function by Myrdinn at the Basin.
Some effects, namely almost all fire on ground originating from skills, won't trigger a full Hit Recovery, but they'll trigger the dedicated Get Hit sound. This makes ingame surveys of Hit Recovery very unreliable. Plus playing the sound may cause a kind of mini-lag especially on unperformant hardware, or network connections.
Still a mistery are fire on ground objects, like the pentagrams in Act1 dungeons. They're able to cause Hit Recovery, but I can't elaborate on this due to nonexistence of wisdom.
the evaluation of the Hit Recovery trigger
Thanks to Nefarius and Myrdinn there are the two earlier mentioned independent analysisses of assembly to be found about the conditions needed to trigger Hit Recovery (or short 'GetHit'). This will happen in chronological order:
- damage is applied
- if damage causes death of the target unit there'll be no further evaluation of GetHit
- if target unit is frozen there'll be no further evaluation of GetHit
- if applied damage is poison only there'll be no further evaluation of GetHit
- if applied damage is smaller than 1 (aka 256 bites) there'll be no further evaluation of GetHit **
- get MaxLife, maximum life of target unit
- get divisor (the value which was believed to be 1/12) ***
- get GetHitTriggerNumber via GetHitTriggerNumber = MaxLife / divisor
- 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 to next step)
- if last check was successful, or damage is smaller than GetHitTriggerNumber * 4, Hit Recovery will occur with 75% Chance (rnd {0, 1, 2, 3} = 0 Exit, otherwise Hit Recovery will happen)
- if damage is bigger than GetHitTriggerNumber * 4, Hit Recovery will happen
- 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 )
** ingame calculations of damage and life are always multiplied with 256 to get some extra precision, since the engine can only do integers; thus 1 point equals 256 'bites', the result is then again divided by 256, and truncated
*** the default divisor is 16, sometimes 8 is used; see the listings at the very end of this FAQtoid
To give an example let's just assume a MaxLife of 1600 and an attack with the standard divisor of 16.
GetHitTriggerNumber = MaxLife / divisor -> 1600 / 16 -> 100
- if applied damage is smaller than 100, Hit Recovery evaluation ends, no GetHit will happen
- if applied damage is bigger than 100 but smaller than 200, there's a 50% chance of continuing evaluation in next step, otherwise Hit Recovery evaluation ends, no GetHit will happen
- if last check was successful, or applied damage is bigger than 200 but smaller than 400, there's a 75% chance of GetHit, otherwise Hit Recovery evaluation ends, no GetHit will happen
- so if applied damage is bigger than 100 but smaller than 200, there's a 50% * 75% = 37,5% chance of GetHit
- if applied damage is bigger than 400, GetHit is granted
So to be sure GetHit is triggered in this example, 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.
HitClasses
HitClasses are a realtime concept to control multimedia effects like sounds and overlays. There's some evidence they're used for GetHit evaluation as well.
To current knowledge melee attacks will always use default GetHitTriggerNumber = 16. Exceptions are the skills below which will do stun or knockback, because their functions override the default.
Missile attacks' (no matter if standard attack or skill) missiles will use the missile's HitClass to evaluate GetHit from the missile (I never wrote up to four times the word missile in a single sentence before - eek, I did it one more time).
Monsters' attacks behaviour should be the same.
formular derivation of Hit Recovery duration
Firstly effective Hit Recovery speed is calculated. This calculation is subject to a diminishing returns formula.
eFHR = [FHR * 120 / (FHR + 120)]
eFHR: effective Hit Recovery FHR: Faster Hit Recovery granted by items [ ]: Floor Function
Further there is a class-specific constant GetHitbase needed in the main formula.
Beware: this does not resemble the frame count needed by a character without FHR granted by items!
Class | GetHitbase |
---|---|
Amazon | 6 |
Assassin | 5 |
Barbarian | 5 |
Druid Werebear | 5 |
Druid Werewolf | 4 |
Druid human | 7 |
Necromancer | 7 |
Paladin | 5 |
Sorceress | 8 |
hirelings | |
Rogue | 6 |
Town Guard | 8 |
Iron Wolf | 9 |
[Barbarian | 5] |
The value of vanim is commonly 256; with those exceptions.
Class | Weapon | vanim |
---|---|---|
Druid Werebear | all | 184 |
Druid human | one-handed swinging weapons | 248 |
Paladin | spears two-handed staves two-handed axes two-handed hammers poles | 192 |
Hit Recovery duration in frames is now calculated this way:
HRf = {256 * GetHitbase / [vanim * (50 + EFHR) / 100]} - 1
HRf: Hit Recovery duration in frames GetHitbase: class-specific constant vanim: animation velocity aka AnimSpeed eFHR: effective Hit Recovery gained from first formula [ ]: Floor Function { }: Ceiling Function
see also:
- table of Hit Recovery durations
- Faster Hit recovery, by Nefarius at the Phrozen Keep
- GetHit mode trigger function, by Myrdinn at the Amazon Basin
- about GetHit animations, by Rivo aka Karon at the Amazon Basin
- Warning about Trang Oul's and Blocking at the Amazon Basin
- transformed characters at the Phrozen Keep
- tommi's summary
- Leap Attack will cancel Stun, by Nefarius at the Keep
Stun
Some skills cause a 'stun' effect. Common units are unable to do anything during stun duration, player characters and those monsters which can't suffer stun (namely Bosses and Act Bosses) will be forced into Hit Recovery, and will be forced into this animation again with each successful hit during that duration irregardless of caused damage. Exceptions, again, are those units which are no subject to Hit Recovery, say, Diablo. See again the listings at the very end of this FAQtoid.
Stun is delivered by
- - Mind Blast
- - Stun
- - War Cry
- - Shock Wave
- - Smite
- - Maul
Stun is also a kind of damage of its own, which can be assigned to individual monsters in El[1-3]ff columns of MonStats.txt.
Thus those guys may stun you
- - thornhulk1-5 using A2, the vertical attack
- - snowyeti1-4 using A2, the vertical attack
- - duriel (A2)
- - uberduriel (A2)
The Act5 Barbarian hireling may use the Barbarian skill Stun, so he belongs here, too.
Tose guys may use Smite
- - Paladin
- - blunderbore1-6 (aka Gorebellies et al)
- - overseer1-6
- - baalminion1-3 (aka Lister and group)
- - duriel
- - uberduriel
- - druidbear (aka Grizzly; special BearSmite skill)
Knockback
Other skills and some items cause Knockback (KB). The KB animation uses some parts of the GetHit animation, but KB doesn't trigger Hit Recovery automatically.
Skills which will do Knockback
- - Leap
- - Leap Attack (Leap Attack will cancel Stun)
- - Bash
- - Telekinesis (35% chance to KB)
- - Charge
- Smite
- - Sanctuary (only vs undead)
- - Knockback as property from equipment; also possible with some monsters
Those guys may use Charge
- - Paladin
- - clawviper1-10
- - reanimatedhorde1-6
- - siegebeast1-5
- - flyingscimitar
- [- duriel (in unmodified game disabled due to AI parameter settings)]
- - uberduriel
Those guys may apply Knockback otherwise
- - Blood Raven has assigned Knockback property in MonProp.txt for Hell difficulty
- - all Frog Demons' spitting in Act3 has 33% chance to Knockback (no matter which kind of damage)
- - the Nessie tentacles' spitting in Act3 ponds has 33% chance to Knockback
- - Baal's icy wedge thingie has 75% chance to KB
Some units won't suffer the Knockback effect. Obviously the immobile ones, but here are some more. Full list is at the very end of this FAQtoid.
- - Act5 Barbarian hireling
- - all Golems
- - Griswold
- - Andariel
- - Coldworm
- - Duriel
- - Mephisto
- - Izual
- - Diablo
- - DiabloClone
- - all suicideminions
- - Nihlathak as enemy
- - all ancientbarbs
- - baalcrab (Baal)
- - baalclone (his Clone he may summon)
- - UberAndariel
- - UberDuriel
- - UberIzual
- - UberMephisto
- - UberBaal
Credits
- Hammerman
- Karon aka Rivo
- Myrdinn
- Nefarius
- nookiestar
- Ruvanal
- tommi
Appendix
units which won't suffer GetHit
'objectish' immobile units, which will attack or spawn others
- maggotegg
- crownest
- gargoyletrap (Act1 Jail and Catacombs)
- turret (Act2 outdoors)
- firetower
- lightningspire (Act2 Arcane Sanctuary)
- sarcophagus (Act2, the Mummy spawners)
- maggotqueen (Coldworm)
- mephistospirit (the - anyway unselectable - ghost thingies which guard the portal to Act4)
- trappedsoul (Act4, those chained to sticks)
- hydra (the - anyway unselectable - single heads of the Hydra summon)
mobile units
- suicideminion
- griswold
- diablo
- diabloclone
- baalthrone, unselectable
- baalcrab
- baaltaunt, unselectable
- uberbaal
allied units
- act5barb (Act5, the strays outdoors)
- act5hire (the hireling)
- druidhawk aka Raven
- spiritofbarbs
- heartofwolverine
- oaksage
- plaguepoppy (aka Poison Creeper)
- cycleoflife (aka Carrion Vine)
- vinecreature (aka Solar Creeper)
- claygolem
- bloodgolem
- irongolem
- firegolem
units which won't suffer Knockback
'objectish' immobile units
- all Traps (Sin's too)
- crownest
- gargoyletrap
- maggotegg
- sarcophagus
- maggotqueen (Coldworm)
- turret
- firetower
- lightningspire
- mephistospirit
- trappedsoul
- window (in this Cathedral Ruin which sometimes spawns in Act4)
- hellmeteor (Act4 River of Flame, unselectable anyway)
- boneprison (Diablo's)
- all Catapults
- barricadedoor1
- barricadedoor2
- prisondoor
- barricadetower
- barricadewall1
- barricadewall2
- evilhut (Imp spawner)
- baalthrone
- baaltaunt
- baalcrabstairs
mobile units
- griswold
- andariel
- duriel
- darkwanderer (unselectable anyway)
- mephisto
- izual
- diablo
- diabloclone
- suicideminion
- nihlathakboss
- ancientbarb
- baalcrab
- baalclone
- ubermephisto
- uberandariel
- uberizual
- uberduriel
- uberbaal
allied units
- act5hire (the Act5 Barbarian hireling)
- claygolem
- bloodgolem
- irongolem
- firegolem
- bonewall
- hydra
- Druid's Raven
- Druid's Totems and Vines
- Sin's Traps
Players' skills which spawn missiles which can trigger Hit Recovery
- all
- standard divisor 16
- the fiery throwing elixirs
- divisor 8
- all thrown knives
- all thrown axes
- all thrown javelins
- arrows from standard attack
- bolts from standard attack
- standard divisor 16
- Amazon
- standard divisor 16
- Fire Arrow
- Exploding Arrow (explosion only)
- Cold Arrow
- Ice Arrow
- Freezing Arrow
- Charged Strike (the charged bolts)
- Lightning Strike
- Lightning Bolt
- Lightning Fury
- divisor 8
- Magical Arrow
- Multiple Shot (arrows or bolts)
- Strafe (arrows or bolts)
- Guided Arrow
- Immolation Arrow (not fire on ground)
- Poison Javelin (javelin only)
- Plague Javelin (javelin only)
- further:
- immolationfire (fire on ground) has softhit and hitsound chances of 19/128
- standard divisor 16
- Sorceress
- standard divisor 16
- Fire Bolt
- Fire Ball
- Inferno
- Meteor (center and explosion, not fire on ground)
- Charged Bolt
- Nova
- Lightning
- Chain Lightning
- Thunderstorm
- Ice Bolt
- Ice Blast
- Glacial Spike
- Blizzard
- Frost Nova
- Chilling Armor (the released missile)
- Frozen Orb
- divisor 8
- - none -
- further:
- Blaze and Firewall both have each softhit and hitsound chances of 19/128
- meteorfire has softhit chance of 19/128
- standard divisor 16
- Necromancer
- standard divisor 16
- Teeth
- Corpse Explosion
- Bone Spirit
- divisor 8
- Bone Spear
- further:
- all Skeletal Mages' missiles may trigger GetHit, even the toxic one has some physical damage assigned
- standard divisor 16
- Paladin
- standard divisor 16
- Holy Bolt (if target is undead)
- Blessed Hammer
- Fist of the Heavens (both initial Fist and released Holy Bolts, the latter only vs undead)
- divisor 8
- - none -
- further:
- Holy Aurae may trigger GetHit due to damage; probably standard divisor 16
- standard divisor 16
- Barbarian
- standard divisor 16
- War Cry
- divisor 8
- - none -
- further:
- there's a Leap missile with 1% KB chance ? - seems to exist an additional roll sometimes
- there's a Whirlwind missile I can't track down ?
- standard divisor 16
- Druid
- standard divisor 16
- Molten Boulder (sphere only)
- Arctic Blast
- Twister
- Shock Wave
- Volcano (initial volcano and flying fiery debris)
- Tornado
- divisor 8
- - none -
- further:
- Firestorm has softhit
- Twister may hav stun duration assigned
- standard divisor 16
- Assassin
- standard divisor 16
- Fire Trauma (aka Fire Blast)
- Blade Sentry
- Blade Shield
- Wake of Destruction
- Wake of Inferno
- Charged Bolt Sentry
- Lightning Sentry
- Death Sentryr (the lightning, corpsey explosion may cause GetHit clientside only!)
- Fists of Fire (explosion)
- Claws of Thunder (lightning and nova)
- Royal Strike (aka Phoenix Strike; all but meteor fire on ground)
- divisor 8
- Blade Fury
- further:
- Shock Field has softhit
- Blades of Ice may cause GetHit clientside only!
- standard divisor 16
Monsters, whose missiles may cause Hit Recovery
- skills
- standard divisor 16
- Fallen Shamans' fire attack
- Fallen Shamans' ice attack (Act5 guests)
- [Sand Leapers' Leap (explicit KB missile?)]
- Unravelers' unholy bolts (also Radament)
- Willowisps' lightning attack
- explosion of Vampires' Meteors (not fire on ground; softhit chance of 19/128)
- Vampires' Fireballs (via explodingarrowexp submissile)
- Andariel's AndrialSpray (IIRC her breath, also contains physical damage)
- also UberAndariel
- Mephisto's PrimeBolt (via chargedstrikebolt missile)
- Mephisto's cold/phys orb (via mephisto missile oO)
- Mephisto's Frost Nova
- Mephisto's Blizzard
- all also UberMephisto
- Diablo's FireWall (via diabwallmaker missile); not his breath; not PrimeFirewall; DiabCold is melee
- all also UberDiablo, plus DiabloGeddon (via diablogeddonexplosion)
- Baal's BaalNova
- Baal's BaalInferno
- Baal's BaalCold (plus 75% KB Chance)
- all also BaalClone
- all also UberBaal, plus Chilling Armor
- Baal's taunting effect in Worldstone areas (lightning only, not the poison cloud)
- Izual's Frost Nova
- also UberIzual, plus Chilling Armor
- Summoner's Frost Nova
- Summoner's Fire Ball
- Summoner's Glacial Spike; not his Fire Wall
- [AncientBarb Whirlwind ? -> see Barbar]
- Cantors'Blizzard
- hydra missiles from Hydrae Summons
- Gargoyle Traps' missiles in Act1 Jail and Catacombs
- Turrets' fiery missiles Act2 outdoors
- Lightning Spires' Nova (skill is called ArcaneTower)
- Lightning Spires' Lightning
- [Coldworm's queenpoisoncloud when dying is poison only, so no GetHit]
- FingerMages' drain mana missile (contains also physical and fire damage)
- Regurgitators' spitting corpsey goo
- Abyss Knights' undead missiles (the green one is poison only, so no GetHit)
- Oblivion Knights' Bone Spirits (also Act5 guests)
- Succubi 's and Succubuswitches' missiles
- all Imps' missiles but the Inferno they'll cast from Siege Beasts and Turrets
- Death Maulers' tentacle spikes
- the very special special arrows of Act5 guest corrupted rogues and skeletal archers (MonExplodingArrow, MonFreezingArrow)
- trapped chests' nova
- almost all Catapult missiles (not meteor fire on ground and plague)
- all Skeletal Mages' missiles (even the poisonous one contains some physical damage)
- Shadowwarrior, -master see Assassin
- divisor 8
- Blood Raven's standard arrows
- Rogues' standard arrows (incl Flavie)
- the not so very special special arrows of Act5 guest corrupted rogues and skeletal archers (MonBow, MonFireArrow, MonColdArrow)
- the toxic missiles from trapped walls in Act2&3 (contain also physical damage)
- the spikey missiles from trapped walls in Act2&3 (contain also physical damage)
- further:
- Vampires' Firewall has hitsound chance of 19/128
- standard divisor 16
- standard missiles
- standard divisor 16
- bigheads' (Tainted et al) lightning ball missile
- sandmaggots' goospit (also Coldworm, if it ever spits)
- batdemons' lightning thingie (no anchor in txt files to be found, probably hardcoded to baseID)
- willowisps' lightning
- scarabs' emitted lightning when hit
- frogdemons' fiery and cold goo (includes 33% KB chance, too; toxic goo is poison only, so no GetHit)
- skeletal mages' missiles (all elements)
- regurgitators' corpsey missiles
- firebolt from trapped chests
- megademons' inferno
- Lightning Spires' arcanelightning
- Pantherwomen's fiery pots (the toxic one is poison only, so no GetHit)
- Imps' standard missiles
- almost all Catapult missiles (not meteor fire on ground and plague)
- vipers' poisonjavelin (not the cloud)
- vipers' firebreathing
- divisor 8
- quillrats' spikes
- rogues' arrows (also Flavie)
- corrupted rogues' default arrows (also Blood Raven)
- skeletal archers' arrows
- toxic and spikey trapped wall missiles in Act2&3 dungeons
- Pantherwomen's javelins
- fetishs' blowgun darts
- ancient thrower barbarian's axes (choose random value from last Scrabble leftovers for inserting name here)
- vipers' bonespears
- standard divisor 16
objects which will most probably cause Hit Recovery when run into
- all fiery
- probably standard divisor 16
- fire small
- fire medium
- fire large
- body (the x-tied corpse on ground in Tristram and some Act1 dungeons)
- dummy hellfire1 (probably Act4 campfires)
- dummy hellfire2 (probably Act4 campfires)
- dummy hellfire3 (probably Act4 campfires)
- probably standard divisor 16
Contact me via E-Mail, if you like.