This AC nerf that this page refers to has to a large extent been undone in 0.8 and later versions. The mechanics did not change between 0.7 and 0.8, but GDR was vastly increased and heavy armour allowed much higher enchantments. Thus, this page is mostly obsolete.
The first iteration of AC/EV changes as described on http://crawl.develz.org/wiki/doku.php?id=dcss:brainstorm:misc:ac
Although the distinction between heavy and light armour has been removed for the actual AC and EV calculations, the heavy/light armour distinction is still in place for skill training. Skill training is not modified in any way by this change.
Change details follow, with Armour = armour skill, Dodge = Dodging skill:
New total AC
= base_AC * (23 + effective_armour_skill) / 23
- effective_armour_skill = armour skill + racial armour skill bonus.
- enchantments = armour enchantments
- modifiers = transforms, mutations, etc. affecting AC.
New guaranteed damage reduction:
= body_base_AC*(13+Armour)/17 * max_dam/100
New total EV
= 10 + size + (7 * Dodge * Dex) / (20 * AEVP - size) - AEVP - ASP + bonuses
Where size = 2 * (medium - body_size)
having: body_size be one of:
tiny = 0
little = 1
small = 2
medium = 3
large = 4
big = 5
giant = 6
huge = 7
For ref: halfling = small, human = medium, ogre = large, dragon = huge
AEVP (adjusted evasion penalty for armour):
= body_AEVP + piece_EVP
Where body_AEVP is for the body armour, calculated as:
= (EVP + MAX(0, 3*EVP - Str)) * (45 - Armour) /45
where EVP = base evasion penalty of the armour
piece_EVP is the sum of the base evasion penalties of
the non-body armour worn, excluding shields. Currently
this is only applicable to bardings (EVP of 2).
ASP (adjusted shield evasion penalty):
= SP - (1 + Shields) / (2 * (5 + size))
where SP = 1 for buckler, 3 for shield, 5 for large shield
New spellcasting penalty
= 25 * (body_AEVP + ASP) - 20 - race_mod
where race_mod = 25 for elven, -15 for dwarven,
+15 for races in their native armour.
New combat penalties
- to-hit penalty = 1d(body_AEVP) + 1d(ASP)
- to-hit penalty for 1.5 hand weapons = 1d(body_AEVP) + 2d(ASP)
- to-dam penalty for 1.5 hand = 1d(ASP)
- base_delay is unchanged if body_AEVP is 0, otherwise:
- base_delay = max(base_delay, 1d10 + 1d(body_AEVP))
- base_delay for unarmed = max(base_delay, 1d10 + 2d(body_AEVP))
- final_delay += min(1d(body_AEVP), 1d(body_AEVP))
- final_delay for 1.5 hand += min(1d(body_AEVP) + 1dASP,
1d(body_AEVP) + 1dASP)
What does this all mean?
- The armour skill doesn't increase your AC as much. In 5.2 you need 15 levels in the skill to double your base armour, in 0.6, you need 23.
- Heavy armour's main benefit, the guaranteed damage reduction (GDR), was nerfed. In 0.5, each skill level in armour and base AC point on your body armour added 2% GDR, so it was possible to reach the max 50% without much trouble. Now, a character with 27 armour skill wearing crystal plate mail gets something like 30% damage reduction and most heavy armour users will get around 20-25%.
- Heavy armour is harder to train. In 0.5, you could guarantee that you would train only heavy armour by wearing armour that had an EV penalty bigger than (1/3) x your armour skill. This was great for hybrids as they could grab a ring mail, train armour to 6, get a scale mail, train it to 9, etc. Now you train both armour and dodging at the same time and the later is much, much easier to train while wearing medium weight armour so a good deal of xp goes to dodging, even with the skill deactivated. This could be good if low levels of dodging were useful while wearing the heavier armours, but they're not.
- It's harder to cast in heavy armour. In order to make strength useful there is now a penalty to casting if your str is not at least 3x the EV penalty of your armour. This means heavy armour casters have to invest points into str in order to be able to cast. While this does make str more "useful" the end result is that heavy armour casters are less powerful.