Jump to content

Beginners' Guide to Savegame Editing with Near Infinity


Recommended Posts

Hello,

I'd like to edit a save game in NI and change my character from multi-class Fighter/Mage into a Kit/Mage.
Specifically a kit installed from a mod.
Is something like that possible in NI with retaining all the features of such multi-class setup?
I've already tried on my own, however I'm not sure what exactly should I change.
I suppose the most crucial are the three selected properties from the attached image.

Of course the easiest way would be to use the latest multikit mod, which is sg_multikits.
Unfortunately it wipes the backstab multiplier from single-class thief kits in the game 😕
So, if I'm not wrong, the only way to achieve such thing is to use NI/EEkeeper.

 

swappy-20231001_002239.jpg

Edited by johnny
Link to comment

Is the kit you're looking for a fighter kit? Then step one is to simply put that into the kit field. You're still a fighter/mage, but now your fighter side has a kit.

Next, you have to assign the kit abilities for the levels you already picked up on the fighter side. Which can be complicated. Those abilities are usually defined in the kit's CLAB file - a 2DA file listing the spells to apply to the character (AP_) and to grant to the character (GA_) by level.

The former, spells applied to the character, are typically passive abilities such as the wizard slayer's magic resistance. For these, you'd be adding effects ... potentially a lot of them. A Cavalier's innate protection against fire, acid, poison, and fear, for example, decomposes into about thirty effects on the character all with the same "source". Your best bet here is to either make a new character with that kit and copy the effects, or to use console commands to cast the spell in game. Not that it's impossible to just add the effects, but it's very easy for that to go wrong.

The latter, spells granted to the character, are typically daily abilities such as the berserker's rage. As innate abilities, you need both the spell added to the list of known spells (though only once per unique spell) and to the list of memorized spells. Almost all innate abilities are level 1, so the memorization info you edit is for "spell level 0, type Innate". Or you could use console commands to add the ability in-game, automatically handling both the "known" and "memorized" side of things.

What about drawbacks? Well, that depends on what sort of drawback is used. Restrictions on what equipment you can use will carry through to the multiclass automatically. Restrictions on weapon proficiency choices won't apply to the multiclass at all; you're on the honor system to not give your berserker/mage multiclass specialization in a bow.

And now, let's talk bugs. Because any sort of kit/mage multiclass will not work properly. You will be treated as a specialist mage – -15% spell learning, one extra spell slot per level – even though your kit isn't a mage kit at all. Since the kit doesn't match any mage schools, it's like the wild mage's "specialist in nothing" setup, where you can learn anything but don't have any favored school to get bonuses in.

This is unavoidable. Tons of stuff around specialist mages is hardcoded, predating the rest of the kit system. The game kind of assumes that any mage with a kit is a specialist, and that often breaks things when they're something else instead. About all you can do is add effects to the character to remove the extra spell slots - which are necessarily ad-hoc, since they only come up when you do something hacky like assigning a kit to a multiclass.

Link to comment
On 9/28/2023 at 11:58 AM, subtledoctor said:

You might want to get it out of there anyway, as a simple Steam update could wipe out a complex modded install. 

This is the default install location for Steam when running Linux.

On 9/28/2023 at 12:45 PM, argent77 said:

I'll see if there is a way to turn on hidden file display in the "Open Game" file dialog in NI.

As a workaround you could place the NearInfinity.jar into the game directory and start it from there. NI will automatically detect the game in that case.

Moreover, the Flatpak version of Near Infinity should have set up a file association with the "chitin.key" file of the game. In that case you can simply navigate to the (hidden) folder of the game and open the chitin.key in the file manager.

Thanks for the suggestions (and great mod). I will give them a try.


By the way, what file browser is opening when running the mod? Something built-into Java?

Link to comment
18 minutes ago, LV426 said:

By the way, what file browser is opening when running the mod? Something built-into Java?

The "Open File" dialog is provided by the Swing GUI framework which Near Infinity is based on. It is (mostly) platform-independent, that's why it doesn't provide many options and integrates badly into the system. That GUI framework is ancient (first release: 1996), so it's unlikely it will ever get another feature upgrade.

Link to comment
1 hour ago, LV426 said:

This is the default install location for Steam when running Linux.

Yes, but what was (I think) meant is that you can leave the unmodded version alone in the steam location and then _copy_ it elsewhere where you can mod it safely at your convenience.

At least I think you can with the steam version. That's what I do with the GoG version, keep a vanilla install somewhere.

It helps when you break or mishandle an install, you just have to drop it and copy+mod again instead of removing components in reverse order to fix what you missed.

Link to comment

About that simpler way ... I just realized.

The script action AddKit() is it. That sets the character's kit and applies any abilities retroactively. One argument inside the parentheses, namely what kit to add (as either the ID number or the internal name as seen in KIT.IDS). Apply to the active creature. You can do script actions with the cheat/debug console ... though I'm not entirely sure of the details of how to do it here.

Link to comment
On 10/2/2023 at 10:58 AM, argent77 said:

The "Open File" dialog is provided by the Swing GUI framework which Near Infinity is based on. It is (mostly) platform-independent, that's why it doesn't provide many options and integrates badly into the system. That GUI framework is ancient (first release: 1996), so it's unlikely it will ever get another feature upgrade.

Thank you again for the detailed information.

On 10/2/2023 at 11:49 AM, mickabouille said:

Yes, but what was (I think) meant is that you can leave the unmodded version alone in the steam location and then _copy_ it elsewhere where you can mod it safely at your convenience.

At least I think you can with the steam version. That's what I do with the GoG version, keep a vanilla install somewhere.

It helps when you break or mishandle an install, you just have to drop it and copy+mod again instead of removing components in reverse order to fix what you missed.

Hmm, I am still a bit confused by your reply, but I agree that making a backup is good. The Infinity Engine games are pretty small and because I have the HDD space, I always make a backup in the Steam directory, calling it something like BG.EE.bak.

I use ciopfs to get the mods working on Linux and it works flawlessly. Steam can't tell the difference between the two directories, so there is no issue. I have yet to have any mods break, but I don't run anything too crazy!

25 minutes ago, Lightbringer said:

Can someone explain exactly what EEKeeper does that is bad?  I looked all over G3 and didn't see anyone spell it out. I've been using it for years on games that go at least from Candlekeep to the Underdark, and I haven't noticed any problems yet.

I, too, used EE Keeper for many years without issue, even on Linux. I read online about some people's saved games getting corrupted, but I never had that issue. My use of the mod was for very basic things, so maybe that's why?

Now I have switched to Near Infinity because it has a native Linux version. Once again, I only use the mod for very basic things, but it's clearly more powerful than EE Keeper, and it's still being developed.

Link to comment
21 hours ago, LV426 said:

but I agree that making a backup is good.

I wouldn't exactly call it a backup. It's more a checkpoint, where you don't need to fetch the installer, or launch steam to redownload the game and reinstall, being lazy and all and just duplicating the game. Not a big gain but nothing lost either (except some low digit gigabytes)

Link to comment
On 10/6/2023 at 4:03 PM, Lightbringer said:

Can someone explain exactly what EEKeeper does that is bad?  I looked all over G3 and didn't see anyone spell it out. I've been using it for years on games that go at least from Candlekeep to the Underdark, and I haven't noticed any problems yet.

Here is an example of what brought it to my attention: it seems as if EEKeeper applies the equivalent of a ctrl-R to all party members when you edit a save. In that linked post the players could clearly perceive the nexus between ctrl-R and spell slots going haywire; when loading a save that may have been edited at a different time, players may only deduce “my spell slots are bugged!” and I ended up with bug reports that were very difficult to suss out. 

And the real issue is, nobody seems to know quite what EEKeeper does to saves. Is it exactly like ctrl-R? Does it follow the same rules? Is it slightly different? How can I know how to make my mods resistant to being screwed up by this, if I don’t know the parameters of what the program actually does? Nobody is maintaining it, nobody knows answers to these questions. It’s probably fine for 98% of users 98% of the time. But how can players know?

In sum: 1) doing things to savegames without explicitly telling the user what it does; 2) nobody maintaining or knowledgeable about it; those two factors, to me, add up to “stay away.” By contrast, @argent77 has been doing amazing work updating Near Infinity. Editing party members is definitely more cumbersome in NI, but to me it is worth it. (I wonder if NI could get some kind of shortcut to editing characters in savegames?) Between NI and mods that let you change NPC stats in-game, I don’t see much utility in EEKeeper anymore. 

Edited by subtledoctor
Link to comment

The sources for EE Keeper are still available at SourceForge if someone wants to take a look. There is also a bug tracker with a whole bunch of issues that have accumulated in the meantime.

41 minutes ago, subtledoctor said:

I wonder if NI could get some kind of shortcut to editing characters in savegames?

That request has come up several times in the past.

Shortcut always run the risk of introducing subtle bugs (except maybe for the most basic modifications.) Moreover, the way how resources are handled in NI makes it very cumbersome to implement new interfaces for editing data. Most of it would have be implemented from scratch. Not something I'd be really looking forward to.

Link to comment
8 hours ago, subtledoctor said:

Here is an example of what brought it to my attention: it seems as if EEKeeper applies the equivalent of a ctrl-R to all party members when you edit a save. In that linked post the players could clearly perceive the nexus between ctrl-R and spell slots going haywire; when loading a save that may have been edited at a different time, players may only deduce “my spell slots are bugged!” and I ended up with bug reports that were very difficult to suss out. 

And the real issue is, nobody seems to know quite what EEKeeper does to saves. Is it exactly like ctrl-R? Does it follow the same rules? Is it slightly different? How can I know how to make my mods resistant to being screwed up by this, if I don’t know the parameters of what the program actually does? Nobody is maintaining it, nobody knows answers to these questions. It’s probably fine for 98% of users 98% of the time. But how can players know?

In sum: 1) doing things to savegames without explicitly telling the user what it does; 2) nobody maintaining or knowledgeable about it; those two factors, to me, add up to “stay away.” By contrast, @argent77 has been doing amazing work updating Near Infinity. Editing party members is definitely more cumbersome in NI, but to me it is worth it. (I wonder if NI could get some kind of shortcut to editing characters in savegames?) Between NI and mods that let you change NPC stats in-game, I don’t see much utility in EEKeeper anymore. 

Hey there, Doc!  Thanks for the detailed explanation.  The main thing I've seen is that my used spell slots get restored every time I use EEKeeper. I can confirm that limited duration good and bad effects (regen from an SR spell, and a disease) persist, and damage previously incurred is still present.  I don't use the 5e spellcasting mod, so I'm probably not seeing those issues. I can certainly appreciate the wariness.

I still use 'Keeper to edit global variables attached to my save, and to mess with special abilities and effects granted by kits.

Edited by Lightbringer
Link to comment
6 hours ago, Lightbringer said:

Hey there, Doc!  Thanks for the detailed explanation.  The main thing I've seen is that my used spell slots get restored every time I use EEKeeper. I can confirm that limited duration good and bad effects (regen from an SR spell, and a disease) persist, and damage previously incurred is still present.  I don't use the 5e spellcasting mod, so I'm probably not seeing those issues. I can certainly appreciate the wariness.

I still use 'Keeper to edit global variables attached to my save, and to mess with special abilities and effects granted by kits.

If you are not getting errors during saving the game, and you use the option where you do not overwrite the previous save, it should all be good. But not having that, can cripple the current campaign. Cause if the priest spells disappear, and the sorcerer gets a priest spell they shouldn't .. or things like that happen, well it's in the boots already.
And yes, I have had errors happen in the non EE version, which then removed spells and did other bad things. But I had a backup.
Also, you can just set the GLOBALS/LOCALS in game... you just need to know what they are and finding them in EEKeeper is easy... so the thing is, feel free to save the game in EEKeeper and if it doesn't grouse you, it's usually fine. But KEEP a backup.

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...