Re: Solasta: Crown of The Magister
Posted: Sun Nov 08, 2020 10:14 am
This is very useful, thanks a lot, and do you know how can I edit the number of spell slots?Vandermeer wrote: ↑Thu Oct 29, 2020 4:03 pmGood news everyone. I managed to edit a savegame to enable all kinds of shenanigans and wanted to report my findings. This includes not only modding of the attributes and hp, but apparently there is even support from the game mechanics to do stuff like increasing base armor class, initiative, number of attacks, critical chance, your proficiency bonus, nbr. of divinity channels per rest, healing pool size for paladins, etcetc. . I haven't experimented with spell slot capacity yet, but it should be possible too, and I encourage you to figure more things out.
Instructions
First of all, you are going to need a hex editor. If you use notepad++, go to plugins>plugins admin and scoll down to install the hex-editor. Then find your savefile (mine was in "[user]\AppData\LocalLow\Tactical Adventures\Solasta\Save Files", but if you haven't cut it off from Steam, it will have it somewhere under steamapps). If you have your file, you can turn "view in hex" on under plugins>hex-editor.
Attributes
To find the relevant stat block, you now have to search your character's name one time in upwards direction. This is important, because there are a myriad of mentions in downward direction due to all logged dialogue referencing you. Another identical stat block is also at the beginning that probably just represents your first level raw character, so changes here wouldn't reflect ingame. Once you have found your first character name mention at the bottom of the save, you can scroll downwards to begin your mischief:
This character of mine is meant to be an elven vampire inspired from a famous rpg-maker game, meaning his phsical stats need that extra punch.
To modify an attribute, you will have to look when it sections begins with some "strength.value" string for example for strength. Here, at (1) in the picture, you have to edit both "BaseValue" and "CurrentValue" to what you want. Notice that 24 in hex is 18, because 1x16 + 8x1 = 24.
Important: BaseValue and CurrentValue will be different if you receive for example some racial modifier. You have to set Base to what it is before the race is considered, and Current to the real value you actually want. (e.g. my dexterity is actually 16 in Base, and 18 in Current, because a Sylvan Elf will receive +2 Dex)
If you plan to have a character that can go beyond a natural stat of 20, like in the picture, you will also have to change the "MaxEditableValue", as seen in (2). In DnD 5e, you can generally go 4 attribute points beyond the racial limit using artifacts, so I set it to 28 with "1c".
If you have done all this right, your to-Hit score, damage and skill checks will now automatically be readjusted. However, your HP and initiative wont, because the game doesn't update those outside of real ingame attribute mods. So if you mod Dexterity or Constitution, you will have to do this by hand.
Initiative
Further down in the same section you will (amongst many others) find Initiative as a special attribute. The thing here is that, compared to the attribute modding, just changing the CurrentValue is not enough. (Base is 0 btw.) You will also have to make an edit further down, because the real value is checked by the value of the modifier. Note that it should be 7 from this character's dexterity score, but I gave him 2 extra for being all vampire and darque.
Hitpoints
Now this took some time to figure out. By now you should know how to do the basic attribute change, so editing something like "AbilityScore.HitPoints" should be easy, but it is not enough. Despite being too lazy to update it with your rising CON score, the game cross checks the value with two other sections and resets it if they don't add up.
- The first edit is this HitPoints score I mentioned. You do Base- and CurrentValue (not shown in screenshot)
- The second edit is at the very beginning of the save file. Search your name one time down, and you will see HitPoints and MaxHitpoints. This can probably be skipped, but I didn't test it without, so to be sure, adjust them to the new value as well.
- The third one is the calculation "HitPointBonusPerLevel" as shown in the screenshot. This should assume your constitution bonus, so +6 in my example. Again you have to edit CurrentValue and the Modifier reference below both.
So this is all I wanted to document. I also did the paladin healing pool and lowered the character's critical threshold to 19. You can probably see how this system can do some powerful stuff above, because you could actually define a min-value for stats, so they couldn't be debuffed for example. (Hitpoints is just the maximum though, so you cant be invincible)
Maybe someone can also figure out how to add proficiency in saves, or I might do that later. I want to play now though, and just thought I'd have to document this first, since I couldn't find anyone doing this online when I searched for trainers and editing.