Constriction is the act of grabbing a target, preventing it from moving away, and crushing it to death over several turns. This makes it much easier to defeat fast-moving enemies such as bats and unseen horrors, and prevents monsters from fleeing. Only certain species and monsters are capable of doing this:
- S Ball python
- S Anaconda
- N File:Naga.png Naga
- N Naga mage
- N Naga warrior
- N Greater naga
- N Lamia
- x Octopode
- X Ravenous mimic
- X Tentacled starspawn
- X Tentacled monstrosity
- You, if you're playing an octopode
- You, if you're playing a level 13+ naga
Constriction occurs whenever a constriction-capable character or monster makes a melee attack (not necessarily Unarmed Combat). All the following conditions must apply:
- The attacker is not constricting another creature, unless the attacker is an octopode that has free tentacles. Octopodes are capable of maintaining up to eight at once (it doesn't matter if you wield weapons or shields).
- The defender is not constricted by another creature (only one constricter at a time).
- The attacker must be able to see the victim.
- The attacker is not confused.
- The size of the attacker is greater than or equal to the size of the defender.
- The defender is not immune to constriction attacks. The following monsters are immune: porcupines, jellies, flaming corpses and insubstantial monsters.
- The defender must be next to the attacker (weapons of reaching don't allow you to constrict non-adjacent targets).
If all the previous requisites are met, the game rolls the to_hit of the attacker and the evasion/SH of the defender. For the player, to_hit is calculated as follows:
to_hit = 13 + DEX*0.6 + STR*0.15 + Fighting*0.3 + Slaying bonus + Other bonuses
For the monsters, it is basically:
to_hit = 18 + HD*1.5 + Other bonuses (replace 1.5 with 2.5 if the monster is a fighter: naga warriors)
If the attack hits, the constriction starts.
While the target is constricted, it will take an increasing amount of damage each turn, will be unable to move in any direction, and will suffer an evasion penalty (-3 EV for the player; for monsters EV is divided by 2+body size). Attempting to move away will constitute an escape attempt, using all of the above variables along with the number of escape attempts thus far (successive attempts have better success rates) to determine whether or not the escape succeeds.
The amount of damage inflicted every 10 auts is:
(Base damage) * (1 + log2(1 + Duration/5)) * (0.33 + 0.67 * (XL/27))
- Base damage: For players 2d(Strength/5), which means that a character with 20 points of strength will do twice as much damage as a character with only 10. For monsters, it is the base damage of that particular attack.
- Duration modifier: The second factor means that the more time you have been constricting a monster the more damage you do. The damage is increased by approximately 20% each turn, so after 5 turns you will do twice as much damage as you did in the first turn. After the fifth turn the rate is a bit lower than 20%.
- Experience level modifier: The third factor means that your damage increases linearly with your experience level. A level 27 character will do thrice as much damage as one at level 1.
- AC reduction: Unlike most melee attacks, constriction is not reduced by a random number between 0 and AC; the damage reduction is a random number between 0 and 1+AC/2. This means that constriction bypasses half of the AC.
- Time scale: The previous formula calculates how much damage you do every 10 auts. That amount needs to be scaled depending on how many auts you have spent in this turn. For example: if you are attacking with a quick blade at minimum delay (3 auts), the previous amount will be multiplied by 3/10 (after AC reduction).
Along with simply succeeding at an escape attempt, there are a number of other methods for breaking free:
- Killing the constrictor
- If the constrictor moves from its current tile, constriction ends (even if the destination is still adjacent to the constricted target)
- Fear (through either a scroll of fear or Cause Fear) does the same thing
- Confusion, paralysis, petrification, enslavement, polymorphing, or unconsciousness of the constrictor immediately breaks constriction
- Any source of blinking can get you free. It counts as two escape attempts.
- Teleportation will get you free after a delay.
- The dispersal and distortion brands can instead force the constrictor to blink away (or be banished to the Abyss)
- Casting Teleport Other or Dispersal has a similar effect
- Casting Tornado will force the enemy away from you much more aggressively
- Casting Dragon Form will greatly increase your size, making constriction much more difficult
- Zin's Sanctuary ability breaks constriction
- Elyvilon's healing abilities may allow you to pacify the constrictor