<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>84</ID>
      <Description>"Panzer Dragoon: Remake"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

{$lua}
  LaunchMonoDataCollector()
{$asm}

define(One,PD_CheatManager:Update+144)
define(Two,PD_AutoAimOrbs:Update+6b)

alloc(newmemOne,$1000,One)
alloc(newmemTwo,$1000,Two)
alloc(Three,8)
alloc(Four,8)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)

label(codeOne)
label(codeTwo)
label(returnOne)
label(returnTwo)

Three:
  dq 0

Four:
  dq 0

newmemOne:

codeOne:
  mov qword ptr [Three],rax
  movsxd  rax,dword ptr [rax+50]
  test eax,eax
  jmp returnOne

One:
  jmp newmemOne
  nop

returnOne:

newmemTwo:

codeTwo:
  mov qword ptr [Four],rax
  movzx eax,byte ptr [rax+7E]
  test eax,eax
  jmp returnTwo

Two:
  jmp newmemTwo
  nop

returnTwo:

{$lua}
  if not clockTimer then
  clockTimer=createTimer(nil,false)
  clockTimer.Interval=100
  if not Five then
  Five=allocateMemory(8)
  registerSymbol("Five")
  end
  previousTime=-1
  lastTime=""
  clockTimer.OnTimer=function()
  if not Five then return end
  local addr=getAddress("[Three]+54")
  if not addr or addr==0 then return end
  local txt=readString(Five) or ""
  if txt~=lastTime then
  local h,m=txt:match("^(%d+):(%d%d)$")
  if h and m then
  h=tonumber(h) m=tonumber(m)
  if h and m and m&gt;=0 and m&lt;=59 then
  local sec=h*3600+m*60
  writeFloat(addr,sec)
  previousTime=sec
  end
  end
  lastTime=txt
  end
  local ok,v=pcall(readFloat,addr)
  if not ok or not v or v~=v or v&lt;0 then
  for i=0,7 do pcall(writeBytes,Five+i,0) end
  writeString(Five,"Waiting")
  return
  end
  local t=math.floor(v/60)
  local h=math.floor(t/60)
  local m=t%60
  local out
  if h&lt;10 then out=string.format("%d:%02d",h,m)
  elseif h&lt;100 then out=string.format("%02d:%02d",h,m)
  elseif h&lt;1000 then out=string.format("%03d:%02d",h,m)
  else out=string.format("%04d:%02d",h,m) end
  if out~=lastTime then
  for i=0,7 do pcall(writeBytes,Five+i,0) end
  writeString(Five,out)
  lastTime=out
  previousTime=t
  end
  end
  clockTimer.Enabled=true
  end
{$asm}

[DISABLE]

One:
  db 48 63 40 50 85 C0

Two:
  db 0F B6 40 7E 85 C0

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(Three)
dealloc(Four)

{$lua}
  if clockTimer then
  clockTimer.destroy()
  clockTimer=nil
  end
{$asm}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>213</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>149</ID>
              <Description>"Infinite Credits"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

PD_EndGameScreen:RestartFromContinue+1f:
  db 90 90 90

[DISABLE]

PD_EndGameScreen:RestartFromContinue+1f:
  db 89 48 40
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>0</ID>
              <Description>"Infinite Energy"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

PD_Player:TakeDamage:
  db C3

[DISABLE]

PD_Player:TakeDamage:
  db 55
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>214</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>244</ID>
              <Description>"These are the built-in cheats unlocked with cheat codes."</Description>
              <Color>808080</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>230</ID>
              <Description>"God Mode"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if godMode ~= nil then
  godMode.destroy()
  godMode = nil
  end
  local proc = getOpenedProcessID()
  godMode = createTimer()
  godMode.Interval = 1000
  godMode.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  godMode.destroy()
  godMode = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x74,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if godMode ~= nil then
  godMode.destroy()
  godMode = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x74,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>231</ID>
              <Description>"Easy Boss Mode"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if easyBoss ~= nil then
  easyBoss.destroy()
  easyBoss = nil
  end
  local proc = getOpenedProcessID()
  easyBoss = createTimer()
  easyBoss.Interval = 1000
  easyBoss.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  easyBoss.destroy()
  easyBoss = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x76,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if easyBoss ~= nil then
  easyBoss.destroy()
  easyBoss = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x76,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>237</ID>
              <Description>"Rapid Fire"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if rapidFire ~= nil then
  rapidFire.destroy()
  rapidFire = nil
  end
  local proc = getOpenedProcessID()
  rapidFire = createTimer()
  rapidFire.Interval = 1000
  rapidFire.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  rapidFire.destroy()
  rapidFire = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x7D,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if rapidFire ~= nil then
  rapidFire.destroy()
  rapidFire = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x7D,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>238</ID>
              <Description>"Super Weapon"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if superWeapon ~= nil then
  superWeapon.destroy()
  superWeapon = nil
  end
  local proc = getOpenedProcessID()
  superWeapon = createTimer()
  superWeapon.Interval = 1000
  superWeapon.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  superWeapon.destroy()
  superWeapon = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x7E,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if superWeapon ~= nil then
  superWeapon.destroy()
  superWeapon = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x7E,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>234</ID>
              <Description>"Disable Rider"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if disableRider ~= nil then
  disableRider.destroy()
  disableRider = nil
  end
  local proc = getOpenedProcessID()
  disableRider = createTimer()
  disableRider.Interval = 1000
  disableRider.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  disableRider.destroy()
  disableRider = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x78,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if disableRider ~= nil then
  disableRider.destroy()
  disableRider = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x78,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>235</ID>
              <Description>"Use Weapon"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if useWeapon ~= nil then
  useWeapon.destroy()
  useWeapon = nil
  end
  local proc = getOpenedProcessID()
  useWeapon = createTimer()
  useWeapon.Interval = 1000
  useWeapon.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  useWeapon.destroy()
  useWeapon = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x77,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if useWeapon ~= nil then
  useWeapon.destroy()
  useWeapon = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x77,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>236</ID>
              <Description>"⬆You can still shoot when you use Disable Rider."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>232</ID>
              <Description>"Speed Up"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if speedUp ~= nil then
  speedUp.destroy()
  speedUp = nil
  end
  local proc = getOpenedProcessID()
  speedUp = createTimer()
  speedUp.Interval = 1000
  speedUp.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  speedUp.destroy()
  speedUp = nil
  return
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x79,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if speedUp ~= nil then
  speedUp.destroy()
  speedUp = nil
  end
  pcall(function()
  local a = getAddress('Four')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x79,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>240</ID>
              <Description>"Easy Cheat Input"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Six,PD_CheatManager:Update+94)
alloc(newmem,$1000,Six)

label(code)
label(return)

newmem:

code:
  xorps xmm5,xmm5
  movss [rsi+000000A0],xmm5
  jmp return

Six:
  jmp newmem
  nop 3

return:
registersymbol(Six)

[DISABLE]

Six:
  db F3 0F 11 AE A0 00 00 00

unregistersymbol(Six)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>211</ID>
              <Description>"⬆You can enter the built-in cheat codes as slowly as you want."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>118</ID>
          <Description>"==== Statistics ==="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>102</ID>
              <Description>"Started Games"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+4C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>190</ID>
              <Description>"Easy"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+20]+20</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>191</ID>
              <Description>"Normal"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+20]+24</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>192</ID>
              <Description>"Hard"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+20]+28</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>106</ID>
              <Description>"Finished Games"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+50</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>201</ID>
              <Description>"Easy"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+28]+20</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>202</ID>
              <Description>"Normal"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+28]+24</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>203</ID>
              <Description>"Hard"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C0C0C0</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[[Three]+28]+28</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>242</ID>
              <Description>"Time in Game"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>String</VariableType>
              <Length>10</Length>
              <Unicode>0</Unicode>
              <CodePage>0</CodePage>
              <ZeroTerminate>1</ZeroTerminate>
              <Address>Five</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>189</ID>
              <Description>"⬆You can only increase the time, not decrease it."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>243</ID>
              <Description>"⬆For the Lifeless achievement, set just under 100 hours and play the last part yourself to ensure it unlocks."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>112</ID>
              <Description>"Normal Shots Fired"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+3C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>113</ID>
              <Description>"Special Shots Fired"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+40</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>114</ID>
              <Description>"Accuracy"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+48</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>115</ID>
              <Description>"Enemies Destroyed"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+30</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>116</ID>
              <Description>"Bosses Destroyed"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+34</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>117</ID>
              <Description>"Times Defeated"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+38</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
