The mechanics of Dispel/Remove magic
Alonso
Member Posts: 806
There are several threads in this forum about the spells Dispel Magic and Remove Magic, but AFAIK none of them covers in depth their mechanics.
I have gathered information about these spells from several places and this is what I got:
Is this correct?
Even if the last point is correct, it is unclear how many rolls are made when one of these spells hits a creature. For example, let's say a creature has four buffs, two from one allied mage and the other two from another one. Then an enemy mage casts Remove Magic on the creature. Is there a single roll for all four buffs? Or two rolls, one for the buffs of the first mage and another one for the buffs or the second mage? Or four rolls, one for each effect?
I have gathered information about these spells from several places and this is what I got:
- In spite of what the description says, low level casters don’t have a 1% chance of dispelling effects from high level casters. Their chance is actually 0.
- Both spells display the message "Dispel Effects" in the combat log and a visual effect even if nothing gets dispelled.
- Some magic effects are not dispellable. This include deafness, poison, stun, swarmed (from Summon Insects), bad luck (from Wish), decaying (from Dolorous Decay), doom, greater malison, held, magic resistance lowered, miscast magic, silence, unconsciousness, spell failure (from Insect Plague), and spell protections like Spell Turning or Spell Deflection.
- The target's Magic Resistance, if any, does not affect this spell.
- The only way to protect from these spells is using Spell Immunity: Abjuration.
- When they are cast on a target affected by magic effects from several casters, the chance of dispelling is calculated separately for the effects created by each caster. The chances of dispelling the effects created by a high level caster are lower than the chances of dispelling the effects created by a low level caster even if they are all present in the same character.
Is this correct?
Even if the last point is correct, it is unclear how many rolls are made when one of these spells hits a creature. For example, let's say a creature has four buffs, two from one allied mage and the other two from another one. Then an enemy mage casts Remove Magic on the creature. Is there a single roll for all four buffs? Or two rolls, one for the buffs of the first mage and another one for the buffs or the second mage? Or four rolls, one for each effect?
3
Comments
The Dispel/Remove Magic spells specifically cure Deafness and Feeblemindedness separately from their "Dispel Magic" effect, dispellable or not. "Caster level", not necessarily caster. The same caster can cast two spells at different levels, and they will have separate dispel chances. (Quite common for Wildmages as they have a random +/-5 casting level for every spell).
My understanding is that it's one roll, for everything, all dispellable effects with caster level 'X' or less are removed, 'X' being Dispel's caster level + [-9 to +5], with uneven distribution, and a chance to automatically fail.
Not following, can you explain?
It's set per-effect, so the only way to know for sure is to examine each effect individually in an editor.
Dispel/Remove will always cure these effects, even if the general dispel fails.
probRoll - Rolled before this function and is the same for every effect iteration on creature: in the range [0, 99]
casterLevel - The level the current iteration's effect was cast at
dispelLevel - The level the dispeller cast Dispel Magic at
Conclusions from the above:
- A probRoll of 0 is a critical fail, so there's always a 1% chance that a Dispel Magic will have no effect on the target creature.
- The "or probRoll > 99" condition is curious, since probRoll can never exceed 99. Perhaps this was meant to be a critical success condition and was botched by an off-by-one error.
- Here's a probability table for dispelling effects at levels relative to the dispeller:
-11 => 99%
-10 => 99%
-9 => 94%
-8 => 89%
-7 => 84%
-6 => 79%
-5 => 74%
-4 => 69%
-3 => 64%
-2 => 59%
-1 => 54%
0 => 49%
+1 => 39%
+2 => 29%
+3 => 19%
+4 => 9%
+5 => 0%
+6 => 0%
You're both right. The original spell description specified 1%, but the EE has made some changes in wording, including stating a 5% minimum for success/failure .
If it's to be fixed though, I vote for the BG1 description - 5% min/max, and both above/below level are +/-5% per level, not 10% for one 5% for the other.
for example
every spell in BG 2 ( at least, not sure about bg1 ) is capped at level 20, so if you are a level 21 caster, you are actually casting a spell as if it is level 20, so that means if you are a level 30 caster, and use dispel magic on anyone, then you will have a 99% chance to succeed REGARDLESS of level of the creature you are trying to dispel
kind of weird how it takes YOUR actual caster level to start the check, but only takes the minimum caster level needed for the target
so if you were level 30 and cast protections on yourself you would succeed 99% of dispelling your own stuff, despite the fact that it should be around 50%
usually boss monsters in ToB are level 30 which means if they use a remove magic on ya, and you dont have spell immunity abjuration, all your pretty buffs will be gone 99% of the time regardless of what level you are
and even though it says 99% chance to succeed, i've never actually seen it fail before when success is that high, but perhaps i haven't see dispel/remove magic enough in action for that to happen, or more realistically i dont ever remember seeing it fail, in case it happened 15 years ago
This is still not accurate. A level 20 and 40 cleric will both get a 23-round Armor of Faith that blocks 25% of damage, but the chances to dispel will still be based on level 20 and 40, respectively.
Can you elaborate this ? This should be better if dispel also caps at level 20 ? Or it works as intended ?
All spells are uncapped for the purposes of resisting Dispel Magic; the dispel opcode checks caster level directly. Spell effects, though, and their parameters--like the dice of a Fireball or the duration of Haste--have to be specifically coded, and the developers never bothered coding for caster levels above 20 (or in the case of IWD, 30).
So, some spell effects are capped at level 20, but for the purposes of Dispel Magic, spells are uncapped, both for the character casting Dispel Magic and the spell that it's trying to dispel. The only exception is the Inquisitor, which caps at caster level 40, which it reaches at the Inquisitor's actual level 20.
EDIT: Accidentally tagged @DaValiant instead.
i could have swore this is how it worked, but i just tested this myself and you are correct, but it has been awhile since i've run into creatures that casted said spells
i wonder why then, abizigals remove magic was working without fail 100% of the time, despite the fact my cleric's level was around 36 or so, and protection from evil 10' radius got dispelled everytime?
Does anyone know in what versions of the game Yeslick's Dispel Magic dispels automatically? In some of my installs, his spell, SPIN112.spl, is coded to dispel regardless of spell level, but in others, like my current install, it's just like a regular Dispel Magic spell, coded to scale with Yeslick's level.
As i see in near infinity, it has 3 optionsy always dispel, use caster level, use specific level.
Whats the point of always dispel ? There is no chance and counterplay ?
I thinking about to try to change it to use specific level 1-20 to maximise its level of effects.
If you manually capped Dispel Magic at 20, other spells would still scale past level 20 for the purposes of dispelling, making Dispel Magic much weaker against higher-level casters--though IWD has so few enemy spellcasters that it would be kind of moot.
Oh thats the point.
I always wonder why the older games use the always dispel type. Its so powerful.
Every effect can be dispellable or undispellable. Each source separately determines if it's effects are dispellable.
So it would be per source rather than per effect.
In general, every non-instantaneous effect within a given source should use the same dispel setting, though there are exceptions (for example, fatigue from the Haste spell).