EXIM : Character Importer and Exporter

If you liked this item, please rate it up on Steam Workshop page.

Author: Luxen

Last revision: 27 Jun, 2021 at 17:10 UTC (1)

File size: 2.83 MB

On Steam Workshop

Description:
What is EXIM mod ?

This mod allow you to export and import character sheets with their inventory. Basically, it write stats, skills, hotbar and inventory of your character in a file that can be loaded in an another save file both in Adventure and Game Master modes. You want to decimate Fort Joy with an end-game character ? Sure, go on. You want to save characters and carry them across your campaigns in GM mode ? This is your ticket.
You can also directly edit the character sheets and load them again. It allows GMs to add bonuses to items or skills that aren’t possible to add in the game normally. It means that you can also manipulate inventories in Adventure mode. You want a helmet that increase your limit of summons ? You want 42 Source points ? This mod is what you need.

Main features

– Make you able to transfer characters through saves or GM campaigns
– Possibility to modify the character bonus and item bonus without the need of a dedicated mod
– Remove item folding in GM mode (see the video for more informations)

Please check the requirements of this mod below to make it run.

Discord server : https://discord.gg/AYpVFA4

EXIM limitations

This mod won’t allow you to carry quest specific stuff. It change stats, skills, inventory, hotbar and won’t change the current situation of your character in the story. If you want to keep quest specific stuff before loading a character, it is highly recommended that you drop those items before loading.
Item colors won’t be kept. Custom names, description and book content are kept in GM mode however.
In GM mode, stats can’t be loaded on NPCs, but their inventory can. A workaround is to use NPC control tools to make a NPC player, load it and turn it back to an NPC.
Saving characters visual customization will be included in a later update.

How does it work
Always make a backup of your savegame before using a new mod.

Adventure mode : each player receive a Saving and Loading stone in the currently controlled character.
GM mode : Use NPC Control Tools to select a character and use Export or Import options in the Item tabs.
1- The file is written into the host machine, in DocumentsLarian StudiosDivinity Original Sin 2Osiris Data<character name>.charsave. It can be edited with any text editor.
2- The mod use the character name to recognize which file to take. If you want to load another character sheet into yours, then just rename the charsave file. For example if you hit the load button with Lohse, it will search for Lohse.charsave . Caution : in GM mode, the game won’t take the custom name of NPCs. So if you rename “Civilian” to “Imtheboss”, it will keep “Civilian” for file management. Note : never use special characters in names !
3- The charsave files are mode agnostic, so you can save a character in Adventure and load it into GM mode and vice-versa. However, keep in mind that some Adventure items are not available in GM mode, so be sure to use a mod that import Adventure assets into GM mode.
4- When saving or loading a character, everyone has to stay still and do nothing. It can lead to unexpected behaviour if someone do something during save or load, especially since large inventories take a lot of time (up to 15-20 seconds, maybe more on lower end systems)
5- Keep in mind that if you save a character while using mods providing custom items and skills, it might go wrong if you load the sheet in another game without those mods.
6- Lost your stones ? Just save and load the game.
7- Character files are also loaded from the host machine. Send your character sheet to the host and use the appropriate tools (stones or GM tools) in-game to load the character sheet.
Always save the game before loading a character sheet. Errors can take away the current character inventory.

Requirements

This mod require Norbyte’s Osiris extender, a wonderful extension that multiply the modding capabilities of the engine.
You can install it using LaughingLeader’s mod manager and hit the extender download button :
Latest release[github.com]
You can also install it directly from here[github.com].
To install it, go to Tools = > Download and Install Osiris Extender.
In GM mode, it will also require NPC control tools

Known Issues

– Loading a large sheet can freeze the game for a short time.

Save File Editing

The charsave files have a defined JSON structure. A character is divided in 4 parts : stats, skills, hotbar and inventory. Stat names use the engine names, so they can be different from the game (e.g. Pyrokinetic => FireSpecialist). You can also set skills that are hidden in the engine !
See these tables[docs.google.com] to get all engine names.
Keep in mind that it could potentially lead to crash if you put some exotic values in some fields.

GM Mode particularities

This mod has few particularities in GM mode that you must be aware of :
– Attributes, Combat and Civil abilities and Talents can’t be saved/loaded in NPCs unless you turn them into player characters with NPC control tools. However, their inventories will just work fine.
– This mod disable item folding. Technical explanations aside, it mean that all items in GM mode can get the same bonuses than in Adventure : additionnal damage type, generated skills, immunities and status chance. However, the 4 types of bonuses described just before can’t be removed using the GM panel. You will need to edit those items in a charsave file if you want to remove those kind of bonus.

For mods creators: extension

As a mod creator you can store data in character sheets without needing to set this project as a dependency. All you need is to store the character data as a JSON serialised string with SetVarString(_Character, “LX_EXIM_Extension_Data”, _Data). Preferably append the data to the variable instead of replacing it, in case other mods also use it.
Once a character sheet have been loaded, the data will be back in LX_EXIM_Extension_Data variable. A StoryEvent is fired when the character sheet is being loaded, you can catch it with StoryEvent((CHARACTERGUID)_Character, “LX_EXIM_LoadExtData”). You can then use your parsing methods independently from EXIM ones.
!Caution! : If the variable gets too big, it will crash the game. Store only what is needed, and if by any means you still need to store something big, contact me and I will see for compatibility with your mod.

Credits

A huge thanks to Norbyte and the work he have done with the extender, as well as taking care of my requests to make this mod possible.
Special thanks to LaughingLeader for his numerous advices on the engine.
Many thanks to the modding community for their support.

Dedicated GM mode discord server : https://discord.gg/zBZ9bme

Support & Feedback

Do you like my work ? You can support me by tipping me a coffee :
[ko-fi.com]
Don’t hesitate to give your feedback in the comments or in the dedicated threads sections.

Download
Revisions:

Old revisions of this mod are available below. Click the link to download.