<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="21">
  <CheatEntries>
    <CheatEntry>
      <ID>6</ID>
      <Description>"Left Wall"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>978138</Address>
      <Offsets>
        <Offset>24</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Right Wall"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>978138</Address>
      <Offsets>
        <Offset>2C</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>8</ID>
      <Description>"Top Wall"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>978138</Address>
      <Offsets>
        <Offset>28</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>9</ID>
      <Description>"Bottom Wall"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>978138</Address>
      <Offsets>
        <Offset>30</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>15</ID>
      <Description>"Mouse X"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>9784C0</Address>
      <Offsets>
        <Offset>84</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Mouse Y"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>9784C0</Address>
      <Offsets>
        <Offset>88</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>43</ID>
      <Description>"Character Y"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>979268</Address>
      <Offsets>
        <Offset>5A0</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>70</ID>
      <Description>"Fusion Vac (0 - Idle) (1 - vac last player's point) (2 - Follow player vac) (-1 vac last mouse point) (-2 Follow mouse vac"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[Enable] 
alloc(FusionVac,1024) 
alloc(WallXY,16) 
alloc(FVSwitch,4) 
registersymbol(FVSwitch) // change to r3gistersymbol(FVSwitch) 
label(NoVac) 
label(CharVac) 
label(CharXY) 
label(MouseVac) 
label(MouseXY) 
label(FinalizeWV) 
label(EndFusionVac) 
label(LeftWall) 
label(RightWall) 
label(TopWall) 
label(BottomWall) 
label(LeftOFF) 
label(RightOFF) 
label(TopOFF) 
label(BottomOFF) 
label(EndLeft) 
label(EndRight) 
label(EndTop) 
label(EndBottom) 
label(Fly) 
label(NoFly) 
label(EndFly) 
label(MonsterControl) 
label(EndControl) 
label(MonsterControl2) 
label(NoControl2) 
label(EndControl2) 

WallXY: 
dd 00 00 00 00 
FVSwitch: 
dd 00 

FusionVac: 
pushad 
xor eax,eax 
cmp [FVSwitch],eax 
je NoVac 
jg CharVac 
jl MouseVac 

NoVac: 
cmp eax,[WallXY] 
je FinalizeWV 
mov ebx,WallXY 
mov [ebx],eax 
mov [ebx+04],eax 
mov [ebx+08],eax 
mov [ebx+0C],eax 
jmp FinalizeWV 

CharVac: 
cmp eax,[WallXY] 
je CharXY 
inc eax 
cmp eax,[FVSwitch] 
jne CharXY 
jmp FinalizeWV 
CharXY:
//Do I need to put in the new Base Pointer Address into this line?
mov eax,[00979268]
mov ecx,[eax+5A0] 
mov eax,WallXY 
mov [eax],ebx 
mov [eax+04],ecx 
mov [eax+08],ebx 
mov [eax+0C],ecx 
jmp FinalizeWV 

MouseVac: 
cmp eax,[WallXY] 
je MouseXY 
dec eax 
cmp eax,[FVSwitch] 
jne MouseXY 
jmp FinalizeWV 
MouseXY: 
mov eax,[009784C0] 
mov eax,[eax+978] 
mov ebx,[eax+84] 
mov ecx,[eax+88] 
mov eax,WallXY 
mov [eax],ebx 
mov [eax+04],ecx 
mov [eax+08],ebx 
mov [eax+0C],ecx 
jmp FinalizeWV 

FinalizeWV: 
popad 
push [ebx+00000ce4] 
push [ebx+00000ce0] 
jmp EndFusionVac 

LeftWall: 
cmp [FVSwitch],00 
je LeftOFF 
fild dword ptr [WallXY] 
pop ecx 
pop ecx 
jmp EndLeft 
LeftOFF: 
fild dword ptr [ebx+24] 
pop ecx 
pop ecx 
jmp EndLeft 

RightWall: 
cmp [FVSwitch],00 
je RightOFF 
push eax 
mov eax,WallXY 
lea eax,[eax+8] 
fild dword ptr [eax] 
pop eax 
pop ecx 
pop ecx 
jmp EndRight 
RightOFF: 
fild dword ptr [ebp+08] 
pop ecx 
pop ecx 
jmp EndRight 

TopWall: 
cmp [FVSwitch],00 
je TopOFF 
push eax 
mov eax,WallXY 
lea eax,[eax+4] 
fild dword ptr [eax] 
pop eax 
pop ecx 
pop ecx 
jmp EndTop 
TopOFF: 
fild dword ptr [ebx+28] 
pop ecx 
pop ecx 
jmp EndTop 

BottomWall: 
cmp [FVSwitch],00 
je BottomOFF 
push eax 
mov eax,WallXY 
lea eax,[eax+C] 
fild dword ptr [eax] 
pop eax 
pop ecx 
pop ecx 
jmp EndBottom 
BottomOFF: 
fild dword ptr [ebp+08] 
pop ecx 
pop ecx 
jmp EndBottom 

Fly: 
cmp [FVSwitch],00 
je NoFly 
push eax
//Do I need to update this address aswell?
mov eax,[00978358] 
mov eax,[eax+d74] 
sub eax,C 
cmp eax,esi 
pop eax 
je NoFly 
cmp eax,edi 
pop ecx 
pop ecx 
jne 007f1ce0 
jmp EndFly 

NoFly: 
cmp eax,edi 
pop ecx 
pop ecx 
je 007f1ce0 
jmp EndFly 

MonsterControl: 
cmp [FVSwitch],00 
je 007f946b 
jmp EndControl 

MonsterControl2: 
cmp [FVSwitch],00 
je NoControl2 
push eax
//Do I need to update this address aswell?
mov eax,[00978358] 
mov eax,[eax+d74] 
sub eax,C 
cmp eax,ebx 
pop eax 
je NoControl2 
cmp [ebx+0000015c],esi 
push edi 
jne 007f186e 
jmp EndControl2 

NoControl2: 
cmp [ebx+0000015c],esi 
push edi 
je 007f186e 
jmp EndControl2 

0043F48B: 
jmp FusionVac 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
EndFusionVac: 

//Is this an address or an Instruction? Do I need to update this line aswell?
007F931D: 
jmp LeftWall 
EndLeft: 

007F9342: 
jmp RightWall 
EndRight: 

007F9377: 
jmp TopWall 
EndTop: 

007F939F: 
jmp BottomWall 
EndBottom: 

007F1C06: 
jmp Fly 
db 90 90 90 90 90 
EndFly: 

007F92FC: 
jmp MonsterControl 
db 90 90 90 90 90 90 90 90 
EndControl: 

007F185A: 
jmp MonsterControl2 
db 90 90 90 90 
mov [ebx+00000170],eax 
EndControl2: 

[Disable] 
dealloc(FusionVac) 
dealloc(WallXY) 
dealloc(FVSwitch) 
unregistersymbol(FVSwitch) // unr3gistersymbol(FvSwitch) 

0043F48B: 
push [ebx+00000CE4] 
push [ebx+00000CE0] 

007F931D: 
fild dword ptr [ebx+24] 
pop ecx 
pop ecx 

007F9342: 
fild dword ptr [ebp+08] 
pop ecx 
pop ecx 

007F9377: 
fild dword ptr [ebx+28] 
pop ecx 
pop ecx 

007F939F: 
fild dword ptr [ebp+08] 
pop ecx 
pop ecx 

007F1C06: 
cmp eax,edi 
pop ecx 
pop ecx 
je 007f1ce0 

007F92FC: 
cmp dword ptr [edi+00000238],03 
jne 007f946b 

007F185A: 
cmp [ebx+0000015c],esi 
push edi 
mov [ebx+00000170],eax 
je 007f186e 
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>71</ID>
      <Description>"FVSwitch"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>FVSwitch</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>103</ID>
      <Description>"Character X"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>979268</Address>
      <Offsets>
        <Offset>59C</Offset>
      </Offsets>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
