Slay the Spire cheat

C

cnerrv

Noobzor
Joined
Mar 7, 2017
Messages
14
I found one thing,This game can't make CT Cheat??
Which partner were able make CT cheat??
 
L

lqylqy123

What is cheating?
Joined
Nov 2, 2017
Messages
1
looks like the game is using jvm, so you can't find value by searching
 
C

ChiliSoup

Noobzor
Joined
Jan 3, 2018
Messages
8
At the start of the first battle wait about 30 seconds and the scan AOB
Code:
63 00 00 00 63 00 00 00
.

You will see a bunch of 65XXXXXX and the 11th address starts with a C0AXXXX.
Add C0AXXXX, change to 4 byte, right click and show as decimal.
 
C

ChiliSoup

Noobzor
Joined
Jan 3, 2018
Messages
8
Save as .CT Let me know if it works for you. I am on update 5.
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="24">
  <CheatEntries>
    <CheatEntry>
      2
      <Description>"ENABLE"</Description>
      <DropDownList>123
</DropDownList>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

registersymbol(INJECT)
aobscan(INJECT, 63 00 00 00 63 00 00 00 00 00 00 00 00 00 80 3F) // should be unique


INJECT:
//db FF FF 00 00 FF FF

[DISABLE]

INJECT:
//db 63 00 00 00 63 00

unregistersymbol(INJECT)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          16
          <Description>"No Mana Spent"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

registersymbol(INJECT2)
aobscan(INJECT2, 89 04 19 E9 76 00 00 00 83 F8 02 0F 85 10)


INJECT2:
db 90 90 90
[DISABLE]

INJECT2:
db 89 04 19
unregistersymbol(INJECT2)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          3
          <Description>"Money"</Description>
          <LastState Value="557" RealAddress="C0A4D12C"/>
          <VariableType>4 Bytes</VariableType>
          <Address>INJECT</Address>
        </CheatEntry>
        <CheatEntry>
          5
          <Description>"HP Current"</Description>
          <LastState Value="31" RealAddress="C0A4D14C"/>
          <VariableType>4 Bytes</VariableType>
          <Address>INJECT+20</Address>
        </CheatEntry>
        <CheatEntry>
          6
          <Description>"HP Max"</Description>
          <LastState Value="70" RealAddress="C0A4D150"/>
          <VariableType>4 Bytes</VariableType>
          <Address>INJECT+24</Address>
        </CheatEntry>
        <CheatEntry>
          12
          <Description>"Shield"</Description>
          <LastState Value="5" RealAddress="C0A4D154"/>
          <VariableType>4 Bytes</VariableType>
          <Address>INJECT+28</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
 
TheMenda

TheMenda

Novice Cheater
Joined
Apr 17, 2017
Messages
22
That code works like a charm, even on patch 2 :)
Nice work.
PS: would be nice to have an actual 4bytes value for mana to be able to edit, not only the script.

EDit: ON partch 5, also works for me
 
S

sifr

What is cheating?
Joined
Jan 7, 2018
Messages
2
how do you save the codes as .ct?
 
C

ChiliSoup

Noobzor
Joined
Jan 3, 2018
Messages
8
sifr said:
how do you save the codes as .ct?
Put into a notepad and save as a .ct
 
W

Warnorse

What is cheating?
Joined
Jan 9, 2018
Messages
4
Hey, is there any chance of an update? It seems to still detect values at the time you check enable, but they can't be edited and do not update to reflect in game changes. The no mana appears to still work though.
 
Fazuul

Fazuul

Novice Cheater
Fearless Donors
Joined
May 15, 2017
Messages
18
An update would be fantastic.
 
C

caroline00

Noobzor
Joined
Mar 31, 2017
Messages
13
@ChiliSoup can you please update your table to patch 7 pls, the one for patch 5 didn't work, thanks for your work.
 
M

manbearbunny

Noobzor
Joined
Jan 7, 2018
Messages
13
Also requesting update please
 
G

ghjkl789

Noobzor
Joined
Mar 14, 2017
Messages
14
Also requesting update for newest steam version (patch 8 atm), thanks!
 
H

happybrother

What is cheating?
Joined
May 8, 2017
Messages
4
When updating, please notice that in update8 they did a new Cheater (-999) score after winning (cheat detection?).
Is this why at the start I get option to Remove a card instead of Obtaining one?

Btw, There is a file in preferences folder, a file called STSPlayer. When edited in notepad++ there is one curious option:
"funMode": "true",
Is this the Cheater anti-achievement? (messes up gameplay and unlocks)
It auto updated when I started playing (could be a coincidence).
 
N

Nostradamus

Noobzor
Joined
Jan 30, 2018
Messages
8
The cheater score penalty was reduced to -99, so it's not that relevant (you can also just change a metric that increases your score). I didn't find out what "funMode":"true" does, but it doesn't change your score and it allows playing normally.

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:
Code:
<i>
</i><?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="26">
  <CheatEntries>
    <CheatEntry>
      2
      <Description>"Stats: activate this in your first run after starting the game"</Description>
      <Options moManualExpandCollapse="1"/>
      <DropDownList>123
</DropDownList>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

RegisterSymbol(addr)
AOBScanRegion(addr, A0000000, FFFFFFFF, 00 C0 AA 43 ?? ?? ?? 43 ?? ?? 00 00 ?? ?? 00 00 ?? ?? ?? ?? 00 00 80 3F ?? ?? ?? ?? AA ?? ?? ??)  // constant in every run
//AOBScanRegion(addr, A0000000, FFFFFFFF, 00 C0 AA 43 ?? ?? ?? 43 ?? ?? 00 00 ?? ?? 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 00 00 00 50 00 00 00 ?? 00 00 00)  // HP: 80/80
//AOBScanRegion(addr, A0000000, FFFFFFFF, 00 C0 AA 43 ?? ?? ?? 43 ?? ?? 00 00 ?? ?? 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 46 00 00 00 46 00 00 00 ?? 00 00 00)  // HP: 70/70



[DISABLE]

UnregisterSymbol(addr)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          3
          <Description>"Money/Gold"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addr+8</Address>
        </CheatEntry>
        <CheatEntry>
          5
          <Description>"HP: current"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addr+28</Address>
        </CheatEntry>
        <CheatEntry>
          6
          <Description>"HP: maximum"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addr+2C</Address>
        </CheatEntry>
        <CheatEntry>
          12
          <Description>"Block/Shield"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addr+30</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      17
      <Description>"Stats: activate this when you have 99 gold"</Description>
      <Options moManualExpandCollapse="1"/>
      <DropDownList>123
</DropDownList>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

UnregisterSymbol(addrGold)
RegisterSymbol(addrGold)
AOBScanRegion(addrGold, A0000000, FFFFFFFF, 63 00 00 00 63 00 00 00 ?? ?? ?? ?? 00 00 80 3F)  // Gold: 99 (actual/shown)
//AOBScanRegion(addrGold, A0000000, FFFFFFFF, 63 00 00 00 ?? 00 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 00 00 00 50 00 00 00 ?? 00 00 00)  // Gold: 99; HP: 80/80
//AOBScanRegion(addrGold, A0000000, FFFFFFFF, 63 00 00 00 ?? 00 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 46 00 00 00 46 00 00 00 ?? 00 00 00)  // Gold: 99; HP: 70/70



[DISABLE]

UnregisterSymbol(addrGold)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          23
          <Description>"If this is activated, but you can't change your actual values, ..."</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          24
          <Description>"... change the Money/Gold entry below to something else than 99 and then reactivate this."</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          19
          <Description>"Money/Gold"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold</Address>
        </CheatEntry>
        <CheatEntry>
          20
          <Description>"HP: current"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+20</Address>
        </CheatEntry>
        <CheatEntry>
          21
          <Description>"HP: maximum"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+24</Address>
        </CheatEntry>
        <CheatEntry>
          22
          <Description>"Block/Shield"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+28</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      26
      <Description>"Stats: activate this when you have 999 gold"</Description>
      <Options moManualExpandCollapse="1"/>
      <DropDownList>123
</DropDownList>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

UnregisterSymbol(addrGold)
RegisterSymbol(addrGold)
AOBScanRegion(addrGold, A0000000, FFFFFFFF, E7 03 00 00 E7 03 00 00 ?? ?? ?? ?? 00 00 80 3F)  // Gold: 999 (actual/shown)
//AOBScanRegion(addrGold, A0000000, FFFFFFFF, E7 03 00 00 ?? 0? 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 00 00 00 50 00 00 00 ?? 00 00 00)  // Gold: 999; HP: 80/80
//AOBScanRegion(addrGold, A0000000, FFFFFFFF, E7 03 00 00 ?? 0? 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 46 00 00 00 46 00 00 00 ?? 00 00 00)  // Gold: 999; HP: 70/70



[DISABLE]

UnregisterSymbol(addrGold)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          27
          <Description>"If this is activated, but you can't change your actual values, ..."</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          28
          <Description>"... change the Money/Gold entry below to something else than 999 and then reactivate this."</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          29
          <Description>"Money/Gold"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold</Address>
        </CheatEntry>
        <CheatEntry>
          30
          <Description>"HP: current"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+20</Address>
        </CheatEntry>
        <CheatEntry>
          31
          <Description>"HP: maximum"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+24</Address>
        </CheatEntry>
        <CheatEntry>
          32
          <Description>"Block/Shield"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>addrGold+28</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      18
      <Description>"Never expend Energy/Mana"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

RegisterSymbol(injectMana)
AOBScan(injectMana, 89 04 19 E9 76 00 00 00 83 F8 02 0F 85 10)

injectMana:
db 90 90 90



[DISABLE]

injectMana:
db 89 04 19

UnregisterSymbol(injectMana)

</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
Let me know when the stat-parts (Gold, HP, Block) of the table don't work.
 
jungletek

jungletek

Expert Cheater
Joined
Oct 17, 2017
Messages
205
Nostradamus said:
[...]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.
:roll:
 
Top