<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>1337191861</ID>
      <Description>"Compact Mode"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

function cycleFullCompact(sender,force)
local state = not(compactmenuitem.Caption == 'Compact View Mode')
 if force~=nil then state = not force end
  compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'
   getMainForm().Splitter1.Visible = state
   getMainForm().Panel4.Visible    = state
   getMainForm().Panel5.Visible    = state
end

function addCompactMenu()
 if compactmenualreadyexists then return
end

local parent = getMainForm().Menu.Items
 compactmenuitem = createMenuItem(parent)
 parent.add(compactmenuitem)
 compactmenuitem.Caption = 'Compact View Mode'
 compactmenuitem.OnClick = cycleFullCompact
 compactmenualreadyexists = 'yes'
end

addCompactMenu()
cycleFullCompact(nil,true)


[DISABLE]

cycleFullCompact(nil,false)


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1337191862</ID>
      <Description>"Disable All Scripts - (Always Run Before Closing CE)"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

local mainHook = ('Love Tavern')

local al = getAddressList()

for i = 0, al.Count - 1 do

    if al[i].Active == true and al[i].Description ~= mainHook then al[i].Active = false
 end
end

for i = 0, al.Count - 1 do
     if al[i].Active == true  then al[i].Active = false

 end
end

if not syntaxcheck then
 synchronize(function()
   local t = createTimer()
   t.Interval,t.OnTimer = 500,function(tm)
     tm.Destroy()
     memrec.Active = false
   end
 end)
end

[DISABLE]
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>26</ID>
      <Description>"Love Tavern"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>25</ID>
          <Description>"999999 Coins / Moon Coin (Spend 1 to make change)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscan(INJECT_MoonCoin,89 77 14 48 8B 75 F0) // should be unique
alloc(newmem,$1000,INJECT_MoonCoin)

label(code)
label(return)

newmem:

code:
  mov [rdi+14],#999999
  mov rsi,[rbp-10]
  jmp return

INJECT_MoonCoin:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_MoonCoin)

[DISABLE]

INJECT_MoonCoin:
  db 89 77 14 48 8B 75 F0

unregistersymbol(INJECT_MoonCoin)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: StorageData:SetCount+40

StorageData:SetCount+1d: 74 21                          - je StorageData:SetCount+40
StorageData:SetCount+1f: 4C 63 47 18                    - movsxd  r8,dword ptr [rdi+18]
StorageData:SetCount+23: 48 8B CE                       - mov rcx,rsi
StorageData:SetCount+26: 33 D2                          - xor edx,edx
StorageData:SetCount+28: 48 8D 64 24 00                 - lea rsp,[rsp+00]
StorageData:SetCount+2d: 90                             - nop 
StorageData:SetCount+2e: 49 BB 18 BC 62 DF 96 01 00 00  - mov r11,00000196DF62BC18
StorageData:SetCount+38: 41 FF D3                       - call r11
StorageData:SetCount+3b: 89 47 14                       - mov [rdi+14],eax
StorageData:SetCount+3e: EB 03                          - jmp StorageData:SetCount+43
// ---------- INJECTING HERE ----------
StorageData:SetCount+40: 89 77 14                       - mov [rdi+14],esi
// ---------- DONE INJECTING  ----------
StorageData:SetCount+43: 48 8B 75 F0                    - mov rsi,[rbp-10]
StorageData:SetCount+47: 48 8B 7D F8                    - mov rdi,[rbp-08]
StorageData:SetCount+4b: 48 8D 65 00                    - lea rsp,[rbp+00]
StorageData:SetCount+4f: 5D                             - pop rbp
StorageData:SetCount+50: C3                             - ret 
19692869AB1: 00 00                          - add [rax],al
19692869AB3: 00 00                          - add [rax],al
19692869AB5: 00 00                          - add [rax],al
19692869AB7: 00 01                          - add [rcx],al
19692869AB9: 04 02                          - add al,02
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"Inf Moves"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : LoveTavern.exe
  Version: 
  Date   : 2022-10-22
  Author : gsims824

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT_Moves,89 B7 98 00 00 00 85 C0) // should be unique
alloc(newmem,$1000,INJECT_Moves)

label(code)
label(return)

newmem:

code:
  mov [rdi+00000098],#10
  jmp return

INJECT_Moves:
  jmp newmem
  nop
return:
registersymbol(INJECT_Moves)

[DISABLE]

INJECT_Moves:
  db 89 B7 98 00 00 00

unregistersymbol(INJECT_Moves)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Mkey.WinController:SetMoves+49

Mkey.WinController:SetMoves+1e: 49 BB B0 39 AD 50 68 02 00 00  - mov r11,UnityEngine.Mathf:Max
Mkey.WinController:SetMoves+28: 41 FF D3                       - call r11
Mkey.WinController:SetMoves+2b: 48 8B F0                       - mov rsi,rax
Mkey.WinController:SetMoves+2e: 48 63 87 98 00 00 00           - movsxd  rax,dword ptr [rdi+00000098]
Mkey.WinController:SetMoves+35: 3B C6                          - cmp eax,esi
Mkey.WinController:SetMoves+37: 40 0F 94 C0                    - sete al
Mkey.WinController:SetMoves+3b: 48 0F B6 C0                    - movzx rax,al
Mkey.WinController:SetMoves+3f: 85 C0                          - test eax,eax
Mkey.WinController:SetMoves+41: 40 0F 94 C0                    - sete al
Mkey.WinController:SetMoves+45: 48 0F B6 C0                    - movzx rax,al
// ---------- INJECTING HERE ----------
Mkey.WinController:SetMoves+49: 89 B7 98 00 00 00              - mov [rdi+00000098],esi
// ---------- DONE INJECTING  ----------
Mkey.WinController:SetMoves+4f: 85 C0                          - test eax,eax
Mkey.WinController:SetMoves+51: 74 1E                          - je Mkey.WinController:SetMoves+71
Mkey.WinController:SetMoves+53: 48 8B 47 18                    - mov rax,[rdi+18]
Mkey.WinController:SetMoves+57: 48 8B C8                       - mov rcx,rax
Mkey.WinController:SetMoves+5a: 48 8B F1                       - mov rsi,rcx
Mkey.WinController:SetMoves+5d: 48 85 C0                       - test rax,rax
Mkey.WinController:SetMoves+60: 75 02                          - jne Mkey.WinController:SetMoves+64
Mkey.WinController:SetMoves+62: EB 0D                          - jmp Mkey.WinController:SetMoves+71
Mkey.WinController:SetMoves+64: 48 63 97 98 00 00 00           - movsxd  rdx,dword ptr [rdi+00000098]
Mkey.WinController:SetMoves+6b: 48 8B CE                       - mov rcx,rsi
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Max Score"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscan(INJECT_MaxScore,89 B7 1C 01 00 00 85 C0) // should be unique
alloc(newmem,$1000,INJECT_MaxScore)

label(code)
label(return)

newmem:

code:
  mov [rdi+0000011C],#999999
  jmp return

INJECT_MaxScore:
  jmp newmem
  nop
return:
registersymbol(INJECT_MaxScore)

[DISABLE]

INJECT_MaxScore:
  db 89 B7 1C 01 00 00

unregistersymbol(INJECT_MaxScore)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Mkey.MatchPlayer:SetScore+49

Mkey.MatchPlayer:SetScore+1e: 49 BB A0 C7 8B A5 F6 01 00 00  - mov r11,UnityEngine.Mathf:Max
Mkey.MatchPlayer:SetScore+28: 41 FF D3                       - call r11
Mkey.MatchPlayer:SetScore+2b: 48 8B F0                       - mov rsi,rax
Mkey.MatchPlayer:SetScore+2e: 48 63 8F 1C 01 00 00           - movsxd  rcx,dword ptr [rdi+0000011C]
Mkey.MatchPlayer:SetScore+35: 3B C1                          - cmp eax,ecx
Mkey.MatchPlayer:SetScore+37: 40 0F 94 C0                    - sete al
Mkey.MatchPlayer:SetScore+3b: 48 0F B6 C0                    - movzx rax,al
Mkey.MatchPlayer:SetScore+3f: 85 C0                          - test eax,eax
Mkey.MatchPlayer:SetScore+41: 40 0F 94 C0                    - sete al
Mkey.MatchPlayer:SetScore+45: 48 0F B6 C0                    - movzx rax,al
// ---------- INJECTING HERE ----------
Mkey.MatchPlayer:SetScore+49: 89 B7 1C 01 00 00              - mov [rdi+0000011C],esi
// ---------- DONE INJECTING  ----------
Mkey.MatchPlayer:SetScore+4f: 85 C0                          - test eax,eax
Mkey.MatchPlayer:SetScore+51: 0F 84 3C 00 00 00              - je Mkey.MatchPlayer:SetScore+93
Mkey.MatchPlayer:SetScore+57: 48 8B 87 A0 00 00 00           - mov rax,[rdi+000000A0]
Mkey.MatchPlayer:SetScore+5e: 48 8B C8                       - mov rcx,rax
Mkey.MatchPlayer:SetScore+61: 48 8B F1                       - mov rsi,rcx
Mkey.MatchPlayer:SetScore+64: 48 85 C0                       - test rax,rax
Mkey.MatchPlayer:SetScore+67: 75 02                          - jne Mkey.MatchPlayer:SetScore+6b
Mkey.MatchPlayer:SetScore+69: EB 14                          - jmp Mkey.MatchPlayer:SetScore+7f
Mkey.MatchPlayer:SetScore+6b: 48 63 97 1C 01 00 00           - movsxd  rdx,dword ptr [rdi+0000011C]
Mkey.MatchPlayer:SetScore+72: 4C 63 87 20 01 00 00           - movsxd  r8,dword ptr [rdi+00000120]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>20</ID>
          <Description>"99 Game Items"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : LoveTavern.exe
  Version: 
  Date   : 2022-10-22
  Author : gsims824

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT_Items,89 77 20 85 C0) // should be unique
alloc(newmem,$1000,INJECT_Items)

label(code)
label(return)

newmem:

code:
  mov [rdi+20],#99
  test eax,eax
  jmp return

INJECT_Items:
  jmp newmem
return:
registersymbol(INJECT_Items)

[DISABLE]

INJECT_Items:
  db 89 77 20 85 C0

unregistersymbol(INJECT_Items)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Mkey.TargetData:SetCurrCount+46

Mkey.TargetData:SetCurrCount+1e: 49 BB A0 C7 8B A5 F6 01 00 00  - mov r11,UnityEngine.Mathf:Max
Mkey.TargetData:SetCurrCount+28: 41 FF D3                       - call r11
Mkey.TargetData:SetCurrCount+2b: 48 8B F0                       - mov rsi,rax
Mkey.TargetData:SetCurrCount+2e: 48 63 47 20                    - movsxd  rax,dword ptr [rdi+20]
Mkey.TargetData:SetCurrCount+32: 3B C6                          - cmp eax,esi
Mkey.TargetData:SetCurrCount+34: 40 0F 94 C0                    - sete al
Mkey.TargetData:SetCurrCount+38: 48 0F B6 C0                    - movzx rax,al
Mkey.TargetData:SetCurrCount+3c: 85 C0                          - test eax,eax
Mkey.TargetData:SetCurrCount+3e: 40 0F 94 C0                    - sete al
Mkey.TargetData:SetCurrCount+42: 48 0F B6 C0                    - movzx rax,al
// ---------- INJECTING HERE ----------
Mkey.TargetData:SetCurrCount+46: 89 77 20                       - mov [rdi+20],esi
// ---------- DONE INJECTING  ----------
Mkey.TargetData:SetCurrCount+49: 85 C0                          - test eax,eax
Mkey.TargetData:SetCurrCount+4b: 74 1A                          - je Mkey.TargetData:SetCurrCount+67
Mkey.TargetData:SetCurrCount+4d: 48 8B 47 10                    - mov rax,[rdi+10]
Mkey.TargetData:SetCurrCount+51: 48 8B C8                       - mov rcx,rax
Mkey.TargetData:SetCurrCount+54: 48 8B F1                       - mov rsi,rcx
Mkey.TargetData:SetCurrCount+57: 48 85 C0                       - test rax,rax
Mkey.TargetData:SetCurrCount+5a: 75 02                          - jne Mkey.TargetData:SetCurrCount+5e
Mkey.TargetData:SetCurrCount+5c: EB 09                          - jmp Mkey.TargetData:SetCurrCount+67
Mkey.TargetData:SetCurrCount+5e: 48 8B CE                       - mov rcx,rsi
Mkey.TargetData:SetCurrCount+61: 48 8B D7                       - mov rdx,rdi
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"Max Gift Exp"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : LoveTavern.exe
  Version: 
  Date   : 2022-10-23
  Author : gsims824

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT_Gift,44 89 70 34 48 B8 A8 4D BE D4 96 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_Gift)

label(code)
label(return)

newmem:

code:
  mov [rax+34],#9999999
  mov rax,00000196D4BE4DA8
  jmp return

INJECT_Gift:
  jmp newmem
  nop 9
return:
registersymbol(INJECT_Gift)

[DISABLE]

INJECT_Gift:
  db 44 89 70 34 48 B8 A8 4D BE D4 96 01 00 00

unregistersymbol(INJECT_Gift)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: UICharacterInfoScreen:UpdateUIAffinity+126

UICharacterInfoScreen:UpdateUIAffinity+f7: 41 FF C5                       - inc r13d
UICharacterInfoScreen:UpdateUIAffinity+fa: 48 8B 87 30 01 00 00           - mov rax,[rdi+00000130]
UICharacterInfoScreen:UpdateUIAffinity+101: 48 8B C8                       - mov rcx,rax
UICharacterInfoScreen:UpdateUIAffinity+104: 83 39 00                       - cmp dword ptr [rcx],00
UICharacterInfoScreen:UpdateUIAffinity+107: 48 63 40 18                    - movsxd  rax,dword ptr [rax+18]
UICharacterInfoScreen:UpdateUIAffinity+10b: 44 3B E8                       - cmp r13d,eax
UICharacterInfoScreen:UpdateUIAffinity+10e: 0F 8C 2C FF FF FF              - jl UICharacterInfoScreen:UpdateUIAffinity+40
UICharacterInfoScreen:UpdateUIAffinity+114: 48 8B 87 48 01 00 00           - mov rax,[rdi+00000148]
UICharacterInfoScreen:UpdateUIAffinity+11b: 44 89 78 30                    - mov [rax+30],r15d
UICharacterInfoScreen:UpdateUIAffinity+11f: 48 8B 87 48 01 00 00           - mov rax,[rdi+00000148]
// ---------- INJECTING HERE ----------
UICharacterInfoScreen:UpdateUIAffinity+126: 44 89 70 34                    - mov [rax+34],r14d
// ---------- DONE INJECTING  ----------
UICharacterInfoScreen:UpdateUIAffinity+12a: 48 B8 A8 4D BE D4 96 01 00 00  - mov rax,00000196D4BE4DA8
UICharacterInfoScreen:UpdateUIAffinity+134: 48 63 00                       - movsxd  rax,dword ptr [rax]
UICharacterInfoScreen:UpdateUIAffinity+137: 44 3B F8                       - cmp r15d,eax
UICharacterInfoScreen:UpdateUIAffinity+13a: 75 2C                          - jne UICharacterInfoScreen:UpdateUIAffinity+168
UICharacterInfoScreen:UpdateUIAffinity+13c: 48 8B 87 28 01 00 00           - mov rax,[rdi+00000128]
UICharacterInfoScreen:UpdateUIAffinity+143: 48 8B C8                       - mov rcx,rax
UICharacterInfoScreen:UpdateUIAffinity+146: 49 8B D7                       - mov rdx,r15
UICharacterInfoScreen:UpdateUIAffinity+149: 4D 8B C6                       - mov r8,r14
UICharacterInfoScreen:UpdateUIAffinity+14c: 45 33 C9                       - xor r9d,r9d
UICharacterInfoScreen:UpdateUIAffinity+14f: 83 38 00                       - cmp dword ptr [rax],00
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
