<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>93</ID>
      <Description>"If you return to the main menu, you’ll need to disable and re-enable them again."</Description>
      <Color>808080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>88</ID>
          <Description>"Infinite Armor"</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,D9 46 78 DA E9)
alloc(newmem,$1000)

label(code)
label(return)
label(Two)

newmem:

code:
  fld dword ptr [Two]
  fstp dword ptr [esi+78]
  fld dword ptr [esi+78]
  fucompp
  jmp return

Two:
  dd (float)2000

One:
  jmp newmem

return:
registersymbol(One)

[DISABLE]

One:
  db D9 46 78 DA E9

unregistersymbol(One)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>89</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(Three,GameServer.dll,D9 46 38 D9 5C 24 08)
alloc(newmem,$1000)

label(code)
label(return)
label(Four)

newmem:

code:
  fld dword ptr [Four]
  fstp dword ptr [esi+38]
  fld dword ptr [esi+38]
  fstp dword ptr [esp+08]
  jmp return

Four:
  dd (float)2000

Three:
  jmp newmem
  nop 2

return:
registersymbol(Three)

[DISABLE]

Three:
  db D9 46 38 D9 5C 24 08

unregistersymbol(Three)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>90</ID>
          <Description>"Infinite Stamina"</Description>
          <Color>C08000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(Five,GameClient.dll,D9 91 34 06 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  fld1
  fstp dword ptr [ecx+00000634]
  jmp return

Five:
  jmp newmem
  nop

return:
registersymbol(Five)

[DISABLE]

Five:
  db D9 91 34 06 00 00

unregistersymbol(Five)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>92</ID>
          <Description>"No Weapon Overheat"</Description>
          <Color>C08000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(Eight,GameClient.dll,D9 9F FC 00 00 00 D9 E8)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  fldz
  fstp dword ptr [edi+000000FC]
  jmp return

Eight:
  jmp newmem
  nop

return:
registersymbol(Eight)

[DISABLE]

Eight:
  db D9 9F FC 00 00 00

unregistersymbol(Eight)
dealloc(newmem)
</AssemblerScript>
        </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.
-- F.E.A.R. 2 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>
