Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Neverwinter Nights: Enhanced Edition has been released! Visit to make an order. NWN:EE FAQ is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE, PST:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Specialists... (SOLVED, I hope)

MeaninglessMeaningless Member Posts: 51
edited October 2016 in General Modding
So here we are in Chapter 965484 of trying to mess around with Specialist Mages! (Since everybody and their grandma has already run into issues while modding Specialists.)

This is a screenshot from EE 2.3:

To be frank, I don't even know if what says in the description actually works, didn't find a quick/sure way to verify.

I tried casting some spells with a specialist and a regular mage, but the log doesn't show squat. Tried looking at my CHARNAME cre in Near Infinity, again nothing. This means the task falls to people smarter and more resourceful than me, which resumes to a lot of users in this forum LOL :)

But assuming the description of Specialists is accurate and does what it says...

I'm trying to mess around with the saving throws scheme, to be more specific, I would need to know that if by changing a spell to use a different save (for example instead of spells, to save death/wand/poly or breath), this change is automatically accounted or completely ignored by the singular bonuses/penalties that Specialist apply to their selected school of magic.

For mods that introduce/change many spells this is likely sensitive and important info.

It would also be interesting to know how Specialists accomplish the specific penalty (when casting offensive) and bonus (when resisting) that they apply to their school of magic.

So to find clues and investigate this case I summon ye!

Err... help me if you guys(and gals??) can spare some time or are interested in the matter :DD

PS: Also made the same topic at SHS before posting here:

Post edited by Meaningless on


  • sarevok57sarevok57 Member Posts: 3,944
    to be perfectly honest, that penalty to the saves thing, I don't think its implemented even though they say it is, like you, I couldn't find it anywhere in NI and im pretty sure it would be in the 2da files somewhere, and even during gameplay, it doesn't seem to me that specialist mages casting spells from their school is more potent than other spells

    now I could be completely wrong, but I wouldn't be surprised if it actually doesn't work

  • MeaninglessMeaningless Member Posts: 51
    edited October 2016
    The scribe chance for scrolls is possible to verify if we raise the INT chance to 100% and try scribing for the schools that supposedly have -15% penalty, until it fails scribing.

    As Mike1072 linked in the other thread, there was an older discussion pointing the savings were never implemented:

    But since the description is new and from EE, I don't think they would lie right to our faces. Thats why we may need a DEV to clarify if this works or not (or at their to-do list), and how it affects modified or new spells from each school.

    It would be cool if it works and likely easier to mod/edit around if it doesn't, so I've mixed feelings.
    Ultimately its better if it works, so long as the method can remain fully functional for newly introduced or changed spells.

    Post edited by Meaningless on
  • subtledoctorsubtledoctor Member Posts: 9,834
    I have made a mod that comprehensively changes which saving throws spells use, and another mod that changes which schools they belong to, and used the two mods together, and I THINK it all sorts itself out.

    1) I've seen threads where people actually tested (in the EE engine) and confirmed that the scribe scrolls chance and saving throw modifier work. I THINK they are hard-coded, that's why you don't see anything in NI. It's in the untouchable part of the engine - like so many things relating to mages.

    2) I THINK those bonuses automatically follow the spell school at offset 0x25 of the .spl file. So if you change that, the bonuses will automatically change too.

    So: if you change Flame Arow into an Alteration spell, and change its saving throw from Spells to Breath Weapon, then I THINK when cast by a Transmuter the victim will have to save vs. Breath with a -2 penalty. I have no reason to think that doesn't work.

  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 16,754

    For example, you change the Chaos spell to have a -2 save vs Death. This way, enchanters will cast it at -4 vs Death.

    So, if you change a spell to use a different save (for example instead of spells, to save death/wand/poly or breath), this change will be taken into account by the singular bonuses/penalties that Specialist apply to their selected school of magic.

  • MeaninglessMeaningless Member Posts: 51
    edited October 2016

    So I just tested in the following manner: BG2 Irenicus dungeon start, CHARNAME illusionist, Imoen normal mage, Minsc with a weapon that sets all saves to zero.

    Results after roughly a 100 casts:
    illusionist successfully casted Blindness on Minsc a few times, from memory and from scroll, it also did hit after I changed to Save vs Death.
    Imoen didn't hit a single time.

    After changing Blindness to Abjuration, the illusionist didn't hit a single time after roughly 50-60 casts, at which point I lost patience LOL.

    Apparently it works flawlessly and automatically reflects changes made to each spell, so long its tagged within the proper school.

    Its just a bit sad that its hardcoded and we cant reproduce or create effects with this... for example a HLA giving Specialists further -1/+1 or for Fighters getting extra +2 resistance for X school, or even attaching such effects to items would be awesome!

  • subtledoctorsubtledoctor Member Posts: 9,834
    edited October 2016
    All of that is actually possible. The 2.0 update added a new opcode, which gives a bonus or penalty to saving throws against spells of certain schools.

    Some of those would be more complicated than others - giving a bonus to fighters or something would be extremely easy, while giving penalties to enemies would probably have to be done with an aura. But I've written a mod that creates exactly that kind of aura (it was under 1.3, so it used the old opcode to make all enemies within 15' of an Enchanter take a -2 penalty to saves vs. spells), so it's definitely possible.

    You could also undo the hard/coded penalties... sort of. Like, you could apply an aura that give enemies a +2 bonus to saves vs. the specialist's school, canceling out the penalty. And then at 5th or 10th level or whatever, apply a 321 effect canceling the aura, so then the penalty would kick in. And then give a bigger penalty as an HLA. There are all sorts of options.

  • MeaninglessMeaningless Member Posts: 51
    Thats great doc! I'll bother you with the specifics sometime k, since I can be very dumb to understand and reverse-engineer some stuff to find out how it works.

  • subtledoctorsubtledoctor Member Posts: 9,834
    I've already written code that does a lot of this. If you find the Scales of Balance mod on Github, download the old 4.3.2 release and look at the .tpa file for component #600. It's a big convoluted document but search for "enchanter" and you should find the code for the save penalty aura. It would be pretty easy to adapt it to an HLA, and change its effect to use the new school-based opcode.

    I can't see it right now from my phone, but I think the same .tpa file has code toward the end of it that changes spells' schools... I THINK it references a separate .tpa file which actually lists every spell and its school, so you could lift the basic code u changed, and just alter the secondary .tpa file as you see fit to move any spell to any school.

    The 5.4 release of SoB has a "saving throw overhaul" component that uses a similar mechanism to determine what save a spell uses. Again, it references a secondary file with a list of spells and a number for each saving throw, and you can just change the number in the secondary file to whatever you want.

    Note however, those last two things (changing school and changing saving throw) involve modifying the spell's description, and the code is only equipped to perform those description updates on English game installs. It uses REPLACE_TEXTUALLY, and it's very complicated to make that work with .tra files... I haven't had the time to tackle it.

  • As far as I understand the implemented saving throw bonus/penalty ist confirmed for bg ee...

    But what about ice wind ee? In the character creating menu only the saving throw bonus ist mentioned, not the penalty though

  • semiticgodsemiticgod Member, Moderator Posts: 11,292
    @subtledoctor: Speaking of modding specialist mages, is there a user-friendly way to add or edit a mage kit?

    I have a Transmuter/Illusionist kit, but it doesn't work the same way as other kits. Instead of using the CLAB file and so forth, I apply a custom spell via a potion the player can add with the console, and that spell grants the full list of abilities. That's how I got around the normal problem with modding specialist mage kits. The only thing I can't do is grant level-based bonuses--that is, I can give it 50% acid resistance, but not 10% acid resistance per level, since the spell from the potion only applies once.

  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 16,754
    @TheOrderOfTheStick Specialist mages' saving throws bonuses/penalties had always been in the game code, it's just that we didn't have an official confirmation about their actual influence till last year.

    So in BGEE and IWDEE specialist mages cast spells of their school with a +2 saving throw bonus and when an enemy specialist mage casts a spell of her school, your characters (who are not specialist mages of the same scholl as the enemy) get a -2 penalty against it.

  • subtledoctorsubtledoctor Member Posts: 9,834
    I *THINK* you can now simply add new mage kits with ADD_KIT... the original ones still have lots of hard-coded aspects but I think the restriction on adding more has been lifted. I'm not certain if this but it should be fairly simple to test. Or perhaps @Aquadrizzt already knows the answer.

  • AquadrizztAquadrizzt Member Posts: 882
    The Enhanced Engine v2.0+ allows you to add new Mage kits that will appear during character creation.

Sign In or Register to comment.