<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>90</ID>
      <Description>"Only enable once you are on the map screen, not beforehand."</Description>
      <Options moDeactivateChildrenAsWell="1"/>
      <Color>808080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>111</ID>
          <Description>"Bad North: Jotunn Edition"</Description>
          <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
          <Color>C08000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

{$lua}
  LaunchMonoDataCollector()
{$asm}

aobscan(One,8B 40 4C C9 C3 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00)  // Voxels.TowerDefense.UI.SuperUpgradesCampaignProxy:Voxels.TowerDefense.UI.IUpgradesProxy.get_coinBank+1a
define(Two,Voxels.TowerDefense.Agent:FixedUpdateAgent+1465)

alloc(newmemOne,$1000)
alloc(newmemTwo,$1000)
alloc(Three,4)
alloc(Four,1)
alloc(Five,1)
alloc(Six,4)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)

label(codeOne)
label(codeTwo)
label(codeThree)
label(returnOne)
label(returnTwo)

Three:
  dd 0

Four:
  db 0

Five:
  db 0

Six:
  dd (float)10.0

newmemOne:

codeOne:
  mov [Three],eax
  mov eax,[eax+4C]
  leave
  ret
  jmp returnOne

One:
  jmp newmemOne

returnOne:

newmemTwo:
  cmp dword ptr [eax+34],(float)1.5
  jne codeTwo
  cmp byte ptr [Four],1
  jne codeThree
  fld dword ptr [Six]
  fstp dword ptr [edi+160]
  jmp returnTwo

codeTwo:
  cmp dword ptr [eax+34],(float)1.0
  jne codeThree
  cmp byte ptr [Five],1
  jne codeThree
  fldz
  fstp dword ptr [edi+160]
  jmp returnTwo

codeThree:
  fstp dword ptr [edi+160]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop

returnTwo:

[DISABLE]

One:
  db 8B 40 4C C9 C3

Two:
  db D9 9F 60 01 00 00

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(Three)
dealloc(Four)
dealloc(Five)
dealloc(Six)
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>117</ID>
              <Description>"==== General ===="</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>C080FF</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>110</ID>
                  <Description>"Quick Kills"</Description>
                  <Color>C08000</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]

Five:
  db 1

[DISABLE]

Five:
  db 0
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>109</ID>
                  <Description>"Infinite Health"</Description>
                  <Color>C08000</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]

Four:
  db 1

[DISABLE]

Four:
  db 0
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>112</ID>
                  <Description>"Fireproof Houses"</Description>
                  <Color>C08000</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]

define(Seven,Voxels.TowerDefense.House:TorchLand+6a)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  fldz
  faddp 
  jmp return

Seven:
  jmp newmem

return:
registersymbol(Seven)

[DISABLE]

Seven:
  db D9 40 24 DE C1

unregistersymbol(Seven)
dealloc(newmem)
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>118</ID>
              <Description>"==== Extras ====="</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>C080FF</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>114</ID>
                  <Description>"Coins"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>C08000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[Three]+4C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>115</ID>
                  <Description>"⬆Open the upgrades menu to populate coins."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>116</ID>
                  <Description>"⬆Coin edits won’t show until you buy an upgrade."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com
</Comments>
</CheatTable>
