<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>44</ID>
      <Description>"Player"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>0</ID>
          <Description>"No Craft Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CInventory:Craft+275)
define(bytes, 0F 85 56 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  db EB 5A
  nop 4

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"No Fall Damage (Affects Monsters)"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnit:Update+1A19)
define(bytes, 7E 3A)

[ENABLE]
assert(address, bytes)

address:
  db EB

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>51</ID>
          <Description>"No Lava Damage (Affects Monsters)"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnit:Update+2481)
define(bytes, 0F 85 1B 05 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 1C 05 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>49</ID>
          <Description>"No AOE Damage"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SUnits:DoDamageAOE)
define(bytes, 55)

[ENABLE]
assert(address, bytes)

address:
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>23</ID>
          <Description>"No Air Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnit:Update+1CB5)
define(bytes, 0F 84 F7 01 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 F8 01 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"High Pickup Range"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
pickupRangeAddress = readPointer("CPickup:GetBestPlayerToPick+1FD")
oldPickupRange = readFloat(pickupRangeAddress)

writeFloat(pickupRangeAddress, 1024)

[DISABLE]
writeFloat(pickupRangeAddress, oldPickupRange)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Instant Item Pickup"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CPickup:Update+36D)
define(bytes, 0F 84 5C 01 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>47</ID>
          <Description>"No Potion Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Device:ActivateDevice+4E)
define(bytes, 49)

[ENABLE]
assert(address, bytes)

address:
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>48</ID>
          <Description>"No Potion Cooldown"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Device:ActivateDevice+18A)
define(bytes, D9 45 F0)

[ENABLE]
assert(address, bytes)

address:
  fldz
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>45</ID>
      <Description>"Movement"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>21</ID>
          <Description>"Infinite Jump"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(isGrounded, CUnitPlayerLocal:Update+A3E)
define(isGroundedBytes, 75 18)
define(isJumping, CUnitPlayerLocal:Update+B30)
define(isJumpingBytes, 40)

[ENABLE]
assert(isGrounded, isGroundedBytes)
assert(isJumping, isJumpingBytes)

isGrounded:
  db EB

isJumping:
  nop

[DISABLE]
isGrounded:
  db isGroundedBytes
isJumping:
  db isJumpingBytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"Set Jump Height Multiplier"</Description>
          <Options moHideChildren="1"/>
          <Color>FF80FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
local address = readPointer("CUnitPlayerLocal:Update+B41")
registerSymbol("jumpHeightMultiplier", address)
oldJumpHeightMultiplier = readFloat(address)

[DISABLE]
writeFloat(getAddress("jumpHeightMultiplier"), oldJumpHeightMultiplier)
unregisterSymbol("jumpHeightMultiplier")
oldJumpHeightMultiplier = nil
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>20</ID>
              <Description>"Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>008000</Color>
              <VariableType>Float</VariableType>
              <Address>jumpHeightMultiplier</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"Set Sprint Speed Multiplier"</Description>
          <Options moHideChildren="1"/>
          <Color>FF80FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
local address = readPointer("CUnitPlayerLocal:Update+54C")
registerSymbol("sprintSpeedMultiplier", address)
oldSprintSpeedMultiplier = readFloat(address)

[DISABLE]
writeFloat(getAddress("sprintSpeedMultiplier"), oldSprintSpeedMultiplier)
unregisterSymbol("sprintSpeedMultiplier")
oldSprintSpeedMultiplier = nil
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>28</ID>
              <Description>"Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>008000</Color>
              <VariableType>Float</VariableType>
              <Address>sprintSpeedMultiplier</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>43</ID>
      <Description>"Monster"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>35</ID>
          <Description>"Peaceful Monsters"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitMonster:UpdateTarget+689)
define(bytes, 0F 84 B1 01 00 00)

[ENABLE]
assert(address, bytes)

address:
  jmp CUnitMonster:UpdateTarget+833
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"100% Loot Drop Chance"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SMisc:GetRandomCorrected)
define(bytes, 55 8B EC)

[ENABLE]
assert(address, bytes)

address:
  mov al,1
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"No Monster Tile Ranged Attack"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CBullet:CheckColWithGround+434)
define(bytes, 0F 84 18 01 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 19 01 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"No Monster Tile Melee Attack"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitMonster:Attack_Local+403)
define(bytes, 0F 84 98 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 99 00 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>26</ID>
          <Description>"No Monster Tile Melee Attack Alt"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitMonster:Attack_Local+404)
define(bytes, 0F 84 98 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 99 00 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>36</ID>
      <Description>"Turret"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>6</ID>
          <Description>"No Turret Health Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitDefense:OnHit)
define(bytes, 55)

[ENABLE]
assert(address, bytes)

address:
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"No Turret Cooldown"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitDefense:Update+EB7)
define(bytes, DD 00)

[ENABLE]
assert(address, bytes)

address:
  fldz

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"No Electricity Needed"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitDefense:Update+888)
define(bytes, 0F 8D CD 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  db E9 CE 00 00 00
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>13</ID>
      <Description>"Mining"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>8</ID>
          <Description>"High Mining Damage"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
instantMineAddress = readPointer("SItems:OnUpdateSimu+1902")
oldDamageFloat = readFloat(instantMineAddress)

writeFloat(instantMineAddress, 256)

[DISABLE]
writeFloat(instantMineAddress, oldDamageFloat)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>12</ID>
          <Description>"Instant Mine Tile"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SItems:OnUpdateSimu+18EE)
define(bytes, 0F 83 73 02 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Instant Mine Wall"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SItems:OnUpdateSimu+1E06)
define(bytes, 0F 83 92 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"Infinite Mining Range"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SItems:OnUpdateSimu+1351)
define(bytes, 0F 86 4E 0B 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>50</ID>
          <Description>"Instant Detonator"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CUnitDefense:Update+1B26)
define(bytes, 0F 83 F6 03 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Building"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"No Support Break"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SWorldDll:ProcessForces)
define(bytes, 55)

[ENABLE]
assert(address, bytes)

address:
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"No Support Break (With Visuals)"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SWorld:CheckCellsToDestroy)
define(bytes, 55)

[ENABLE]
assert(address, bytes)

address:
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"No Wire Place Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SScreenInventory:TryPlaceItemOnCell_Wire+A3C)
define(bytes, 03 C8)

[ENABLE]
assert(address, bytes)

address:
  nop 2

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"No Tile Place Loss"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SScreenInventory:TryPlaceItemOnCell+D74)
define(bytes, E8 * * * * 83 C4 10)
define(byteSize, 5)

define(checkRemove, SScreenInventory:TryPlaceItemOnCell+D8B)
define(checkRemoveBytes, 0F 84 98 01 00 00)

[ENABLE]
assert(address, bytes)
assert(checkRemove, checkRemoveBytes)

alloc(noPlaceLoss, byteSize, address)
registerSymbol(noPlaceLoss)

noPlaceLoss:
  readMem(address, byteSize)

address:
  nop 5

checkRemove:
  nop 6

[DISABLE]
address:
  readMem(noPlaceLoss, byteSize)
checkRemove:
  db checkRemoveBytes

unregisterSymbol(*)
dealloc(*)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"Infinite Place Range"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SScreenInventory:TryPlaceItemOnCell+485)
define(bytes, 7A 46)

[ENABLE]
assert(address, bytes)

address:
  db EB 46

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Instant Repair"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SItems:OnUpdateSimu+2506)
define(bytes, 0F 85 A9 00 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Infinite Repair Range"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, SItems:OnUpdateSimu+223C)
define(bytes, 0F 86 73 03 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>38</ID>
      <Description>"Weapon"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>40</ID>
          <Description>"Auto Fire"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Weapon:OnUpdate+A9)
define(bytes, 0F 84 05 02 00 00)

[ENABLE]
assert(address, bytes)

address:
  nop 6

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"No Hit Knockback"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CBullet:CheckColWithUnits+9B2)
define(bytes, FF 50 58)

[ENABLE]
assert(address, bytes)

address:
  nop 3

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"No Weapon Knockback"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Weapon:Use_Local+29B)
define(bytes, FF 50 58)

[ENABLE]
assert(address, bytes)

address:
  nop 3

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>1</ID>
          <Description>"No Weapon Heating"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Weapon:Use_Local+CA)
define(bytes, DE C1)

[ENABLE]
assert(address, bytes)

address:
  fstp st(0)

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>39</ID>
          <Description>"No Weapon Cooldown"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CItem_Weapon:IsInCooldown)
define(bytes, 55 8B EC)

[ENABLE]
assert(address, bytes)

address:
  mov al,0
  ret

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>34</ID>
      <Description>"Lighting"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Ore XRay"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, CMeshQuadLit:DrawTile+881)
define(bytes, D9 45 28 D9 85 AC FE FF FF DE C9)

[ENABLE]
assert(address, bytes)

address:
  fstp st(0)
  fstp st(0)
  fld1
  fld1
  fld1
  nop

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>25</ID>
          <Description>"Full Brightness (No Black Lines)"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, DigOrDie.DllProcessLightingSquare+10A3)
define(bytes, F3 0F 59 D8 F3 0F 59 C8 F3 0F 59 D0)

[ENABLE]
assert(address, bytes)

address:
  nop C

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Full Brightness"</Description>
          <Color>0080FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address, Color24:IsZero+A)
define(bytes, 0F B6 00 85 C0)

[ENABLE]
assert(address, bytes)
alloc(testMemory, 10, address)
label(leave)

testMemory:
  mov byte ptr [eax],FF
  mov byte ptr [eax+1],FF
  mov byte ptr [eax+2],FF
  db bytes
  jmp leave

address:
  jmp testMemory
leave:

[DISABLE]
address:
  db bytes

dealloc(*)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
