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.

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

, 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)

, GetHit evaluation will continue with 50% chance ( 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)

, Hit Recovery will occur with 75% Chance ( 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.

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 GetHit base needed in the main formula.

Beware: this does not resemble the frame count needed by a character without FHR granted by items!

Class GetHit base 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 v anim is commonly 256 ; with those exceptions.

Class Weapon v anim 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:

HR f = {256 * GetHit base / [v anim * (50 + EFHR) / 100]} - 1

HR f : Hit Recovery duration in frames GetHit base : class-specific constant v anim : animation velocity aka AnimSpeed eFHR: effective Hit Recovery gained from first formula [ ]: Floor Function { }: Ceiling Function

see also:

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)

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

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

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

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

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

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

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

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 ?

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

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!



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 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



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)



Contact me via E-Mail, if you like.