## Armour spellcasting penalties

Ask fellow adventurers how to stay alive in the deep, dark, dangerous dungeon below, or share your own accumulated wisdom.

Tomb Titivator

Posts: 856

Joined: Friday, 31st October 2014, 10:03

### Armour spellcasting penalties

To get a better overall understanding of how much different kinds of armour affect spellcasting, I made a script to calculate the approximate penalties for every body armour.

This is based on my interpretation of the function int raw_spell_fail(spell_type spell) in the file spl-cast.cc in Crawl version 0.16.1.

Code:
`#!/usr/bin/env python3# Version: 0.1# License: public domain, no warranty.# Calculate player adjusted body armour penaltydef player_abap(er, armr, st_str):    return 2.0 * er * er * (45 - armr) / (5 * (st_str + 3)) / 45def player_armour_shield_spell_penalty(er, armr, st_str):    abap = player_abap(er, armr, st_str)    bap = max(19 * abap, 0)    bsp = 0 # XXX ignore shield penalty for now    return max(bap + bsp, 0)def print_str_armr_spl_pen(er_armour):    ARMR = (0,1,3,5,7,9,11,13,15,17,19,21,23,25,27)    er = er_armour[0]    print("ER %d (%s): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):" % (er, er_armour[1]))    print("[code]")    print("S\\A", end="")    for armr in ARMR:        print("%5d" % armr, end="")    print()    for str1 in range(1, 51):        print("%3d" % str1, end="")        for armr in ARMR:            assp = player_armour_shield_spell_penalty(er, armr, str1)            skill_pen = assp / 12            print("%5.1f" % skill_pen, end="")        print()    print("[/code]")er_armours=((4, "(troll) leather armour"), (5, "mottled dragon armour"), (7, "ring mail, quicksilver/swamp dragon armour"), (10, "scale mail"), (11, "fire/ice/pearl dragon armour"), (15, "chain mail, shadow/storm dragon armour"), (18, "plate armour"), (23, "crystal plate armour, gold dragon armour"))for er_armour in er_armours:    print_str_armr_spl_pen(er_armour)`

The tables below show the approximate additional spell skill levels one requires to overcome the casting penalty to get to the same fail % in armour than without one. In case of multi-school spells, this is the average of the skills one needs. Additionally, both 4 levels in Spellcasting skill and 6 points of Int are as effective in increasing spell success as one level of a spell skill.

Caveat: I've only tested this with a few random combinations. The results were close enough, within a skill level or so. If you find any errors, please let me know.

Output:

ER 4 ((troll) leather armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1  2.5  2.5  2.4  2.3  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.2  1.1  1.0  2  2.0  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.0  0.9  0.8  3  1.7  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7  4  1.4  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6  0.6  5  1.3  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  6  1.1  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  7  1.0  1.0  0.9  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  8  0.9  0.9  0.9  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4  9  0.8  0.8  0.8  0.8  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.3 10  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.3  0.3 11  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3 12  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3 13  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3 14  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2 15  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2 16  0.5  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2 17  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2  0.2 18  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2 19  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2 20  0.4  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2 21  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2 22  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2 23  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2 24  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2 25  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.1 26  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1 27  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1 28  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 29  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 30  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 31  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1 32  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1 33  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1 34  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1 35  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1 36  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1 37  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1 38  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1 39  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1 40  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1 41  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1 42  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1 43  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1 44  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1 45  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1 46  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1 47  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1 48  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1 49  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1 50  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1`

ER 5 (mottled dragon armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1  4.0  3.9  3.7  3.5  3.3  3.2  3.0  2.8  2.6  2.5  2.3  2.1  1.9  1.8  1.6  2  3.2  3.1  3.0  2.8  2.7  2.5  2.4  2.3  2.1  2.0  1.8  1.7  1.5  1.4  1.3  3  2.6  2.6  2.5  2.3  2.2  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.2  1.1  4  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  5  2.0  1.9  1.8  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  6  1.8  1.7  1.6  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  0.9  0.9  0.8  0.7  7  1.6  1.5  1.5  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7  0.6  8  1.4  1.4  1.3  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6  0.6  9  1.3  1.3  1.2  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6  0.5 10  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6  0.5  0.5 11  1.1  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5 12  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.4 13  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.4  0.4 14  0.9  0.9  0.9  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4 15  0.9  0.9  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4 16  0.8  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4  0.4  0.3 17  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3 18  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3 19  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3 20  0.7  0.7  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3 21  0.7  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3 22  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3 23  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.2 24  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2 25  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2 26  0.5  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2 27  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2 28  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2  0.2 29  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2  0.2 30  0.5  0.5  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2 31  0.5  0.5  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2 32  0.5  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2 33  0.4  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2 34  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2 35  0.4  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2 36  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2 37  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2 38  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2 39  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2 40  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.1 41  0.4  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.1 42  0.4  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.1 43  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1 44  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 45  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 46  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 47  0.3  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 48  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1 49  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1 50  0.3  0.3  0.3  0.3  0.3  0.2  0.2  0.2  0.2  0.2  0.2  0.2  0.1  0.1  0.1`

ER 7 (ring mail, quicksilver/swamp dragon armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1  7.8  7.6  7.2  6.9  6.6  6.2  5.9  5.5  5.2  4.8  4.5  4.1  3.8  3.4  3.1  2  6.2  6.1  5.8  5.5  5.2  5.0  4.7  4.4  4.1  3.9  3.6  3.3  3.0  2.8  2.5  3  5.2  5.1  4.8  4.6  4.4  4.1  3.9  3.7  3.4  3.2  3.0  2.8  2.5  2.3  2.1  4  4.4  4.3  4.1  3.9  3.7  3.5  3.3  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8  5  3.9  3.8  3.6  3.4  3.3  3.1  2.9  2.8  2.6  2.4  2.2  2.1  1.9  1.7  1.6  6  3.4  3.4  3.2  3.1  2.9  2.8  2.6  2.5  2.3  2.1  2.0  1.8  1.7  1.5  1.4  7  3.1  3.0  2.9  2.8  2.6  2.5  2.3  2.2  2.1  1.9  1.8  1.7  1.5  1.4  1.2  8  2.8  2.8  2.6  2.5  2.4  2.3  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.1  9  2.6  2.5  2.4  2.3  2.2  2.1  2.0  1.8  1.7  1.6  1.5  1.4  1.3  1.1  1.0 10  2.4  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0 11  2.2  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9 12  2.1  2.0  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.8 13  1.9  1.9  1.8  1.7  1.6  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.9  0.8 14  1.8  1.8  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.7 15  1.7  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7 16  1.6  1.6  1.5  1.5  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.9  0.8  0.7  0.7 17  1.6  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6 18  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.7  0.7  0.6 19  1.4  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6 20  1.3  1.3  1.3  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.5 21  1.3  1.3  1.2  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.7  0.7  0.6  0.6  0.5 22  1.2  1.2  1.2  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5 23  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5 24  1.1  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5 25  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.4 26  1.1  1.0  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.4 27  1.0  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4 28  1.0  1.0  0.9  0.9  0.8  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.4  0.4 29  1.0  0.9  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4 30  0.9  0.9  0.9  0.8  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4 31  0.9  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4  0.4 32  0.9  0.9  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4  0.4 33  0.9  0.8  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.3 34  0.8  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4  0.4  0.3 35  0.8  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3 36  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3 37  0.8  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.4  0.4  0.4  0.3  0.3 38  0.8  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3 39  0.7  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3 40  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3 41  0.7  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3 42  0.7  0.7  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3 43  0.7  0.7  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3 44  0.7  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3 45  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3 46  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3 47  0.6  0.6  0.6  0.6  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.2 48  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.2 49  0.6  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2 50  0.6  0.6  0.5  0.5  0.5  0.5  0.4  0.4  0.4  0.4  0.3  0.3  0.3  0.3  0.2`

ER 10 (scale mail): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1 15.8 15.5 14.8 14.1 13.4 12.7 12.0 11.3 10.6  9.9  9.1  8.4  7.7  7.0  6.3  2 12.7 12.4 11.8 11.3 10.7 10.1  9.6  9.0  8.4  7.9  7.3  6.8  6.2  5.6  5.1  3 10.6 10.3  9.9  9.4  8.9  8.4  8.0  7.5  7.0  6.6  6.1  5.6  5.2  4.7  4.2  4  9.0  8.8  8.4  8.0  7.6  7.2  6.8  6.4  6.0  5.6  5.2  4.8  4.4  4.0  3.6  5  7.9  7.7  7.4  7.0  6.7  6.3  6.0  5.6  5.3  4.9  4.6  4.2  3.9  3.5  3.2  6  7.0  6.9  6.6  6.3  5.9  5.6  5.3  5.0  4.7  4.4  4.1  3.8  3.4  3.1  2.8  7  6.3  6.2  5.9  5.6  5.3  5.1  4.8  4.5  4.2  3.9  3.7  3.4  3.1  2.8  2.5  8  5.8  5.6  5.4  5.1  4.9  4.6  4.4  4.1  3.8  3.6  3.3  3.1  2.8  2.6  2.3  9  5.3  5.2  4.9  4.7  4.5  4.2  4.0  3.8  3.5  3.3  3.0  2.8  2.6  2.3  2.1 10  4.9  4.8  4.5  4.3  4.1  3.9  3.7  3.5  3.2  3.0  2.8  2.6  2.4  2.2  1.9 11  4.5  4.4  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8 12  4.2  4.1  3.9  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.3  2.1  1.9  1.7 13  4.0  3.9  3.7  3.5  3.3  3.2  3.0  2.8  2.6  2.5  2.3  2.1  1.9  1.8  1.6 14  3.7  3.6  3.5  3.3  3.1  3.0  2.8  2.6  2.5  2.3  2.2  2.0  1.8  1.7  1.5 15  3.5  3.4  3.3  3.1  3.0  2.8  2.7  2.5  2.3  2.2  2.0  1.9  1.7  1.6  1.4 16  3.3  3.3  3.1  3.0  2.8  2.7  2.5  2.4  2.2  2.1  1.9  1.8  1.6  1.5  1.3 17  3.2  3.1  3.0  2.8  2.7  2.5  2.4  2.3  2.1  2.0  1.8  1.7  1.5  1.4  1.3 18  3.0  2.9  2.8  2.7  2.5  2.4  2.3  2.1  2.0  1.9  1.7  1.6  1.5  1.3  1.2 19  2.9  2.8  2.7  2.6  2.4  2.3  2.2  2.0  1.9  1.8  1.7  1.5  1.4  1.3  1.2 20  2.8  2.7  2.6  2.4  2.3  2.2  2.1  2.0  1.8  1.7  1.6  1.5  1.3  1.2  1.1 21  2.6  2.6  2.5  2.3  2.2  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.2  1.1 22  2.5  2.5  2.4  2.3  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.2  1.1  1.0 23  2.4  2.4  2.3  2.2  2.1  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0 24  2.3  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.1  1.0  0.9 25  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9 26  2.2  2.1  2.0  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9 27  2.1  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.8 28  2.0  2.0  1.9  1.8  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.8 29  2.0  1.9  1.8  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8 30  1.9  1.9  1.8  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.9  0.8 31  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.8  0.7 32  1.8  1.8  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.0  1.0  0.9  0.8  0.7 33  1.8  1.7  1.6  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  0.9  0.9  0.8  0.7 34  1.7  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7 35  1.7  1.6  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  1.0  0.9  0.8  0.7  0.7 36  1.6  1.6  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.9  0.8  0.7  0.6 37  1.6  1.5  1.5  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7  0.6 38  1.5  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6 39  1.5  1.5  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.7  0.7  0.6 40  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.9  0.8  0.7  0.7  0.6 41  1.4  1.4  1.3  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6  0.6 42  1.4  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6 43  1.4  1.3  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.9  0.8  0.7  0.7  0.6  0.6 44  1.3  1.3  1.3  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.5 45  1.3  1.3  1.2  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6  0.5 46  1.3  1.3  1.2  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.7  0.7  0.6  0.6  0.5 47  1.3  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5 48  1.2  1.2  1.2  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5 49  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.9  0.8  0.8  0.7  0.6  0.6  0.5  0.5 50  1.2  1.2  1.1  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.7  0.6  0.6  0.5  0.5`

ER 11 (fire/ice/pearl dragon armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1 19.2 18.7 17.9 17.0 16.2 15.3 14.5 13.6 12.8 11.9 11.1 10.2  9.4  8.5  7.7  2 15.3 15.0 14.3 13.6 12.9 12.3 11.6 10.9 10.2  9.5  8.9  8.2  7.5  6.8  6.1  3 12.8 12.5 11.9 11.4 10.8 10.2  9.7  9.1  8.5  7.9  7.4  6.8  6.2  5.7  5.1  4 10.9 10.7 10.2  9.7  9.2  8.8  8.3  7.8  7.3  6.8  6.3  5.8  5.4  4.9  4.4  5  9.6  9.4  8.9  8.5  8.1  7.7  7.2  6.8  6.4  6.0  5.5  5.1  4.7  4.3  3.8  6  8.5  8.3  7.9  7.6  7.2  6.8  6.4  6.1  5.7  5.3  4.9  4.5  4.2  3.8  3.4  7  7.7  7.5  7.2  6.8  6.5  6.1  5.8  5.4  5.1  4.8  4.4  4.1  3.7  3.4  3.1  8  7.0  6.8  6.5  6.2  5.9  5.6  5.3  5.0  4.6  4.3  4.0  3.7  3.4  3.1  2.8  9  6.4  6.2  6.0  5.7  5.4  5.1  4.8  4.5  4.3  4.0  3.7  3.4  3.1  2.8  2.6 10  5.9  5.8  5.5  5.2  5.0  4.7  4.5  4.2  3.9  3.7  3.4  3.1  2.9  2.6  2.4 11  5.5  5.4  5.1  4.9  4.6  4.4  4.1  3.9  3.6  3.4  3.2  2.9  2.7  2.4  2.2 12  5.1  5.0  4.8  4.5  4.3  4.1  3.9  3.6  3.4  3.2  3.0  2.7  2.5  2.3  2.0 13  4.8  4.7  4.5  4.3  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.3  2.1  1.9 14  4.5  4.4  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8 15  4.3  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.5  2.3  2.1  1.9  1.7 16  4.0  3.9  3.8  3.6  3.4  3.2  3.0  2.9  2.7  2.5  2.3  2.2  2.0  1.8  1.6 17  3.8  3.7  3.6  3.4  3.2  3.1  2.9  2.7  2.6  2.4  2.2  2.0  1.9  1.7  1.5 18  3.6  3.6  3.4  3.2  3.1  2.9  2.8  2.6  2.4  2.3  2.1  1.9  1.8  1.6  1.5 19  3.5  3.4  3.3  3.1  2.9  2.8  2.6  2.5  2.3  2.2  2.0  1.9  1.7  1.5  1.4 20  3.3  3.3  3.1  3.0  2.8  2.7  2.5  2.4  2.2  2.1  1.9  1.8  1.6  1.5  1.3 21  3.2  3.1  3.0  2.8  2.7  2.6  2.4  2.3  2.1  2.0  1.8  1.7  1.6  1.4  1.3 22  3.1  3.0  2.9  2.7  2.6  2.5  2.3  2.2  2.0  1.9  1.8  1.6  1.5  1.4  1.2 23  2.9  2.9  2.8  2.6  2.5  2.4  2.2  2.1  2.0  1.8  1.7  1.6  1.4  1.3  1.2 24  2.8  2.8  2.6  2.5  2.4  2.3  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.1 25  2.7  2.7  2.6  2.4  2.3  2.2  2.1  1.9  1.8  1.7  1.6  1.5  1.3  1.2  1.1 26  2.6  2.6  2.5  2.3  2.2  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.2  1.1 27  2.6  2.5  2.4  2.3  2.2  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.2  1.1  1.0 28  2.5  2.4  2.3  2.2  2.1  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.2  1.1  1.0 29  2.4  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0 30  2.3  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.5  1.4  1.3  1.2  1.1  1.0  0.9 31  2.3  2.2  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9 32  2.2  2.1  2.0  1.9  1.8  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9 33  2.1  2.1  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.9 34  2.1  2.0  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  0.9  0.8 35  2.0  2.0  1.9  1.8  1.7  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  0.9  0.8 36  2.0  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.1  1.0  1.0  0.9  0.8 37  1.9  1.9  1.8  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.0  0.9  0.9  0.8 38  1.9  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.8  0.7 39  1.8  1.8  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.7 40  1.8  1.7  1.7  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  1.0  0.9  0.8  0.7 41  1.7  1.7  1.6  1.5  1.5  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.9  0.8  0.7 42  1.7  1.7  1.6  1.5  1.4  1.4  1.3  1.2  1.1  1.1  1.0  0.9  0.8  0.8  0.7 43  1.7  1.6  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.0  1.0  0.9  0.8  0.7  0.7 44  1.6  1.6  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  0.9  0.9  0.8  0.7  0.7 45  1.6  1.6  1.5  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.7  0.6 46  1.6  1.5  1.5  1.4  1.3  1.3  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6 47  1.5  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.7  0.7  0.6 48  1.5  1.5  1.4  1.3  1.3  1.2  1.1  1.1  1.0  0.9  0.9  0.8  0.7  0.7  0.6 49  1.5  1.4  1.4  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.9  0.8  0.7  0.7  0.6 50  1.4  1.4  1.3  1.3  1.2  1.2  1.1  1.0  1.0  0.9  0.8  0.8  0.7  0.6  0.6`

ER 15 (chain mail, shadow/storm dragon armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1 35.6 34.8 33.2 31.7 30.1 28.5 26.9 25.3 23.8 22.2 20.6 19.0 17.4 15.8 14.2  2 28.5 27.9 26.6 25.3 24.1 22.8 21.5 20.3 19.0 17.7 16.5 15.2 13.9 12.7 11.4  3 23.8 23.2 22.2 21.1 20.1 19.0 17.9 16.9 15.8 14.8 13.7 12.7 11.6 10.6  9.5  4 20.4 19.9 19.0 18.1 17.2 16.3 15.4 14.5 13.6 12.7 11.8 10.9 10.0  9.0  8.1  5 17.8 17.4 16.6 15.8 15.0 14.2 13.5 12.7 11.9 11.1 10.3  9.5  8.7  7.9  7.1  6 15.8 15.5 14.8 14.1 13.4 12.7 12.0 11.3 10.6  9.9  9.1  8.4  7.7  7.0  6.3  7 14.2 13.9 13.3 12.7 12.0 11.4 10.8 10.1  9.5  8.9  8.2  7.6  7.0  6.3  5.7  8 13.0 12.7 12.1 11.5 10.9 10.4  9.8  9.2  8.6  8.1  7.5  6.9  6.3  5.8  5.2  9 11.9 11.6 11.1 10.6 10.0  9.5  9.0  8.4  7.9  7.4  6.9  6.3  5.8  5.3  4.8 10 11.0 10.7 10.2  9.7  9.3  8.8  8.3  7.8  7.3  6.8  6.3  5.8  5.4  4.9  4.4 11 10.2 10.0  9.5  9.0  8.6  8.1  7.7  7.2  6.8  6.3  5.9  5.4  5.0  4.5  4.1 12  9.5  9.3  8.9  8.4  8.0  7.6  7.2  6.8  6.3  5.9  5.5  5.1  4.6  4.2  3.8 13  8.9  8.7  8.3  7.9  7.5  7.1  6.7  6.3  5.9  5.5  5.1  4.8  4.4  4.0  3.6 14  8.4  8.2  7.8  7.5  7.1  6.7  6.3  6.0  5.6  5.2  4.8  4.5  4.1  3.7  3.4 15  7.9  7.7  7.4  7.0  6.7  6.3  6.0  5.6  5.3  4.9  4.6  4.2  3.9  3.5  3.2 16  7.5  7.3  7.0  6.7  6.3  6.0  5.7  5.3  5.0  4.7  4.3  4.0  3.7  3.3  3.0 17  7.1  7.0  6.6  6.3  6.0  5.7  5.4  5.1  4.8  4.4  4.1  3.8  3.5  3.2  2.9 18  6.8  6.6  6.3  6.0  5.7  5.4  5.1  4.8  4.5  4.2  3.9  3.6  3.3  3.0  2.7 19  6.5  6.3  6.0  5.8  5.5  5.2  4.9  4.6  4.3  4.0  3.7  3.5  3.2  2.9  2.6 20  6.2  6.1  5.8  5.5  5.2  5.0  4.7  4.4  4.1  3.9  3.6  3.3  3.0  2.8  2.5 21  5.9  5.8  5.5  5.3  5.0  4.8  4.5  4.2  4.0  3.7  3.4  3.2  2.9  2.6  2.4 22  5.7  5.6  5.3  5.1  4.8  4.6  4.3  4.1  3.8  3.5  3.3  3.0  2.8  2.5  2.3 23  5.5  5.4  5.1  4.9  4.6  4.4  4.1  3.9  3.7  3.4  3.2  2.9  2.7  2.4  2.2 24  5.3  5.2  4.9  4.7  4.5  4.2  4.0  3.8  3.5  3.3  3.0  2.8  2.6  2.3  2.1 25  5.1  5.0  4.8  4.5  4.3  4.1  3.8  3.6  3.4  3.2  2.9  2.7  2.5  2.3  2.0 26  4.9  4.8  4.6  4.4  4.1  3.9  3.7  3.5  3.3  3.1  2.8  2.6  2.4  2.2  2.0 27  4.8  4.6  4.4  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.7  2.5  2.3  2.1  1.9 28  4.6  4.5  4.3  4.1  3.9  3.7  3.5  3.3  3.1  2.9  2.7  2.5  2.2  2.0  1.8 29  4.5  4.4  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8 30  4.3  4.2  4.0  3.8  3.6  3.5  3.3  3.1  2.9  2.7  2.5  2.3  2.1  1.9  1.7 31  4.2  4.1  3.9  3.7  3.5  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.9  1.7 32  4.1  4.0  3.8  3.6  3.4  3.3  3.1  2.9  2.7  2.5  2.4  2.2  2.0  1.8  1.6 33  4.0  3.9  3.7  3.5  3.3  3.2  3.0  2.8  2.6  2.5  2.3  2.1  1.9  1.8  1.6 34  3.9  3.8  3.6  3.4  3.3  3.1  2.9  2.7  2.6  2.4  2.2  2.1  1.9  1.7  1.5 35  3.8  3.7  3.5  3.3  3.2  3.0  2.8  2.7  2.5  2.3  2.2  2.0  1.8  1.7  1.5 36  3.7  3.6  3.4  3.2  3.1  2.9  2.8  2.6  2.4  2.3  2.1  1.9  1.8  1.6  1.5 37  3.6  3.5  3.3  3.2  3.0  2.9  2.7  2.5  2.4  2.2  2.1  1.9  1.7  1.6  1.4 38  3.5  3.4  3.2  3.1  2.9  2.8  2.6  2.5  2.3  2.2  2.0  1.9  1.7  1.5  1.4 39  3.4  3.3  3.2  3.0  2.9  2.7  2.6  2.4  2.3  2.1  2.0  1.8  1.7  1.5  1.4 40  3.3  3.2  3.1  2.9  2.8  2.7  2.5  2.4  2.2  2.1  1.9  1.8  1.6  1.5  1.3 41  3.2  3.2  3.0  2.9  2.7  2.6  2.4  2.3  2.2  2.0  1.9  1.7  1.6  1.4  1.3 42  3.2  3.1  3.0  2.8  2.7  2.5  2.4  2.3  2.1  2.0  1.8  1.7  1.5  1.4  1.3 43  3.1  3.0  2.9  2.8  2.6  2.5  2.3  2.2  2.1  1.9  1.8  1.7  1.5  1.4  1.2 44  3.0  3.0  2.8  2.7  2.6  2.4  2.3  2.2  2.0  1.9  1.8  1.6  1.5  1.3  1.2 45  3.0  2.9  2.8  2.6  2.5  2.4  2.2  2.1  2.0  1.8  1.7  1.6  1.5  1.3  1.2 46  2.9  2.8  2.7  2.6  2.5  2.3  2.2  2.1  1.9  1.8  1.7  1.6  1.4  1.3  1.2 47  2.9  2.8  2.7  2.5  2.4  2.3  2.2  2.0  1.9  1.8  1.6  1.5  1.4  1.3  1.1 48  2.8  2.7  2.6  2.5  2.4  2.2  2.1  2.0  1.9  1.7  1.6  1.5  1.4  1.2  1.1 49  2.7  2.7  2.6  2.4  2.3  2.2  2.1  1.9  1.8  1.7  1.6  1.5  1.3  1.2  1.1 50  2.7  2.6  2.5  2.4  2.3  2.2  2.0  1.9  1.8  1.7  1.6  1.4  1.3  1.2  1.1`

ER 18 (plate armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1 51.3 50.2 47.9 45.6 43.3 41.0 38.8 36.5 34.2 31.9 29.6 27.4 25.1 22.8 20.5  2 41.0 40.1 38.3 36.5 34.7 32.8 31.0 29.2 27.4 25.5 23.7 21.9 20.1 18.2 16.4  3 34.2 33.4 31.9 30.4 28.9 27.4 25.8 24.3 22.8 21.3 19.8 18.2 16.7 15.2 13.7  4 29.3 28.7 27.4 26.1 24.8 23.5 22.1 20.8 19.5 18.2 16.9 15.6 14.3 13.0 11.7  5 25.7 25.1 23.9 22.8 21.7 20.5 19.4 18.2 17.1 16.0 14.8 13.7 12.5 11.4 10.3  6 22.8 22.3 21.3 20.3 19.3 18.2 17.2 16.2 15.2 14.2 13.2 12.2 11.1 10.1  9.1  7 20.5 20.1 19.2 18.2 17.3 16.4 15.5 14.6 13.7 12.8 11.9 10.9 10.0  9.1  8.2  8 18.7 18.2 17.4 16.6 15.8 14.9 14.1 13.3 12.4 11.6 10.8  9.9  9.1  8.3  7.5  9 17.1 16.7 16.0 15.2 14.4 13.7 12.9 12.2 11.4 10.6  9.9  9.1  8.4  7.6  6.8 10 15.8 15.4 14.7 14.0 13.3 12.6 11.9 11.2 10.5  9.8  9.1  8.4  7.7  7.0  6.3 11 14.7 14.3 13.7 13.0 12.4 11.7 11.1 10.4  9.8  9.1  8.5  7.8  7.2  6.5  5.9 12 13.7 13.4 12.8 12.2 11.6 10.9 10.3  9.7  9.1  8.5  7.9  7.3  6.7  6.1  5.5 13 12.8 12.5 12.0 11.4 10.8 10.3  9.7  9.1  8.6  8.0  7.4  6.8  6.3  5.7  5.1 14 12.1 11.8 11.3 10.7 10.2  9.7  9.1  8.6  8.0  7.5  7.0  6.4  5.9  5.4  4.8 15 11.4 11.1 10.6 10.1  9.6  9.1  8.6  8.1  7.6  7.1  6.6  6.1  5.6  5.1  4.6 16 10.8 10.6 10.1  9.6  9.1  8.6  8.2  7.7  7.2  6.7  6.2  5.8  5.3  4.8  4.3 17 10.3 10.0  9.6  9.1  8.7  8.2  7.8  7.3  6.8  6.4  5.9  5.5  5.0  4.6  4.1 18  9.8  9.6  9.1  8.7  8.3  7.8  7.4  6.9  6.5  6.1  5.6  5.2  4.8  4.3  3.9 19  9.3  9.1  8.7  8.3  7.9  7.5  7.0  6.6  6.2  5.8  5.4  5.0  4.6  4.1  3.7 20  8.9  8.7  8.3  7.9  7.5  7.1  6.7  6.3  5.9  5.6  5.2  4.8  4.4  4.0  3.6 21  8.6  8.4  8.0  7.6  7.2  6.8  6.5  6.1  5.7  5.3  4.9  4.6  4.2  3.8  3.4 22  8.2  8.0  7.7  7.3  6.9  6.6  6.2  5.8  5.5  5.1  4.7  4.4  4.0  3.6  3.3 23  7.9  7.7  7.4  7.0  6.7  6.3  6.0  5.6  5.3  4.9  4.6  4.2  3.9  3.5  3.2 24  7.6  7.4  7.1  6.8  6.4  6.1  5.7  5.4  5.1  4.7  4.4  4.1  3.7  3.4  3.0 25  7.3  7.2  6.8  6.5  6.2  5.9  5.5  5.2  4.9  4.6  4.2  3.9  3.6  3.3  2.9 26  7.1  6.9  6.6  6.3  6.0  5.7  5.3  5.0  4.7  4.4  4.1  3.8  3.5  3.1  2.8 27  6.8  6.7  6.4  6.1  5.8  5.5  5.2  4.9  4.6  4.3  4.0  3.6  3.3  3.0  2.7 28  6.6  6.5  6.2  5.9  5.6  5.3  5.0  4.7  4.4  4.1  3.8  3.5  3.2  2.9  2.6 29  6.4  6.3  6.0  5.7  5.4  5.1  4.8  4.6  4.3  4.0  3.7  3.4  3.1  2.9  2.6 30  6.2  6.1  5.8  5.5  5.3  5.0  4.7  4.4  4.1  3.9  3.6  3.3  3.0  2.8  2.5 31  6.0  5.9  5.6  5.4  5.1  4.8  4.6  4.3  4.0  3.8  3.5  3.2  3.0  2.7  2.4 32  5.9  5.7  5.5  5.2  5.0  4.7  4.4  4.2  3.9  3.6  3.4  3.1  2.9  2.6  2.3 33  5.7  5.6  5.3  5.1  4.8  4.6  4.3  4.1  3.8  3.5  3.3  3.0  2.8  2.5  2.3 34  5.5  5.4  5.2  4.9  4.7  4.4  4.2  3.9  3.7  3.5  3.2  3.0  2.7  2.5  2.2 35  5.4  5.3  5.0  4.8  4.6  4.3  4.1  3.8  3.6  3.4  3.1  2.9  2.6  2.4  2.2 36  5.3  5.1  4.9  4.7  4.4  4.2  4.0  3.7  3.5  3.3  3.0  2.8  2.6  2.3  2.1 37  5.1  5.0  4.8  4.6  4.3  4.1  3.9  3.6  3.4  3.2  3.0  2.7  2.5  2.3  2.1 38  5.0  4.9  4.7  4.4  4.2  4.0  3.8  3.6  3.3  3.1  2.9  2.7  2.4  2.2  2.0 39  4.9  4.8  4.6  4.3  4.1  3.9  3.7  3.5  3.3  3.0  2.8  2.6  2.4  2.2  2.0 40  4.8  4.7  4.5  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.5  2.3  2.1  1.9 41  4.7  4.6  4.4  4.1  3.9  3.7  3.5  3.3  3.1  2.9  2.7  2.5  2.3  2.1  1.9 42  4.6  4.5  4.3  4.1  3.9  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8 43  4.5  4.4  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.8 44  4.4  4.3  4.1  3.9  3.7  3.5  3.3  3.1  2.9  2.7  2.5  2.3  2.1  1.9  1.7 45  4.3  4.2  4.0  3.8  3.6  3.4  3.2  3.0  2.9  2.7  2.5  2.3  2.1  1.9  1.7 46  4.2  4.1  3.9  3.7  3.5  3.4  3.2  3.0  2.8  2.6  2.4  2.2  2.0  1.9  1.7 47  4.1  4.0  3.8  3.6  3.5  3.3  3.1  2.9  2.7  2.6  2.4  2.2  2.0  1.8  1.6 48  4.0  3.9  3.8  3.6  3.4  3.2  3.0  2.9  2.7  2.5  2.3  2.1  2.0  1.8  1.6 49  3.9  3.9  3.7  3.5  3.3  3.2  3.0  2.8  2.6  2.5  2.3  2.1  1.9  1.8  1.6 50  3.9  3.8  3.6  3.4  3.3  3.1  2.9  2.8  2.6  2.4  2.2  2.1  1.9  1.7  1.5`

ER 23 (crystal plate armour, gold dragon armour): Additional spell skill levels required to overcome armour penalty as a function of Armour skill (x-axis) and Str (y-axis):
Code:
`S\A    0    1    3    5    7    9   11   13   15   17   19   21   23   25   27  1 83.8 81.9 78.2 74.5 70.7 67.0 63.3 59.6 55.8 52.1 48.4 44.7 40.9 37.2 33.5  2 67.0 65.5 62.5 59.6 56.6 53.6 50.6 47.6 44.7 41.7 38.7 35.7 32.8 29.8 26.8  3 55.8 54.6 52.1 49.6 47.2 44.7 42.2 39.7 37.2 34.7 32.3 29.8 27.3 24.8 22.3  4 47.9 46.8 44.7 42.5 40.4 38.3 36.2 34.0 31.9 29.8 27.7 25.5 23.4 21.3 19.1  5 41.9 40.9 39.1 37.2 35.4 33.5 31.6 29.8 27.9 26.1 24.2 22.3 20.5 18.6 16.8  6 37.2 36.4 34.7 33.1 31.4 29.8 28.1 26.5 24.8 23.2 21.5 19.9 18.2 16.5 14.9  7 33.5 32.8 31.3 29.8 28.3 26.8 25.3 23.8 22.3 20.8 19.4 17.9 16.4 14.9 13.4  8 30.5 29.8 28.4 27.1 25.7 24.4 23.0 21.7 20.3 19.0 17.6 16.2 14.9 13.5 12.2  9 27.9 27.3 26.1 24.8 23.6 22.3 21.1 19.9 18.6 17.4 16.1 14.9 13.6 12.4 11.2 10 25.8 25.2 24.1 22.9 21.8 20.6 19.5 18.3 17.2 16.0 14.9 13.7 12.6 11.5 10.3 11 23.9 23.4 22.3 21.3 20.2 19.1 18.1 17.0 16.0 14.9 13.8 12.8 11.7 10.6  9.6 12 22.3 21.8 20.8 19.9 18.9 17.9 16.9 15.9 14.9 13.9 12.9 11.9 10.9  9.9  8.9 13 20.9 20.5 19.5 18.6 17.7 16.8 15.8 14.9 14.0 13.0 12.1 11.2 10.2  9.3  8.4 14 19.7 19.3 18.4 17.5 16.6 15.8 14.9 14.0 13.1 12.3 11.4 10.5  9.6  8.8  7.9 15 18.6 18.2 17.4 16.5 15.7 14.9 14.1 13.2 12.4 11.6 10.8  9.9  9.1  8.3  7.4 16 17.6 17.2 16.5 15.7 14.9 14.1 13.3 12.5 11.8 11.0 10.2  9.4  8.6  7.8  7.1 17 16.8 16.4 15.6 14.9 14.1 13.4 12.7 11.9 11.2 10.4  9.7  8.9  8.2  7.4  6.7 18 16.0 15.6 14.9 14.2 13.5 12.8 12.1 11.3 10.6  9.9  9.2  8.5  7.8  7.1  6.4 19 15.2 14.9 14.2 13.5 12.9 12.2 11.5 10.8 10.2  9.5  8.8  8.1  7.4  6.8  6.1 20 14.6 14.2 13.6 12.9 12.3 11.7 11.0 10.4  9.7  9.1  8.4  7.8  7.1  6.5  5.8 21 14.0 13.6 13.0 12.4 11.8 11.2 10.5  9.9  9.3  8.7  8.1  7.4  6.8  6.2  5.6 22 13.4 13.1 12.5 11.9 11.3 10.7 10.1  9.5  8.9  8.3  7.7  7.1  6.6  6.0  5.4 23 12.9 12.6 12.0 11.5 10.9 10.3  9.7  9.2  8.6  8.0  7.4  6.9  6.3  5.7  5.2 24 12.4 12.1 11.6 11.0 10.5  9.9  9.4  8.8  8.3  7.7  7.2  6.6  6.1  5.5  5.0 25 12.0 11.7 11.2 10.6 10.1  9.6  9.0  8.5  8.0  7.4  6.9  6.4  5.8  5.3  4.8 26 11.6 11.3 10.8 10.3  9.8  9.2  8.7  8.2  7.7  7.2  6.7  6.2  5.6  5.1  4.6 27 11.2 10.9 10.4  9.9  9.4  8.9  8.4  7.9  7.4  6.9  6.5  6.0  5.5  5.0  4.5 28 10.8 10.6 10.1  9.6  9.1  8.6  8.2  7.7  7.2  6.7  6.2  5.8  5.3  4.8  4.3 29 10.5 10.2  9.8  9.3  8.8  8.4  7.9  7.4  7.0  6.5  6.0  5.6  5.1  4.7  4.2 30 10.2  9.9  9.5  9.0  8.6  8.1  7.7  7.2  6.8  6.3  5.9  5.4  5.0  4.5  4.1 31  9.9  9.6  9.2  8.8  8.3  7.9  7.4  7.0  6.6  6.1  5.7  5.3  4.8  4.4  3.9 32  9.6  9.4  8.9  8.5  8.1  7.7  7.2  6.8  6.4  6.0  5.5  5.1  4.7  4.3  3.8 33  9.3  9.1  8.7  8.3  7.9  7.4  7.0  6.6  6.2  5.8  5.4  5.0  4.5  4.1  3.7 34  9.1  8.9  8.5  8.0  7.6  7.2  6.8  6.4  6.0  5.6  5.2  4.8  4.4  4.0  3.6 35  8.8  8.6  8.2  7.8  7.4  7.1  6.7  6.3  5.9  5.5  5.1  4.7  4.3  3.9  3.5 36  8.6  8.4  8.0  7.6  7.3  6.9  6.5  6.1  5.7  5.3  5.0  4.6  4.2  3.8  3.4 37  8.4  8.2  7.8  7.4  7.1  6.7  6.3  6.0  5.6  5.2  4.8  4.5  4.1  3.7  3.4 38  8.2  8.0  7.6  7.3  6.9  6.5  6.2  5.8  5.4  5.1  4.7  4.4  4.0  3.6  3.3 39  8.0  7.8  7.4  7.1  6.7  6.4  6.0  5.7  5.3  5.0  4.6  4.3  3.9  3.5  3.2 40  7.8  7.6  7.3  6.9  6.6  6.2  5.9  5.5  5.2  4.8  4.5  4.2  3.8  3.5  3.1 41  7.6  7.4  7.1  6.8  6.4  6.1  5.8  5.4  5.1  4.7  4.4  4.1  3.7  3.4  3.0 42  7.4  7.3  6.9  6.6  6.3  6.0  5.6  5.3  5.0  4.6  4.3  4.0  3.6  3.3  3.0 43  7.3  7.1  6.8  6.5  6.2  5.8  5.5  5.2  4.9  4.5  4.2  3.9  3.6  3.2  2.9 44  7.1  7.0  6.7  6.3  6.0  5.7  5.4  5.1  4.8  4.4  4.1  3.8  3.5  3.2  2.9 45  7.0  6.8  6.5  6.2  5.9  5.6  5.3  5.0  4.7  4.3  4.0  3.7  3.4  3.1  2.8 46  6.8  6.7  6.4  6.1  5.8  5.5  5.2  4.9  4.6  4.3  4.0  3.6  3.3  3.0  2.7 47  6.7  6.6  6.3  6.0  5.7  5.4  5.1  4.8  4.5  4.2  3.9  3.6  3.3  3.0  2.7 48  6.6  6.4  6.1  5.8  5.5  5.3  5.0  4.7  4.4  4.1  3.8  3.5  3.2  2.9  2.6 49  6.4  6.3  6.0  5.7  5.4  5.2  4.9  4.6  4.3  4.0  3.7  3.4  3.1  2.9  2.6 50  6.3  6.2  5.9  5.6  5.3  5.1  4.8  4.5  4.2  3.9  3.7  3.4  3.1  2.8  2.5`
Spellcasting penalties, Armour skill, and strength
15 runes: 2x HuSk, Op(Mo,Tm,Wn,Fi,Wr,EE,AM,Wz,Ne), VSTm, DsTm, Dg(Sk,Tm), MuGl, GhMo, Fe(En,EE,Ar,Wn,IE)
3 runes: FoFi, OgSk, KoHu, SpCj, 2x DgGl, MiBe, Fe(Fi,Tm,Mo,Su)

For this message the author ThreeInvisibleDucks has received thanks: 9
Berder, kuniqs, MainiacJoe, mattlistener, mopl, mps, ololoev, Styro, ZoFy

Tartarus Sorceror

Posts: 1774

Joined: Tuesday, 23rd December 2014, 23:39

### Re: Armour spellcasting penalties

Where in the crawl code does it divide the penalty by 12?
streaks: 5 fifteen rune octopodes. 15 diverse chars. 13 random chars. 24 NaWn^gozag.
251 total wins Berder hyperborean + misc
83/108 recent wins (76%)
guides: safe tactics value of ac/ev/sh forum toxicity

Tomb Titivator

Posts: 856

Joined: Friday, 31st October 2014, 10:03

### Re: Armour spellcasting penalties

Where in the crawl code does it divide the penalty by 12?

A good question. My quick reading of the code was that calc_spell_power() would return twice the skill level, then multiplied by 6, and as some tests in wizard mode seemed to confirm the results, I just assumed it was correct. It may have been a happy accident that resulted in a good-enough approximation.
Spellcasting penalties, Armour skill, and strength
15 runes: 2x HuSk, Op(Mo,Tm,Wn,Fi,Wr,EE,AM,Wz,Ne), VSTm, DsTm, Dg(Sk,Tm), MuGl, GhMo, Fe(En,EE,Ar,Wn,IE)
3 runes: FoFi, OgSk, KoHu, SpCj, 2x DgGl, MiBe, Fe(Fi,Tm,Mo,Su)

For this message the author ThreeInvisibleDucks has received thanks:
Berder

Tartarus Sorceror

Posts: 1774

Joined: Tuesday, 23rd December 2014, 23:39

### Re: Armour spellcasting penalties

calc_spell_power() puts the spellpower through a nonlinear stepdown. I tracked it down once before, and I believe where it's called from raw_spell_fail, the following gets calculated:
pow = (Spellcasting/2 + 2*avg school skill)
stepdown_pow = min(pow, 200, 50*log_2(1 + pow/50))
It's possible to make a direct comparison between encumbrance and magic skill levels, so long as pow < 50, which is most of the time. e.g. spellcasting 20, spell school 20, gives you a power of exactly 50. With that caveat I think it's correct.
streaks: 5 fifteen rune octopodes. 15 diverse chars. 13 random chars. 24 NaWn^gozag.
251 total wins Berder hyperborean + misc
83/108 recent wins (76%)
guides: safe tactics value of ac/ev/sh forum toxicity

For this message the author Berder has received thanks:
ThreeInvisibleDucks

Tomb Titivator

Posts: 856

Joined: Friday, 31st October 2014, 10:03

### Re: Armour spellcasting penalties

Ok, thanks. I wasn't surprised it turned out to be more complicated than my simplistic approximation.
Spellcasting penalties, Armour skill, and strength
15 runes: 2x HuSk, Op(Mo,Tm,Wn,Fi,Wr,EE,AM,Wz,Ne), VSTm, DsTm, Dg(Sk,Tm), MuGl, GhMo, Fe(En,EE,Ar,Wn,IE)
3 runes: FoFi, OgSk, KoHu, SpCj, 2x DgGl, MiBe, Fe(Fi,Tm,Mo,Su)

Ziggurat Zagger

Posts: 5193

Joined: Friday, 25th November 2011, 07:36

### Re: Armour spellcasting penalties

Berder wrote:calc_spell_power() puts the spellpower through a nonlinear stepdown. I tracked it down once before, and I believe where it's called from raw_spell_fail, the following gets calculated:
pow = (Spellcasting/2 + 2*avg school skill)
stepdown_pow = min(pow, 200, 50*log_2(1 + pow/50))
It's possible to make a direct comparison between encumbrance and magic skill levels, so long as pow < 50, which is most of the time. e.g. spellcasting 20, spell school 20, gives you a power of exactly 50. With that caveat I think it's correct.

The stepdown on power applies only to spellcasting/spell schools and not int? I thought it applied after your int took effect, which would mean it kicks in a lot earlier. Basically anytime you have 5 #'s on a spell, it's been stepped down, unless it's 50 exactly. So a conjurer with 10 spellcasting, 10 conjurations, and 20 int (a x2 int multiplier) casts IMB, hits 50 exactly, and gets 50 spellpower. But one with 13 conjurations would have had 56 spellpower, and gets reduced to some value I assume is roughly 53 but didn't calculate.

Tomb Titivator

Posts: 856

Joined: Friday, 31st October 2014, 10:03

### Re: Armour spellcasting penalties

Int does not affect spellpower when the game calculates the chance of spell failure. Specifically, calc_spell_power() is called with apply_intel=false, fail_rate_check=true from raw_spell_fail().
Spellcasting penalties, Armour skill, and strength
15 runes: 2x HuSk, Op(Mo,Tm,Wn,Fi,Wr,EE,AM,Wz,Ne), VSTm, DsTm, Dg(Sk,Tm), MuGl, GhMo, Fe(En,EE,Ar,Wn,IE)
3 runes: FoFi, OgSk, KoHu, SpCj, 2x DgGl, MiBe, Fe(Fi,Tm,Mo,Su)