Solasta: Crown of The Magister

Ask about cheats/tables for single player games here
User avatar
hal9000
Novice Cheater
Novice Cheater
Posts: 22
Joined: Sun Sep 03, 2017 5:39 am
Reputation: 1

Solasta: Crown of The Magister

Post by hal9000 »

I'm mainly looking for a way to change the character stats, I've tried a couple of times to search the values in character creation screen... The first time I've tried to set all stats to 98 but for some reason only STR increased while all the others decreased seemingly randomly, in the second try I changed all to 20 and it increased all of them but unfortunately in both cases it broke the character and I cannot open his inventory or loot chests.
Any Idea on how to change the values without breaking stuff?

TheRedFear
Novice Cheater
Novice Cheater
Posts: 16
Joined: Fri Sep 18, 2020 6:55 am
Reputation: 1

Re: Solasta: Crown of The Magister

Post by TheRedFear »

I'd also love a way to add skill proficiencies and feats in addition to just breaking through the Str/Dex/Con/Int/Wis/Cha limits.

User avatar
Cabola
Fearless Donors
Fearless Donors
Posts: 31
Joined: Sat Oct 03, 2020 1:35 pm
Reputation: 2

Re: Solasta: Crown of The Magister

Post by Cabola »

Following the tutorial of creating a character, when you come to the ability scores, it says:
Ability scores are the six core attributes defining where your character excels:
Strength, Dexterity, Constitution, Intelligence, Wisdom and Charisma, with values from 3 to 20.
note the underlined and highlighed in the quote. So perhaps the skills value shouldn't be higher than 20 in all of them?

While creating my character I edited my points and was only able to add points in the different skills till it was at 16, as it had a +3 bonus. But I'll continue to play with it and see if I can't make them 20 or maybe higher..

User avatar
Marc
Table Makers
Table Makers
Posts: 249
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 184

Re: Solasta: Crown of The Magister

Post by Marc »

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...
Attachments
Solasta_0.4.14b.CT
updated for current version of the game
(24.13 KiB) Downloaded 854 times
Solasta.CT
added "inventory weight is always zero"
(37.04 KiB) Downloaded 639 times
Solasta.CT
changed cheat scrips to use mono addresses
tried to add godmode + One-Hit-Kill, could work or not ^^
(26.77 KiB) Downloaded 711 times
Solasta.CT
fixed charpoint bug
added pointers to some sort to XP of currently opened char
(9.15 KiB) Downloaded 393 times
Solasta.CT
(4.42 KiB) Downloaded 473 times
Last edited by Marc on Tue Dec 29, 2020 8:31 am, edited 14 times in total.

User avatar
hal9000
Novice Cheater
Novice Cheater
Posts: 22
Joined: Sun Sep 03, 2017 5:39 am
Reputation: 1

Re: Solasta: Crown of The Magister

Post by hal9000 »

Marc wrote:
Thu Oct 22, 2020 7:50 am
For anyone interested, here's a table which allows you to spent more attribe points at char creation. Hotkey is F1.
Thank you for your work :D . Unfortunately, while the money script does work perfectly, the attribute one seems to do nothing (all the stats are still capped despite the script being active)... I activate it once reached the page where the game ask you to roll stats after setting it to a point system (the one with infinite points), am I doing it wrong?

hisvileness
Fearless Donors
Fearless Donors
Posts: 94
Joined: Thu Aug 10, 2017 1:05 am
Reputation: 7

Re: Solasta: Crown of The Magister

Post by hisvileness »

you can use however many skill points you want in character wrt stat allocation if you say you're making an already existing character - it just turns the skill point tally into a infinite
Last edited by hisvileness on Fri Oct 23, 2020 1:47 am, edited 1 time in total.

User avatar
Cabola
Fearless Donors
Fearless Donors
Posts: 31
Joined: Sat Oct 03, 2020 1:35 pm
Reputation: 2

Re: Solasta: Crown of The Magister

Post by Cabola »

After experimenting a bit I've learned you can play the game with having the attribute skills (str, dex, con, int, wis, char) as high as up to 30. Past that and the game starts crashing and what not.

TheRedFear
Novice Cheater
Novice Cheater
Posts: 16
Joined: Fri Sep 18, 2020 6:55 am
Reputation: 1

Re: Solasta: Crown of The Magister

Post by TheRedFear »

hal9000 wrote:
Thu Oct 22, 2020 3:40 pm
Marc wrote:
Thu Oct 22, 2020 7:50 am
For anyone interested, here's a table which allows you to spent more attribe points at char creation. Hotkey is F1.
Thank you for your work :D . Unfortunately, while the money script does work perfectly, the attribute one seems to do nothing (all the stats are still capped despite the script being active)... I activate it once reached the page where the game ask you to roll stats after setting it to a point system (the one with infinite points), am I doing it wrong?
Same with me. Doesn't do anything, and money's already easy to cheat.

User avatar
Marc
Table Makers
Table Makers
Posts: 249
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 184

Re: Solasta: Crown of The Magister

Post by Marc »

You're right - the AOB has been to short and catches the wrong opcode.
Will upload other version in a few seconds...

astronomenon
What is cheating?
What is cheating?
Posts: 1
Joined: Sun Oct 25, 2020 2:33 am
Reputation: 0

Re: Solasta: Crown of The Magister

Post by astronomenon »

Cabola wrote:
Fri Oct 23, 2020 12:01 am
After experimenting a bit I've learned you can play the game with having the attribute skills (str, dex, con, int, wis, char) as high as up to 30. Past that and the game starts crashing and what not.
How'd you pull that off?

User avatar
Cabola
Fearless Donors
Fearless Donors
Posts: 31
Joined: Sat Oct 03, 2020 1:35 pm
Reputation: 2

Re: Solasta: Crown of The Magister

Post by Cabola »

astronomenon wrote:
Sun Oct 25, 2020 2:34 am
Cabola wrote:
Fri Oct 23, 2020 12:01 am
After experimenting a bit I've learned you can play the game with having the attribute skills (str, dex, con, int, wis, char) as high as up to 30. Past that and the game starts crashing and what not.
How'd you pull that off?
I just changed the stats in game, I was also a moron and forgot to save my table -.-'

tls5669
What is cheating?
What is cheating?
Posts: 1
Joined: Fri Feb 21, 2020 3:30 pm
Reputation: 0

Re: Solasta: Crown of The Magister

Post by tls5669 »

I couldnt get the stat one to work, it wont move past 8


NM got it

User avatar
Vandermeer
What is cheating?
What is cheating?
Posts: 2
Joined: Thu Oct 29, 2020 2:47 pm
Reputation: 4

Re: Solasta: Crown of The Magister

Post by Vandermeer »

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.

fallingKirov
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Nov 03, 2020 4:22 am
Reputation: 0

Re: Solasta: Crown of The Magister

Post by fallingKirov »

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.

Update2: with patch 0.27 the game hangs in an eternal loop when loading a savegame. A very creative (and effective) way to keep me from cheating this game... :lol: But there's a fix: in Steam Library, right-click on the game, "properties, local file, repair".
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, I hope.

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
Your CE table is very good, but can you modify the unlimited weight and unlimited spell slot?If you can, the game experience will be further improved.

User avatar
Marc
Table Makers
Table Makers
Posts: 249
Joined: Mon Mar 26, 2018 2:35 pm
Reputation: 184

Re: Solasta: Crown of The Magister

Post by Marc »

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 :)

Post Reply

Who is online

Users browsing this forum: jaclaffite, Rx33, Tiffany