<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>104148</ID>
      <Description>"[ACTIVATE]"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Original Code by G40sty.
[ENABLE]
{$lua}
local gameName = "Ori and The Will of the Wisps"
local gameProcess = "oriwotw.exe"
if getProcessIDFromProcessName(gameProcess) ~= nil then
   if readInteger(process) == nil then
      openProcess(gameProcess)
   else
       if readInteger(process) ~= readInteger(gameProcess) then
          openProcess(gameProcess)
      end
   end
else
    beep() error(showMessage(string.format("%s is not running.",gameName)))
end
--; Auto Attach Process For User
if syntaxcheck then return end
if messageDialog([[
Copyright © 2022 OpenCheatTables.com
Table Creator: Marcus101RR
Would you like to read additional information?
]],mtInformation,mbYes,mbNo) == mrYes then
messageDialog("This information has been added to deter users of FRF (Fearless Revolution Forums) to violate the GPL License. You are hereby informed that use of this table is strictly forbidden from distribution, upload, or alterations with or without consent from this author on FRF. All other sources are allowed with permission.")
else
end


[DISABLE]
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>31</ID>
          <Description>"[POINTERS]"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

define(ORI_Player,GameAssembly.dll+47630E8)
define(ORI_Stats,ShadowOfWar.exe+26FFB08)

registersymbol(ORI_Player)
registersymbol(ORI_Stats)

[DISABLE]
unregistersymbol(ORI_Player)
unregistersymbol(ORI_Stats)


</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>38</ID>
              <Description>"Inventory"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>36</ID>
                  <Description>"Key Stones"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>28</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>40</ID>
                  <Description>"Spirit Lights"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>30</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>41</ID>
                  <Description>"Gorlek Ore"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>34</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>39</ID>
                  <Description>"Shard Slots"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>28</Offset>
                    <Offset>20</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>37</ID>
              <Description>"Player"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>28</ID>
                  <Description>"Health"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>10</Offset>
                    <Offset>28</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>33</ID>
                      <Description>"Max"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>ORI_PLAYER</Address>
                      <Offsets>
                        <Offset>14</Offset>
                        <Offset>28</Offset>
                        <Offset>30</Offset>
                        <Offset>50</Offset>
                        <Offset>0</Offset>
                        <Offset>B8</Offset>
                      </Offsets>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>32</ID>
                  <Description>"Energy"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>18</Offset>
                    <Offset>28</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>34</ID>
                      <Description>"Max"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>Float</VariableType>
                      <Address>ORI_PLAYER</Address>
                      <Offsets>
                        <Offset>1C</Offset>
                        <Offset>28</Offset>
                        <Offset>30</Offset>
                        <Offset>50</Offset>
                        <Offset>0</Offset>
                        <Offset>B8</Offset>
                      </Offsets>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>35</ID>
                  <Description>"Light Orbs"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>30</Offset>
                    <Offset>28</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>104146</ID>
                  <Description>"Life Cell Fragment"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>38</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>104147</ID>
                  <Description>"Energy Cell Fragment"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>3C</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>42</ID>
              <Description>"Stats"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>43</ID>
                  <Description>"Deaths"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ORI_PLAYER</Address>
                  <Offsets>
                    <Offset>40</Offset>
                    <Offset>48</Offset>
                    <Offset>30</Offset>
                    <Offset>50</Offset>
                    <Offset>0</Offset>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"[SCRIPTS]"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"Infinite Jumps"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : oriwotw.exe
  Version: 
  Date   : 2020-03-12
  Author : Marcus101RR

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(gInfJump,GameAssembly.dll,FF 8B 94 00 00 00) // should be unique

registersymbol(gInfJump)

gInfJump:
  db 90 90 90 90 90 90

[DISABLE]

gInfJump:
  db FF 8B 94 00 00 00

unregistersymbol(gInfJump)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+DE4F41

"GameAssembly.dll"+DE4F0E: 0F 84 A5 09 00 00        -  je GameAssembly.dll+DE58B9
"GameAssembly.dll"+DE4F14: 48 8B 80 98 00 00 00     -  mov rax,[rax+00000098]
"GameAssembly.dll"+DE4F1B: 48 85 C0                 -  test rax,rax
"GameAssembly.dll"+DE4F1E: 0F 84 8F 09 00 00        -  je GameAssembly.dll+DE58B3
"GameAssembly.dll"+DE4F24: 48 8B 48 18              -  mov rcx,[rax+18]
"GameAssembly.dll"+DE4F28: 48 85 C9                 -  test rcx,rcx
"GameAssembly.dll"+DE4F2B: 0F 84 7C 09 00 00        -  je GameAssembly.dll+DE58AD
"GameAssembly.dll"+DE4F31: 45 33 C0                 -  xor r8d,r8d
"GameAssembly.dll"+DE4F34: F3 0F 10 8B 80 00 00 00  -  movss xmm1,[rbx+00000080]
"GameAssembly.dll"+DE4F3C: E8 3F B6 2E 00           -  call GameAssembly.dll+10D0580
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+DE4F41: FF 8B 94 00 00 00        -  dec [rbx+00000094]
// ---------- DONE INJECTING  ----------
"GameAssembly.dll"+DE4F47: 48 8B 43 58              -  mov rax,[rbx+58]
"GameAssembly.dll"+DE4F4B: 48 85 C0                 -  test rax,rax
"GameAssembly.dll"+DE4F4E: 0F 84 53 09 00 00        -  je GameAssembly.dll+DE58A7
"GameAssembly.dll"+DE4F54: 48 8B 40 30              -  mov rax,[rax+30]
"GameAssembly.dll"+DE4F58: 48 85 C0                 -  test rax,rax
"GameAssembly.dll"+DE4F5B: 0F 84 40 09 00 00        -  je GameAssembly.dll+DE58A1
"GameAssembly.dll"+DE4F61: 48 8B 48 50              -  mov rcx,[rax+50]
"GameAssembly.dll"+DE4F65: 48 85 C9                 -  test rcx,rcx
"GameAssembly.dll"+DE4F68: 0F 84 2D 09 00 00        -  je GameAssembly.dll+DE589B
"GameAssembly.dll"+DE4F6E: 48 8B 79 18              -  mov rdi,[rcx+18]
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>104145</ID>
              <Description>"Allow Shards"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
LaunchMonoDataCollector()
GetLuaEngine().Close()
{$asm}


PlayerSpiritShards.DisableShardsForRaces:
db C3
 
[DISABLE]
PlayerSpiritShards.DisableShardsForRaces:
db 40
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"[DEBUG]"</Description>
          <Options moHideChildren="1"/>
          <Color>0000FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>25</ID>
              <Description>"[Statistics]"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>24</ID>
                  <Description>"Distance Traveled"</Description>
                  <VariableType>Float</VariableType>
                  <Address>"GameAssembly.dll"+043C9730</Address>
                  <Offsets>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>F38</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>26</ID>
                  <Description>"Airborne Time"</Description>
                  <VariableType>Float</VariableType>
                  <Address>"GameAssembly.dll"+043C9730</Address>
                  <Offsets>
                    <Offset>18</Offset>
                    <Offset>60</Offset>
                    <Offset>18</Offset>
                    <Offset>30</Offset>
                    <Offset>F38</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>1.0</Comments>
</CheatTable>
