[MOD] Jimfix - Ascension + SCS fixes, general tweaks - UPDATED FOR SCS v33
Banananaut
Member Posts: 25
The current version is v3.1a.
This is a small collection of fixes and tweaks for an Ascension + SCS v33 install. It is compatible with BGT on the classic versions of the game and with the Enhanced Editions.
Fixes:
- Shield of Reflection works on SCS Flame Arrows
- Fix incorrect casting animations
- Add spell school notifications to the combat log
- Add expiration notifications for buffs
- Add expiration notifications for item buffs
- Reveal all hidden doors
- Allow Spell Shield to block Wish Breach and Mordenkainen's Disjunction
This is a small collection of fixes and tweaks aimed at an Ascension + SCS v33 install.
--- Shield of Reflection works on SCS Flame Arrows ---
In vanilla, the Reflection Shield reflects the mage spell Flame Arrow. SCS
mages are scripted to act as if this is the case. However, with the "Make
Protection from Normal Missiles affect some magical projectiles" component,
the Reflection Shield does not actually reflect Flame Arrow. This component
re-adds that ability to the Reflection Shield.
--- Fix incorrect casting animations ---
In the vanilla game, several spells have casting animations that don't match
the actual school of the spell. The Fixpack fixes some of these but misses
others. This component takes a broad approach and checks each standard mage
and priest spell individually. If the casting animation does not match the
spell school, the casting animation is changed.
This component also fixes a vanilla bug where the spell Conjure Animals is
erroneously set as an Enchantment spell.
This component may be overkill. It provides of a listing of all the changes it
makes so if you don't like some of them, you can uninstall the component.
--- Add spell school notifications to the combat log ---
By paying attention to the casting animation or by listening to the casting
sounds, it is possible to determine the school of the spell a mage or priest
is casting. This tweak makes this information clearer by adding a message to
the combat log as well. It should be installed after any component that
modifies spells and combines well with the component that fixes incorrect
casting animations. You can pick the minimum casting speed of spells that you
would like this tweak to affect.
There are two issues with this tweak:
1) It works by modifying the spells so it applies to your spells as well as
enemy spells.
2) It does not take into account the fact that some enemies have innately
lower casting times for spells. The intent of this tweak is to not provide you
with any information that you didn't already have access to, but this may not
always be the case.
If there are any spells that are not affected but should be, or should be
affected but are not, please let me know.
--- Add expiration notifications for buffs ---
This component adds periodic reminders to the combat log for when spell buffs
are about to expire. The reminders come when there are 120, 60, 30, 12, and 6
seconds remaining in the buff. I can add other options if there is interest.
And again, please let me know if this component affects spells that it
shouldn't or if it doesn't affect a spell that it should.
--- Add expiration notifications for item buffs ---
This is the same as the previous component except with buffs from items.
Mostly this affects potions and protection scrolls, but it also includes
the Greenstone and Shield Amulets.
--- Reveal all hidden doors ---
This component sets all hidden doors to be immediately selectable so that you
don't have to wait for a character to detect them.
--- Allow Spell Shield to block Wish Breach and Mordenkainen's Disjunction ---
With SCS changes to the spell system, the Breach from Wish and the complete dispel
from fallen solar's Mordenkainen's Disjunction are both completely unblockable.
This component allows Spell Shield to block them as it would block any other
anti-magic attack.
This component does not seem to be necessary on EE installs, but should still be necessary for Classic installs.
Notes: It seems pretty much everyone else has moved on to the Enhanced Editions, so I have as well. Everything should still be compatible with the Classic versions of the game, but they won't be my main focus for testing anymore. Versions 3.0 and up are intended for SCS v33 and above. If for some reason you are sticking with SCS v30, the last version that was compatible with v30 can be found HERE.
Help with translations is welcome. Just submit a pull request to the GitHub repository.
Thank you to Arkie for the Russian translation.
Post edited by Banananaut on
13
Comments
This little modification and several others are part of a larger mod by GrimJim, who frequents the Bioware Baldur's Gate forums. Some of the mod's components are fixes, others are tweaks. I'm particularly fond of a tweak that gives reminders in the combat log of the time left until a spell expires.
You can download the mod here. Here's the readme:
version of the game.
--- Fix Sunfire Power Levels ---
The damage effects on the level 10 version of Sunfire incorrectly have a power level of 3. The primary effect of this is that they will be blocked by a Minor or regular Globe of Invulnerability. The level 11 version also has one of its
damage effects set to power level 6. The component fixes both errors.
Credit to Alesa_BH for noticing this.
--- Enable Spell Immunity in Sequencers/Triggers ---
TobEx is intended to allow you to place Spell Immunity into Contingencies and Triggers. However, this functionality is not enabled by default. This component enables it.
--- Shield of Reflection works on SCS Flame Arrows ---
In vanilla, the Reflection Shield reflects the mage spell Flame Arrow. SCS mages are scripted to act as if this is the case. However, with the "Make Protection from Normal Missiles affect some magical projectiles" component,
the Reflection Shield does not actually reflect Flame Arrow. This component re-adds that ability to the Reflection Shield.
--- Fix Smarter Abazigal ---
In previous versions of Ascension + SCS, when Abazigal turned in to a dragon he would also spawn a purple dragon named Tamah. In SCS v30, Tamah does not appear if you have installed the Smarter Abazigal component. Abazigal also has the wrong script which may make him unreasonably difficult to kill for some parties. This component fixes both glitches.
Credit to Mad Mate on the G3 forums for help with this fix.
--- Fix Smarter Irenicus at the Throne ---
A scripting glitch causes Irenicus to be completely harmless during the opening fight at the Throne of Bhaal if you have the component that adds SCS AI to him. This component fixes this.
Credit to Alesia_BH for noticing this and to Aasim for help with this fix.
--- Remove Entourage from Ascension Fallen Solars ---
In the original Ascension version of the first fight at the Throne of the Bhaal, you must fight two Fallen Solars. As of SCS v25, the Smarter Celesitals Component causes both of these Fallen Solars to additionally spawn with two
Mariliths, a Succubus, and an Alu-fiend. While it has not been officially confirmed, there is significant evidence to suggest that these extra demons are unintentional. This component removes them.
--- Fix incorrect casting animations ---
In the vanilla game, several spells have casting animations that don't match the actual school of the spell. The Fixpack fixes some of these but misses others. This component takes a broad approach and checks each standard mage and priest spell individually. If the casting animation does not match the spell school, the casting animation is changed.
This component also fixes a vanilla bug where the spell Conjure Animals is erroneously set as an Enchantment spell.
This component may be overkill. It provides of a listing of all the changes it makes so if you don't like some of them, you can uninstall the component.
--- Prevent silent prebuffs ---
Under certain conditions, SCS smarter mages will silently cast some long duration prebuffs. This component changes this behavior to always display these prebuffs in the combat log.
Since this compnent modifies the very long SCS mage scripts, it may take a minute or so to install.
--- Add spell school notifications to the combat log ---
By paying attention to the casting animation or by listening to the casting sounds, it is possible to determine the school of the spell a mage or priest is casting. This tweak makes this information clearer by adding a message to
the combat log as well. It should be installed after any component that modifies spells and combines well with the component that component that fixes incorrect casting animations. You can pick the minimum casting speed of spells that you would like this tweak to affect.
There are two issues with this tweak:
1) It works by modifying the spells so it applies to your spells as well as enemy spells.
2) It does not take into account the fact that some enemies have innately lower casting times for spells. The intent of this tweak is to not provide you with any information that you didn't already have access to, but this may not
always be the case.
If there are any spells that are not affected but should be, or should be affected but are not, please let me know.
--- Add expiration notifications for buffs ---
This component adds periodic reminders to the combat log for when buffs are about to expire. As with the previous component, it works by modifying the spells so it will affect your spells as well as enemy spells.
The reminders come when there are 120, 60, 30, 12, and 6 seconds remaining in the buff. I can add other options if there is interest.
And again, please let me know if this component affects spells that it shouldn't or if it doesn't affect a spell that it should.
As you can gather from the readme, the mod was written for the original saga, but I haven't run into any issues with EE. I still need to test the ToB components though, which I will now that my character's in ToB. Also, I haven't tested the Sunfire fix yet (maybe that bug had already been fixed in EE anyway).
All the components can be installed separately, so people who don't play with SCS or Ascension for example, can skip the SCS/Ascension-specific fixes, and install only the Sunfire, Spell Immunity, and casting animation fixes, and the spell school notifications and/or expiration notifications tweaks.
I'm posting this in General Discussions, so that more people will be likely to notice this little known mod. After some time I'll move the thread to the Mods section. I've thanked GrimJim at the Bioware Forums, and I'm thanking him here again, in case he reads this. Hopefully some of you fellow forumites will enjoy the mod as much as I do.
I'll also let you know if I run into issues in my current run through ToB.
I have never noticed silent mage buffs in scs though. I would have wished for it, actually. Not knowing what the enemy is buffed with will be more realistic and up the challenge. I can check the combat log to see if an enemy has spell immunity:abjuration or divination. Realisticaly, my character should not know it at all until he tries to cast a breach or true sight and when one of them fails.
As to the silent (hidden) buffs, I had never noticed such game behavior myself either, but one or two no-reloaders at Bioware ran into it last year.
The detectable school of the spells in the combat log is also very useful for the new players, a good way to introduce them to a more informed use of the magic system.
But my point was that IR and SR have a global approach and set a new balance so is good that they give it as a whole, without sub components, opposite to other mods that impose to you the modder choices also when there is no global approach reason to do it. Improved Anvil is a good example of that, is something similar to Tactics or SCS (for the type of change, not the way they implement it) but doesn't have sub components.
I'VE ALWAYS WANTED SOMETHING LIKE THESE! THANK YOU!
I ended up just manually specifying all the spells it should apply to. Line 72 of jimfix/lib/expirations.tph begins listing of all of the ones that affect only the caster and line 96 begins listing all of the ones that affect a target. You might be able to just replace those lists with ones appropriate for IWD.
ERROR locating resource for 'COPY' Resource [SPPR730.SPL] not found in KEY file: [./chitin.key] Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. ERROR Installing [Add expiration notifications for buffs], rolling back to previous state Will uninstall 16 files for [jimfix/setup-jimfix.tp2] component 300. Uninstalled 16 files for [jimfix/setup-jimfix.tp2] component 300. ERROR: Failure("resource [SPPR730.SPL] not found for 'COPY'")
No other mods were installed.
http://gibberlings3.net/forums/index.php?showforum=153
http://gibberlings3.net/forums/index.php?showforum=157
One question if you happen to see this. There are a number of spells that begin with the effect "Removal:effects specified by resource ___" opcode 321. They're all for the purpose of preventing spell stacking as far as I can see.
e.g. SPPR111 Armor of Faith's first effect is Removal:effects for resource SPPR111, etc. Same for spells like Protection from Fire SPPR306, and unfortunately, many of the new spells from IWD Divine Spells mod which I like to use and which I've manually added to your expirations.tph
So your effects are written to the .spl but are effectively ignored in-game for these spells.
A work around would be for spell expirations to write the new expiration text effects at the end of the spell's existing effects, rather than at the beginning. If I manually move your effects to the end of the list (or, of course, just anywhere after the opcode 321 effect) then everything works as desired.
I know some patch functions like ADD_SPELL_EFFECT have an insert_point option that, when negative, write at the end of the effects instead of the beginning. But I don't know enough modding to change your patch functions in expirations.tph to achieve this myself. Adding this option or pointing me to some code would be greatly appreciated.
Either way, Thanks!