Difference between revisions of "Spell Power"

From CrawlWiki
Jump to: navigation, search
(add exact stepdown function + other minor fixups)
m (Undo revision 81741 by Hordes (talk))
 
(23 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{version018}}
+
{{version032}}
  
Most spells use a '''spell power''' value to determine their damage, range, duration, etc. You can display your spell power for known spells by bringing up your spell list with '''z''', then '''?''', then '''!''', which will display a screen looking like this:
+
Every spell uses a '''spell power''' value to determine their effects: damage, range, duration, etc. You can display your spell power for known spells by bringing up your spell list with '''I''', then '''!''', which will display a screen looking like this:
  
 
   Your Spells                      Power
 
   Your Spells                      Power
  a - Call Imp                      ###.......
+
  a - Sting                         100%
b - Blink                         N/A
+
  c - Call Imp                      44%
  c - Conjure Flame                #####...
+
  d - Iron Shot                    11%
  d - Iron Shot                    ######....
 
  
Most [[spells]] have a capped spell power. A cap of 100 means that if your spell power is higher than 100, it will be set to 100. This is done to prevent players from casting super-powered low-level spells. The dots stop at the cap while the bars indicate how much effective spell power you have.
+
Each individual spell has a spell power cap placed on it. A cap of 100 means that if your spell power is higher than 100, it will be set to 100. This allows for low-level spells to scale quickly with skill, but prevents them from getting too strong.
 
 
==Equivalence==
 
 
 
The amount of bars of spell power shown in spell description does not increase at the same rate as the actual spell power. Here is a table of what values can be hidden behind the various possible description shown by the game :
 
 
 
Value          Description
 
0-9          #.........
 
10-14        ##........
 
15-24        ###.......
 
25-34        ####......
 
35-49        #####.....
 
50-74        ######....
 
75-99        #######...
 
100-149      ########..
 
150-199      #########.
 
200          ##########
 
 
 
Here is a graph of the bars versus power:
 
 
 
[[Image:Spell Power Bars vs Numeric.png|Bars versus numeric power]]
 
  
 
==Formula==
 
==Formula==
 
+
===Raw power===
 
First, the game calculates raw spell power using the following formula.
 
First, the game calculates raw spell power using the following formula.
  
   ((Spellcasting / 2) + (2 * [average_spell_schools]) + brilliance)
+
   ((Spellcasting / 2) + (2 * [average_spell_schools]))
 
   * enhancers
 
   * enhancers
   * (INT / 10)
+
   * ([[Intelligence]] / 10)
   * wild magic
+
   * mutations
  * augmentation
 
  
*'''Average spell schools''' is the average of all the skills necessary for the spell - up to three schools for some spells (e.g. [[Mephitic Cloud]], which requires Conjurations, Poison Magic, and Air Magic).
+
*'''Average spell schools''' is the average of all the skills necessary for the spell - up to three schools for some spells (e.g. [[Mephitic Cloud]], which requires Conjurations, Alchemy, and Air Magic).
* '''Brilliance''' is the effect of a [[potion of brilliance]]. The boost is equal to three average skill levels, but is still applied even if your average skill level has reached the max of 27. This boost is wholly separate from the wizardry effect and from the temporary Intelligence gain (which also affects spell power).
+
*'''Spell Enhancers''' include [[magical staves]], [[brilliance]], [[Archmagi]], etc. Every enhancer adds one to this count, every dampener subtracts one. If positive, your spell power is multiplied by 1.5<sup>(enhancers)</sup>. If it is negative, it is multiplied by 0.5<sup>(-enhancers)</sup>. Enhancers are capped at ±3.
*'''Enhancers''' is a factor calculated from rings of fire, staves of cold, a robe of the Archmagi, etc. You get +1 for every enhancer and -1 for every dampener. If the factor is positive, your spell power is multiplied by 1.5<sup>(factor)</sup>. If it is negative, it is multiplied by 0.5<sup>(factor)</sup>, effectively halving your power every dampener. The factor is capped at ±3.
+
*'''Mutations''' add a multiplier, depending on the mutation in question.
* '''Wild Magic''' is a [[mutation]] that increases your spell power, but decreases your success rate. The bonus is ×1.3, ×1.6 or ×1.9 depending on how many levels of this mutation you have.
+
**'''Wild Magic''' increases your spell power, but decreases your success rate. The bonus is ×1.3, ×1.6 or ×1.9 depending on how many levels of this mutation you have.
* '''Subdued Magic''' is a [[mutation]] that decreases your spell power, but increases your success rate. The penalty is /1.3, /1.6, or /1.9 depending on how many levels of this mutation you have. This is equivalent to x0.77,  x0.63, or x0.53.
+
**'''Subdued Magic''' decreases your spell power, but increases your success rate. The penalty is /1.3, /1.6, or /1.9 depending on how many levels of this mutation you have. This is equivalent to x0.77,  x0.63, or x0.53.
* '''Augmentation''' is a [[demonspawn mutation]] which increases your spell power and gives a slaying bonus at high HP. The spellpower bonus is ×1.4, ×1.8 or ×2.2 depending on how much augmentation bonus you have.
+
**'''Augmentation''' is a [[demonspawn mutation]] which increases your spell power and gives a slaying bonus at high HP. The spellpower bonus is ×1.4, ×1.8 or ×2.2 depending on how much augmentation bonus you have. This stacks multiplicatively with the other mutations.
 +
*[[Ru]]'s '''Sacrifice Courage''' decreases your spell power by 10% for each level of horror.
  
 
{| class="prettytable"
 
{| class="prettytable"
Line 58: Line 37:
 
|}
 
|}
  
 +
===Step down===
 
Once the raw spell power value is determined, a stepdown function is applied to obtain the '''real''' spell power:
 
Once the raw spell power value is determined, a stepdown function is applied to obtain the '''real''' spell power:
  final power = 50 * log_2 (1 + spellpower/50)
+
 
This is capped at 200, and for values under 50 the exact spellpower is used instead.
+
  Spellpower = 50 * log_2(1 + raw_power/50) IF raw_power > 50
 +
 
 +
This is capped at 200. If power is under 50, the raw spell power is used with no modification.
  
 
[[File:Spell power stepdown function.png]]
 
[[File:Spell power stepdown function.png]]
  
Approximately, every 50 real spell power is twice as difficult to obtain; and there is an absolute maximum of 200 real spell power. For example, 50 raw spell power is equivalent to 50 real spell power; 100 raw spell power is equivalent to 50 + 50/2 = 75 real spell power; and 500 raw spell power is equivalent to 50 + 100/2 + 200/4 + 150/8 = 168 real spell power. The maximum of 200 real spell power is reached at 750 raw spell power.
+
Approximately, every 50 real spell power is twice as difficult to obtain, with an absolute maximum of 200 real spell power. For example, 50 raw spell power is equivalent to 50 real spell power; 100 raw spell power is equivalent to 50 + 50/2 = 75 real spell power; and 500 raw spell power is equivalent to 50 + 100/2 + 200/4 + 150/8 = 168 real spell power. The maximum of 200 real spell power is reached at 750 raw spell power.
  
=== Example: Spell Power Milestone ===
+
=== Example calculations ===
  
 
   Base Value = (Spellcasting / 2) + (2 * [average_spell_schools])
 
   Base Value = (Spellcasting / 2) + (2 * [average_spell_schools])
  
Since the base value of spell power is capped at '''67.5''', without any enhancers spell power of 150 (raw spell power of 350) is achievable with INT 52. In most cases, however,  spellcasters wear enhancers that making their spell more powerful. One can calculate required base value for hitting specific spell powers. As an example, requirements of 100(########..), 150 (#########.), and 200(##########) are calculated with INT=40 (quite high!)
+
The base value of spell power, before enhancers/INT/mutations, is capped at '''67.5'''.
  
 +
Without any enhancers, in order to reach 150 spell power, an INT of 52 is required: <code>67.5 * 52/10 = 351</code>.
 +
 +
The following table documents the required ''base value'' to reach a given spell power at 40 INT, for a given # of enhancers:
 
{| class="prettytable"
 
{| class="prettytable"
! # of Enhancers !! Power ########.. !! Power #########. !! Power ##########
+
! # of Enhancers !! 100 Power !! 150 Power !! 200 Power
 
|-
 
|-
 
| 0 || 37.5 || 87.5 || 187.5
 
| 0 || 37.5 || 87.5 || 187.5
Line 86: Line 71:
 
|}
 
|}
  
Maxed out spell power without [[potion of brilliance]] can only be accomplished with three enhancers, or two enhancers with a wild magic mutation. If one have Wild Magic Lv 2, then only one enhancer can max out your spell power. However, in this situation spellcasting success rate falls off dramatically, forcing the player to use wizardry ring. Demonspawn with augmentation 1 can enjoy max spell power with two enhancers, while one with augmentation 3 can enjoy maximum spell power with only one enhancer.
+
Maximum spell power can only be accomplished with three enhancers, assuming 40 INT and no mutations. If one has Wild Magic Lv 2, then only one enhancer can max out your spell power. However, in this situation, spellcasting success rate falls off dramatically, forcing the player to use a [[ring of wizardry]]. Demonspawn with Augmentation 1 can enjoy max spell power with two enhancers, while one with Augmentation 3 can enjoy maximum spell power with only one enhancer.
  
 
==Spell Range==
 
==Spell Range==
  
For most spells the range starts out at maximum, but for some spells like [[Flame Tongue]] the range increases based on spell power, after step down.  Given that [[Flame Tongue]] is the most common spell with variable range, it serves as a useful example.  Flame Tongue has a spell power cap of 40 for range and 25 for damage.
+
For most spells, range is unaffected by power. But for a few spells like [[Dispersal]], the range increases based on spell power. Range (approximately) increases at a linear rate, so at half power, you are halfway between the minimum and maximum range.
 
 
If the spell power (pow in the following) is above the power cap, the spell has maximum range. Otherwise:
 
 
 
  range = [pow*(maxrange - minrange) + (powercap/2)] / (powercap + minrange)
 
 
 
That's a bit involved.  It helps to notice that the addition of powercap/2 is to do rounding up (otherwise it will round down). So we have:
 
  
  range = [pow*(maxrange - minrange)] / (powercap  +  minrange)
+
Specifically, if the spell power (pow in the following) is above the power cap, the spell has maximum range. Otherwise:
  
This is the ratio of pow to powercap, over the possible ranges. In effect, it is linear in range with spell power - once you get to about halfway between the maximum and minimum ranges, you are at about half of the power cap. 'About', because of the round up vs round down function. 
+
  range = minrange + [(power / powercap) * (maxrange - minrange)] ; round half up
  
In the table below, values of numerical power where either the range or displayed power change are shown. Note that the maximum power for Flame Tongue is 40.
+
==Monsters==
 +
For monster spells, the spellpower is usually <code>12 * [[HD]]</code>.<ref>{{source ref|0.30.1|mon-cast.cc|1104}}</ref> Although, some spells have a different HD factor:
 +
*[[Cause Fear]]: 18
 +
*[[Call Down Lightning]]: 16
 +
*[[Doom Howl]] and [[Mesmerize]]: 10
 +
*[[Siren Song]] and [[Avatar Song]]: 9
 +
*[[Mass Confusion]] and [[Confusion Gaze]]: 8
 +
*[[Olgreb's Toxic Radiance]], [[Orb of Destruction]], and [[Freeze]]: 8
 +
*[[Monstrous Menagerie]], [[Iskenderun's Battlesphere]], [[Ignite Poison]], and [[Irradiate]]: 6
 +
*[[Summon Dragon]] and [[Summon Hydra]]: 5
 +
*[[Chain of Chaos]]: 4
  
{|
+
Please note that most monster spells have different damage formulas than the player version. For example, players cast [[Magic Dart]] dealing <code>1d(3 + power/5)</code> damage, while monsters cast it at <code>3d(4 + power/100)</code>.
!Numerical power!!Power!!Range
 
|-
 
|0||<tt>#.....</tt>||<tt>@>...</tt>
 
|-
 
|5||<tt>##....</tt>||<tt>@>...</tt>
 
|-
 
|7||<tt>##....</tt>||<tt>@->..</tt>
 
|-
 
|10||<tt>###...</tt>||<tt>@->..</tt>
 
|-
 
|15||<tt>####..</tt>||<tt>@->..</tt>
 
|-
 
|20||<tt>####..</tt>||<tt>@-->.</tt>
 
|-
 
|25||<tt>#####.</tt>||<tt>@-->.</tt>
 
|-
 
|34||<tt>#####.</tt>||<tt>@---></tt>
 
|-
 
|35||<tt>######</tt>||<tt>@---></tt>
 
|}
 
  
===History===
+
==History==
 +
*Prior to [[0.31]], monsters' OTR used 8 * HD spellpower instead of 12 * HD.
 +
*In [[0.28]], the last two spells which didn't involve spell power ([[Blink]] and [[Passage of Golubria]]) now use it.
 +
*Prior to [[0.26]], spell power display was fuzzed, displayed in terms of bars (##.) instead of percentages. Bars did not have equal value; lower bars represented less numerical power per bar.
 +
*Prior to [[0.18]], the Wild and Subdued Magic mutations had larger effects on spellpower.
 +
*Prior to [[0.10]], a different stepdown function for spellpower was used.
  
Prior to [[0.18]], the Wild and Subdued Magic mutations had larger effects on spellpower.
+
==References==
Prior to [[0.10]], a different stepdown function for spellpower was used.
+
<references />
  
 
[[Category:Magic]]
 
[[Category:Magic]]

Latest revision as of 11:03, 7 November 2024

Version 0.32: This article is up to date for the latest stable release of Dungeon Crawl Stone Soup.

Every spell uses a spell power value to determine their effects: damage, range, duration, etc. You can display your spell power for known spells by bringing up your spell list with I, then !, which will display a screen looking like this:

 Your Spells                      Power
a - Sting                         100%
c - Call Imp                      44%
d - Iron Shot                     11%

Each individual spell has a spell power cap placed on it. A cap of 100 means that if your spell power is higher than 100, it will be set to 100. This allows for low-level spells to scale quickly with skill, but prevents them from getting too strong.

Formula

Raw power

First, the game calculates raw spell power using the following formula.

 ((Spellcasting / 2) + (2 * [average_spell_schools]))
 * enhancers
 * (Intelligence / 10)
 * mutations
  • Average spell schools is the average of all the skills necessary for the spell - up to three schools for some spells (e.g. Mephitic Cloud, which requires Conjurations, Alchemy, and Air Magic).
  • Spell Enhancers include magical staves, brilliance, Archmagi, etc. Every enhancer adds one to this count, every dampener subtracts one. If positive, your spell power is multiplied by 1.5(enhancers). If it is negative, it is multiplied by 0.5(-enhancers). Enhancers are capped at ±3.
  • Mutations add a multiplier, depending on the mutation in question.
    • Wild Magic increases your spell power, but decreases your success rate. The bonus is ×1.3, ×1.6 or ×1.9 depending on how many levels of this mutation you have.
    • Subdued Magic decreases your spell power, but increases your success rate. The penalty is /1.3, /1.6, or /1.9 depending on how many levels of this mutation you have. This is equivalent to x0.77, x0.63, or x0.53.
    • Augmentation is a demonspawn mutation which increases your spell power and gives a slaying bonus at high HP. The spellpower bonus is ×1.4, ×1.8 or ×2.2 depending on how much augmentation bonus you have. This stacks multiplicatively with the other mutations.
  • Ru's Sacrifice Courage decreases your spell power by 10% for each level of horror.
Mutation Level HP <50% HP > 50% HP >66% HP >75% HP >83%
1 0 1 1 1 1
2 0 1 1 2 2
3 0 1 2 2 3

Step down

Once the raw spell power value is determined, a stepdown function is applied to obtain the real spell power:

Spellpower = 50 * log_2(1 + raw_power/50) IF raw_power > 50

This is capped at 200. If power is under 50, the raw spell power is used with no modification.

Spell power stepdown function.png

Approximately, every 50 real spell power is twice as difficult to obtain, with an absolute maximum of 200 real spell power. For example, 50 raw spell power is equivalent to 50 real spell power; 100 raw spell power is equivalent to 50 + 50/2 = 75 real spell power; and 500 raw spell power is equivalent to 50 + 100/2 + 200/4 + 150/8 = 168 real spell power. The maximum of 200 real spell power is reached at 750 raw spell power.

Example calculations

 Base Value = (Spellcasting / 2) + (2 * [average_spell_schools])

The base value of spell power, before enhancers/INT/mutations, is capped at 67.5.

Without any enhancers, in order to reach 150 spell power, an INT of 52 is required: 67.5 * 52/10 = 351.

The following table documents the required base value to reach a given spell power at 40 INT, for a given # of enhancers:

# of Enhancers 100 Power 150 Power 200 Power
0 37.5 87.5 187.5
1 25 58.3 125
2 16.7 38.9 83.3
3 11.1 25.9 55.6
1 +
Wild magic 2
12.5 29.2 62.5

Maximum spell power can only be accomplished with three enhancers, assuming 40 INT and no mutations. If one has Wild Magic Lv 2, then only one enhancer can max out your spell power. However, in this situation, spellcasting success rate falls off dramatically, forcing the player to use a ring of wizardry. Demonspawn with Augmentation 1 can enjoy max spell power with two enhancers, while one with Augmentation 3 can enjoy maximum spell power with only one enhancer.

Spell Range

For most spells, range is unaffected by power. But for a few spells like Dispersal, the range increases based on spell power. Range (approximately) increases at a linear rate, so at half power, you are halfway between the minimum and maximum range.

Specifically, if the spell power (pow in the following) is above the power cap, the spell has maximum range. Otherwise:

range = minrange + [(power / powercap) * (maxrange - minrange)] ; round half up

Monsters

For monster spells, the spellpower is usually 12 * HD.[1] Although, some spells have a different HD factor:

Please note that most monster spells have different damage formulas than the player version. For example, players cast Magic Dart dealing 1d(3 + power/5) damage, while monsters cast it at 3d(4 + power/100).

History

  • Prior to 0.31, monsters' OTR used 8 * HD spellpower instead of 12 * HD.
  • In 0.28, the last two spells which didn't involve spell power (Blink and Passage of Golubria) now use it.
  • Prior to 0.26, spell power display was fuzzed, displayed in terms of bars (##.) instead of percentages. Bars did not have equal value; lower bars represented less numerical power per bar.
  • Prior to 0.18, the Wild and Subdued Magic mutations had larger effects on spellpower.
  • Prior to 0.10, a different stepdown function for spellpower was used.

References