<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>49</ID>
      <Description>"Sparklite"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

{$lua}
  LaunchMonoDataCollector()
{$asm}

define(One,Inventory:GetAmountOfCurrency+7f)
define(Two,BrainHumanHero:CheckHeroActions+548)
define(Three,StartRun:ExecuteAction+66)

alloc(newmemOne,$1000,One)
alloc(newmemTwo,$1000,Two)
alloc(newmemThree,$1000,Three)
alloc(Four,8)
alloc(Five,8)
alloc(Six,1)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)

label(codeOne)
label(codeTwo)
label(codeThree)
label(returnOne)
label(returnTwo)
label(returnThree)

Four:
  dq 0

Five:
  dq 0

Six:
  db 1

newmemOne:

codeOne:
  mov qword ptr [Four],r15
  movsxd  rax,dword ptr [r15+18]
  mov [rbp-48],eax
  jmp returnOne

One:
  jmp newmemOne
  nop 2

returnOne:

newmemTwo:

codeTwo:
  mov qword ptr [Five],r12
  movzx eax,byte ptr [r12+00000146]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop 4

returnTwo:

newmemThree:
  cmp byte ptr [Six],1
  jne codeThree
  mov byte ptr [r15+00000147],01
  jmp returnThree

codeThree:
  mov byte ptr [r15+00000147],00
  jmp returnThree

Three:
  jmp newmemThree
  nop 3

returnThree:

[DISABLE]

One:
  db 49 63 47 18 89 45 B8

Two:
  db 41 0F B6 84 24 46 01 00 00

Three:
  db 41 C6 87 47 01 00 00 00

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(newmemThree)
dealloc(Four)
dealloc(Five)
dealloc(Six)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>53</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Seven,RedBlueGames.Sparklite.UI.HUD:Update+159)
alloc(newmem,$1000,Seven)

label(code)
label(return)

newmem:

code:
  mov r8d,dword ptr [rcx+10]
  mov dword ptr [rcx+14],r8d
  movsxd  rdx,dword ptr [rcx+14]
  cvtsi2ss xmm0,edx
  jmp return

Seven:
  jmp newmem
  nop 3

return:
registersymbol(Seven)

[DISABLE]

Seven:
  db 48 63 51 14 F3 0F 2A C2

unregistersymbol(Seven)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>51</ID>
              <Description>"Infinite Energy"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Energy:ConsumeEnergy:
  db C3

[DISABLE]

Energy:ConsumeEnergy:
  db 55
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>94</ID>
              <Description>"Infinite Widget Charges"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Widget:ConsumeCharge+19:
  db 90 90 90

[DISABLE]

Widget:ConsumeCharge+19:
  db 89 46 18
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>87</ID>
              <Description>"Prevent Pitfalls"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Eight,Fighter:OnSurfaceChanged+84)
alloc(newmem,$1000,Eight)

label(code)
label(return)

newmem:

code:
  jne Fighter:OnSurfaceChanged+9a
  cmp dword ptr [rsi],00
  jmp return

Eight:
  jmp newmem

return:
registersymbol(Eight)

[DISABLE]

Eight:
  db 74 14 83 3E 00

unregistersymbol(Eight)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>88</ID>
              <Description>"⬆Only works when the pit is on the same level as Ada. If you need to drop down to reach the pit, you'll still fall into it."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>81</ID>
              <Description>"Friendly Enemies"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Fighter:IsTargetable:
  db C3

[DISABLE]

Fighter:IsTargetable:
  db 55
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>83</ID>
              <Description>"⬆The bosses are unfriendly and still want to kill you."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>54</ID>
          <Description>"==== Statistics ==="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>52</ID>
              <Description>"Sparklite"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Four]+18</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>63</ID>
              <Description>"Runs"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+14C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>64</ID>
              <Description>"Retries"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+150</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>65</ID>
              <Description>"Defeated Bosses"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+154</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>66</ID>
              <Description>"Defeated Bosses Current Session"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+158</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>69</ID>
              <Description>"Sparklite Collected Current Session"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+164</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>68</ID>
              <Description>"Accumulated Jump-Downs"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+160</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>70</ID>
              <Description>"Consecutive Hammer Kills"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Five]+168</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>74</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>76</ID>
              <Description>"Unlock Rocky"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Nine,TownLevelManager:OnEnterWaitForLevelSetup+44c)
alloc(newmem,$1000,Nine)

label(code)
label(return)

newmem:

code:
  mov byte ptr [rsi+00000145],1     // If you enabled it by mistake, change the value from 1 to 0.
  movzx edx,byte ptr [rsi+00000145]
  jmp return

Nine:
  jmp newmem
  nop 2

return:
registersymbol(Nine)

[DISABLE]

Nine:
  db 0F B6 96 45 01 00 00

unregistersymbol(Nine)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>5</ID>
              <Description>"Unlock Wingnut"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Ten,BrainHumanHero:CheckHeroActions+548)
alloc(newmem,$1000,Ten)

label(code)
label(return)

newmem:

code:
  mov byte ptr [r12+00000146],1     // If you enabled it by mistake, change the value from 1 to 0.
  movzx eax,byte ptr [r12+00000146]
  jmp return

Ten:
  jmp newmem
  nop 4

return:
registersymbol(Ten)

[DISABLE]

Ten:
  db 41 0F B6 84 24 46 01 00 00

unregistersymbol(Ten)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>79</ID>
              <Description>"⬆Enable unlocks from the main menu, or enter and exit a world."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>91</ID>
              <Description>"Skip the Show"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

MontysHaulEncounter:SetAllChestInteractEnabled:
  db C3

[DISABLE]

MontysHaulEncounter:SetAllChestInteractEnabled:
  db 55
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>93</ID>
              <Description>"⬆You can go back into Monty's Haul after it's over and open the chests again."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>89</ID>
              <Description>"Guaranteed Win"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Eleven,MontysHaulEncounter:CheckForFailure+b)
alloc(newmem,$1000,Eleven)

label(code)
label(return)

newmem:

code:
  mov dword ptr [rax+000000F8],0
  movsxd  rax,dword ptr [rax+000000F8]
  jmp return

Eleven:
  jmp newmem
  nop 2

return:
registersymbol(Eleven)

[DISABLE]

Eleven:
  db 48 63 80 F8 00 00 00

unregistersymbol(Eleven)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>90</ID>
              <Description>"⬆The game will continue even if you choose the wrong chest in Monty's Haul."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>78</ID>
              <Description>"Play Using Seed"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Six:
  db 1

[DISABLE]

Six:
  db 0
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>71</ID>
                  <Description>"World Seed"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>808080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[Five]+16C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>95</ID>
                  <Description>"⬆You will need to enable 'Play Using Seed,' then edit the seed."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>80</ID>
                  <Description>"⬆After editing the seed, you will need to enter the world, end the run, and re-enter for the changes to take effect."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
