Jump to content

SubtleMods: Magic Battles Revised - streamlined rules for mage duels


Recommended Posts

Download the mod here.


This mod intends to address the mish-mash of rules and tactics that are involved when your party, which presumably includes magic users, faces enemy magic users in battle. Some people, especially those who install SCS, find these battles to be overly long and complicated. (A common piece of advice on various message boards is "wait until the enemy mage's defenses wear off, then beat them with a club.") On the other side, especially among people who play with no spell system mods, some players find magic defenses maddeningly easy to circumvent. ("Ignore spell defenses entirely, just Breach the wizard and then beat them with a club.") Some find the limitations of various spells to be inane - why can 5th-level Minor Spell Turning not block a Feeblemind, when a 3rd-level Minor Spell Deflection can?

This mod tries to make spell defenses something useful, something worth engaging with. It wants to preserve the idea that magic users can be very powerful, even temporarily invincible, while giving opposing mages efective tools to overcome that invincibility and allow magic battles to be resoled in fairly fast, decisive, and satisfying ways.

The description in section 1 of how these new rules work may seem wordy and complicated, but the goal hopefully achieved by the mod is that you won't have to think too hard about it in-game - just attack the spell defenses until they are gone, then attack the mage. All of the tools at hand will work for that, though of course stronger tools will work better.
This mod should be installed after spell mods like Spell Revisions, IWDification, and SCS IWD Spells.

1. The Rules of Spell Battles

The first major change to the spell battle system is that the reflection and absorption effects of Spell Turning and Spell Trap are gone. See section 3 below for the reasons why; what you need to know is that with this mod there are only three kinds of spell defenses.

  •     The first category is deflections, which block spells of any level, but only block a certain number of them, measured in 'spell levels.' An example is the vanilla spell "Spell Deflection." It blocks ten 'levels' of incoming spells, which means it can block ten 1st-level spells, or it can block one 9th-level spell and one other spell. After that the protection dissipates. Generally, deflections only block magic targeted directly at the caster - they will not block area-of-effect or stationary cloud-type magic. Unlike the base game, all deflection defenses can block all spells, up to 9th level; they are limited not by the level of incoming spells, but solely by how many spell levels they can deflect. With this mod, the three deflections are Minor Spell Deflection, Spell Deflection, Greater Spell Deflection, and Shield of the Archons. COMPATIBILITY NOTE: this mod is totally compatible with Spell Revisions, including its 'NWN-Style Deflection' component which allows spell deflections to deflect most are-of-effect spells (but still not stationary effects).
  •     The second category is invulnerability, which blocks an unlimited number of spells, but can only block magic up to a certain spell level. This is basically unchanged from the unmodded game: Minor Globe of Invulnerability blocks magic of up the 3rd level, and Globe of Invulnerability blocks magic of up to 4th level. Unlike deflections, invulnerability spells block area effects like Fireball as well as stationary effects like Stinking Cloud. The difference with this mod is that Spell Trap is moved into this category. It blocks all magic of up to 9th level.
  •     The third category is spell shields. These do not offer any direct protection against magic, but they can protect spell defenses in the first two categories from being dispelled. The prime example of this is Spell Shield. Additionally, with this mod, Spell Trap acts as a second spell shield in addition to granting invulnerability to magic.

A key thing to remember, and which defines how magic attacks are designed (described below), is that spell defenses can be layered. The effects of Spell Deflection and Minor Spell Deflection do not stack - they can together only absorb the ten spell levels of the high-level Spell Deflection - but they coexist and provide two separate layers of defense when subject to magic attacks like Spell Thrust or Secret Word. A Greater Spell Deflection adds a third layer of defense; Globe of Invulnerability add a fourth; Spell Shield adds a fifth; and Spell Trap adds a sixth. The Spell Deflection spells will actually auto-cast the lesser versions of themselves; so casting Greater Spell Deflection gives you Spell Deflection and Minor Spell Deflection for free, which means you get 20 spell levels of protection against regular spells, and 3 layers of protection against magic attacks.

The number of defensive layers insulating a wizard is what decides how well-protected they are from attack. When attacking a protected enemy (like an SCS mage who gets pre-buffs plus contingencies and sequencers activated as soon as a fight starts) the question is no longer "is it possible to breach their defenses?" but rather "can I breach their defenses quickly, or slowly?" If you cast Secret Word on an enemy and they are still protected afterward, you can usually assume that you have at least stripped away some of their protections, and if you keep chipping away you will soon make them vulnerable. (Unless they have Spell Trap - Spell Trap is special in that it completely blocks all lower-level magic attacks except Ruby Ray and Pierce Shield.) So when playing, you can try to figure out how many layers of protection the enemy has and think tactically about the optimal way to attack them; or you can just pound away with magic attacks until the enemy is vulnerable. With this mod, both of those approaches are viable.

Magic attacks like Spell Thrust and Pierce Magic are modified to play into this system. Gone is the limitation that they can only affect defenses of a certain spell level. All magic attacks, from the lowly Spell Thrust up, can affect all spell defenses, with the exception of the apex defenses Shield of the Archons and Spell Trap. (You need a 6th-level Pierce Magic or better to affect Shield of the Archons, and a Ruby Ray, Pierce Shield, or Spellstrike to affect Spell Trap.) Instead, magic attacks are differentiated by how many layers of spell defenses they can remove at once.

I have also given several magic attacks small secondary effects so that they can have some effect on even the most highly protected enemies.

  •     Spell Thrust destroys one layer of protection. If the target has a Spell Shield, it will destroy the spell shield and will not remove any layers of deflection or invulnerability.
  •     Secret Word destroys two layers of protection. Additionally, even if the target is still protected, it can cause one round of deafness (50% casting failure) if the target fails a save vs. spells. If the target has a Spell Shield, it will destroy the spell shield and will not remove any layers of deflection or invulnerability.
  •     The "Pierce..." spells are special in that they can take out a spell shield *in addition to* removing other protections, rather than *instead of* removing other protections. So Pierce Magic destroys two layers of protection plus a Spell Shield. Additionally, even if the target is still protected, it will reduce their magic resistance, if any, to zero for two rounds.
  •     Warding Whip is a bit like casting Secret Word three times in a row: it will remove either one Spell Shield or two layers of protection (in that order), each round for three rounds. (It does not have the secondary deafness effect, though.)
  •     Ruby Ray of Reversal is the first spell capable of defeating a Spell Trap, and it is also more effective at defeating normal spell defenses. It will remove either a Spell Shield, or a Spell Trap, or three layers of normal spell defenses (in that order). Additionally, even if the target is still protected, it can cause blindness for one round if the target fails a save vs. spells with a -2 penalty.
  •     Pierce Shield destroys a Spell Shield and either one Spell Trap or three layers of normal spell defenses.
  •     Spellstrike will remove all of a target's spell defenses in one fell swoop, and additionally will apply 100% casting failure to the target for one round, thus preventing the target from raising new defenses. This is basically god-level magic, and it can pretty much render anyone vulnerable.  

Magic attacks that remove multiple layers of spell defenses remove the highest-level defenses first, with the exception that a Spell Shield sits "in front" of other protections, so it will always be the first defense to be removed.

2. Related Systems

Breach will be blocked by all deflection defenses and by invulnerability effects where it makes sense (just Spell Trap, essentially). So it will be blocked once by Minor Spell Deflection since that blocks 5 spell levels, but will not be blocked by Globe of Invulnerability since that only blocks up to 4th level spells.
This mod incorporates my "breachier breach" concept in that it allows Breach to affect enemies such as liches and rakshasa which have innate invulnerability to certain spell levels.

This mod changes Remove Magic to be a sort of miniature Breach, so that you have another way to achieve Breach-style effects. Whereas Breach destroys all combat protections and specific protections, Remove Magic will remove one combat protection and one specific protection of up to 6th level. Like Breach, Remove Magic will work against liches and rakshasa.

Dispel Magic works as usual, though there are several configuration options to modify its behavior; read more about them below. COMPATIBILITY NOTE: if this mod is installed after Polytope's Revised Dispel Magic mod (PolyDisp.tp2), then it will overwrite the PolyDisp option to limit Dispel Magic to 6th-level spells; with PolyDisp + MBR Dispel Magic can dispel all spells up to 9th-level. Conversely, if you install PolyDisp after this mod, then PolyDisp will overwrite MBR's new 'mini-Breach' version of Remove Magic and revert it to the spell's original 'similar-to-Dispel-Magic' behavior.

A note about Dispel Magic and Remove Magic and their area-of-effect design: while Deflections generally do not block area-of-effect spells, with this mod they will block Dispel Magic and Remove Magic. (They will use up three 'spell levels' of deflection, like any other 3rd-level spell.) Globes of Invulnerability and creatures' innate spell level invulnerability will not block Dispel Magic and Remove Magic, though that is configurable (see below).

3. Aesthetic Tweaks

This mod incorporates a version of DavidNYC's excellent work to systematize and distinguish the visual effects for various spells and defenses in the game. It removes the visual effects of ioun stones (a necessary evil, and let's admit it, they are comically large to represent small floating pebbles) and removes the visual effects for various spells (Spell Shield, Spell Turning) and then applies recolored variants to various defensive effects so that you can recognize which protections an enemy has. Roughly, the applied effects are these:

  •     Protection from Normal Weapons shows a stationary green-tinted light above the caster's head.
  •     Protection from Magic Weapons shows a stationary purple-tinted light above the caster's head.
  •     Absolute Immunity shows a stationary light above the caster's head that continually changes colors.
  •     Protection from Missiles shows a red rotating ioun stone animation.
  •     Non-Detection shows a black rotating ioun stone animation.
  •     Minor Spell Deflection shows three white swirling motes.
  •     Spell Deflection shows three blue swirling motes.
  •     Greater Spell Deflection shows three gold swirling motes.
  •     Shield of the Archons shows three teal swirling motes.
  •     Spell Trap shows three purple swirling motes.
  •     Spell Shield shows a tall semi-transparent blue oval around the caster.
  •     Spell Immunity (or Dispelling Screen if you have Spell Revisions installed) shows a glowing silver disc on the ground beneath the caster's feet.
  •     Globes of Invulnerability are the same semi-transparent globes that you know from the unmodded game.  

You may come to recognize defensive spell effects by these visuals, or you may not care and rely on the combat log instead. Either way I think this is an overall visual improvement over the base game.

The mod folder has a "visuals" subfolder with some pictures to show a protected mage being steadily disarmed by Secret Word/Secret Word/Breach. You can see more example pictures on pages 75-77 of the "SR Revised" thread in the Spell Revisions forum at Gibberlings3.net.

4. Justifications for Certain Changes

Why remove Spell Turning effects??

First, they add needless complexity with the way they could only block low-level incoming spells. Second, they make the game easy because human players can recognize them and avoid reflected effects while the AI enemies cannot. Third, because of that, if you use SCS then SCS casters will never be so stupid as to have spells reflected at them; but this means spell turning prevents SCS enemies from casting at you at all, so it is sort fo more powerful than it should be. AT the end of the day, they just don't add much to these fights. Only using Deflections gives mages adequate protection while really streamlining the systems for dealing with that protection. Props to Demi/Ardanis/kreso of Spell Revisions fame for initially making this change and convincing me of its superiority

(I think I had more to write here, but now I forget...)

5. Configuration Options

There are lots. They are controlled by the 'MBR_settings.ini' file. You can modify these settings before installing the mod. I will explain each one here.

  • minor_deflection_levels_blocked These settings determine how many spell levels are blocked by the various Deflection spells. The default values are 5/10/20 for Minor/normal/Greater Deflection; and 30 for Shield of the Archons.
  • spell_thrust_level This lets you set the spell level of Spell Thrust. Remember, as long as the enemy does not have a Spell Trap, Spell Thrust is always useful! It may take a while, but repeated application of Spell Thrust can eventually take down any and all spell defenses. The default value here changes it to a 1st level spell, so that you can be more likely to have more of these memorized as last-ditch reserve of magic attacks. (Note, this is compatible with the "Level 1 Cantrips" component of the Tome & Blood mod.) But you can change it to 2, or set it back to 3, or whatever.
  • spell_attack_delay You can set this between 1 and 5, and it will mean that the effects of magic attacks will be slightly delayed. So instead of slamming an opponent with Breach immediately after your Ruby Ray destroys his spell protections, you will have to wait for a second or two. Theoretically this can add some tension and drama to magic attacks. But I haven't played around with it very much. The default value is 0.
  • dispel_bypass_globes As I said above, the default behavior is for Dispel Magic and Remove Magic to bypass Globes of Invulnerability and innate spell-level immunity. By setting this value to 0 you can reverse that, such that DM and RM are completely blocked by spell-level immunities.
  • party_friendly_dispel This makes Dispel Magic only affect enemies. Effectively, this means instead of Dispel Magic and the new version of Remove Magic, you will have the old version of Remove Magic and the new version of Remove Magic.
  • mini_breach_dispel This will change Dispel Magic to have the same 'mini-Breach' effect as the new Remove Magic, removing one combat protection and one specific protection from the target. It still affects both enemies and party member, however. (If you set both this value and the 'party_friendly_dispel' value to 1, then both Dispel Magic and Remove Magic will effectively be the same.)
  • mini_breach_remove This is set to 1 by default, and this is what gives Remove Magic the new 'mini-Breach' behavior. If you set this to 0, then Remove Magic will behave the old way, with a random chance to dispel influenced by caster level.
  • breach_combat_protections et cetera. These variables set which kinds of protections Breach will remove. In the base game this only includes "combat protections" (think Armor or Stoneskin) and "specific protections" (think Resist Fire or Chaotic Commands). You can optionally add "combination protections" and "noncombat protections" as well, though this only affects a select few spells.

*Whew!* I think that explains everything. Cheers.

Edited by subtledoctor
Link to comment

A further note about Breach:

Note that in the base game Breach can simply bypass spell protections. Contrarily, with SR or SCS, you cannot Breach a mage until their spell protections are gone. This mod follows the latter example. Further, while in the base game Breach can bypass Spell Immunity: Abjuration, with this mod it cannot. SI:Abj is coded as a spell protection so you must use Spell Thrust or another magic attack to dislodge it before you can use Breach. (SI:Abj does not block magic attack abjurations like Spell Thrust, Pierce Magic, etc. - and it never has.)

With Spell Revisions this is a little more interesting. Spell Immunity: Abjuration is replaced by Dispelling Screen. Which this mod Dispelling Screen is not coded as a spell protection, and is only removed by Dispel Magic, Remove Magic, and Breach. None of which can bypass spell protections. This means you will have to dismantle all of the target's spell protections, at which point you will face a choice: you can immediately affect the enemy with spells, or you can take an extra 1-2 rounds to cast Breach twice (or RM + Breach) to make the enemy vulnerable to physical attacks.

Breach is still a very reliable way of defeating enemy wizards, but now there is a slight incentive to continue using magic, which I think is appropriate for a mage-vs.-mage fight. To be sure, spells are a bit unreliable compared to physical attacks - they may involve saving throws, or the target may have specific resistances. But I recently chose to go this way and ended up killing a lich with a Disintegrate spell rather than physical attacks. It was extremely satisfying.

EDIT -

I had to re-do the fight against the Crooked Crane lich, and this time he did not fall to my Disintegrate spell. However, in that moment when he was vulnerable to magic but still had Stoneskin/PfMW/Fire Shield, my second-string mage tagged him with a Power Word: Silence! That kept him from doing anything nasty while giving me the time to Breach him, after which he quickly fell to melee attacks. So here again, while the old Breach tactic was what ended the fight, that moment when the enemy was vulnerable to magic but immune to physical attacks still proved key. Here again, I think the fight played out in a more interesting and satisfying way than it would have without this mod.

Edited by subtledoctor
Link to comment
Quote

SI:Abj does not block magic attack abjurations like Spell Thrust, Pierce Magic, etc. - and it never has.

In Improved Anvil, SI:Abj blocks all abjuration spells and honestly I prefer IA solution (which is not ideal btw. like 7 lvl antimagic spell being stronger than 9 lvl). Whats the point of IMMUNITY:abjuration if it does not protect against abjuration? /facepalm/

Link to comment
On 11/3/2021 at 2:42 PM, subtledoctor said:

(SI:Abj does not block magic attack abjurations like Spell Thrust, Pierce Magic, etc. - and it never has.)

3 hours ago, InKal said:

In Improved Anvil, SI:Abj blocks all abjuration spells and honestly I prefer IA solution (which is not ideal btw. like 7 lvl antimagic spell being stronger than 9 lvl). Whats the point of IMMUNITY:abjuration if it does not protect against abjuration? /facepalm/

I don't know all of the ins and outs of Improved Anvil, but it is irrelevant to this conversation - it has its own interconnected set of rules and conditions that are very carefully chosen. I mentioned SI:Abj above because I sometimes see comments like "if the enemy has SI:Abjuration then you need to use Ruby Ray because it is in the Alteration school" which is false. Might as well educate peeps while they read this...  In what I'd guess are the two most common game setups - unmodded and SCS - Spell Immunity is a spell protection and spell protections do not block magic attacks regardless of school (with the exception of spell-level immunities like lich/rakshasa immunities and GOI - they can block magic attacks (which is something I didn't even contemplate when designing this mod but gives added utility to GOI)).

How does IA even do that? Spell Immunity uses opcode 204, and opcode 204 doesn't block the magicattack sectype...

Anyway I don't care, that sounds pretty stupid to me, a level 5 spell giving you complete immunity to all abjurations, including SpellStrike? Super cheesy. Even in its unmodded form I think SI is a stupid spell, I much prefer SR's approach of replacing it with targeted, altered versions like Dispelling Screen.

Whether you agree with that or not doesn't matter for this mod - it is compatible with both SCS and SR. (I don't know how it affects an IA game, but IA is its own special little unicorn of a mod and you are not supposed to install any other tweaks with it, so it really doesn't matter for our purposes here.)

Link to comment

How is this mod compatible with SCS? The SCS spell system changes are part of component 5900 which is the generic AI component, should this come after that or how do you ensure SCS doesn't conflict with the changes of your mod in this case? I know that if you have SR installed, SCS skips the spell editing, but I don't want SR.

In any case, I guess aTweaks's Call Woodland Beings wouldn't be a problem coming after this one (it needs the revised fey component which is why it can't be installed as a simple spell tweak).

Link to comment

I designed this to be installable either before or after SCS. If you install it beforehand, I think SCS should make its clones from these versions of the spells... but on reflection I’m not sure if SCS would patch them again. If you install it after SCS, this mod will overwrite the SCS clones to behave as described here. It doesn’t change AI routines - the normal SCS AI should perform well with this mod.

So on reflection the best install order is probably 

SCS - MBR

or 

SR - MBR - SCS

Link to comment

I noticed some strange things about the mod as seen on github.

The mod itself seems to be called Magic_Battle_Revised, both the directory and the .tp2 have this name.

But inside the tp2 file, it seems to refer to files inside a directory named better_spell_battles

 

Note that I appear to struggle to understand how weidu. Maybe that's something perfectly normal and I just don't know it.

Link to comment
3 hours ago, mickabouille said:

Hi, I was wondering...what's this "Cloak of Darkness" specific protection that is dispelled by Remove/Dispel Magic ?

Huh. Good question. I think I took that list from the text of the Breach spell (since RM wiht this mod works on the same spells as Breach) in my current heavily-modded setup. I don't know what generated that list... at a guess, it was probably an automated thing by SCS, checking for every spell with one of those two sectypes.

As for where exactly the spell comes from... I want to say Faiths & Powers? I'm pretty sure it's one of Grammarsalad's new spells.

Link to comment

Hi, the 1.03  give me some trouble.

First, I get parsing errors on lib/MBR.tpa until I add *two* "END" at the end of this file. I didn't check why

Then once I've done that, it fails because it didn't find a file

> ERROR: error loading [Magic_Battles_Revised/data/spl/d5disrem.spl]

probably this line in MBR.tpa :

 
COPY ~%MOD_FOLDER%/data/spl/d5disrem.spl~ ~override~
Edited by mickabouille
Link to comment

How does this mod interact with IWDification?

In base IWDification, the following is the description for Entropy Shield: When cast, this spell surrounds the caster with a defensive maelstrom of energy that blocks or deflects many attacks. This gives the priest a +6 bonus to Armor Class, a +2 bonus to Saving Throws, and +50% resistance to electricity, fire, cold, and acid. The priest is also immune to Flamestrike and all missile-based attacks, including missiles created by spells such as Magic Missile.

However, with SCS this gets altered to include: Finally, the priest is protected from several powerful abjurations, namely Breach, Remove Magic, and Imprisonment.
Does this mod account for Entropy Shield, and if so, does it account for both versions of it? Would there be an issue regarding Breach?

Link to comment

I am planning an EET run with SRR+IRR+SCS(and tons of quest mods).  This mod seems quite interesting and it is just the thing I want to try in a new run. If possible I want to use divine spells from IWD too. Problem is I am unsure how they would interact or which order I should install them. Does install order of SCS:IWD divine spells-IRR-SRR-MBR-EET:end-SCS:main works? How would things like Entropy shield/Shield of Archons/Impervious Sanctity of Mind(Spell shield version) would interact with this mod? Can SCS AI handle this? I am open to ideas or other mod combinations too.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...