Solasta: Crown of The Magister

Ask about cheats/tables for single player games here
jiahao.luo14
Novice Cheater
Novice Cheater
Posts: 15
Joined: Wed Apr 24, 2019 3:15 am
Reputation: 5

Re: Solasta: Crown of The Magister

Post by jiahao.luo14 »

Vandermeer wrote:
Thu Oct 29, 2020 4:03 pm
Good 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:
Image
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
Image
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
Image
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.
This is very useful, thanks a lot, and do you know how can I edit the number of spell slots?

jiahao.luo14
Novice Cheater
Novice Cheater
Posts: 15
Joined: Wed Apr 24, 2019 3:15 am
Reputation: 5

Re: Solasta: Crown of The Magister

Post by jiahao.luo14 »

Vandermeer wrote:
Thu Oct 29, 2020 4:03 pm
Good 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:
Image
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
Image
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
Image
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.
This is very useful, thanks a lot. But I cannot use this method to edit the number of spell slots, after the rest spell slots will be reset.

User avatar
Vandermeer
Noobzor
Noobzor
Posts: 14
Joined: Thu Oct 29, 2020 2:47 pm
Reputation: 6

Re: Solasta: Crown of The Magister

Post by Vandermeer »

jiahao.luo14 wrote:
Sun Nov 08, 2020 5:48 pm
This is very useful, thanks a lot. But I cannot use this method to edit the number of spell slots, after the rest spell slots will be reset.
Sorry I am so very late. I dropped this game when I noticed how incredibly unfinished it was. (This holy sword enchantment skill not working At All was what finally broke it for me) I will return to this once they have made some progress, otherwise it would just spoil the story experience.

This also means that I cannot screenshot the detailed place for the edit this time, however I can report positively that the amount of spell slots can be edited, as I did so myself. There is some section in each character's stat block that you should be able to find by searching for "slot" I think. There you should find a line of numbers that grow larger depending on the spell levels available to you. Again, can't show the concrete example anymore, but they would be sorted after their level as something like this:
"01 00 00 00 04 02 00 00 00 02 03 00 00 00 01"
This would indicate 4 level 1 spells, 2 level 2 spells and 1 level 3 spell. There is always one leading marker like "02" to indicate the spell level, followed by 4(?) numbers that specify the amount.
Once you edit this to something high, it will show up in the game and also regenerate on rest. I myself gave my mage and paladin 9 level 1 spells for example.

On another note my paladin received like 30 charges of his special abilities, so he can use them whenever, and also a healing pool of 20 per level. It can all be done by tweaking around a bit.

User avatar
Sheelin
Novice Cheater
Novice Cheater
Posts: 17
Joined: Thu Jul 23, 2020 5:51 pm
Reputation: 1

Re: Solasta: Crown of The Magister

Post by Sheelin »

As far as I know, there is something hardcoded that won't allow you to raise main attributes above 30 (even as cap) without the game behaving funnily.

shuiko
Expert Cheater
Expert Cheater
Posts: 78
Joined: Tue Feb 13, 2018 8:21 am
Reputation: 0

Re: Solasta: Crown of The Magister

Post by shuiko »

any chance at an update? doesn't work for latest steam anymore.

Convert to Hex also no longer works for me, 32- Bit or with HxD.

Just scibbles line after max character hp.

Doing hp is annoying everytime.

I did however figure out how to quickly do infinite spell slots. requires 3 spell slots min though.

EDIT- Whelp i give up on hex editing, looks so different then the posted version above for me. Oh well
Last edited by shuiko on Thu Dec 31, 2020 1:54 am, edited 1 time in total.

shuiko
Expert Cheater
Expert Cheater
Posts: 78
Joined: Tue Feb 13, 2018 8:21 am
Reputation: 0

Re: Solasta: Crown of The Magister

Post by shuiko »

Whelp ugh spells slots keep getting reset on rest, so I'm not sure anymore lol.

shuiko
Expert Cheater
Expert Cheater
Posts: 78
Joined: Tue Feb 13, 2018 8:21 am
Reputation: 0

Re: Solasta: Crown of The Magister

Post by shuiko »

Marc wrote:
Tue Nov 03, 2020 4:52 pm
Unlimited Weight: added.

about the unlimited Spells... well. :?

The according .net code should be (I believe)

Code: Select all

Public Sub ModifyPoolPoints(pointsPoolType As HeroDefinitions.PointsPoolType, tag As String, delta As Integer) Implements ICharacterBuildingService.ModifyPoolPoints
	Me.pointPoolStacks(pointsPoolType).ActivePools(tag).RemainingPoints += delta
	Me.HeroCharacter.UpdateAbilityScoreModifiers()
	Me.HeroCharacter.RefreshAttributes()
	Me.NotifyChange()
End Sub
which turns in the disassembler to

Code: Select all

CharacterBuildingManager:ModifyPoolPoints - 55                    - push rbp
CharacterBuildingManager:ModifyPoolPoints+1- 48 8B EC              - mov rbp,rsp
CharacterBuildingManager:ModifyPoolPoints+4- 48 83 EC 40           - sub rsp,40 { 64 }
CharacterBuildingManager:ModifyPoolPoints+8- 4C 89 75 F8           - mov [rbp-08],r14
CharacterBuildingManager:ModifyPoolPoints+c- 4C 8B F1              - mov r14,rcx
CharacterBuildingManager:ModifyPoolPoints+f- 48 89 55 F0           - mov [rbp-10],rdx
CharacterBuildingManager:ModifyPoolPoints+13- 4C 89 45 E8           - mov [rbp-18],r8
CharacterBuildingManager:ModifyPoolPoints+17- 4C 89 4D E0           - mov [rbp-20],r9
CharacterBuildingManager:ModifyPoolPoints+1b- 49 8B 46 70           - mov rax,[r14+70]
CharacterBuildingManager:ModifyPoolPoints+1f- 48 8B C8              - mov rcx,rax
CharacterBuildingManager:ModifyPoolPoints+22- 48 63 55 F0           - movsxd  rdx,dword ptr [rbp-10]
CharacterBuildingManager:ModifyPoolPoints+26- 83 38 00              - cmp dword ptr [rax],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+29- 48 8D 64 24 00        - lea rsp,[rsp+00]
CharacterBuildingManager:ModifyPoolPoints+2e- 49 BB 45C6C8153F020000 - mov r11,0000023F15C8C645 { (232) }
CharacterBuildingManager:ModifyPoolPoints+38- 41 FF D3              - call r11
CharacterBuildingManager:ModifyPoolPoints+3b- 48 8B C8              - mov rcx,rax
CharacterBuildingManager:ModifyPoolPoints+3e- 83 39 00              - cmp dword ptr [rcx],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+41- 48 8B 40 10           - mov rax,[rax+10]
CharacterBuildingManager:ModifyPoolPoints+45- 48 8B C8              - mov rcx,rax
CharacterBuildingManager:ModifyPoolPoints+48- 48 8B 55 E8           - mov rdx,[rbp-18]
CharacterBuildingManager:ModifyPoolPoints+4c- 83 38 00              - cmp dword ptr [rax],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+4f- 48 8D AD 00000000     - lea rbp,[rbp+00000000]
CharacterBuildingManager:ModifyPoolPoints+56- 49 BB 03DDC8153F020000 - mov r11,0000023F15C8DD03 { (232) }
CharacterBuildingManager:ModifyPoolPoints+60- 41 FF D3              - call r11
CharacterBuildingManager:ModifyPoolPoints+63- 48 8B C8              - mov rcx,rax
CharacterBuildingManager:ModifyPoolPoints+66- 83 39 00              - cmp dword ptr [rcx],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+69- 48 63 49 20           - movsxd  rcx,dword ptr [rcx+20]
CharacterBuildingManager:ModifyPoolPoints+6d- 03 4D E0              - add ecx,[rbp-20]
CharacterBuildingManager:ModifyPoolPoints+70- 83 38 00              - cmp dword ptr [rax],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+73- 89 48 20              - mov [rax+20],ecx
CharacterBuildingManager:ModifyPoolPoints+76- 49 8B 46 60           - mov rax,[r14+60]
CharacterBuildingManager:ModifyPoolPoints+7a- 48 8B C8              - mov rcx,rax
CharacterBuildingManager:ModifyPoolPoints+7d- 83 38 00              - cmp dword ptr [rax],00 { 0 }
CharacterBuildingManager:ModifyPoolPoints+80- 48 8D 64 24 00        - lea rsp,[rsp+00]
CharacterBuildingManager:ModifyPoolPoints+85- 90                    - nop 
If I ever get the right idea WHAT to change in this mess, I suppose we would get what we want :)
I still can't make unlimited spells on my end <shurg> literally have to reset everytime after anytime of rest.

MrZoob2
Noobzor
Noobzor
Posts: 9
Joined: Tue Mar 20, 2018 10:59 am
Reputation: 1

Re: Solasta: Crown of The Magister

Post by MrZoob2 »

Vandermeer wrote:
Thu Oct 29, 2020 4:03 pm
Good 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:
Image
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
Image
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
Image
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.
I tried to use this metod but my notepad show weird stuff under Dump section.



What should I do to fix it?

kaiiak
Noobzor
Noobzor
Posts: 10
Joined: Fri Jun 01, 2018 7:44 pm
Reputation: 1

Re: Solasta: Crown of The Magister

Post by kaiiak »

the saves are now zipped . you need to unzip the file before hex editing it . and need to re-add it to zip for the game to load it

Teusalem
Noobzor
Noobzor
Posts: 13
Joined: Thu Jul 09, 2020 7:10 pm
Reputation: 4

Re: Solasta: Crown of The Magister

Post by Teusalem »

Would love an update!
Ty

vidulj
Cheater
Cheater
Posts: 28
Joined: Mon Mar 29, 2021 9:56 am
Reputation: 2

Re: Solasta: Crown of The Magister

Post by vidulj »

The full release came out today, and I just want to ping this subject before someone makes a new request as a whole subject.

WhoAmI
Novice Cheater
Novice Cheater
Posts: 18
Joined: Mon Jun 26, 2017 2:22 pm
Reputation: 1

Re: Solasta: Crown of The Magister

Post by WhoAmI »

+1

alked
Expert Cheater
Expert Cheater
Posts: 110
Joined: Mon Oct 15, 2018 3:31 pm
Reputation: 35

Re: Solasta: Crown of The Magister

Post by alked »

+1

Billyone1739
What is cheating?
What is cheating?
Posts: 4
Joined: Fri May 28, 2021 5:49 pm
Reputation: 0

Re: Solasta: Crown of The Magister

Post by Billyone1739 »

What's the easiest way to add money? It was mentioned earlier in the thread that was easy but I haven't been able to figure it out myself.

The three different values for currency keep throwing me

User avatar
gunbalde60
Expert Cheater
Expert Cheater
Posts: 393
Joined: Tue Jan 09, 2018 3:53 am
Reputation: 32

Re: Solasta: Crown of The Magister

Post by gunbalde60 »

Marc wrote:
Thu Oct 22, 2020 7:50 am
Just began with the game, but at least finding the code which decreases the available points at char creation is a trivial task.
Works fine if you only increase the amounts as far as the game naturally allows (so if it stops at 16 STR then let it stay there)

For anyone interested, here's a table which allows you to spent more attribe points at char creation. Hotkey is F1.
Update1: added a script to get 9999 Platin, Gold, Silver, Copper after buying something.
Some random notes about cheating this game, could be useful...
Even when the game is updated and the code changes, the Names of the functions will stay. So after activating mono, one can jump to the right code location and see what has changed.

This code writes back the experience after getting some of it:
RulesetCharacterHero:GrantExperience+42 - 89 51 20 - mov [rcx+20],edx

In memory there are two 4-byte-integers for each character respresenting XP. Both are 10 bytes apart and the first one seems to overwrite the latter one.

At RulesetTreasury:SpendAmounts+fa the money is set after buying something.

Seems to read/change life:
RulesetCharacterHero:RefreshAll+1db - 89 86 10010000 - mov [rsi+00000110],eax

Getting Damage in Fight:
RulesetCharacter:SustainDamage+3f3 - 41 89 86 10010000 - mov [r14+00000110],eax

Change of Reputation with a faction:
GameFactionManager:ModifyRelation

GameLoreManager sounds interesting.

CharacterStageSpellSelectionPanel is most likely for learning spells. Don't get it...
Any chance to update this to the fully released version?

Post Reply

Who is online

Users browsing this forum: No registered users