<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>17019</ID>
      <Description>"If you return to the main menu, you’ll need to disable and re-enable them again."</Description>
      <Options moDeactivateChildrenAsWell="1"/>
      <Color>808080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>17006</ID>
          <Description>"==== General ===="</Description>
          <Options moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>17007</ID>
              <Description>"Quick Kills"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if syntaxcheck then return end
  if not getAddressSafe("GameServer.dll") then
  messageDialog(
  "     Enter the game first.\nCan take up to 20 seconds.",mtInformation,mbOK)
  return false
  end
{$asm}

aobscanmodule(One,GameServer.dll,8B 47 74 8B CF)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  xorps xmm0,xmm0
  movss [edi+74],xmm0
  mov eax,[edi+74]
  mov ecx,edi
  jmp return

One:
  jmp newmem

return:
registersymbol(One)

[DISABLE]

One:
  db 8B 47 74 8B CF

unregistersymbol(One)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17008</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if syntaxcheck then return end
  if not getAddressSafe("GameServer.dll") then
  messageDialog(
  "     Enter the game first.\nCan take up to 20 seconds.",mtInformation,mbOK)
  return false
  end
{$asm}

aobscanmodule(Two,GameServer.dll,D9 83 F4 06 00 00 8B)
alloc(newmem,$1000)

label(code)
label(return)
label(Three)

newmem:

code:
  movss xmm0,[Three]
  movss [ebx+000006F4],xmm0
  fld dword ptr [ebx+000006F4]
  jmp return

Three:
  dd (float)200

Two:
  jmp newmem
  nop

return:
registersymbol(Two)

[DISABLE]

Two:
  db D9 83 F4 06 00 00

unregistersymbol(Two)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17009</ID>
              <Description>"Infinite Stamina"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Four,GameClient.dll,AE 98 04 00 00 D9 96 98 04 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  fld1
  fstp dword ptr [esi+00000498]
  jmp return

Four+05:
  jmp newmem
  nop

return:
registersymbol(Four)

[DISABLE]

Four+05:
  db D9 96 98 04 00 00

unregistersymbol(Four)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17010</ID>
              <Description>"Infinite Ammunition"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if syntaxcheck then return end
  if not getAddressSafe("GameServer.dll") then
  messageDialog(
  "     Enter the game first.\nCan take up to 20 seconds.",mtInformation,mbOK)
  return false
  end
{$asm}

aobscanmodule(Five,GameServer.dll,74 2A 8B 0D 68 47 ?? ?? 8B 11)

alloc(newmem,$1000)
alloc(Six,8)

registersymbol(Five)
registersymbol(Six)

label(code)
label(return)

Six:
readmem(Five,8)

newmem:

code:
  jne GameServer.dll+C3FC5
  mov ecx,[GameServer.dll+254768]
  jmp return

Five:
  jmp newmem
  nop 3

return:

[DISABLE]

Five:
  readmem(Six,8)

unregistersymbol(Five)
unregistersymbol(Six)

dealloc(newmem)
dealloc(Six)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17011</ID>
              <Description>"⬆Switching the gun to melee and back will reload it. (Press TAB to switch.)"</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>17012</ID>
              <Description>"⬆The gun only restores the ammo it had when you first picked it up."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>17013</ID>
          <Description>"==== Extras ====="</Description>
          <Options moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>17014</ID>
              <Description>"Lock Camera"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Seven,Condemned.exe,89 4E 24 8B 50 04 89 56 28 8B 48 08 89 4E 2C 8B)
registersymbol(Seven)

Condemned.exe+27AAC:
  db 90 90 90

[DISABLE]

Seven:
  db 89 4E 24

unregistersymbol(Seven)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17015</ID>
              <Description>"⬆If for some reason you want to walk in front of the camera and see a headless Ethan Thomas."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>17016</ID>
              <Description>"Disable Forced Slow Walk"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eight,Condemned.exe,89 90 AC 00 00 00)
aobscanmodule(Nine,Condemned.exe,89 88 B4 00 00 00 80)

registersymbol(Eight)
registersymbol(Nine)

Condemned.exe+7D17:
  db 90 90 90 90 90 90

Condemned.exe+7D29:
  db 90 90 90 90 90 90

[DISABLE]

Eight:
  db 89 90 AC 00 00 00

Nine:
  db 89 88 B4 00 00 00

unregistersymbol(Eight)
unregistersymbol(Nine)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17017</ID>
              <Description>"⬆Prevents slow movement on slopes, stairs, etc."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>17018</ID>
              <Description>"⬆Only used it in the subway, so it may cause issues elsewhere."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com
</Comments>
  <LuaScript>-- Note: If you remove this script from the Cheat Engine table,
-- make sure to attach Cheat Engine only after entering the game.
-- Condemned: Criminal Origins loads its needed GameServer.dll module upon entering the game.
-- You can also click the "Execute Script" button at any time if you choose not to run it at startup.

local timer = createTimer(nil,false)
timer.Interval = 20000
local state = false
timer.OnTimer = function()
reinitializeSymbolhandler()
local loaded = getAddressSafe("GameServer.dll") ~= nil
if not state and loaded then
elseif state and not loaded then
end
state = loaded
end
timer.Enabled = true
</LuaScript>
</CheatTable>
