Evasion

From CrawlWiki
Revision as of 04:38, 28 July 2022 by Hordes (talk | contribs) (Modifiers)
Jump to: navigation, search
Version 0.28: This article may not be up to date for the latest stable release of Crawl.

This page is about the character trait. For the brand, see the article Evasion (brand)

Evasion (often abbreviated to EV) is a number that measures the ability of a character or of a monster to avoid melee, ranged, and magical beam attacks. When an attack is resolved, a target's current EV is rolled and compared to the attack's to-hit roll, factoring in any relevant situational modifiers. Only if the to-hit roll matches or beats the EV roll does the attack succeed.

Player EV

The calculation to determine a character's total EV is complex and factors in many different skills and attributes.

Base EV

The player's base EV is calculated as follows:

 10 + size_factor

"Size factor" is the number of steps away from "medium" (i.e. Human) size. Larger species (Trolls, Ogres, Centaurs, Nagas) have a negative size factor while smaller species (Kobolds, Spriggans) have a positive size factor.

Species Size factor
Troll, Ogre, Palentonga, Naga -2
Kobold +2
Spriggan, Felid +4
Otherwise 0

Some transformations override the racial size factor:

Form Size factor
Spider Form, Bat Form, Porcupine Form, Wisp Form, Fungus Form +4
Pig Form +2
Ice Form -2
Dragon Form -6

However, if you are paralysed, petrified, in tree form, or your dexterity is below 1, your EV is reduced to:

 2 + size_factor/2 + (repulsion field bonus)

In this case, minimum EV is 1. No other factors apply.

Dodging

The Dodging skill provides a bonus to your EV as follows:

dodge_bonus = (7 + Dodging × ev_Dex) / (20 - size)
armor_penalty = unadjusted_armor_encumberance - 3
if armor_penalty < 0:
    modifier = 1
if armor_penalty > 0:
    if armor_penalty >= Str:
        modifier = Str / (armor_penalty * 2)
    if armor_penalty < Str:
        modifier = 1 - armor_penalty / (Str * 2)
final_dodge_bonus = dodge_bonus * modifier

Armour and shield EV penalties

After adding base EV and Dodging's bonus together, the EV penalties from armour and shields are then subtracted.

The armour penalty is equal to your AEVP. Only body armour and bardings (both for Nagas and Centaurs) have any penalties. "AEVP" (which stands for Adjusted EVasion Penalty for armour) is a complex value based on your Strength, your Armour skill, and the Evasion penalties of the armour pieces you wear.

AEVP = barding_encumbrance_rating/3 + 2 × body_armour_encumbrance_rating^2 × (45 - armour_skill) / (5 × (STR + 3) × 45)

For shields, a value called "ASP" (which stands for Adjusted Shields Penalty) is calculated based on the cumbersomeness of your shield (less for bucklers, more for large shields), your Shields skill, and your species's size.

ASP = max(0, base_penalty  - shield_skill/(5 + size_factor))

Modifiers

Various effects can modify EV after the stepdown is applied. These are added directly to your EV total after the above calculations.

Other racial modifiers

After all of the above factors have been considered[1]:

  • Swimming Merfolk get a 25% bonus to EV (minimum +2)
  • Flying Tengu get a 20% bonus to EV (minimum +1)

Final situational modifiers

Against melee attacks:

  • If are being constricted, you suffer a -3 EV penalty.
  • If you cannot see your attacker (i.e. they are invisible and you cannot see invisible), you suffer a -10 EV penalty against that attacker.
  • If you are going down stairs while being attacked, you suffer a -5 EV penalty.

Monster EV

A monster's base EV is a fixed number dependent on monster type. This base can be modified by armour, jewellery, and various status effects.

To-hit versus EV

If an attack's to-hit number is 1500 (the magic number AUTOMATIC_HIT) or greater (e.g. Magic Dart), it automatically hits.

Otherwise, the following procedure is used.

  • 2.5% of the time, the attack misses regardless of the attack's to-hit or the defender's EV.
  • 2.5% of the time, the attack hits regardless of the attack's to-hit or the defender's EV.
  • A uniformly distributed random number between zero and the to-hit number (inclusive) is generated.
  • Two uniformly distributed random numbers between zero and ((2 * (target EV)) - 1) inclusive are averaged together.
  • If the to-hit roll is greater than or equal to the EV roll, the attack hits. Otherwise, it misses.

History

  • Prior to 0.27, a stepdown, EV = (EV<30? EV : 10 + 20*log(1 + (EV-10)/20)/log(2)), was applied to EV values above 30.
  • Prior to 0.25, a potion of agility was an easy way to subtly increase EV.
  • Prior to 0.19, certain ranged weapons could be branded with Evasion, granting a +5 EV bonus.
  • Prior to 0.17, the evasion bonus for flying Tengu and swimming Merfolk was capped at +9 EV.

References

  1. player.cc:2006 (0.28.0)