[...]Anyway, here is an extended version of ChiliSoups's posted table - copy the following code into a txt-file and change the file name to SlayTheSpire.CT:
Or just attach it to the post as an attachment so people don't have to cut and paste text and rename a file, then copy it to where they store their CT's.
I assumed a new forum member is not able to do that, because ChiliSoup didn't attach a table... I attached my version of the table to this post.
Regarding the cheater score penalty: If you change your gold/money right at the start (for example to 999) and then freeze it, you don't get the penalty as far as I tested it. Also, you can change your block/shield in battles without triggering the penalty.
I found that the cheat table works great. Halfway through my run the infinite energy stopped working, but the value for energy is rather easy to find with a normal scan, and is a 4 bytes value.
If you have a different gold amount than the two values specified in the table, and the table stops working, it's possible to open the script, and replace the values that say E7 03 (for the 999 script, it's in there twice) with a hexadecimal value of the gold amount you have. Do not that you need to put in the two groups in reverse (03E7 translates to 999, so for example if you have 2000 gold, the number 2000 translates to 07D0, and you would put in D0 07 instead of the E7 03).
Thanks for this table, it is a lot of fun to use it and find nice deck combinations through the game.
I tested gold & HP & block with the current version (Early Access - Patch 11) and all three values still can be found and changed by using the scripts of the table. The game has weekly patches in the moment, but as long as the developers don't change the data structure or value representation of the character stats, the table shouldn't stop working (also the cheat protection for changing values could get stricter or something).
Generally, it can happen that you find correct adresses and then they change few seconds afterwards, so you have to search again - in respect to the table that means you have to deactivate and activate the script again. If you have a different gold value then 99 or 999 and it's not your first run after starting the game (so there is no fitting Array of Bytes in the table scripts) you can restart the game to enable the gold-independent script again (the AOB I use there is stat/number independent, but non-unique after the first run after starting the game because the game seems to save all runs temporarily until it's closed).
If you have some knowledge of AOBs, you can manually change the scripts or perform a (pretty fast) AOB scan yourself by using the AOBs in the scripts and changing the values (for example as described in this thread).
The bold bytes are read in reversed order to get your starting gold, this needs to be done when you are on the screen with the whale and i think you have like 30 sec - 1 min to trigger/change it
again change the bold bytes to change the starting gold
-------------------------------------------------------------------
For health it becomes ticker
rogue health is found via aob
46 00 00 00 46 00 00 00 00 00 00 00
it is read as first 2 bytes are HP current and then there is a 00 00 separator (buffer maybe) then it is the max HP
The catch is that this the hp seems to be all in the C0000000 to E0000000 memory range (at least for me) and also every time you start a game it doesn't reset the old bytes. So you get something like C1438444 is found as the min hp for the 1st run when you start the game, but after starting a second run you will get that result along with another result CXXXXXXX and now that is the min hp for the second run so the amount of values you get out of the AOB is dependent on which run you are on. I haven't done extensive work on this so I don't know if after X amounts of runs it clears and goes back to 1 address or if it goes until it hits above a certain address and then resets.
I have also found with the HP you need to start a battle and play 1 round before the address will generate itself. You would need to change the byte of the first address to the hex value of whatever your HP value is at that point before scanning or you know block like the wind (either/or).
I'm not a whole lot experienced with this so if someone wants to take what I gathered and run with it feel free to.
Last note finding and editing the addresses that result from these AoB scans do not trigger the cheater status to appear on your ending screen so you don't get that negative hit to your score.
Edit: Changing the max hp seems to give you the cheater -99 score but min doesn't give that. Also the HP value is static except for the last act.
Is this the [B]same version[/B] of the game as the one the original poster requested a table for? In short: [B]a.[/B] you want an updated version of the table for the same version of the game OR [B]b.[/B] an updated table for an [I]updated[/I] version of the game? a. or b. :)
[QUOTE="SunBeam, post: 42717, member: 12587"]Is this the [B]same version[/B] of the game as the one the original poster requested a table for? In short: [B]a.[/B] you want an updated version of the table for the same version of the game OR [B]b.[/B] an updated table for an [I]updated[/I] version of the game? a. or b. :)[/QUOTE]
[USER=441]@Forces[/USER]: Kindly create a new request for that version then. That's the only reason I asked. As I see it, the original poster's request has been completed when the first (and only) table was posted. Thanks! Closing this.
Last edited by SunBeam on Thu Jan 01, 1970 12:00 am, edited 2 times in total.
Considering how popular this game is I'm surprised no one has raised to the challenge of making a table for v1.0 (01-23-2019) release of the game, I guess it's not easy though, memory seems to be random (java) and there is some kind of anti-cheat that flags your save as a cheater if detected.
But if someone could make a simple table with "gold values" and able to bypass the anti-cheat that's all I really want from this.
EDIT: Should I make a new Request thread about this v1.0 release or just let this one be?