<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>9</ID>
      <Description>"inf shoot"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : RubbleEatsTheWorld.exe
  Version: 
  Date   : 2025-11-12
  Author : savag

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,F3 0F 11 28 48 8B 85 48 F6 FF FF 48 83) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
//  movss [rax],xmm5
  mov rax,[rbp-000009B8]
  jmp return

INJECT:
  jmp newmem
  nop 6
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F3 0F 11 28 48 8B 85 48 F6 FF FF

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1AFFF10C1C1

1AFFF10C18F: F3 0F 11 AD 90 F2 FF FF  - movss [rbp-00000D70],xmm5
1AFFF10C197: 48 8B 85 48 F6 FF FF     - mov rax,[rbp-000009B8]
1AFFF10C19E: 48 83 C0 28              - add rax,28
1AFFF10C1A2: 48 8B C8                 - mov rcx,rax
1AFFF10C1A5: F3 0F 10 00              - movss xmm0,[rax]
1AFFF10C1A9: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF10C1AD: F3 0F 10 8D 90 F2 FF FF  - movss xmm1,[rbp-00000D70]
1AFFF10C1B5: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF10C1B9: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF10C1BD: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
1AFFF10C1C1: F3 0F 11 28              - movss [rax],xmm5
// ---------- DONE INJECTING  ----------
1AFFF10C1C5: 48 8B 85 48 F6 FF FF     - mov rax,[rbp-000009B8]
1AFFF10C1CC: 48 83 C0 2C              - add rax,2C
1AFFF10C1D0: 48 8B C8                 - mov rcx,rax
1AFFF10C1D3: F3 0F 10 00              - movss xmm0,[rax]
1AFFF10C1D7: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF10C1DB: F3 0F 10 8D 90 F2 FF FF  - movss xmm1,[rbp-00000D70]
1AFFF10C1E3: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF10C1E7: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF10C1EB: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
1AFFF10C1EF: F3 0F 11 28              - movss [rax],xmm5
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"no water dmg"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : RubbleEatsTheWorld.exe
  Version: 
  Date   : 2025-11-12
  Author : savag

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,F3 0F 11 28 48 8B 85 00 F2 FF FF 48 83 C0 2C 48 8B C8 F3 0F 10 00 F3 0F 5A C0 F3 0F 10 8D D0) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
//  movss [rax],xmm5
  mov rax,[rbp-00000E00]
  jmp return

INJECT:
  jmp newmem
  nop 6
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F3 0F 11 28 48 8B 85 00 F2 FF FF

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1AFFF15399B

1AFFF15396B: 0F 85 5C 00 00 00        - jne 1AFFF1539CD
1AFFF153971: 48 8B 85 00 F2 FF FF     - mov rax,[rbp-00000E00]
1AFFF153978: 48 83 C0 28              - add rax,28
1AFFF15397C: 48 8B C8                 - mov rcx,rax
1AFFF15397F: F3 0F 10 00              - movss xmm0,[rax]
1AFFF153983: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF153987: F3 0F 10 8D D0 EC FF FF  - movss xmm1,[rbp-00001330]
1AFFF15398F: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF153993: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF153997: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
1AFFF15399B: F3 0F 11 28              - movss [rax],xmm5
// ---------- DONE INJECTING  ----------
1AFFF15399F: 48 8B 85 00 F2 FF FF     - mov rax,[rbp-00000E00]
1AFFF1539A6: 48 83 C0 2C              - add rax,2C
1AFFF1539AA: 48 8B C8                 - mov rcx,rax
1AFFF1539AD: F3 0F 10 00              - movss xmm0,[rax]
1AFFF1539B1: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF1539B5: F3 0F 10 8D D0 EC FF FF  - movss xmm1,[rbp-00001330]
1AFFF1539BD: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF1539C1: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF1539C5: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
1AFFF1539C9: F3 0F 11 28              - movss [rax],xmm5
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>11</ID>
      <Description>"no enemy dmg"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : RubbleEatsTheWorld.exe
  Version: 
  Date   : 2025-11-12
  Author : savag

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,F3 0F 11 28 48 8B 85 00 F2 FF FF 48 83) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
//  movss [rax],xmm5
  mov rax,[rbp-00000E00]
  jmp return

INJECT:
  jmp newmem
  nop 6
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F3 0F 11 28 48 8B 85 00 F2 FF FF

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1AFFF152CC2

1AFFF152C90: F3 0F 11 AD E8 EC FF FF  - movss [rbp-00001318],xmm5
1AFFF152C98: 48 8B 85 00 F2 FF FF     - mov rax,[rbp-00000E00]
1AFFF152C9F: 48 83 C0 28              - add rax,28
1AFFF152CA3: 48 8B C8                 - mov rcx,rax
1AFFF152CA6: F3 0F 10 00              - movss xmm0,[rax]
1AFFF152CAA: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF152CAE: F3 0F 10 8D E8 EC FF FF  - movss xmm1,[rbp-00001318]
1AFFF152CB6: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF152CBA: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF152CBE: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
1AFFF152CC2: F3 0F 11 28              - movss [rax],xmm5
// ---------- DONE INJECTING  ----------
1AFFF152CC6: 48 8B 85 00 F2 FF FF     - mov rax,[rbp-00000E00]
1AFFF152CCD: 48 83 C0 2C              - add rax,2C
1AFFF152CD1: 48 8B C8                 - mov rcx,rax
1AFFF152CD4: F3 0F 10 00              - movss xmm0,[rax]
1AFFF152CD8: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
1AFFF152CDC: F3 0F 10 8D E8 EC FF FF  - movss xmm1,[rbp-00001318]
1AFFF152CE4: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
1AFFF152CE8: F2 0F 5C C1              - subsd xmm0,xmm1
1AFFF152CEC: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
1AFFF152CF0: F3 0F 11 28              - movss [rax],xmm5
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"growth x100"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : RubbleEatsTheWorld.exe
  Version:
  Date   : 2025-11-12
  Author : savag

  This script multiplies size by 100
}

[ENABLE]

aobscanmodule(INJECT,lib_burst_generated.dll,C5 F8 13 40 28 49) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)
label(multiplier)

newmem:

code:
  vmulps xmm0,xmm0,[multiplier]  // Multiply xmm0 by 100
  vmovlps [rax+28],xmm0
  jmp return

multiplier:
  dd (float)100.0
  dd (float)100.0
  dd (float)100.0
  dd (float)100.0

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db C5 F8 13 40 28

unregistersymbol(INJECT)
dealloc(newmem)
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
