<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>6</ID>
      <Description>"DuckTales: Remastered"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(One,DuckTales.exe,8B BB C0 25 00 00)
aobscanmodule(Two,DuckTales.exe,D8 98 AC 24 00 00)
aobscanmodule(Three,DuckTales.exe,8B 88 ?? 01 00 00 DB 80 ?? 01 00 00 83 EC 38)

alloc(newmemOne,$1000)
alloc(newmemTwo,$1000)
alloc(newmemThree,$1000)
alloc(Four,4)
alloc(Five,4)
alloc(Six,4)
alloc(Seven,6)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)
registersymbol(Seven)

label(codeOne)
label(codeTwo)
label(codeThree)
label(returnOne)
label(returnTwo)
label(returnThree)

Four:
  dd 0

Five:
  dd 0

Six:
  dd 0

Seven:
  readmem(Three,6)

newmemOne:

codeOne:
  mov dword ptr [Four],ebx
  mov edi,[ebx+000025C0]
  jmp returnOne

One:
  jmp newmemOne
  nop

returnOne:

newmemTwo:

codeTwo:
  mov dword ptr [Five],eax
  fcomp dword ptr [eax+000024AC]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop

returnTwo:

newmemThree:

codeThree:
  mov dword ptr [Six],eax
  mov ecx,[eax+00000148]
  jmp returnThree

Three:
  jmp newmemThree
  nop

returnThree:

[DISABLE]

One:
  db 8B BB C0 25 00 00

Two:
  db D8 98 AC 24 00 00

Three:
  readmem(Seven,6)

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)
unregistersymbol(Seven)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(newmemThree)
dealloc(Four)
dealloc(Five)
dealloc(Six)
dealloc(Seven)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>75</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>2</ID>
              <Description>"Infinite Hearts"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eight,DuckTales.exe,D9 83 AC 02 00 00 8A)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  fld dword ptr [ebx+000002B0]
  fst dword ptr [ebx+000002AC]
  jmp return

Eight:
  jmp newmem
  nop

return:
registersymbol(Eight)

[DISABLE]

Eight:
  db D9 83 AC 02 00 00

unregistersymbol(Eight)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>88</ID>
              <Description>"Untouchable"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if untouchable == nil then
  untouchable = createTimer(nil,false)
  untouchable.Interval = 1000
  untouchable.OnTimer = function(t)
  pcall(function()
  local a = getAddress('Five')
  if a == 0 then return end
  local base = readInteger(a)
  if base and base ~= 0 then
  writeFloat(base+0x24AC,1)  -- Change the 1 to 7 if you want the normal invincibility effect to last forever when you pick up a Magic Coin, making the ‘It’s a Duck Blur’ achievement easy.
  end
  end)
  end
  end
  untouchable.Enabled = true
{$asm}

[DISABLE]

{$lua}
  if untouchable then
  untouchable.destroy()
  untouchable = nil
  end
  pcall(function()
  local a = getAddress('Five')
  if a ~= 0 then
  local base = readInteger(a)
  if base and base ~= 0 then
  writeFloat(base+0x24AC,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>91</ID>
              <Description>"⬆You can still be killed by certain hazards, such as the big rolling boulder."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>90</ID>
              <Description>"⬆If you want the invincibility effect when you pick up the Magic Coin, you’ll need to edit the script."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>53</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>8</ID>
              <Description>"Lives"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
1:0
2:1
3:2
4:3
5:4
6:5
7:6
8:7
9:8
10:9
11:10
12:11
13:12
14:13
15:14
16:15
17:16
18:17
19:18
20:19
21:20
22:21
23:22
24:23
25:24
26:25
27:26
28:27
29:28
30:29
31:30
32:31
33:32
34:33
35:34
36:35
37:36
38:37
39:38
40:39
41:40
42:41
43:42
44:43
45:44
46:45
47:46
48:47
49:48
50:49
51:50
52:51
53:52
54:53
55:54
56:55
57:56
58:57
59:58
60:59
61:60
62:61
63:62
64:63
65:64
66:65
67:66
68:67
69:68
70:69
71:70
72:71
73:72
74:73
75:74
76:75
77:76
78:77
79:78
80:79
81:80
82:81
83:82
84:83
85:84
86:85
87:86
88:87
89:88
90:89
91:90
92:91
93:92
94:93
95:94
96:95
97:96
98:97
99:98
100:99
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Four]+25C0</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>56</ID>
              <Description>"Money"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Four]+25B8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>60</ID>
              <Description>"Money Bin"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Six]+148</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>74</ID>
              <Description>"⬆After a loading screen, it may take a moment for the correct values to appear."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
