<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>65</ID>
      <Description>"Compact Mode"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
--https://forum.cheatengine.org/viewtopic.php?t=570055
LuaCall(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]
LuaCall(cycleFullCompact(nil,false))

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>40</ID>
      <Description>"init."</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$asm}
alloc(newmem, 100, $process)
label(TARGET_QUALITY)
newmem:
  TARGET_QUALITY:
  dd (float)120

registersymbol(TARGET_QUALITY)
[DISABLE]
{$lua}
if syntaxcheck then return end
{$asm}
unregistersymbol(TARGET_QUALITY)
dealloc(newmem, 100)


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>4</ID>
          <Description>"Static values"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>25</ID>
              <Description>"コール / Cole"</Description>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109A9F8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>33</ID>
              <Description>"Alchemy LV (49までがお勧めです)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109A38C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>26</ID>
              <Description>"Alchemy EXP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109A390</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>68</ID>
              <Description>"冒険者pt / adv. pt"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>2 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+1099C64</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"ゲームの稼働時間"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109AA20</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>13</ID>
              <Description>"日付 / Date data+"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}

if _totori_customInt == nil then

registerCustomTypeAutoAssembler([[
alloc(TypeName,256)
alloc(ByteSize,8)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(UsesFloat,1)

TypeName:
db 'ZeroStartInt',0

ByteSize:
dd 4

UsesFloat:
db 0

ConvertRoutine:
//at this point ecx contains the address where the bytes are stored

xor rax,rax

mov eax, dword ptr [rcx]
inc eax

ret

ConvertBackRoutine:
//at this point edx contains the address to write the value to
//and ecx contains the value

push rax
xor rax, rax
mov eax, ecx
dec eax
mov dword ptr [rdx], eax
pop rax
ret

]])

_totori_customInt = true
end

{$asm}

[DISABLE]
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>1</ID>
                  <Description>"年 / Year"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>C08000</Color>
                  <VariableType>Custom</VariableType>
                  <CustomType>ZeroStartInt</CustomType>
                  <Address>A12V_x64_Release.exe+1059DC8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>3</ID>
                  <Description>"月 / Month"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>C08000</Color>
                  <VariableType>Custom</VariableType>
                  <CustomType>ZeroStartInt</CustomType>
                  <Address>A12V_x64_Release.exe+1059DCC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2</ID>
                  <Description>"日 / Day"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>C08000</Color>
                  <VariableType>Custom</VariableType>
                  <CustomType>ZeroStartInt</CustomType>
                  <Address>A12V_x64_Release.exe+1059DD0</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"Totori MP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109AA60</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>5</ID>
              <Description>"Totori HP (Map)"</Description>
              <Color>808080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109AA5C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>61</ID>
              <Description>"Totori EXP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>A12V_x64_Release.exe+109AA58</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Alchemy: MPが減少しない / 原野: LPが減少しない"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-20
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_Alchemy_MP_no_dec,$process,44 01 44 81 0C) // should be unique
alloc(newmem,$1000,INJECT_Alchemy_MP_no_dec)

label(code)
label(return)

newmem:
  cmp r8d, 0
  jge code
  xor r8d, r8d

code:
  add [rcx+rax*4+0C],r8d
  jmp return

INJECT_Alchemy_MP_no_dec:
  jmp newmem
return:
registersymbol(INJECT_Alchemy_MP_no_dec)

[DISABLE]

INJECT_Alchemy_MP_no_dec:
  db 44 01 44 81 0C

unregistersymbol(INJECT_Alchemy_MP_no_dec)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+44B378

A12V_x64_Release.exe+44B369: CC              - int 3 
A12V_x64_Release.exe+44B36A: CC              - int 3 
A12V_x64_Release.exe+44B36B: CC              - int 3 
A12V_x64_Release.exe+44B36C: CC              - int 3 
A12V_x64_Release.exe+44B36D: CC              - int 3 
A12V_x64_Release.exe+44B36E: CC              - int 3 
A12V_x64_Release.exe+44B36F: CC              - int 3 
A12V_x64_Release.exe+44B370: 83 FA 15        - cmp edx,15
A12V_x64_Release.exe+44B373: 77 08           - ja A12V_x64_Release.exe+44B37D
A12V_x64_Release.exe+44B375: 48 63 C2        - movsxd  rax,edx
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+44B378: 44 01 44 81 0C  - add [rcx+rax*4+0C],r8d
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+44B37D: C3              - ret 
A12V_x64_Release.exe+44B37E: CC              - int 3 
A12V_x64_Release.exe+44B37F: CC              - int 3 
A12V_x64_Release.exe+44B380: 8D 42 F6        - lea eax,[rdx-0A]
A12V_x64_Release.exe+44B383: 4C 8B D1        - mov r10,rcx
A12V_x64_Release.exe+44B386: 83 F8 05        - cmp eax,05
A12V_x64_Release.exe+44B389: 77 24           - ja A12V_x64_Release.exe+44B3AF
A12V_x64_Release.exe+44B38B: 83 FA 15        - cmp edx,15
A12V_x64_Release.exe+44B38E: 77 0A           - ja A12V_x64_Release.exe+44B39A
A12V_x64_Release.exe+44B390: 48 63 C2        - movsxd  rax,edx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>64</ID>
              <Description>"Alchemy: MP do not decrease / Field: No LP drop"</Description>
              <Color>FF8000</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>54</ID>
          <Description>"錬金術の経験値倍率 / Alchemy XP multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ALCHE_XP_MULTI,A12V_x64_Release.exe,3B C1 0F 4C C1 48 83) // should be unique
alloc(newmem,$1000,INJECT_ALCHE_XP_MULTI)

label(code)
label(return)

newmem:
  vcvtsi2ss xmm15, xmm15, eax
  vmovss xmm14, [vf_alche_xp_mul]
  vmulss xmm15, xmm14, xmm15
  vcvtss2si eax, xmm15

code:
  cmp eax,ecx
  cmovl eax,ecx
  jmp return
align 10 cc
  vf_alche_xp_mul:
  dd (float)1.3333333

INJECT_ALCHE_XP_MULTI:
  jmp newmem
return:
registersymbol(INJECT_ALCHE_XP_MULTI)
registersymbol(vf_alche_xp_mul)
[DISABLE]

INJECT_ALCHE_XP_MULTI:
  db 3B C1 0F 4C C1

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+555BFD

A12V_x64_Release.exe+555BD0: 48 8D 05 9D 8F A6 00  - lea rax,[A12V_x64_Release.exe+FBEB74]
A12V_x64_Release.exe+555BD7: F3 0F 10 0C 28        - movss xmm1,[rax+rbp]
A12V_x64_Release.exe+555BDC: B9 01 00 00 00        - mov ecx,00000001
A12V_x64_Release.exe+555BE1: 48 8B 6C 24 30        - mov rbp,[rsp+30]
A12V_x64_Release.exe+555BE6: F3 0F 58 C8           - addss xmm1,xmm0
A12V_x64_Release.exe+555BEA: 66 0F 6E C2           - movd xmm0,edx
A12V_x64_Release.exe+555BEE: 0F 5B C0              - cvtdq2ps xmm0,xmm0
A12V_x64_Release.exe+555BF1: F3 0F 59 C8           - mulss xmm1,xmm0
A12V_x64_Release.exe+555BF5: F3 0F 59 CA           - mulss xmm1,xmm2
A12V_x64_Release.exe+555BF9: F3 0F 2C C1           - cvttss2si eax,xmm1
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+555BFD: 3B C1                 - cmp eax,ecx
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+555BFF: 0F 4C C1              - cmovl eax,ecx
A12V_x64_Release.exe+555C02: 48 83 C4 20           - add rsp,20
A12V_x64_Release.exe+555C06: 5E                    - pop rsi
A12V_x64_Release.exe+555C07: C3                    - ret 
A12V_x64_Release.exe+555C08: CC                    - int 3 
A12V_x64_Release.exe+555C09: CC                    - int 3 
A12V_x64_Release.exe+555C0A: CC                    - int 3 
A12V_x64_Release.exe+555C0B: CC                    - int 3 
A12V_x64_Release.exe+555C0C: CC                    - int 3 
A12V_x64_Release.exe+555C0D: CC                    - int 3 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>55</ID>
              <Description>"multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_alche_xp_mul</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"戦闘：ダメージコントロール / Battle: Damage control"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-21
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_DAMAGE_MULTI,A12V_x64_Release.exe,29 91 94 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_DAMAGE_MULTI)

label(code)
label(return)
label(vf_damage_2_player)
label(vf_damage_2_enemy)

newmem:
  push r15
  mov r15d, [rcx+A8]
  cmp r15d, #99999
  je to_enemy

  mov r15d, [rcx+D8]  // max MP before enter battle
  test r15d, r15d
  jz to_enemy

  mov r15d, [rcx+C4]
  cmp r15d, 0
  jne to_enemy

to_player:
  vmovss xmm14, [vf_damage_2_player]
  jmp common_part

to_enemy:
  vmovss xmm14, [vf_damage_2_enemy]

common_part:
  vcvtsi2ss xmm15, xmm15, edx
  vmulss xmm13, xmm14, xmm15
  vcvtss2si edx, xmm13

endp:
  pop r15

code:
  sub [rcx+00000094],edx
  jmp return
align 10 cc
  vf_damage_2_player:
  dd (float)0.75
  vf_damage_2_enemy:
  dd (float)1.15

INJECT_DAMAGE_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_DAMAGE_MULTI)
registersymbol(vf_damage_2_player)
registersymbol(vf_damage_2_enemy)

[DISABLE]

INJECT_DAMAGE_MULTI:
  db 29 91 94 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+38E0DF

A12V_x64_Release.exe+38E0CA: CC                 - int 3 
A12V_x64_Release.exe+38E0CB: CC                 - int 3 
A12V_x64_Release.exe+38E0CC: CC                 - int 3 
A12V_x64_Release.exe+38E0CD: CC                 - int 3 
A12V_x64_Release.exe+38E0CE: CC                 - int 3 
A12V_x64_Release.exe+38E0CF: CC                 - int 3 
A12V_x64_Release.exe+38E0D0: 48 89 5C 24 08     - mov [rsp+08],rbx
A12V_x64_Release.exe+38E0D5: 48 89 74 24 10     - mov [rsp+10],rsi
A12V_x64_Release.exe+38E0DA: 57                 - push rdi
A12V_x64_Release.exe+38E0DB: 48 83 EC 30        - sub rsp,30
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+38E0DF: 29 91 94 00 00 00  - sub [rcx+00000094],edx
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+38E0E5: 41 8B F1           - mov esi,r9d
A12V_x64_Release.exe+38E0E8: 8B FA              - mov edi,edx
A12V_x64_Release.exe+38E0EA: 48 8B D9           - mov rbx,rcx
A12V_x64_Release.exe+38E0ED: E8 66 74 49 00     - call A12V_x64_Release.exe+825558
A12V_x64_Release.exe+38E0F2: 25 03 00 00 80     - and eax,80000003
A12V_x64_Release.exe+38E0F7: 7D 07              - jnl A12V_x64_Release.exe+38E100
A12V_x64_Release.exe+38E0F9: FF C8              - dec eax
A12V_x64_Release.exe+38E0FB: 83 C8 FC           - or eax,-04
A12V_x64_Release.exe+38E0FE: FF C0              - inc eax
A12V_x64_Release.exe+38E100: 85 C0              - test eax,eax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>47</ID>
              <Description>"プレイヤーへのダメージ乗数 / Damage multiplier to player"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_damage_2_player</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>48</ID>
              <Description>"敵へのダメージ乗数 / Damage multiplier to enemy"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_damage_2_enemy</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>59</ID>
          <Description>"戦闘中のMPが減少しません / Battle: inf. MP"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_BATTLE_MP,A12V_x64_Release.exe,29 91 9C 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_BATTLE_MP)

label(code)
label(return)

newmem:
  cmp edx, 0
  jle code
  mov edx, [rcx+00000100] // max MP
  mov [rcx+0000009C], edx
  xor edx, edx


code:
  sub [rcx+0000009C],edx
  jmp return

INJECT_INF_BATTLE_MP:
  jmp newmem
  nop
return:
registersymbol(INJECT_INF_BATTLE_MP)

[DISABLE]

INJECT_INF_BATTLE_MP:
  db 29 91 9C 00 00 00

unregistersymbol(INJECT_INF_BATTLE_MP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+38E2FA

A12V_x64_Release.exe+38E2DA: 4C 8B C3                       - mov r8,rbx
A12V_x64_Release.exe+38E2DD: 48 8B CF                       - mov rcx,rdi
A12V_x64_Release.exe+38E2E0: E8 2B 7F 00 00                 - call A12V_x64_Release.exe+396210
A12V_x64_Release.exe+38E2E5: 48 8B 5C 24 30                 - mov rbx,[rsp+30]
A12V_x64_Release.exe+38E2EA: 48 83 C4 20                    - add rsp,20
A12V_x64_Release.exe+38E2EE: 5F                             - pop rdi
A12V_x64_Release.exe+38E2EF: C3                             - ret 
A12V_x64_Release.exe+38E2F0: 48 89 5C 24 08                 - mov [rsp+08],rbx
A12V_x64_Release.exe+38E2F5: 57                             - push rdi
A12V_x64_Release.exe+38E2F6: 48 83 EC 30                    - sub rsp,30
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+38E2FA: 29 91 9C 00 00 00              - sub [rcx+0000009C],edx
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+38E300: 8B FA                          - mov edi,edx
A12V_x64_Release.exe+38E302: 83 B9 9C 00 00 00 00           - cmp dword ptr [rcx+0000009C],00
A12V_x64_Release.exe+38E309: 48 8B D9                       - mov rbx,rcx
A12V_x64_Release.exe+38E30C: 7D 0A                          - jnl A12V_x64_Release.exe+38E318
A12V_x64_Release.exe+38E30E: C7 81 9C 00 00 00 00 00 00 00  - mov [rcx+0000009C],00000000
A12V_x64_Release.exe+38E318: 85 FF                          - test edi,edi
A12V_x64_Release.exe+38E31A: 74 73                          - je A12V_x64_Release.exe+38E38F
A12V_x64_Release.exe+38E31C: 48 8B 01                       - mov rax,[rcx]
A12V_x64_Release.exe+38E31F: BA 87 00 00 00                 - mov edx,00000087
A12V_x64_Release.exe+38E324: FF 50 50                       - call qword ptr [rax+50]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>57</ID>
          <Description>"戦闘：アイテム使用回数減少なし / Battle: unlimited item usage"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ITEM_NO_DEC,A12V_x64_Release.exe,83 6B 30 01 75 35) // should be unique
alloc(newmem,$1000,INJECT_ITEM_NO_DEC)

label(code)
label(return)

newmem:
  cmp dword ptr [rbx+30], 2
  jae endp

  push rax
  mov ax, 2
  mov [rbx+30], 2
  pop rax

endp:
  add dword ptr [rbx+30],01

code:

  sub dword ptr [rbx+30],01
  reassemble(INJECT_ITEM_NO_DEC+4)
  //jne A12V_x64_Release.exe+47811F
  jmp return

INJECT_ITEM_NO_DEC:
  jmp newmem
  nop
return:
registersymbol(INJECT_ITEM_NO_DEC)

[DISABLE]

INJECT_ITEM_NO_DEC:
  db 83 6B 30 01 75 35

unregistersymbol(INJECT_ITEM_NO_DEC)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+4780E4

A12V_x64_Release.exe+4780C0: E8 8B 8F FE FF        - call A12V_x64_Release.exe+461050
A12V_x64_Release.exe+4780C5: B0 01                 - mov al,01
A12V_x64_Release.exe+4780C7: 48 83 C4 20           - add rsp,20
A12V_x64_Release.exe+4780CB: 5B                    - pop rbx
A12V_x64_Release.exe+4780CC: C3                    - ret 
A12V_x64_Release.exe+4780CD: 48 98                 - cdqe 
A12V_x64_Release.exe+4780CF: 48 69 C8 8C 01 00 00  - imul rcx,rax,0000018C
A12V_x64_Release.exe+4780D6: 48 8D 05 93 6A B4 00  - lea rax,[A12V_x64_Release.exe+FBEB70]
A12V_x64_Release.exe+4780DD: 83 7C 01 14 00        - cmp dword ptr [rcx+rax+14],00
A12V_x64_Release.exe+4780E2: 7E 16                 - jle A12V_x64_Release.exe+4780FA
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+4780E4: 83 6B 30 01           - sub dword ptr [rbx+30],01
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+4780E8: 75 35                 - jne A12V_x64_Release.exe+47811F
A12V_x64_Release.exe+4780EA: 48 8B CB              - mov rcx,rbx
A12V_x64_Release.exe+4780ED: E8 7E E7 FF FF        - call A12V_x64_Release.exe+476870
A12V_x64_Release.exe+4780F2: B0 01                 - mov al,01
A12V_x64_Release.exe+4780F4: 48 83 C4 20           - add rsp,20
A12V_x64_Release.exe+4780F8: 5B                    - pop rbx
A12V_x64_Release.exe+4780F9: C3                    - ret 
A12V_x64_Release.exe+4780FA: 8B 44 01 18           - mov eax,[rcx+rax+18]
A12V_x64_Release.exe+4780FE: 85 C0                 - test eax,eax
A12V_x64_Release.exe+478100: 7E E8                 - jle A12V_x64_Release.exe+4780EA
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"戦闘終了後の獲得EXP倍率 / Battle: XP multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_XP_MULTI,A12V_x64_Release.exe,8B 53 24 48 8B C8) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_XP_MULTI)

label(code)
label(return)
label(vf_battle_xp_mul)

newmem:

code:
  mov edx,[rbx+24]

  // custom code start
  vmovss xmm14, [vf_battle_xp_mul]
  vcvtsi2ss xmm15, xmm15, edx
  vmulss xmm15, xmm14, xmm15
  vcvtss2si edx, xmm15
  // custom code end

  mov rcx,rax
  jmp return
align 10 cc
  vf_battle_xp_mul:
  dd (float)1.2

INJECT_BATTLE_XP_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_BATTLE_XP_MULTI)
registersymbol(vf_battle_xp_mul)

[DISABLE]

INJECT_BATTLE_XP_MULTI:
  db 8B 53 24 48 8B C8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+385103

A12V_x64_Release.exe+3850DF: 0F 84 AA 00 00 00  - je A12V_x64_Release.exe+38518F
A12V_x64_Release.exe+3850E5: 40 38 7B 3C        - cmp [rbx+3C],dil
A12V_x64_Release.exe+3850E9: 0F 84 A0 00 00 00  - je A12V_x64_Release.exe+38518F
A12V_x64_Release.exe+3850EF: 90                 - nop 
A12V_x64_Release.exe+3850F0: 8B CF              - mov ecx,edi
A12V_x64_Release.exe+3850F2: E8 F9 EF 0C 00     - call A12V_x64_Release.exe+4540F0
A12V_x64_Release.exe+3850F7: 8B C8              - mov ecx,eax
A12V_x64_Release.exe+3850F9: E8 52 5F 0D 00     - call A12V_x64_Release.exe+45B050
A12V_x64_Release.exe+3850FE: 48 85 C0           - test rax,rax
A12V_x64_Release.exe+385101: 74 0B              - je A12V_x64_Release.exe+38510E
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+385103: 8B 53 24           - mov edx,[rbx+24]
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+385106: 48 8B C8           - mov rcx,rax
A12V_x64_Release.exe+385109: E8 B2 61 0C 00     - call A12V_x64_Release.exe+44B2C0
A12V_x64_Release.exe+38510E: FF C7              - inc edi
A12V_x64_Release.exe+385110: 83 FF 03           - cmp edi,03
A12V_x64_Release.exe+385113: 7C DB              - jl A12V_x64_Release.exe+3850F0
A12V_x64_Release.exe+385115: 8B 4B 34           - mov ecx,[rbx+34]
A12V_x64_Release.exe+385118: 33 D2              - xor edx,edx
A12V_x64_Release.exe+38511A: E8 C1 54 0D 00     - call A12V_x64_Release.exe+45A5E0
A12V_x64_Release.exe+38511F: 33 D2              - xor edx,edx
A12V_x64_Release.exe+385121: 8D 4A 13           - lea ecx,[rdx+13]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>63</ID>
              <Description>"multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_battle_xp_mul</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>60</ID>
          <Description>"比較速いクエストの敵討伐総数の増加 / Fast quest kill count"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_QUEST_KILL_CNT,A12V_x64_Release.exe,66 FF 80 56 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_QUEST_KILL_CNT)

label(code)
label(return)
label(i_last_mob_cnt_addr)

newmem:
  mov [i_last_mob_cnt_addr], rax
  push rbx
  mov bx, 4
  add word ptr [rax+00000156], bx
  pop rbx

code:
  inc word ptr [rax+00000156]
  jmp return
align 10 cc
  i_last_mob_cnt_addr:
  dq 0

INJECT_QUEST_KILL_CNT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_QUEST_KILL_CNT)
registersymbol(i_last_mob_cnt_addr)

[DISABLE]

INJECT_QUEST_KILL_CNT:
  db 66 FF 80 56 01 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+5E7E2F

A12V_x64_Release.exe+5E7E02: 66 83 B8 54 01 00 00 00  - cmp word ptr [rax+00000154],00
A12V_x64_Release.exe+5E7E0A: 48 63 48 04              - movsxd  rcx,dword ptr [rax+04]
A12V_x64_Release.exe+5E7E0E: 74 0E                    - je A12V_x64_Release.exe+5E7E1E
A12V_x64_Release.exe+5E7E10: 48 6B D1 34              - imul rdx,rcx,34
A12V_x64_Release.exe+5E7E14: 42 8B 8C 1A 70 ED FF 00  - mov ecx,[rdx+r11+00FFED70]
A12V_x64_Release.exe+5E7E1C: EB 0C                    - jmp A12V_x64_Release.exe+5E7E2A
A12V_x64_Release.exe+5E7E1E: 48 6B D1 38              - imul rdx,rcx,38
A12V_x64_Release.exe+5E7E22: 42 8B 8C 1A B0 D9 FF 00  - mov ecx,[rdx+r11+00FFD9B0]
A12V_x64_Release.exe+5E7E2A: 41 3B CA                 - cmp ecx,r10d
A12V_x64_Release.exe+5E7E2D: 75 17                    - jne A12V_x64_Release.exe+5E7E46
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+5E7E2F: 66 FF 80 56 01 00 00     - inc word ptr [rax+00000156]
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+5E7E36: 44 3B 88 58 01 00 00     - cmp r9d,[rax+00000158]
A12V_x64_Release.exe+5E7E3D: 7E 07                    - jle A12V_x64_Release.exe+5E7E46
A12V_x64_Release.exe+5E7E3F: 44 89 88 58 01 00 00     - mov [rax+00000158],r9d
A12V_x64_Release.exe+5E7E46: 41 FF C0                 - inc r8d
A12V_x64_Release.exe+5E7E49: 48 05 78 01 00 00        - add rax,00000178
A12V_x64_Release.exe+5E7E4F: 41 83 F8 14              - cmp r8d,14
A12V_x64_Release.exe+5E7E53: 72 A2                    - jb A12V_x64_Release.exe+5E7DF7
A12V_x64_Release.exe+5E7E55: C3                       - ret 
A12V_x64_Release.exe+5E7E56: CC                       - int 3 
A12V_x64_Release.exe+5E7E57: CC                       - int 3 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>67</ID>
              <Description>"Last mob count"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_last_mob_cnt_addr</Address>
              <Offsets>
                <Offset>156</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"商店アイテムの在庫が減少しない / inf. vendor item stock"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_VENDOR_ITEM,A12V_x64_Release.exe,48 63 C2 45 29 04 82) // should be unique
alloc(newmem,$1000,INJECT_INF_VENDOR_ITEM)

label(code)
label(return)

newmem:
  cmp r8d, 1
  jle code
  xor r8d, r8d

code:
  movsxd  rax,edx
  sub [r10+rax*4],r8d
  jmp return

INJECT_INF_VENDOR_ITEM:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_INF_VENDOR_ITEM)

[DISABLE]

INJECT_INF_VENDOR_ITEM:
  db 48 63 C2 45 29 04 82

unregistersymbol(INJECT_INF_VENDOR_ITEM)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+45D6D3

A12V_x64_Release.exe+45D6B0: 83 F9 05                 - cmp ecx,05
A12V_x64_Release.exe+45D6B3: 77 3A                    - ja A12V_x64_Release.exe+45D6EF
A12V_x64_Release.exe+45D6B5: 48 63 C1                 - movsxd  rax,ecx
A12V_x64_Release.exe+45D6B8: 4C 69 D0 F4 02 00 00     - imul r10,rax,000002F4
A12V_x64_Release.exe+45D6BF: 48 8D 05 FA 1E C4 00     - lea rax,[A12V_x64_Release.exe+109F5C0]
A12V_x64_Release.exe+45D6C6: 4C 03 D0                 - add r10,rax
A12V_x64_Release.exe+45D6C9: 45 84 C9                 - test r9b,r9b
A12V_x64_Release.exe+45D6CC: 75 0D                    - jne A12V_x64_Release.exe+45D6DB
A12V_x64_Release.exe+45D6CE: 83 FA 2F                 - cmp edx,2F
A12V_x64_Release.exe+45D6D1: 77 1C                    - ja A12V_x64_Release.exe+45D6EF
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+45D6D3: 48 63 C2                 - movsxd  rax,edx
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+45D6D6: 45 29 04 82              - sub [r10+rax*4],r8d
A12V_x64_Release.exe+45D6DA: C3                       - ret 
A12V_x64_Release.exe+45D6DB: 83 FA 09                 - cmp edx,09
A12V_x64_Release.exe+45D6DE: 77 0F                    - ja A12V_x64_Release.exe+45D6EF
A12V_x64_Release.exe+45D6E0: 48 63 C2                 - movsxd  rax,edx
A12V_x64_Release.exe+45D6E3: 48 6B C8 38              - imul rcx,rax,38
A12V_x64_Release.exe+45D6E7: 46 29 84 11 F4 00 00 00  - sub [rcx+r10+000000F4],r8d
A12V_x64_Release.exe+45D6EF: C3                       - ret 
A12V_x64_Release.exe+45D6F0: 48 8B 02                 - mov rax,[rdx]
A12V_x64_Release.exe+45D6F3: 4C 8D 05 C6 1E C4 00     - lea r8,[A12V_x64_Release.exe+109F5C0]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>50</ID>
          <Description>"コンテナのアイテム品質を設定する / Set container items quality to.."</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>41</ID>
              <Description>"值 / value"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>TARGET_QUALITY</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>39</ID>
              <Description>"Go!"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
--itemBaseAddr=readPointer("container_base_addr") --higlighted item base addr
if syntaxcheck then return end
print("Start")
if memrec then print(memrec.Description) end

--Main script start
--BaseContainerOffset=0x1161520
--ItemRecordSize=0x30
--MaxContainerCount=2000
--  MaxBasketCount=100
--
--getLuaEngine().MenuItem5.doClick()
tQ=readFloat("TARGET_QUALITY")

local containerBaseAddress = 0
local currentQualityAddress = 0


--A11R_x64_Release.exe+1160268
if (getAddressSafe(process) == nil)
then
  print("Please select Totori DX game process first")
else
  containerBaseAddress = getAddressSafe(process)+BaseContainerOffset
  currentQualityAddress = containerBaseAddress
  local isOkay=true
  if (isOkay)
  then
    for i = 1, MaxContainerCount, 1
    do
      currentID = readInteger(currentQualityAddress)

      if ( currentID &lt; 0xFFFFFFFF)
      then
        if (currentID % 25 == 0)
        then
	      print("NO: " .. i .. ", ID " .. currentID .. ", (addr: " .. string.format("%08X", currentQualityAddress) .. ") set quality to " .. tQ )
        end
        writeFloat(currentQualityAddress + 0x8, tQ)
      else
        break
      end
      currentQualityAddress = currentQualityAddress + ItemRecordSize
    end
    print("Done.")
  end

end
{$asm}
[DISABLE]

</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>49</ID>
          <Description>"バトル後にHP/MP/LPを回復 / Recover HP/MP/LP after battle"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-21
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_RECV_HPMPLP_B_END,A12V_x64_Release.exe,44 89 44 81 0C C3) // should be unique
alloc(newmem,$1000,INJECT_RECV_HPMPLP_B_END)

label(code)
label(return)

newmem:
  mov r8d, [rcx+rax*4+18]

code:
  mov [rcx+rax*4+0C],r8d
  jmp return

INJECT_RECV_HPMPLP_B_END:
  jmp newmem
return:
registersymbol(INJECT_RECV_HPMPLP_B_END)

[DISABLE]

INJECT_RECV_HPMPLP_B_END:
  db 44 89 44 81 0C

unregistersymbol(INJECT_RECV_HPMPLP_B_END)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+44D298

A12V_x64_Release.exe+44D289: CC                             - int 3 
A12V_x64_Release.exe+44D28A: CC                             - int 3 
A12V_x64_Release.exe+44D28B: CC                             - int 3 
A12V_x64_Release.exe+44D28C: CC                             - int 3 
A12V_x64_Release.exe+44D28D: CC                             - int 3 
A12V_x64_Release.exe+44D28E: CC                             - int 3 
A12V_x64_Release.exe+44D28F: CC                             - int 3 
A12V_x64_Release.exe+44D290: 83 FA 15                       - cmp edx,15
A12V_x64_Release.exe+44D293: 77 08                          - ja A12V_x64_Release.exe+44D29D
A12V_x64_Release.exe+44D295: 48 63 C2                       - movsxd  rax,edx
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+44D298: 44 89 44 81 0C                 - mov [rcx+rax*4+0C],r8d
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+44D29D: C3                             - ret 
A12V_x64_Release.exe+44D29E: CC                             - int 3 
A12V_x64_Release.exe+44D29F: CC                             - int 3 
A12V_x64_Release.exe+44D2A0: C7 81 78 01 00 00 00 00 00 00  - mov [rcx+00000178],00000000
A12V_x64_Release.exe+44D2AA: C3                             - ret 
A12V_x64_Release.exe+44D2AB: CC                             - int 3 
A12V_x64_Release.exe+44D2AC: CC                             - int 3 
A12V_x64_Release.exe+44D2AD: CC                             - int 3 
A12V_x64_Release.exe+44D2AE: CC                             - int 3 
A12V_x64_Release.exe+44D2AF: CC                             - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"アイテムエディター / Item Editor"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : A12V_x64_Release.exe
  Version: 
  Date   : 2023-11-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ITEM_EDITOR,$process,8B 70 04 83 FE FF) // should be unique
alloc(newmem,$1000,INJECT_ITEM_EDITOR)

label(code)
label(return)
label(item_base_addr)

newmem:
  mov [item_base_addr], rax
code:
  mov esi,[rax+04]
  cmp esi,-01
  jmp return
align 10 cc
  item_base_addr:
  dq 0


INJECT_ITEM_EDITOR:
  jmp newmem
  nop
return:
registersymbol(INJECT_ITEM_EDITOR)
registersymbol(item_base_addr)

[DISABLE]

INJECT_ITEM_EDITOR:
  db 8B 70 04 83 FE FF

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: A12V_x64_Release.exe+46B525

A12V_x64_Release.exe+46B4F6: 48 89 70 18           - mov [rax+18],rsi
A12V_x64_Release.exe+46B4FA: 48 8B 05 7F 0A BA 00  - mov rax,[A12V_x64_Release.exe+100BF80]
A12V_x64_Release.exe+46B501: 48 33 C4              - xor rax,rsp
A12V_x64_Release.exe+46B504: 48 89 85 80 00 00 00  - mov [rbp+00000080],rax
A12V_x64_Release.exe+46B50B: 4C 8B F1              - mov r14,rcx
A12V_x64_Release.exe+46B50E: 80 79 40 00           - cmp byte ptr [rcx+40],00
A12V_x64_Release.exe+46B512: 0F 85 54 04 00 00     - jne A12V_x64_Release.exe+46B96C
A12V_x64_Release.exe+46B518: 48 8B 41 50           - mov rax,[rcx+50]
A12V_x64_Release.exe+46B51C: 48 85 C0              - test rax,rax
A12V_x64_Release.exe+46B51F: 0F 84 D5 07 00 00     - je A12V_x64_Release.exe+46BCFA
// ---------- INJECTING HERE ----------
A12V_x64_Release.exe+46B525: 8B 70 04              - mov esi,[rax+04]
// ---------- DONE INJECTING  ----------
A12V_x64_Release.exe+46B528: 83 FE FF              - cmp esi,-01
A12V_x64_Release.exe+46B52B: 0F 8E C9 07 00 00     - jng A12V_x64_Release.exe+46BCFA
A12V_x64_Release.exe+46B531: F3 44 0F 2C 78 08     - cvttss2si r15d,[rax+08]
A12V_x64_Release.exe+46B537: 80 79 58 00           - cmp byte ptr [rcx+58],00
A12V_x64_Release.exe+46B53B: 74 0C                 - je A12V_x64_Release.exe+46B549
A12V_x64_Release.exe+46B53D: B8 64 00 00 00        - mov eax,00000064
A12V_x64_Release.exe+46B542: 44 3B F8              - cmp r15d,eax
A12V_x64_Release.exe+46B545: 44 0F 4F F8           - cmovg r15d,eax
A12V_x64_Release.exe+46B549: 8B CE                 - mov ecx,esi
A12V_x64_Release.exe+46B54B: E8 10 05 01 00        - call A12V_x64_Release.exe+47BA60
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>8</ID>
              <Description>"Addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>item_base_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>30</ID>
              <Description>"選択したアイテムをコンテナに複製（3回） / Duplicate selected item to container (x3)"</Description>
              <Color>FF0000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end

if memrec then print(memrec.Description) end
print("Start")

--itemBaseAddr=readPointer("container_base_addr") --higlighted item base addr
itemBaseAddr=readPointer("item_base_addr") --For Totori DX
print("Source item addr: " .. string.format("%08X", itemBaseAddr))
if (itemBaseAddr == 0) then
  print("Please select item first")
  return
end

srcQualityAddress = itemBaseAddr

getLuaEngine().MenuItem5.doClick()

if (getAddressSafe('A12V_x64_Release.exe') == nil)
then
  print("A12V_x64_Release.exe not found?")
else
  --Author : bbfox @ https://open cheat tables. com/
  local containerBaseAddress = g_containerBaseAddress

  print("Container base address: " .. string.format("%08X", containerBaseAddress))

  local isFound = false
  local IsBypass = false
  local prevID0 = 1
  local currentID0 = 0
  local currentQlty = 0
  local theQuality = 0 -- for duplicate destionation, quality should not the same if not in 999
  local dupCount = 3

  local currentQualityAddress = containerBaseAddress --base item address
  local currentSequenceAddress = containerBaseAddress --base item address

  local MaxCount = MaxContainerCount

  local prevQualityAddress = currentQualityAddress

  --set Quality address
  currentQlty = readFloat(srcQualityAddress + 0x08)
  --print("src quality addr: " .. string.format("%08X", srcQualityAddress + 0x06))
  print("Src quality: " .. readFloat(srcQualityAddress+ 0x08))
  print("Src serial: " .. readInteger(srcQualityAddress))


  if (IsBypass == false)
  then
    for i = 1, MaxCount-4, 1
    do
      if (isFound == false)
      then
        currentID0 = readInteger(currentQualityAddress)

        if (currentID0 == 4294967295 and i &gt; 1) -- 0xFFFFFFFF
        then
          print("Found empty slot in position #", i, ", address: #", string.format("%X", prevQualityAddress) .. ", src quality: " ..  currentQlty)
          isFound = true
          for i1 = 1, dupCount, 1
          do
            print("#", i1, ", addr: ", string.format("%X", currentQualityAddress), ", New ID: ", prevID0 + 1)
            for i2 = 0, ItemRecordSize-1, 1
            do
              if (i2 == 0)
              then
                -- 0~1: item id
                prevID0 = prevID0 + 1
                writeSmallInteger(currentQualityAddress, prevID0)
              end
              if ((i2 &gt; 3) and (i2 &lt; 8)) -- bypass offset 0-3 because already written (item serial)
              then -- Write item ID
                --theByte = barray[i2]
                --print(string.format("%02X", theByte))
                thebyte = readBytes(srcQualityAddress + i2, 1, false)
                writeBytes(currentQualityAddress + i2, thebyte)
              end

              if (i2 == 8) -- Quality part;
              then --Quality different than source to avoid game bug.
                theQuality = currentQlty

                if (theQuality &lt; (999 - dupCount)) then
                  if (theQuality == 120) then -- 120 is "official max quality"
                    -- do nothing
                  else
                    theQuality = theQuality + i1
                    print("new quality ".. theQuality)
                  end
                else
                  theQuality = 999
                  print("new quality ".. theQuality)
                end
                writeFloat(currentQualityAddress + 0x8, theQuality)
              end


              if (i2 &gt;= 12) -- rest part (quality 2 bytes*2 offset)
              then
                thebyte = readBytes(srcQualityAddress + i2, 1, false)
                writeBytes(currentQualityAddress + i2, thebyte)
              end
            end
            prevQualityAddress = currentQualityAddress
            currentQualityAddress = currentQualityAddress + ItemRecordSize
            --currentQlty = readSmallInteger(currentQualityAddress + 0x06)
            currentID0 = prevID0
          end
        end

        prevID0 = currentID0

        prevQualityAddress = currentQualityAddress
        currentQualityAddress = currentQualityAddress + ItemRecordSize
      else
        break
      end
    end
  end

  print("Done")
  --getLuaEngine().MenuItem5.doClick()
end

{$asm}

[DISABLE]


</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>51</ID>
                  <Description>"少なくとも4つの空きスペースを残してください"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>38</ID>
                  <Description>"At least leave 4 free spaces in container"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>10</ID>
              <Description>"日本語 / Japanese"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>9</ID>
                  <Description>"Serial / シリアルナンバー"</Description>
                  <DropDownList DisplayValueAsItem="1">-1:N/A
</DropDownList>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>11</ID>
                  <Description>"アイテムID / Item ID"</Description>
                  <DropDownList DisplayValueAsItem="1">0:フラム
1:メガフラム
2:N/A
3:レヘルン
4:ラケーテレヘルン
5:ドナーストーン
6:ドナークリスタル
7:地球儀
8:天球儀
9:メテオール
10:ヒンメルシュテルン
11:クラフト
12:うおクラフト
13:ダイオクラフト
14:メガクラフト
15:大砲
16:精霊石
17:シュペルホルン
18:自動目覚まし
19:魔女の秘薬
20:暗黒水
21:魔法の鎖
22:エーテルインキ
23:魚カン
24:情熱のコンソメ
25:スペシャルミート
26:プレーンパイ
27:手作りパイ
28:ハニーパイ
29:ミルクパイ
30:ベジパイ
31:ミートパイ
32:おさかなパイ
33:イクセルプレート
34:イクセルコース
35:マイスタータルト
36:デニッシュ
37:モンブラン
38:百年ビスケ
39:トトリア風ブランチ
40:薬用クリーム
41:妙薬ドラッヘン
42:知恵熱シロップ
43:強壮の丸薬
44:ヒーリングサルヴ
45:ネクタル
46:エリキシル剤
47:黒の香茶
48:神秘のアンク
49:メンタルウォーター
50:ナントカの秘薬
51:ヒーリングスポア
52:幸せのバスケット
53:湧水の杯
54:豊かの鉢植
55:秘密バッグ
56:祝福のコイン
57:栄養剤
58:旅人の靴
59:倍速手袋
60:トラベルゲート
61:運命の札
62:空とぶじゅうたん
63:おそなえもの
64:中和剤
65:ゼッテル
66:ピュアオイル
67:錬金酵母
68:錬金炭
69:研磨剤
70:あまい宝石
71:純粋なる毒
72:紅の染料
73:ガラス玉
74:水晶玉
75:薬のもと
76:干し草
77:生きているナワ
78:虹の精油
79:魔法の絵の具
80:タール液
81:アーランド石英
82:インゴット
83:ツィンク
84:ドライメタル
85:シュテルメタル
86:シルヴァタイト
87:ゴルトアイゼン
88:プラティーン
89:ハルモリウム
90:
91:クロース
92:モフコット
93:シルケス
94:ポリーウール
95:ネイロンフェザー
96:タンビーシュ
97:スケイルクロス
98:ヴェルベティス
99:小麦粉
100:塩
101:ハチミツ
102:一なる粉
103:ひもの
104:フィッシュソース
105:コメート
106:風の精の息吹
107:蒸留酒
108:ビア
109:ぶどう水
110:祝福のワイン
111:フローラルサワー
112:ミリオンナイト
113:アンチョビア
114:マグロワイン
115:バタフリキュール
116:爆弾酒
117:ぬしの足酒
118:ドライフラワー
119:乾いたにく
120:クサい液体
121:賢者の石
122:竜の砂時計
123:グナーデリング
124:ルーンストーン
125:メルクリウスの瞳
126:精霊の首飾り
127:ゲベートアンク
128:エンゼルチャーム
129:ブレイブマスク
130:ミシカルリング
131:実影の腕輪
132:厄除けおまもり
133:みえないクローク
134:天の水傘
135:時空の卵
136:超重碇
137:疾風の帆
138:防食甲板
139:百木船体
140:動力操縦桿
141:神秘の船首像
142:ちむちゃんパイ
143:冒険者養成アレイ
144:青色ビキニ
145:タータンビキニ
146:フリフリワンピ
147:水玉ワンピ
148:メディカルドレス
149:エプロンドレス
150:おりこうメガネ
151:おませなメガネ
152:ラブリーサングラス
153:マスク・ド・T
154:ねこ耳カチューシャ
155:くま耳カチューシャ
156:バラの髪飾り
157:おめかしリボン
158:ナースキャップ
159:ホワイトブリム
160:マジックグラス
161:土かぶり
162:アイヒェ
163:うに
164:ニューズ
165:ハチの巣
166:タールの実
167:剣先アロエ
168:薫木の皮
169:生きサボテン
170:薬木の根っこ
171:クラリタケの胞子
172:カラマリ草
173:奇草天外
174:月光花
175:フェスト
176:フロジストン
177:燃える土
178:蒸留石
179:恵みの石
180:臭い石
181:弾む石
182:岩塩
183:スティム鋼石
184:樹氷石
185:陽晶石
186:鋼鉄鉱
187:グラビ石
188:星のかけら
189:謎の宝石の原石
190:ウィスプストーン
191:黒の魔石
192:湖底の溜まり
193:鎖グモの巣
194:雲綿花
195:何かのタマゴ
196:震える結晶
197:忘れられた獣の骨
198:海のくさ
199:スポンジの実
200:きれいな貝殻
201:海の星
202:ブルーサンド
203:タツノオトシゴ
204:カタ巻き貝
205:マーメイドの涙
206:コヤシイワシ
207:蝶々魚
208:バクダンウオ
209:トゲマグロ
210:古代魚
211:ぬしの切り身
212:貯ミツアリ
213:金のスカラベ
214:イチゴ虫
215:苦ミミズ
216:星テントウ
217:プニマタケ
218:薫り虫
219:瑠璃色の羽
220:青竹
221:漆黒樹の原木
222:世界樹の枝
223:妖精の世界樹
224:ぷにぷに玉
225:アードラの尾羽
226:獣のしかばね
227:ペンデクローク
228:島琥珀
229:マンドラゴラの根
230:闇の雫
231:竜のつの
232:竜のウロコ
233:ベヒモスの心臓
234:石化トカゲ
235:蛇の毒袋
236:地球儀の玉
237:やわらかい毛
238:獣石
239:ヤギのつの
240:こやし
241:水
242:シャリオミルク
243:小麦
244:青い実
245:赤い実
246:ムカシヤシの実
247:紫ぶどう
248:ゾンネフルーツ
249:安らぎの花
250:フレッシュミント
251:賢者のハーブ
252:森の雫
253:ひかる円盤
254:生命の水
255:世界霊魂
256:釣聖のロッド
257:壊れたアイテム
258:イベント用てがみ
259:イベント用めんきょ
260:でかい丸太
261:イベント用ロロナのアトリエの鍵
262:イベント用封筒のついてない手紙
263:ミミの免許書
264:メルヴィアの免許書
265:イベント用予備8
266:イベント用予備9
267:イベント用予備10
268:錬金術師の杖
269:軽い鉄の杖
270:癒しの杖
271:精霊の杖
272:魔女の杖
273:ショートソード
274:パイレーツソード
275:鋼鉄の剣
276:冒険家の名剣
277:ウィンドゲイザー
278:家宝の鉾
279:シュペーヴァイス
280:紅の戦槍
281:ヴァルキリーアーム
282:ラインシュナイデン
283:ブロードアックス
284:スチールアックス
285:石割りアックス
286:巨人の剛力アックス
287:天地崩壊の斧
288:鋼鉄の拳
289:シザーハンズ
290:鋼鉄切りバサミ
291:ゴッドハンド
292:シュトロームドリル
293:マスターのロッド
294:護りのロッド
295:天使の杖
296:賢き者の杖
297:７つの星の杖
298:流浪の騎士の剣
299:永遠の剣
300:ルーンブレード
301:竜裂きの大剣
302:ケーニッヒバイル
303:錬金術師の服
304:普通の服
305:旅人の服
306:港町の服
307:天使のローブ
308:太古の神の衣
309:冒険者の服
310:豪華な皮鎧
311:フェザーチェイン
312:竜織の服
313:守護者の衣装
314:勇敢なる者の鎖帷子
315:レディスプレート
316:バトルメイル
317:メイデンアーマー
318:ヴァルキリアスーツ
319:薔薇の乙女
320:煌びやかな薄衣
321:セイントローブ
322:レザーコート
323:ドラグーンケープ
324:メタルジャケット
325:太陽のクローク
326:ヒロイックマント
327:怪盗のマント
328:闘士の装具
329:学者のローブ
330:騎士の兵装
331:普通のはたき
332:鉄製はたき
333:高級羽毛はたき
334:普通のフライパン
335:職人のフライパン
336:三ツ星フライパン
337:普通のバレット
338:特殊バレット
339:CSP
340:普通のワンピース
341:丈夫なワンピース
342:銀糸のワンピース
343:職人の服
344:料理長の服
345:鉄人の服
346:クロスコート
347:シルクのコート
348:バトルコート
-1:N/A
</DropDownList>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>14</ID>
                  <Description>"品質 / Quality"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>52</ID>
                      <Description>"120は公式の上限です"</Description>
                      <Color>8000FF</Color>
                      <GroupHeader>1</GroupHeader>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>15</ID>
                  <Description>"特性1 / Trait 1"</Description>
                  <DropDownList DisplayValueAsItem="1">0:カッコイイ
1:一味違う
2:とっておきの
3:カワイイ
4:キモカワイイ
5:ラブリー
6:いい香り
7:とてもいい香り
8:フローラルな香り
9:クサイ
10:とてもクサイ
11:ハエも逃げ出す
12:大きい
13:おばけサイズ
14:世紀末規模の
15:小さい
16:アリさん専用
17:見えない大きさ
18:重い
19:ずっしりとした
20:ガチムチな重さ
21:軽い
22:驚く軽さ
23:スカスカな軽さ
24:元気が出る形
25:星型の
26:完璧なフォルム
27:ヘンな形
28:とんがった形
29:レアな形
30:価格アップ・小
31:価格アップ・中
32:価格アップ・大
33:価格ダウン・小
34:価格ダウン・中
35:価格ダウン・大
36:劣化速度減・小
37:劣化速度減・中
38:劣化速度減・大
39:劣化速度増・小
40:劣化速度増・中
41:劣化速度増・大
42:品質アップ・小
43:品質アップ・中
44:品質アップ・大
45:品質ダウン・小
46:品質ダウン・中
47:品質ダウン・大
48:効果アップ・小
49:効果アップ・中
50:効果アップ・大
51:効果ダウン・小
52:効果ダウン・中
53:効果ダウン・大
54:会心の効果・小
55:会心の効果・中
56:会心の効果・大
57:効果が安定・小
58:効果が安定・中
59:効果が安定・大
60:判定を拡大・小
61:判定を拡大・中
62:判定を拡大・大
63:扱いやすい・小
64:扱いやすい・中
65:扱いやすい・大
66:扱いにくい・小
67:扱いにくい・中
68:扱いにくい・大
69:生きている
70:活きがいい
71:やる気マンマン
72:上級者向け
73:玄人好みの
74:プロ御用達
75:素人お勧めの
76:初心者でも大丈夫
77:子供でも扱える
78:使用回数+1
79:使用回数+2
80:HP+10
81:HP+20
82:HP+30
83:MP+10
84:MP+20
85:MP+30
86:LP+10
87:LP+20
88:LP+30
89:攻撃力+3
90:攻撃力+5
91:攻撃力+10
92:防御力+3
93:防御力+5
94:防御力+10
95:速度+3
96:速度+5
97:速度+10
98:消費MP10％減
99:消費MP20％減
100:消費MP30％減
101:技威力10％増
102:技威力20％増
103:技威力30％増
104:炎属性付与
105:氷属性付与
106:土属性付与
107:雷属性付与
108:ぷにぷに特攻
109:動物特攻
110:ドラゴン特攻
111:魔獣特攻
112:幽霊特攻
113:魔族特攻
114:毒を与える
115:眠りを与える
116:呪いを与える
117:暗闇を与える
118:麻痺を与える
119:全能力+3
120:全能力+5
121:全能力+10
122:ダメージ還元・小
123:ダメージ還元・中
124:ダメージ還元・大
125:炎ダメージ微減
126:炎ダメージ軽減
127:氷ダメージ微減
128:氷ダメージ軽減
129:雷ダメージ微減
130:雷ダメージ軽減
131:土ダメージ微減
132:土ダメージ軽減
133:ランクで強化・小
134:ランクで強化・中
135:ランクで強化・大
136:特性で強化・小
137:特性で強化・中
138:特性で強化・大
139:多い敵に効果
140:多い敵に中効果
141:多い敵に大効果
142:少ない敵に効果
143:少ない敵に中効果
144:少ない敵に大効果
145:最後の一撃・小
146:最後の一撃・大
147:大きな敵に有効
148:大きな敵に超有効
149:小さな敵に有効
150:小さな敵に超有効
151:弾けるトゲ
152:燃える気体
153:滴る毒液
154:魂を吸い取る
155:誘爆する
156:力を奪う
157:溶解させる
158:絡みつく
159:鋭い切れ味
160:純粋なる力
161:重量感ある
162:丈夫な
163:軽量化された
164:炎の力
165:冷気の力
166:雷の力
167:大地の力
168:聖なる力
169:癒しの力
170:闇の力
171:傷に効く
172:全ての傷を癒す
173:気付け効果
174:生命の源
175:パワーみなぎる
176:石化した肉
177:再生エキス
178:安らぎを与える
179:万病に効く
180:癒しのエキス
181:予備枠31
182:予備枠32
183:予備枠33
184:予備枠34
185:予備枠35
186:予備枠36
187:予備枠37
188:予備枠38
189:予備枠39
190:予備枠40
191:予備枠41
192:予備枠42
193:予備枠43
194:予備枠44
195:予備枠45
196:予備枠46
197:予備枠47
198:予備枠48
199:予備枠49
200:予備枠50
201:予備枠51
202:予備枠52
203:予備枠53
4294967295:N/A
-1:N/A
</DropDownList>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>16</ID>
                  <Description>"特性2 / Trait 2"</Description>
                  <DropDownListLink>特性1 / Trait 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>17</ID>
                  <Description>"特性3 / Trait 3"</Description>
                  <DropDownListLink>特性1 / Trait 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>18</ID>
                  <Description>"特性4 / Trait 4"</Description>
                  <DropDownListLink>特性1 / Trait 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>19</ID>
                  <Description>"特性5 / Trait 5"</Description>
                  <DropDownListLink>特性1 / Trait 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>1C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>20</ID>
                  <Description>"効果1 / Effect 1"</Description>
                  <DropDownList DisplayValueAsItem="1">0:物理ダメージ・微
1:物理ダメージ・小
2:物理ダメージ・中
3:物理ダメージ・大
4:物理ダメージ・超
5:炎ダメージ・小
6:炎ダメージ・中
7:炎ダメージ・大
8:炎ダメージ・超
9:大爆発ダメージ
10:氷ダメージ・小
11:氷ダメージ・中
12:氷ダメージ・大
13:雷ダメージ・小
14:雷ダメージ・中
15:雷ダメージ・大
16:土ダメージ・小
17:土ダメージ・中
18:土ダメージ・大
19:星が降ってくる
20:ぷにが降ってくる
21:岩が降ってくる
22:うにが降ってくる
23:？？？が降ってくる
24:一尺弾
25:六尺弾
26:眠り状態にする
27:毒状態にする
28:麻痺状態にする
29:呪い状態にする
30:暗闇状態にする
31:猛毒状態にする
32:硫酸の
33:竜の力
34:攻撃力プラス
35:防御力プラス
36:速度プラス
37:攻撃力マイナス
38:防御力マイナス
39:速度マイナス
40:加護の守り
41:力がわく味
42:丈夫になる味
43:素早くなる味
44:眠り自動回復
45:戦闘不能自動回復
46:状態異常軽減
47:状態異常超軽減
48:ダメージ軽減
49:ダメージ大幅減
50:三重苦
51:HP回復・微
52:HP回復・小
53:HP回復・中
54:HP回復・大
55:HP回復・超
56:MP回復・微
57:MP回復・小
58:MP回復・中
59:MP回復・大
60:MP回復・超
61:LP回復・微
62:LP回復・小
63:LP回復・中
64:LP回復・大
65:LP回復・超
66:あまい
67:ほどよいうまみ
68:とてもあまい
69:とろける甘さ
70:シブい
71:苦い
72:戦闘不能回復・小
73:戦闘不能回復・中
74:戦闘不能回復・大
75:HP一時増加
76:HP継続回復・小
77:HP継続回復・中
78:HP継続回復・大
79:HP継続回復・超
80:眠り状態を回復
81:毒状態を回復
82:麻痺状態を回復
83:呪い状態を回復
84:暗闇状態を回復
85:状態異常を回復
86:強化を無効
87:融け出す魔力
88:液体が湧く
89:いい液体が湧く
90:食材が湧く
91:いい食材が湧く
92:植物が湧く
93:いい植物が湧く
94:出し入れ自由自在
111:置くだけで劣化防止
96:置くだけで充填
97:アトリエ帰還
98:街道ひとっぱしり
99:採取マスター
100:材料Lvアップ？
101:材料大Lvアップ？
102:材料品質アップ？
103:材料品質大アップ？
104:材料特性数増？
105:材料特性数増大？
106:紅玉
107:蒼玉
108:翠玉
109:黄玉
110:金剛石
111:時の流れが止まる
112:力のルーン
113:守りのルーン
114:速さのルーン
115:祝福されし行い
116:安全のカード
117:波乱万丈のカード
118:緊急避難
119:MP消費
120:金運アップ
121:学習力アップ
122:炎ダメージ軽減
123:氷ダメージ軽減
124:雷ダメージ軽減
125:土ダメージ軽減
126:炎ダメージ耐性
127:氷ダメージ耐性
128:雷ダメージ耐性
129:土ダメージ耐性
130:HP再生・小
131:HP再生・中
132:HP再生・大
133:HP再生・超
134:HP再生・極
135:クリティカル・小
136:クリティカル・中
137:クリティカル・大
138:クリティカル・超
139:クリティカル・極
140:攻撃回避・小
141:攻撃回避・中
142:攻撃回避・大
143:攻撃回避・超
144:攻撃回避・極
145:命中率上昇・小
146:命中率上昇・中
147:命中率上昇・大
148:命中率上昇・超
149:命中率上昇・極
150:戦闘不能回避・小
151:戦闘不能回避・中
152:戦闘不能回避・大
153:戦闘不能回避・超
154:戦闘不能回避・極
155:確率軽減・小
156:確率軽減・中
157:確率軽減・大
158:確率軽減・超
159:確率軽減・極
160:ダメージ軽減・小
161:ダメージ軽減・中
162:ダメージ軽減・大
163:ダメージ軽減・超
164:ダメージ軽減・極
165:毒耐性
166:眠り耐性
167:呪い耐性
168:麻痺耐性
169:暗闇耐性
170:一撃必殺耐性
171:状態異常耐性
172:炎ダメージ追加
173:氷ダメージ追加
174:雷ダメージ追加
175:土ダメージ追加
176:全属性ダメージ
177:魚がはいってる
178:島魚がはいってる
179:緊急回避付与
180:クリティカル減少
181:クリティカル激減
182:アイテムがよく効く
183:物理攻撃がよく効く
184:高速化
185:アシスト強化
186:勇者の魂
187:ダメージ変換吸収
188:連続行動
189:HP継続ダメージ
190:能力減退
191:攻撃されにくい
192:攻撃されやすい
193:暑さを防ぐ
194:弾けるトゲ
195:燃える気体
196:滴る毒液
197:魂を吸い取る
198:誘爆破する
199:力を奪う
200:溶解させる
201:絡みつく
202:鋭い切れ味
203:純粋なる力
204:傷に効く
205:全ての傷を癒す
206:気付け効果
207:生命の源
208:パワーみなぎる
209:石化した肉
210:再生エキス
211:安らぎを与える
212:万病に効く
213:癒しのエキス
214:炎の力
215:氷の力
216:雷の力
217:土の力
218:炎耐性
219:氷耐性
220:雷耐性
221:炎耐性付与
-1:N/A
</DropDownList>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>20</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>21</ID>
                  <Description>"効果2 / Effect 2"</Description>
                  <DropDownListLink>効果1 / Effect 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>24</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>22</ID>
                  <Description>"効果3 / Effect 3"</Description>
                  <DropDownListLink>効果1 / Effect 1</DropDownListLink>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>28</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>24</ID>
                  <Description>"使用回数"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>2 Bytes</VariableType>
                  <Address>item_base_addr</Address>
                  <Offsets>
                    <Offset>30</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>66</ID>
      <Description>"(non-English ver.) Atelier Totori ~The Adventurer of Arland~ DX  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Color>00AE57</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>MaxContainerCount = 2000
MaxBasketCount = 60
BaseContainerOffset=0x108BD00
EquipsOffset=0x108A8B0


if (getAddressSafe('A12V_x64_Release.exe') == nil)
then
  print("Please select process A12V_x64_Release.exe first")
  print("Please close Cheat Engine and load this table again")
else
  g_containerBaseAddress = getAddressSafe('A12V_x64_Release.exe')+BaseContainerOffset
  g_equipsBaseAddress = getAddressSafe('A12V_x64_Release.exe')+EquipsOffset
end

--print(MaxBasketCount)

--local dynBasketAddress = getAddressSafe("???.exe")+0x?????
--MaxBasketCount = readSmallInteger(dynBasketAddress)
--print(MaxBasketCount)

ItemRecordSize = 52 --0x34

--lua scripts that table checkbox will not be checked with "NO_ACTIVATE" in comment
function onMemRecPostExecute(memoryrecord, newState, succeeded )
    if memoryrecord.Type == vtAutoAssembler and memoryrecord.Script:find("NO_ACTIVATE") and newState and succeeded then
        memoryrecord.disableWithoutExecute()
    end
end

--memory record IDs now allowed to be 'locked'
IDs = {438,
       }

--determine event trigger sequence


function contains(table, val)
   local i = 0
   for i=1, #table do
      if table[i] == val then
         return true
      end
   end
   return false
end


function onMemRecPreExecute(memoryrecord, newstate)
    if contains(IDs, memoryrecord.ID) and newstate then
	    memoryrecord.OnActivate = function(memoryrecord, before, currentstate)
		    return false
	    end
    end
end

function AOBScanModule(moduleName, signature, aobSignaturePrivileges, alignmentType, alignmentParam)
	--checkArgType(moduleName, 1, 'string')
	if not signature or not moduleName then return end
	index = index or 1
	local modStartAddr = getAddress(moduleName)
	local modEndAddr = modStartAddr + getModuleSize(moduleName)
	local ms = createMemScan()
	if type(signature) == 'table' then
		local sig = ''
		for i, byte in ipairs(signature) do
			sig = sig..string.format('%02X', byte)
		end
		signature = sig
	end
	ms.firstScan(soExactValue, vtByteArray, nil, signature, nil, modStartAddr, modEndAddr,
				 aobSignaturePrivileges, alignmentType, alignmentParam, true, true, false, false)
	ms.waitTillDone()
	local results = createFoundList(ms)
	results.initialize()
	ms.destroy()
	return results
end
registerLuaFunctionHighlight('AOBScanModule')



AddressList.Header.OnSectionClick = nil
</LuaScript>
</CheatTable>
