<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="18">
  <CheatEntries>
    <CheatEntry>
      <ID>22</ID>
      <Description>"Enable those hacks before pressing "Start" ingame"</Description>
      <LastState Value="" Activated="0" RealAddress="00000000"/>
      <Color>0000FF</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>21</ID>
          <Description>"Battle for Blood - can buy anything"</Description>
          <LastState Activated="0"/>
          <Color>008000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$LUA}
local function AOBSwap(search, change)
	local aobs = AOBScan(search)
	if (aobs) then
		local count = aobs.Count
		for i= 0, count-1 do
			local address = aobs.getString(i);
			local script = '';
			for j=1,#change, 3 do
				local z = string.sub(change, j, j+2)
				local x,y = string.find(z, "%?+");
				if (x == nil) then
					script = script ..address.."+"..string.format("%x",(j-1)/3)..":\ndb " .. z .. "\n"
				end
			end
			autoAssemble(script);
		end
        aobs.Destroy();
		return count
	end
	return -1
end
local flag1 = AOBSwap("02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 2A","00 02 16")
local flag2 = AOBSwap("02 0E ?? 7D ?? ?? ?? ?? 02 03 7D ?? ?? ?? ?? 02 04 7D ?? ?? ?? ?? 02 7B ?? ?? ?? ?? 02 7B","00 02 16")
local flag3 = AOBSwap("02 02 7B ?? ?? ?? ?? 7B ?? ?? ?? ?? 7D ?? ?? ?? ?? 02 7B ?? ?? ?? ?? 02 7C ?? ?? ?? ?? 72 ?? ?? ?? ?? 28","00 00 00 00 00 00 00 00 00 00 02 16")
if (not(flag1 &gt;= 1 and flag2 &gt;= 1 and flag3 &gt;= 1)) then
    local t = createTimer(nil,false)
    t.Interval = 10;
    t.Enabled = true;
    t.onTimer = function(sender)
    	getAddressList().getMemoryRecordByDescription("Battle for Blood - can buy anything").Active = false;
        sender.destroy();
    end
else
    showMessage("You can now buy everything even if you don't have enough coins\nYou will lose some coins though (if you have enough)\n\nGain some coins to fix the 'blank' coins amount");
end
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>23</ID>
          <Description>"Battle for Blood - 50 moves after the first wave"</Description>
          <LastState Activated="0"/>
          <Color>800080</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$LUA}
local function AOBSwap(search, change)
	local aobs = AOBScan(search)
	if (aobs) then
		local count = aobs.Count
		for i= 0, count-1 do
			local address = aobs.getString(i);
			local script = '';
			for j=1,#change, 3 do
				local z = string.sub(change, j, j+2)
				local x,y = string.find(z, "%?+");
				if (x == nil) then
					script = script ..address.."+"..string.format("%x",(j-1)/3)..":\ndb " .. z .. "\n"
				end
			end
			autoAssemble(script);
		end
        aobs.Destroy();
		return count
	end
	return -1
end
local flag1 = AOBSwap("7B ?? ?? ?? ?? 02 7B ?? ?? ?? ?? 16 6F ?? ?? ?? ?? 59 7D ?? ?? ?? ?? 7E ?? ?? ?? ?? 7E","7B ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 1F 32")
if (not(flag1 &gt;= 1)) then
    local t = createTimer(nil,false)
    t.Interval = 10;
    t.Enabled = true;
    t.onTimer = function(sender)
    	getAddressList().getMemoryRecordByDescription("Battle for Blood - 50 moves after the first wave").Active = false;
        sender.destroy();
    end
end
[DISABLE]
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>local function AOBSwap(search, change)
	local aobs = AOBScan(search)
	if (aobs) then
		local count = aobs.Count
		for i= 0, count-1 do
			local address = aobs.getString(i);
			local script = '';
			for j=1,#change, 3 do
				local z = string.sub(change, j, j+2)
				local x,y = string.find(z, "%?+");
				if (x == nil) then
					script = script ..address.."+"..string.format("%x",(j-1)/3)..":\ndb " .. z .. "\n"
				end
			end
			autoAssemble(script);
		end
        aobs.Destroy();
		return count
	end
	return -1
end
local flag1 = AOBSwap("02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 02 0E ?? 7D ?? ?? ?? ?? 2A","00 02 16")
local flag2 = AOBSwap("02 0E ?? 7D ?? ?? ?? ?? 02 03 7D ?? ?? ?? ?? 02 04 7D ?? ?? ?? ?? 02 7B ?? ?? ?? ?? 02 7B","00 02 16")
local flag3 = AOBSwap("02 02 7B ?? ?? ?? ?? 7B ?? ?? ?? ?? 7D ?? ?? ?? ?? 02 7B ?? ?? ?? ?? 02 7C ?? ?? ?? ?? 72 ?? ?? ?? ?? 28","00 00 00 00 00 00 00 00 00 00 02 16")
if (not(flag1 &gt;= 1 and flag2 &gt;= 1 and flag3 &gt;= 1)) then
    local t = createTimer(nil,false)
    t.Interval = 10;
    t.Enabled = true;
    t.onTimer = function(sender)
    	getAddressList().getMemoryRecordByDescription("Paint hack)").Active = false;
        sender.destroy();
    end
else
    showMessage("You can now buy everything even if you don't have enough coins\nYou will lose some coins though (if you have enough)\n\nYour coins will keep reducing and might get bugged (all suddenly you'd have millions of coins)");
end
</LuaScript>
</CheatTable>
