Some notes about spell success penalties


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

Dungeon Master

Posts: 605

Joined: Thursday, 23rd October 2014, 03:08

Post Tuesday, 17th April 2018, 06:55

Some notes about spell success penalties

There was a discussion on Discord about calculating requirements for spell failure and I did some math to try and simplify the work; here's the stuff I worked out.

First, here's a summary of what this post covers: This is going to explain (roughly) how spell level, spell schools, spellcasting, Int, Str, ER, shield penalties, Armour skill, and Shields skill relate to each other regarding maintaining a specific spell failure %, specifically how many spell levels each type of penalty corresponds to. This does not explain how to estimate your % failure rates using these stats, you'll have to go back to wizmode for that.

Second, this is working off the formula as explained on http://crawl.chaosforge.org/Spell_Success, which may or may not be accurate to whatever version of crawl you're playing (but it should be accurate to 0.21, the latest stable version as of this post):
Spoiler: show
Your spell failure is derived from a number according to this formula:
  Code:
spellFailure = 60
              - [6 * spell skills]
              - [2 * Intelligence]
              + Spell difficulty
              + Armour/shield penalty

where spell skills is
  Code:
[Spellcasting / 2] + [Average(SpellSkills) * 2]

note that this is affected by a stepdown if this value is larger than 50;

spell difficulty is
  Code:
spellDifficulty =   3 (level 1)
                    15 (level 2)   (+12)
                    35 (level 3)   (+20)
                    70 (level 4)   (+35)
                   100 (level 5)   (+30)
                   150 (level 6)   (+50)
                   200 (level 7)   (+50)
                   260 (level 8)   (+60)
                   330 (level 9)   (+70)

armour/shield penalty is
  Code:
Armour/Shield Penalty = 19 * (armour penalty) + 19 * (shield penalty)

armour penalty is
  Code:
armour penalty = 0.4 * (Encumbrance Rating)^2
                  * (45 - Armour skill Lv) / 45
                  / (Str + 3)

and finally, shield penalty is
  Code:
shield penalty = max(0, (EV Penalty) - (Shield Skill Lv) / (Player species factor) )

EV Penalties:
Buckler    0.8
Shield       3
Large Shield 5


If you want the details to how I've derived these estimations, they're in the following spoiler:
Spoiler: show
This analysis works off the fact that all penalties are additive and each parameter appears in only one formula, so changing a single value doesn't affect the contributions from other values. So the first step is to normalize everything to spell skills by dividing by 12:
  Code:
spellFailure = 5
              - (Spellcasting/4 + Spell School Average)
              - Intelligence/6
              + Spell difficulty/12
              + Armour/shield penalty/12

This makes the relation between Spellcasting, Int and spell schools obvious. For spell difficulty, we round to the nearest 0.5. Shields is similar. Note that the formula is linear in skill, so for example getting halfway to the breakpoint halves the penalty.

Armour and requires a bit of massaging to get something digestible. Rounding the 19 to 20 simplifies the penalties to
  Code:
armour penalty = 2/3*(Encumbrance Rating)^2/(Str+3)*(45 - Armour skill Lv)/45
,
and we can simplify the multiplier from Armour skill to a linear scale between 1 and 0.4. Finally, if Str = ER, then ER/(Str+3) is somewhere between about 0.66 (for acid dragon scales) and about 0.88 for crystal plate armour, so we'll assume that value is about 0.75 which simplifies the formula down to a neat
  Code:
ER*Armour Skill Multiplier/2


Now for the actually interesting part, the summary. When I say +X spell schools I mean increasing the average of all relevant spell schools by X; For example, if X is 1 and you have a dual-school spell this can be accomplished by training a total of two levels between the schools, either +2 in one school, +1 in both, +0.5 in one and +1.5 in the other, etc. As a reminder, a stepdown is applied to "spell skills" so these values are not correct (except for spellcasting) if you've already trained a lot of skills (and I mean +20 skills), they'll be higher.

  • +4 spellcasting is equal to +1 spell schools.
  • +6 Int is roughly equal to +1 spell schools.
  • For spell levels, you need to (roughly) train additional spell schools according to this table:
      Code:
    Getting a level N spell to the same failure rate as a level N-1 spell currently:

    Spell Level   +X
    2              1
    3            1.5
    4              3
    5            2.5
    6              4
    7              4
    8              5
    9              6

    Getting a level N spell to the same failure rate as a level 1 spell currently:

    Spell Level   +X
    2              1
    3              3
    4              6
    5            8.5
    6           12.5
    7           16.5
    8           21.5
    9           27.5

    To explain these tables: Let's say you're casting Confuse at 15% failure rate. Then if you train +3 hexes, Cause Fear will be at (around) 15% failure rate. Similarly, let's say you have Flame Tongue at 28% with 0 Spellcasting/Fire/Conj. Then Bolt of Fire will be castable at (roughly) 28% with 12.5 Fire/Conj. Also, as spell failure likes to hang around 1% a lot, the requirement might be lower if you're comparing to a spell that currently has 1% fail rate.
  • Armour skill modifies your ER penalties by a multiplier between 0.4 and 1, linear in your Armour skill. Some easy values to remember are 22.5 (0.5 modifier) and 11 (approx 3/4 multiplier).
  • For armour, if your Strength is equal to ER, then your penalty is (roughly) equivalent to +ER/2 spell schools (this value may be off by 1 depending on your exact armour), scaled between 0.4 and 1 based on your armour skill. So if you wear crystal plate armour with 23 Strength, you'll need to train (roughly) +11.5 spell schools to get the same success as in robes. If you had 11 Armour, you'd only need to train (roughly) +9 spell schools instead.
  • If you want a bit more precision or don't have Str = ER yet, you can estimate your ER penalty by +ER*2/3*ER/(Str+3)). Obviously not as catchy.
  • For shields, assuming you have 0 shields skill, Bucklers give a penalty (roughly) equal to +1.5 spell schools, Shields give a penalty (roughly) equal to +5 spell schools, and Large Shields give a penalty (roughly) equal to +8.5 spell schools. Shields skill have a multipler that's linear between 0 and 1, reaching 0 at a specific breakpoint value. The value depends on your species and shield so you'll have to look up the exact number; I'm not going to post them.

For this message the author CanOfWorms has received thanks: 8
duvessa, kurzedmetal, Nebukadnezar, Octopode-monk-of-XOM, Patashu, Shtopit, Torax, VeryAngryFelid

Ziggurat Zagger

Posts: 5193

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

Post Thursday, 3rd May 2018, 18:40

Re: Some notes about spell success penalties

CanOfWorms wrote:Shields skill have a multipler that's linear between 0 and 1, reaching 0 at a specific breakpoint value. The value depends on your species and shield so you'll have to look up the exact number; I'm not going to post them.[/list]

Worth noting that this number is listed in the item description of the shield for your character. The standard values are 4/15/25 for bucklers/shields/large shields on normal sized races, but varies by size. The other common case is 9 for shields and 15 for large shields for large races (basically trolls, sometimes nagas).
Last edited by tasonir on Saturday, 5th May 2018, 00:08, edited 1 time in total.

Spider Stomper

Posts: 212

Joined: Thursday, 2nd June 2016, 00:52

Post Thursday, 3rd May 2018, 21:27

Re: Some notes about spell success penalties

Spriggans and small races too IIRC are 7.2 for buckler and 20 for shield (small only for shield)
I'm with tasonir on this one.
User avatar

Vestibule Violator

Posts: 1498

Joined: Saturday, 18th June 2016, 13:57

Post Friday, 4th May 2018, 13:05

Re: Some notes about spell success penalties

tasonir wrote:
CanOfWorms wrote:Shields skill have a multipler that's linear between 0 and 1, reaching 0 at a specific breakpoint value. The value depends on your species and shield so you'll have to look up the exact number; I'm not going to post them.[/list]

Worth noting that this number is listed in the item description of the shield for your character. The standard values are 5/15/25 for bucklers/shields/large shields on normal sized races, but varies by size. The other common case is 9 for shields and 15 for large shields for large races (basically trolls, sometimes nagas).


4 for bucklers on human-sized species, in 0.21.1.
I Feel the Need--the Need for Beer
Spoiler: show
3DsBeTr, 15DsFiRu, 3DsMoNe, 3FoHuGo, 3TrArOk, 3HOFEVe, 3MfGlOk, 4GrEEVe, 3BaIEChei, 3HuMoOka, 3MiWnQaz, 3VSFiAsh, 3DrTmMakh, 3DsCKXom, 3OgMoOka, 3NaFiOka, 3FoFiOka, 3MuFEVeh, 3CeHuOka, 3TrMoTSO, 3DEFESif

For this message the author Shtopit has received thanks:
tasonir

Swamp Slogger

Posts: 145

Joined: Wednesday, 30th August 2017, 23:08

Post Friday, 4th May 2018, 23:19

Re: Some notes about spell success penalties

This is very helpful. Might I ask about wizardry, as well? How many "Effective spell levels" does wizardry equate to? That is - how many levels do I have to train before a spell with X% failure will have that failure chance, removing wizardry?

Return to Dungeon Crawling Advice

Who is online

Users browsing this forum: No registered users and 8 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.