<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"BallisticNG"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

{$lua}
  LaunchMonoDataCollector()
{$asm}

define(One,NgShips.ShipController:Update+d3)
define(Two,NgShips.ShipInput:Update+e2)
define(Three,NgShips.ShipController:FixedUpdate+1382)

alloc(newmemOne,$1000,One)
alloc(newmemTwo,$1000,Two)
alloc(newmemThree,$1000,Three)
alloc(Four,1)
alloc(Five,1)
alloc(Six,1)
alloc(Seven,8)
alloc(Eight,1)
alloc(Nine,1)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)
registersymbol(Seven)
registersymbol(Eight)
registersymbol(Nine)

label(codeOne)
label(codeTwo)
label(codeThree)
label(codeFour)
label(codeFive)
label(codeSix)
label(codeSeven)
label(codeEight)
label(codeNine)
label(codeTen)
label(returnOne)
label(returnTwo)
label(returnThree)
label(Ten)
label(Eleven)
label(Twelve)
label(Thirteen)

Four:
  db 0

Five:
  db 0

Six:
  db 0

Seven:
  dq 0

Eight:
  db 0

Nine:
  db 0

newmemOne:
  cmp [rsi+118],0
  je codeOne
  cmp byte ptr [Four],1
  je codeTwo
  jmp codeFive

codeOne:
  cmp byte ptr [Five],1
  je codeThree
  cmp byte ptr [Six],1
  je codeFour
  jmp codeFive

codeTwo:
  movss xmm0,[Ten]
  movss [rsi+000002C4],xmm0
  jmp returnOne

codeThree:
  movss xmm0,[Eleven]
  movss [rsi+000002C4],xmm0
  jmp returnOne

codeFour:
  movss xmm1,[rsi+000002C4]
  comiss xmm1,[Twelve]
  jbe codeFive
  movss xmm1,[Twelve]
  movss [rsi+000002C4],xmm1

codeFive:
  movss xmm0,[rsi+000002C4]
  jmp returnOne

Ten:
  dd (float)100

Eleven:
  dd (float)-1

Twelve:
  dd (float)1

One:
  jmp newmemOne
  nop 3

returnOne:

newmemTwo:

codeSix:
  mov qword ptr [Seven],rax
  movzx eax,byte ptr [rax+000002AA]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop 2

returnTwo:

newmemThree:
  cmp [rsi+118],0
  je codeSeven
  cmp byte ptr [Eight],1
  je codeEight
  jmp codeTen

codeSeven:
  cmp byte ptr [Nine],1
  je codeNine
  jmp codeTen

codeEight:
  movss xmm0,[Thirteen]
  movss [rsi+00000314],xmm0
  jmp returnThree

codeNine:
  xorps xmm0,xmm0
  movss [rsi+00000314],xmm0
  jmp returnThree

codeTen:
  movss xmm0,[rsi+00000314]
  jmp returnThree

Thirteen:
  dd (float)3

Three:
  jmp newmemThree
  nop 3

returnThree:

[DISABLE]

One:
  db F3 0F 10 86 C4 02 00 00

Two:
  db 0F B6 80 AA 02 00 00

Three:
  db F3 0F 10 86 14 03 00 00

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)
unregistersymbol(Seven)
unregistersymbol(Eight)
unregistersymbol(Nine)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(newmemThree)
dealloc(Four)
dealloc(Five)
dealloc(Six)
dealloc(Seven)
dealloc(Eight)
dealloc(Nine)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>57</ID>
              <Description>"Freeze Time"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

NgModes.Gamemode:UpdateRaceTimers:
  db C3

[DISABLE]

NgModes.Gamemode:UpdateRaceTimers:
  db 55
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>85</ID>
              <Description>"Infinite Shield"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Eight:
  db 1

[DISABLE]

Eight:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>73</ID>
              <Description>"Infinite Ship Integrity"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Four:
  db 1

[DISABLE]

Four:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>74</ID>
              <Description>"Instant Elimination"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Five:
  db 1

[DISABLE]

Five:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>75</ID>
              <Description>"Quick Elimination"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Six:
  db 1

[DISABLE]

Six:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>86</ID>
              <Description>"Opponents Zero Shield"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Nine:
  db 1

[DISABLE]

Nine:
  db 0
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>69</ID>
              <Description>"Autopilot"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if autopilot ~= nil then
  autopilot.destroy()
  autopilot = nil
  end
  local proc = getOpenedProcessID()
  autopilot = createTimer()
  autopilot.Interval = 1000
  autopilot.OnTimer = function()
  if getOpenedProcessID() ~= proc then
  autopilot.destroy()
  autopilot = nil
  return
  end
  pcall(function()
  local a = getAddress('Seven')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x2AA,1)
  end
  end
  end)
  end
{$asm}

[DISABLE]

{$lua}
  if autopilot ~= nil then
  autopilot.destroy()
  autopilot = nil
  end
  pcall(function()
  local a = getAddress('Seven')
  if a then
  local base = readQword(a)
  if base ~= 0 then
  writeBytes(base+0x2AA,0)
  end
  end
  end)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>76</ID>
              <Description>"Autopilot + Disable Opponent Ships"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Fourteen,NgShips.ShipController:FixedUpdate+18b)
alloc(newmem,$1000,Fourteen)

label(code)
label(return)

newmem:

code:
  je NgShips.ShipController:FixedUpdate+198
  movzx eax,byte ptr [rsi+000002AA]
  jmp return

Fourteen:
  jmp newmem
  nop 4

return:
registersymbol(Fourteen)

[DISABLE]

Fourteen:
  db 75 0B 0F B6 86 AA 02 00 00

unregistersymbol(Fourteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>78</ID>
              <Description>"⬆Allows you to activate autopilot while disabling opponent ships."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>55</ID>
              <Description>"Disable Opponent Ships"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

NgShips.ShipAI:OnUpdate:
  db C3

[DISABLE]

NgShips.ShipAI:OnUpdate:
  db 55
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>77</ID>
              <Description>"⬆Warning: Do not use while autopilot is active, as it will disable your ship."</Description>
              <Color>808080</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>2233</ID>
              <Description>"Campaign Custom Ships"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

NgUi.MenuUi.ShipSelection:get_CanUseCustomShips+17:
  db 75 16

[DISABLE]

NgUi.MenuUi.ShipSelection:get_CanUseCustomShips+17:
  db 74 16
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2234</ID>
              <Description>"⬆Enable before you enter the Select Ship screen."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>2237</ID>
              <Description>"Use Locked Liveries"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Fifteen,NgUi.MenuUi.NgNewShipSelectorMenu:OnShipChanged+1a2)
alloc(newmem,$1000,Fifteen)

label(code)
label(return)

newmem:

code:
  mov byte ptr [rax+0000016B],1
  movzx eax,byte ptr [rax+0000016B]
  jmp return

Fifteen:
  jmp newmem
  nop 2

return:
registersymbol(Fifteen)

[DISABLE]

Fifteen:
  db 0F B6 80 6B 01 00 00

unregistersymbol(Fifteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2240</ID>
              <Description>"⬆All liveries are available, but will show as silhouettes during selection."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>2230</ID>
              <Description>"Unlock Campaigns Temporarily"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

define(Sixteen,NgSp.Ui.NewUi.CampaignsUiManager+&lt;&gt;c__DisplayClass47_0+&lt;&lt;GenerateInternalCampaignsList&gt;g__Refresh|0&gt;d:MoveNext+7a8)
alloc(newmem,$1000,Sixteen)

label(code)
label(return)

newmem:

code:
  je NgSp.Ui.NewUi.CampaignsUiManager+&lt;&gt;c__DisplayClass47_0+&lt;&lt;GenerateInternalCampaignsList&gt;g__Refresh|0&gt;d:MoveNext+7d3
  movsxd  rax,dword ptr [r15+40]
  jmp return

Sixteen:
  jmp newmem
  nop

return:
registersymbol(Sixteen)

[DISABLE]

Sixteen:
  db 75 29 49 63 47 40

unregistersymbol(Sixteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>113</ID>
              <Description>"⬆Warning: May take a long time to activate."</Description>
              <Color>808080</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>111</ID>
              <Description>"⬆Enable in the main menu before selecting Campaign."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
