<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="32">
  <CheatEntries>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Timer does only increase, not decrease anymore"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
LaunchMonoDataCollector()
{$asm}
GameController:GetTimeLeft+2b:
  nop
  nop

 
 
[DISABLE]
{$lua}
LaunchMonoDataCollector()
{$asm}
GameController:GetTimeLeft+2b:
  fsubp st(1),st(0)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>4</ID>
      <Description>"Get 100 Diamonds for each collected one"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscan(diamons,03 45 0C 89 86 8C 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [ebp+0c],#100
code:
  add eax,[ebp+0C]
  mov [esi+0000008C],eax
  jmp return

diamons:
  jmp newmem
  nop 4
return:
registersymbol(diamons)

[DISABLE]

diamons:
  db 03 45 0C 89 86 8C 00 00 00

unregistersymbol(diamons)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameController:IncrementDiamonds+10

183D208E: 1B 93 11 E9 92 DF  - sbb edx,[ebx-206D16EF]
183D2094: DA                 -  
183D2095: ED                 - in eax,dx
183D2096: 00 00              - add [eax],al
GameController:IncrementDiamonds: 55                 - push ebp
GameController:IncrementDiamonds+1: 8B EC              - mov ebp,esp
GameController:IncrementDiamonds+3: 56                 - push esi
GameController:IncrementDiamonds+4: 83 EC 14           - sub esp,14
GameController:IncrementDiamonds+7: 8B 75 08           - mov esi,[ebp+08]
GameController:IncrementDiamonds+a: 8B 86 8C 00 00 00  - mov eax,[esi+0000008C]
// ---------- INJECTING HERE ----------
GameController:IncrementDiamonds+10: 03 45 0C           - add eax,[ebp+0C]
// ---------- DONE INJECTING  ----------
GameController:IncrementDiamonds+13: 89 86 8C 00 00 00  - mov [esi+0000008C],eax
GameController:IncrementDiamonds+19: 8B 4E 40           - mov ecx,[esi+40]
GameController:IncrementDiamonds+1c: 8B 49 48           - mov ecx,[ecx+48]
GameController:IncrementDiamonds+1f: 3B C1              - cmp eax,ecx
GameController:IncrementDiamonds+21: 0F 8C 68 00 00 00  - jl GameController:IncrementDiamonds+8f
GameController:IncrementDiamonds+27: 8B 86 8C 00 00 00  - mov eax,[esi+0000008C]
GameController:IncrementDiamonds+2d: 2B 45 0C           - sub eax,[ebp+0C]
GameController:IncrementDiamonds+30: 8B 4E 40           - mov ecx,[esi+40]
GameController:IncrementDiamonds+33: 8B 49 48           - mov ecx,[ecx+48]
GameController:IncrementDiamonds+36: 3B C1              - cmp eax,ecx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Get 10k Score for each score increase"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscan(scorehelper,03 C1 89 86 90 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov ecx,#10000
code:
  add eax,ecx
  mov [esi+00000090],eax
  jmp return

scorehelper:
  jmp newmem
  nop 3
return:
registersymbol(scorehelper)

[DISABLE]

scorehelper:
  db 03 C1 89 86 90 00 00 00

unregistersymbol(scorehelper)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameController:IncrementScore+34

GameController:IncrementScore+13: 51                             - push ecx
GameController:IncrementScore+14: DB 04 24                       - fild dword ptr [esp]
GameController:IncrementScore+17: D9 1C 24                       - fstp dword ptr [esp]
GameController:IncrementScore+1a: D9 04 24                       - fld dword ptr [esp]
GameController:IncrementScore+1d: 83 C4 04                       - add esp,04
GameController:IncrementScore+20: D9 86 CC 00 00 00              - fld dword ptr [esi+000000CC]
GameController:IncrementScore+26: DE C9                          - fmulp st(1),st(0)
GameController:IncrementScore+28: DD 5D F0                       - fstp qword ptr [ebp-10]
GameController:IncrementScore+2b: F2 0F 10 45 F0                 - movsd xmm0,[ebp-10]
GameController:IncrementScore+30: F2 0F 2C C8                    - cvttsd2si ecx,xmm0
// ---------- INJECTING HERE ----------
GameController:IncrementScore+34: 03 C1                          - add eax,ecx
// ---------- DONE INJECTING  ----------
GameController:IncrementScore+36: 89 86 90 00 00 00              - mov [esi+00000090],eax
GameController:IncrementScore+3c: 85 C0                          - test eax,eax
GameController:IncrementScore+3e: 7D 0A                          - jnl GameController:IncrementScore+4a
GameController:IncrementScore+40: C7 86 90 00 00 00 00 00 00 00  - mov [esi+00000090],00000000
GameController:IncrementScore+4a: 8B 86 90 00 00 00              - mov eax,[esi+00000090]
GameController:IncrementScore+50: 8B 4E 40                       - mov ecx,[esi+40]
GameController:IncrementScore+53: 8B 49 18                       - mov ecx,[ecx+18]
GameController:IncrementScore+56: 83 79 0C 02                    - cmp dword ptr [ecx+0C],02
GameController:IncrementScore+5a: 0F 86 88 00 00 00              - jbe GameController:IncrementScore+e8
GameController:IncrementScore+60: 8B 49 18                       - mov ecx,[ecx+18]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"Items do not use up (Dynamite etc) - instead  we'll have 80"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
LaunchMonoDataCollector()
{$asm}
Inventory:ConsumeItem+53:
  db 90 90
Inventory:ConsumeItem+5e:
  db 6a 50 //push 50

 
 
[DISABLE]
{$lua}
LaunchMonoDataCollector()
{$asm}
Inventory:ConsumeItem+53:
  db 7d 17 // jnl ConsumeItem+6c
Inventory:ConsumeItem+5e:
  //push 00
  db 6a 00

</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Inventory:ConsumeItem - 55                    - push ebp
</Comments>
</CheatTable>
