<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>0</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>1</ID>
      <Description>"Enable (Enable twice)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
--if syntaxcheck then return end;if process==nil then ShowMessage('Process is not selected.')elseif readInteger(process)==0 then ShowMessage('Process cannot be opened.')else if monopipe~=nil and monopipe.ProcessID~=getOpenedProcessID()then monopipe.destroy()monopipe=nil end;if monopipe==nil then LaunchMonoDataCollector()end end;AuthorName='fd01071ec5'TablePostUrl='13431d5d64d03c52b75e48ec4034045a0fcfe966f4e79c54ac9a35e00b5c01aa8fdc2f1dcc8a1fb8ae58ecd967a1'FooterLogoFileName='62ba7dcf16c1b33ce6d141df48a0f09698'AddLicenseLabel=true;LicenseName='9abf9508b3c9ba'LicenseFileName='57f0f0c2aa4b945f19129c'Key53=9875711438865098;Key14=1380;function deco(a)local b,c=Key53,16384+Key14;return a:gsub('%x%x',function(d)local e=b%8589934592;local f=(b-e)/8589934592;local g=f%128;d=tonumber(d,16)local h=(d+(f-g)/128)*(2*g+1)%256;b=e*c+f+d+h;return string.char(h)end)end;AuthorName=deco(AuthorName)FooterLogoFileName=deco(FooterLogoFileName)LicenseName=deco(LicenseName)LicenseFileName=deco(LicenseFileName)TablePostUrl=deco(TablePostUrl)function tableFilePackageLoader(i,j)local k=findTableFile(j)if k then local l=k.getData()if l then local m=readStringLocal(l.memory,l.size)if m then local n,o=pcall(load,m,j)if not n then error(o,2)end;return o(i,j)end end end;error(string.format('Error loading table module: %s : %s',i,j),2)end;function tableFilePackageSearcher(i)local p=''local q={i..'.lua',i..'.init.lua'}local k,j;for r,s in ipairs(q)do k=findTableFile(s)if k then j=s;break else p=p..string.format("\n\tno table file '%s'",s)end end;if k and j then return tableFilePackageLoader,j end;return p end;if not TABLE_LUA_PACKAGE_SEARCHER_LOADED then if RELEASE_MODE then table.insert(package.searchers,2,tableFilePackageSearcher)else table.insert(package.searchers,tableFilePackageSearcher)end;TABLE_LUA_PACKAGE_SEARCHER_LOADED=true end;if not REQUIRE_BYPASS_LOADED then local t=require;function require(i)if REREQUIRE or RerequireList and RerequireList[i]then package.loaded[i]=false end;local n,o=pcall(t,i)if n then return o else local p=o:gsub('\n','\r\n'):gsub('.dllC:\\',".dll'\r\n\tno file 'C:\\")error(p,2)end end;REQUIRE_BYPASS_LOADED=true end;require('OCTLogoFooter');thetick=0;Timer1=createTimer()Timer1.Interval=60000;Timer1.OnTimer=function(a)thetick=thetick+1;if thetick==180 then addOCTFooter(true)end end
if syntaxcheck then
    return
end
mono_activate()

{$asm}
define(SummonFortWindowSetupProc,"SummonFortWindow:Setup")
define(SaveCountryDataUpdateCountryDataProc,"SaveCountryData:UpdateCountryData")
define(UIBattlePredictionSetProc,"UIBattlePrediction:Set")
define(UnitStatusDataset_hitPointProc,"UnitStatusData:set_hitPoint")
define(BattleSystemset_turnCountproc,"BattleSystem:set_turnCount")
define(Item_WorldUnitListSetupproc,"Item_WorldUnitList:Setup")
define(UnitCalculationGetRequireExperienceProc,"UnitCalculation:GetRequireExperience")
define(Menu_WorldStatusUpdateStatusProc,"Menu_WorldStatus:UpdateStatus")
define(Menu_WorldStatusUpdateManaProc,"Menu_WorldStatus:UpdateMana")
define(Menu_ItemListSetupConsumeProc, "Menu_ItemList:SetupConsume")
define(Menu_WorldQuestResultSetResultParameterProc,"Menu_WorldQuestResult:SetResultParameter")
define(UnitStatusDataget_maxHitPointProc,"UnitStatusData:get_maxHitPoint")
define(BattleUnitAction_LevelUpProduction__12MoveNextProc,"BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext")
define(Menu_WorldQuestResultCreateUnitResultd__41MoveNextProc,"Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext")

registersymbol(SummonFortWindowSetupProc)
registersymbol(SaveCountryDataUpdateCountryDataProc)
registersymbol(UIBattlePredictionSetProc)
registersymbol(UnitStatusDataset_hitPointProc)
registersymbol(BattleSystemset_turnCountproc)
registersymbol(Item_WorldUnitListSetupproc)
registersymbol(UnitCalculationGetRequireExperienceProc)
registersymbol(Menu_WorldStatusUpdateStatusProc)
registersymbol(Menu_WorldStatusUpdateManaProc)
registersymbol(Menu_ItemListSetupConsumeProc)
registersymbol(Menu_WorldQuestResultSetResultParameterProc)
registersymbol(UnitStatusDataget_maxHitPointProc)
registersymbol(BattleUnitAction_LevelUpProduction__12MoveNextProc)
registersymbol(Menu_WorldQuestResultCreateUnitResultd__41MoveNextProc)

//***********************
define(MAINEXE, "Brigandine The Legend of Runersia.exe")
define(MAINDLL, Menu_WorldStatusUpdateStatusProc)
alloc(newmem, 1000, MAINDLL)
label(FORT_ID)
label(COUNTRY_ID)
newmem:
  FORT_ID:
  dd -1
  COUNTRY_ID:
  dd -1

registersymbol(FORT_ID)
registersymbol(COUNTRY_ID)
[DISABLE]
{$lua}
if syntaxcheck then return end;if not syntaxcheck then mono_deactivate() end
{$asm}
unregistersymbol(*)
unregistersymbol(FORT_ID)
dealloc(newmem, 1000)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>20</ID>
          <Description>"-Capital fort ID-"</Description>
          <DropDownList DisplayValueAsItem="1">-1:N/A
1:ノーザリオ王国 / Norzaleo / 諾查里歐王國
6:ガイ・ムール共和国 / Guimoule / 蓋・穆魯共和國
14:シノビ族 / Shinobi Tribe / 忍族
19:グスタファ神聖帝国 / Holy Gustava / 古斯塔法神聖帝國
25:マナ・サリージア法王国 / Mana Saleesia / 瑪那・薩利齊亞法王國
35:ミレルバ諸島連邦 / Mirelva / 密涅瓦群島聯邦
</DropDownList>
          <ShowAsSigned>1</ShowAsSigned>
          <Color>408000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>FORT_ID</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>43</ID>
          <Description>"-Country ID-"</Description>
          <DropDownList DisplayValueAsItem="1">-1:N/A
1:ノーザリオ王国 / Norzaleo / 諾查里歐王國
2:ガイ・ムール共和国 / Guimoule / 蓋・穆魯共和國
3:シノビ族 / Shinobi Tribe / 忍族
4:グスタファ神聖帝国 / Holy Gustava / 古斯塔法神聖帝國
5:マナ・サリージア法王国 / Mana Saleesia / 瑪那・薩利齊亞法王國
6:ミレルバ諸島連邦 / Mirelva / 密涅瓦群島聯邦
</DropDownList>
          <ShowAsSigned>1</ShowAsSigned>
          <Color>408000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>COUNTRY_ID</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>314</ID>
          <Description>"Synchronize default -Fort ID-  &lt;=&gt;  -Country ID-"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
local cid = 0
i = readInteger('FORT_ID')
cid = readInteger('COUNTRY_ID')
if (i == 4294967295 ) then
  cid = readInteger('COUNTRY_ID')
  if (cid == 1) then
    i = 1
  end
  if (cid == 2) then
    i = 6
  end
  if (cid == 3) then
    i = 14
  end
  if (cid == 4) then
    i = 19
  end
  if (cid == 5) then
    i = 25
  end
  if (cid == 6) then
    i = 35
  end
  writeInteger('FORT_ID', i)
  --return
end
if (cid == 4294967295 ) then
  i = readInteger('FORT_ID')
  if (i == 1) then
    cid = 1
  end
  if (i == 6) then
    cid = 2
  end
  if (i == 14) then
    cid = 3
  end
  if (i == 19) then
    cid = 4
  end
  if (i == 25) then
    cid = 5
  end
  if (i == 35) then
    cid = 6
  end
  writeInteger('COUNTRY_ID', cid)
end

 
 
[DISABLE]
{$asm}
//code from here till the end of the code will be used to disable the cheat
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>21</ID>
          <Description>"!!! "Get country data" must be enabled to make table working"</Description>
          <Color>FF80FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>325</ID>
          <Description>"!!! Re-enable scripts if perform a new game / load from save"</Description>
          <Color>FF80FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Get country data (Usage: ***in your city*** Menu-&gt;Summon-&gt;Leave)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_SUMMON_SETUP,49 63 4E 60 48 8D 64 24 00) // should be unique
aobscanregion(INJECT_SUMMON_SETUP,SummonFortWindowSetupProc+19c,SummonFortWindowSetupProc+2ac,49 63 4E 60 48 8D 64 24 00) // should be unique
alloc(newmem,$1000,INJECT_SUMMON_SETUP)

label(code)
label(return)
label(i_base_savecountry_addr)
label(i_base_savecountry_addr2)
label(i_fort_id)

newmem:
  cmp qword ptr [i_base_savecountry_addr], 0
  jne check2
  mov [i_base_savecountry_addr], r14
  push rax
  mov eax, [r14+6C]
  mov [FORT_ID], eax
  mov [i_fort_id], eax
  mov eax, 1
  mov [r14+68], eax
  pop rax

check2:
  mov [i_base_savecountry_addr2], r14

code:
  movsxd  rcx,dword ptr [r14+60]
  lea rsp,[rsp+00]
  jmp return

align 10 cc
  i_base_savecountry_addr:
  dq 0
  i_base_savecountry_addr2:
  dq 0
  i_fort_id:
  dd 0

INJECT_SUMMON_SETUP:
  jmp newmem
  nop 4
return:

registersymbol(i_fort_id)
registersymbol(i_base_savecountry_addr2)
registersymbol(i_base_savecountry_addr)
registersymbol(INJECT_SUMMON_SETUP)

[DISABLE]

INJECT_SUMMON_SETUP:
  db 49 63 4E 60 48 8D 64 24 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SummonFortWindow:Setup+1ac

SummonFortWindow:Setup+177: 48 8D AD 00 00 00 00           - lea rbp,[rbp+00000000]
SummonFortWindow:Setup+17e: 49 BB A0 49 61 12 EA 01 00 00  - mov r11,System.Int32:ToString
SummonFortWindow:Setup+188: 41 FF D3                       - call r11
SummonFortWindow:Setup+18b: 48 8B D0                       - mov rdx,rax
SummonFortWindow:Setup+18e: 48 8B 85 00 FF FF FF           - mov rax,[rbp-00000100]
SummonFortWindow:Setup+195: 48 8B C8                       - mov rcx,rax
SummonFortWindow:Setup+198: 48 8B 00                       - mov rax,[rax]
SummonFortWindow:Setup+19b: FF 90 D8 02 00 00              - call qword ptr [rax+000002D8]
SummonFortWindow:Setup+1a1: 48 8B 47 38                    - mov rax,[rdi+38]
SummonFortWindow:Setup+1a5: 48 89 85 08 FF FF FF           - mov [rbp-000000F8],rax
// ---------- INJECTING HERE ----------
SummonFortWindow:Setup+1ac: 49 63 4E 60                    - movsxd  rcx,dword ptr [r14+60]
// ---------- DONE INJECTING  ----------
SummonFortWindow:Setup+1b0: 48 8D 64 24 00                 - lea rsp,[rsp+00]
SummonFortWindow:Setup+1b5: 90                             - nop 
SummonFortWindow:Setup+1b6: 49 BB A0 C8 51 21 EA 01 00 00  - mov r11,Constant:AdjustTortalMana
SummonFortWindow:Setup+1c0: 41 FF D3                       - call r11
SummonFortWindow:Setup+1c3: 89 85 50 FF FF FF              - mov [rbp-000000B0],eax
SummonFortWindow:Setup+1c9: 48 8B CD                       - mov rcx,rbp
SummonFortWindow:Setup+1cc: 48 81 C1 50 FF FF FF           - add rcx,FFFFFFFFFFFFFF50
SummonFortWindow:Setup+1d3: 66 66 90                       - nop 3
SummonFortWindow:Setup+1d6: 49 BB A0 49 61 12 EA 01 00 00  - mov r11,System.Int32:ToString
SummonFortWindow:Setup+1e0: 41 FF D3                       - call r11
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>3</ID>
              <Description>"Base addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_base_savecountry_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"Capital fort ID"</Description>
              <DropDownListLink>-Capital fort ID-</DropDownListLink>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_savecountry_addr</Address>
              <Offsets>
                <Offset>6C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>19</ID>
              <Description>"SaveCountryData"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>4</ID>
                  <Description>"totalMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr</Address>
                  <Offsets>
                    <Offset>60</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>5</ID>
                  <Description>"incomeMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr</Address>
                  <Offsets>
                    <Offset>64</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>6</ID>
                  <Description>"maintenanceMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr</Address>
                  <Offsets>
                    <Offset>68</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>7</ID>
                  <Description>"capitalFortId"</Description>
                  <DropDownListLink>-Capital fort ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr</Address>
                  <Offsets>
                    <Offset>6C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>8</ID>
                  <Description>"knightNum"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+70</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>9</ID>
                  <Description>"monsterNum"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+74</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>10</ID>
                  <Description>"downfallYear"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+78</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>11</ID>
                  <Description>"downfallSection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+7C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>12</ID>
                  <Description>"downfallcountry"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+80</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>13</ID>
                  <Description>"lastMonarchId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+84</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>14</ID>
                  <Description>"isSerious"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr]+88</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>15</ID>
                  <Description>"isMainForce"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr]+89</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>16</ID>
                  <Description>"isReserveManaLimit"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr]+8A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>17</ID>
                  <Description>"isRebel"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr]+8B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>18</ID>
                  <Description>"isInitWaitTurn"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr]+8C</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>23</ID>
              <Description>"Current country addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_base_savecountry_addr2</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>24</ID>
              <Description>"Cur. SaveCountryData (Usage: in any city: Menu-&gt;Summon info.)"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>25</ID>
                  <Description>"totalMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr2</Address>
                  <Offsets>
                    <Offset>60</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>26</ID>
                  <Description>"incomeMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr2</Address>
                  <Offsets>
                    <Offset>64</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>27</ID>
                  <Description>"maintenanceMana"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr2</Address>
                  <Offsets>
                    <Offset>68</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>28</ID>
                  <Description>"capitalFortId"</Description>
                  <DropDownListLink>-Capital fort ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_savecountry_addr2</Address>
                  <Offsets>
                    <Offset>6C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>29</ID>
                  <Description>"knightNum"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr2]+70</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>30</ID>
                  <Description>"monsterNum"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr2]+74</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>31</ID>
                  <Description>"downfallYear"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr2]+78</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>32</ID>
                  <Description>"downfallSection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr]+7C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>33</ID>
                  <Description>"downfallcountry"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr2]+80</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>34</ID>
                  <Description>"lastMonarchId"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_savecountry_addr2]+84</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>35</ID>
                  <Description>"isSerious"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr2]+88</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>36</ID>
                  <Description>"isMainForce"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr2]+89</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>37</ID>
                  <Description>"isReserveManaLimit"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr2]+8A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>38</ID>
                  <Description>"isRebel"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr2]+8B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>39</ID>
                  <Description>"isInitWaitTurn"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_savecountry_addr2]+8C</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>40</ID>
          <Description>"After summoned: upkeep mana = 1"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_SaveCountryDataUpdateCountryDataProc,89 47 68 48 8B 5D C8) // should be unique
aobscanregion(INJECT_SaveCountryDataUpdateCountryDataProc,SaveCountryDataUpdateCountryDataProc+243,SaveCountryDataUpdateCountryDataProc+353,89 47 68 48 8B 5D C8) // should be unique
alloc(newmem,$1000,INJECT_SaveCountryDataUpdateCountryDataProc)

label(code)
label(return)

newmem:
  push rbx
  push rcx
  mov ebx, [rdi+6C]
  //mov ecx, [i_fort_id]
  mov ecx, [FORT_ID]
  cmp ebx, ecx
  pop rcx
  pop rbx
  jne code
  mov eax, 1

code:
  mov [rdi+68],eax
  mov rbx,[rbp-38]
  jmp return

INJECT_SaveCountryDataUpdateCountryDataProc:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SaveCountryDataUpdateCountryDataProc)

[DISABLE]

INJECT_SaveCountryDataUpdateCountryDataProc:
  db 89 47 68 48 8B 5D C8

unregistersymbol(INJECT_SaveCountryDataUpdateCountryDataProc)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SaveCountryData:UpdateCountryData+253

SaveCountryData:UpdateCountryData+226: 49 8B 47 10                    - mov rax,[r15+10]
SaveCountryData:UpdateCountryData+22a: 48 8B C8                       - mov rcx,rax
SaveCountryData:UpdateCountryData+22d: 83 39 00                       - cmp dword ptr [rcx],00
SaveCountryData:UpdateCountryData+230: 48 63 40 18                    - movsxd  rax,dword ptr [rax+18]
SaveCountryData:UpdateCountryData+234: 44 3B E8                       - cmp r13d,eax
SaveCountryData:UpdateCountryData+237: 0F 8C 2B FF FF FF              - jl SaveCountryData:UpdateCountryData+168
SaveCountryData:UpdateCountryData+23d: 48 63 4F 68                    - movsxd  rcx,dword ptr [rdi+68]
SaveCountryData:UpdateCountryData+241: 48 8D 64 24 00                 - lea rsp,[rsp+00]
SaveCountryData:UpdateCountryData+246: 49 BB A0 C8 51 21 EA 01 00 00  - mov r11,Constant:AdjustTortalMana
SaveCountryData:UpdateCountryData+250: 41 FF D3                       - call r11
// ---------- INJECTING HERE ----------
SaveCountryData:UpdateCountryData+253: 89 47 68                       - mov [rdi+68],eax
// ---------- DONE INJECTING  ----------
SaveCountryData:UpdateCountryData+256: 48 8B 5D C8                    - mov rbx,[rbp-38]
SaveCountryData:UpdateCountryData+25a: 48 8B 75 D0                    - mov rsi,[rbp-30]
SaveCountryData:UpdateCountryData+25e: 48 8B 7D D8                    - mov rdi,[rbp-28]
SaveCountryData:UpdateCountryData+262: 4C 8B 65 E0                    - mov r12,[rbp-20]
SaveCountryData:UpdateCountryData+266: 4C 8B 6D E8                    - mov r13,[rbp-18]
SaveCountryData:UpdateCountryData+26a: 4C 8B 75 F0                    - mov r14,[rbp-10]
SaveCountryData:UpdateCountryData+26e: 4C 8B 7D F8                    - mov r15,[rbp-08]
SaveCountryData:UpdateCountryData+272: 48 8D 65 00                    - lea rsp,[rbp+00]
SaveCountryData:UpdateCountryData+276: 5D                             - pop rbp
SaveCountryData:UpdateCountryData+277: C3                             - ret 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>317</ID>
          <Description>"Set min mana (Usage: troops / summon)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-15
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_Menu_WorldStatusUpdateManaProc,48 63 4F 60 90) // should be unique
aobscanregion(INJECT_Menu_WorldStatusUpdateManaProc,Menu_WorldStatusUpdateManaProc+c9,Menu_WorldStatusUpdateManaProc+1d9,48 63 4F 60 90) // should be unique
alloc(newmem,$1000,INJECT_Menu_WorldStatusUpdateManaProc)

label(code)
label(return)
label(i_min_mana_in_setup)
newmem:
  push rbx
  mov bl, [rdi+88]
  mov bh, [rdi+89]
  or bl, bh
  test bl, bl
  jne endp
  mov ebx, [i_min_mana_in_setup]
  cmp ebx, [rdi+60]
  jle endp
  mov [rdi+60], ebx

endp:
  pop rbx

code:
  movsxd  rcx,dword ptr [rdi+60]
  nop 
  jmp return
align 10 cc
  i_min_mana_in_setup:
  dd #50000
  i_fort_id_in_setup:
  dd -1
INJECT_Menu_WorldStatusUpdateManaProc:
  jmp newmem
return:

registersymbol(i_min_mana_in_setup)
registersymbol(INJECT_Menu_WorldStatusUpdateManaProc)

[DISABLE]

INJECT_Menu_WorldStatusUpdateManaProc:
  db 48 63 4F 60 90

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Menu_WorldStatus:UpdateMana+d9

Menu_WorldStatus:UpdateMana+ad: 90                             - nop 
Menu_WorldStatus:UpdateMana+ae: 49 BB 20 45 1B 86 35 02 00 00  - mov r11,System.Int32:ToString
Menu_WorldStatus:UpdateMana+b8: 41 FF D3                       - call r11
Menu_WorldStatus:UpdateMana+bb: 48 8B D0                       - mov rdx,rax
Menu_WorldStatus:UpdateMana+be: 48 8B 45 B0                    - mov rax,[rbp-50]
Menu_WorldStatus:UpdateMana+c2: 48 8B C8                       - mov rcx,rax
Menu_WorldStatus:UpdateMana+c5: 48 8B 00                       - mov rax,[rax]
Menu_WorldStatus:UpdateMana+c8: FF 90 D8 02 00 00              - call qword ptr [rax+000002D8]
Menu_WorldStatus:UpdateMana+ce: 48 8B 86 40 01 00 00           - mov rax,[rsi+00000140]
Menu_WorldStatus:UpdateMana+d5: 48 89 45 B8                    - mov [rbp-48],rax
// ---------- INJECTING HERE ----------
Menu_WorldStatus:UpdateMana+d9: 48 63 4F 60                    - movsxd  rcx,dword ptr [rdi+60]
// ---------- DONE INJECTING  ----------
Menu_WorldStatus:UpdateMana+dd: 90                             - nop 
Menu_WorldStatus:UpdateMana+de: 49 BB 40 70 E1 FB 34 02 00 00  - mov r11,Constant:AdjustTortalMana
Menu_WorldStatus:UpdateMana+e8: 41 FF D3                       - call r11
Menu_WorldStatus:UpdateMana+eb: 89 45 C8                       - mov [rbp-38],eax
Menu_WorldStatus:UpdateMana+ee: 48 8B CD                       - mov rcx,rbp
Menu_WorldStatus:UpdateMana+f1: 48 83 C1 C8                    - add rcx,-38
Menu_WorldStatus:UpdateMana+f5: 90                             - nop 
Menu_WorldStatus:UpdateMana+f6: 49 BB 20 45 1B 86 35 02 00 00  - mov r11,System.Int32:ToString
Menu_WorldStatus:UpdateMana+100: 41 FF D3                       - call r11
Menu_WorldStatus:UpdateMana+103: 48 8B D0                       - mov rdx,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>318</ID>
              <Description>"Min. mana"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_mana_in_setup</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>140</ID>
          <Description>"Units Info. (Usage: map-&gt;ESC to main menu-&gt;Info-&gt;Knights/Monsters)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_Item_WorldUnitListSetupproc,49 63 84 24 80 00 00 00) // should be unique
aobscanregion(INJECT_Item_WorldUnitListSetupproc,Item_WorldUnitListSetupproc+9ec,Item_WorldUnitListSetupproc+afc,49 63 84 24 80 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_Item_WorldUnitListSetupproc)

label(code)
label(return)
label(i_base_unit_list_addr)
label(is_modify_base_unit_attr)
label(i_base_unit_min_str)
label(i_base_unit_min_int)
label(i_base_unit_min_agi)
label(i_base_unit_min_HP)
label(i_base_unit_min_EXP)
label(i_base_unit_max_keep_cost)
label(i_base_unit_min_command_point)
label(i_base_unit_country_id)
label(i_base_unit_max_command_cost)
label(i_base_unit_max_level)

newmem:
  // 5C: country ID
  mov [i_base_unit_list_addr], r12

  cmp dword ptr [i_base_unit_country_id], -1
  jne @F
  cmp dword ptr [COUNTRY_ID], -1
  je @F
  push rbx
  mov ebx, [COUNTRY_ID]
  mov [i_base_unit_country_id], ebx
  pop rbx

@@:
  cmp dword ptr [is_modify_base_unit_attr], 1
  jne code
  push rbx
  push rcx

  mov ebx, [r12+5C]
  cmp ebx, [i_base_unit_country_id]
  jne endp

  mov ebx, [r12+78]
  mov ecx, [i_base_unit_min_HP]
  cmp ebx, ecx
  jae @F
  mov [r12+78], ecx

check_EXP:
  mov ebx, [r12+CC]
  mov ecx, [i_base_unit_min_EXP]
  cmp ebx, ecx
  jae @F
  mov [r12+CC], ecx

check_str:
  mov ebx, [r12+90]
  mov ecx, [i_base_unit_min_str]
  cmp ebx, ecx
  jae @F
  mov [r12+90], ecx

check_int:
  mov ebx, [r12+98]
  mov ecx, [i_base_unit_min_int]
  cmp ebx, ecx
  jae @F
  mov [r12+98], ecx

check_agi:
  mov ebx, [r12+A0]
  mov ecx, [i_base_unit_min_agi]
  cmp ebx, ecx
  jae @F
  mov [r12+A0], ecx

check_cost:
  mov ebx, [r12+D0]
  mov ecx, [i_base_unit_max_keep_cost]
  cmp ebx, ecx
  jbe @F
  mov [r12+D0], ecx

check_command_cost:
  mov ebx, [r12+C0]
  mov ecx, [i_base_unit_max_command_cost]
  cmp ebx, ecx
  jbe @F
  mov [r12+C0], ecx

check_command_point:
  cmp byte ptr [r12+128], 1
  jne check_max_level
  mov ebx, [r12+B0]
  mov ecx, [i_base_unit_min_command_point]
  cmp ebx, ecx
  jae @F
  mov [r12+B0], ecx

check_max_level:
  mov ebx, [r12+64]
  mov ecx, [i_base_unit_max_level]
  cmp ebx, ecx
  jle @F
  mov [r12+64], ecx

endp:
  pop rcx
  pop rbx

code:
  movsxd  rax,dword ptr [r12+00000080]
  jmp return

align 10 cc
  i_base_unit_list_addr:
  dq 0
  is_modify_base_unit_attr:
  dd 0
  i_base_unit_min_str:
  dd #64
  i_base_unit_min_int:
  dd #75
  i_base_unit_min_agi:
  dd #87
  i_base_unit_min_HP:
  dd #451
  i_base_unit_min_EXP:
  dd #4246
  i_base_unit_max_keep_cost:
  dd #43
  i_base_unit_max_command_cost:
  dd #35
  i_base_unit_min_command_point:
  dd #380
  i_base_unit_country_id:
  dd -1
  i_base_unit_max_level:
  dd 1E


INJECT_Item_WorldUnitListSetupproc:
  jmp newmem
  nop 3
return:
registersymbol(i_base_unit_max_command_cost)
registersymbol(i_base_unit_country_id)
registersymbol(i_base_unit_max_keep_cost)
registersymbol(i_base_unit_min_command_point)
registersymbol(is_modify_base_unit_attr)
registersymbol(i_base_unit_min_str)
registersymbol(i_base_unit_min_int)
registersymbol(i_base_unit_min_agi)
registersymbol(i_base_unit_min_HP)
registersymbol(i_base_unit_min_EXP)
registersymbol(i_base_unit_list_addr)
registersymbol(i_base_unit_max_level)
registersymbol(INJECT_Item_WorldUnitListSetupproc)

[DISABLE]

INJECT_Item_WorldUnitListSetupproc:
  db 49 63 84 24 80 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Item_WorldUnitList:Setup+9fc

Item_WorldUnitList:Setup+9c4: 83 38 00                       - cmp dword ptr [rax],00
Item_WorldUnitList:Setup+9c7: 48 8D AD 00 00 00 00           - lea rbp,[rbp+00000000]
Item_WorldUnitList:Setup+9ce: 49 BB 50 C9 D4 4A ED 01 00 00  - mov r11,UIUnitExpGauge:SetUnitExpGauge
Item_WorldUnitList:Setup+9d8: 41 FF D3                       - call r11
Item_WorldUnitList:Setup+9db: 48 8B 87 E8 00 00 00           - mov rax,[rdi+000000E8]
Item_WorldUnitList:Setup+9e2: 83 78 18 01                    - cmp dword ptr [rax+18],01
Item_WorldUnitList:Setup+9e6: 0F 86 1C 0B 00 00              - jbe Item_WorldUnitList:Setup+1508
Item_WorldUnitList:Setup+9ec: 48 8B 40 28                    - mov rax,[rax+28]
Item_WorldUnitList:Setup+9f0: 48 89 85 E0 FD FF FF           - mov [rbp-00000220],rax
Item_WorldUnitList:Setup+9f7: 41 83 3C 24 00                 - cmp dword ptr [r12],00
// ---------- INJECTING HERE ----------
Item_WorldUnitList:Setup+9fc: 49 63 84 24 80 00 00 00        - movsxd  rax,dword ptr [r12+00000080]
// ---------- DONE INJECTING  ----------
Item_WorldUnitList:Setup+a04: 89 85 70 FE FF FF              - mov [rbp-00000190],eax
Item_WorldUnitList:Setup+a0a: 48 8B CD                       - mov rcx,rbp
Item_WorldUnitList:Setup+a0d: 48 81 C1 70 FE FF FF           - add rcx,FFFFFFFFFFFFFE70
Item_WorldUnitList:Setup+a14: 66 90                          - nop 2
Item_WorldUnitList:Setup+a16: 49 BB A0 8A C3 7F EF 01 00 00  - mov r11,System.Int32:ToString
Item_WorldUnitList:Setup+a20: 41 FF D3                       - call r11
Item_WorldUnitList:Setup+a23: 48 8B D0                       - mov rdx,rax
Item_WorldUnitList:Setup+a26: 48 8B 85 E0 FD FF FF           - mov rax,[rbp-00000220]
Item_WorldUnitList:Setup+a2d: 48 8B C8                       - mov rcx,rax
Item_WorldUnitList:Setup+a30: 48 8B 00                       - mov rax,[rax]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>209</ID>
              <Description>"*** Turn off when not in use"</Description>
              <Color>400080</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>141</ID>
              <Description>"Last unit addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_base_unit_list_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>211</ID>
              <Description>"countryId (&lt;== check this to see if it's your unit)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_list_addr</Address>
              <Offsets>
                <Offset>5C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>212</ID>
              <Description>"This unit is mine (used to set country id)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('[i_base_unit_list_addr]+0x5C')
--i = readInteger('i_cur_player_country_id')
writeInteger('i_base_unit_country_id', i)
writeInteger('COUNTRY_ID', i)
 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>216</ID>
                  <Description>"  ... or set from -Country ID-"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('COUNTRY_ID')
--i = readInteger('i_cur_player_country_id')
writeInteger('i_base_unit_country_id', i)

 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>210</ID>
              <Description>"★My country ID★ (must be set correctly to make script working)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>800080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_country_id</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>201</ID>
              <Description>"Modify browsed unit(s) attr.?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>is_modify_base_unit_attr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>202</ID>
              <Description>"  Min. str"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_str</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>203</ID>
              <Description>"  Min. int"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_int</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>204</ID>
              <Description>"  Min. agi"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_agi</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>205</ID>
              <Description>"  Min. HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_HP</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>206</ID>
              <Description>"  Min. EXP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_EXP</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>208</ID>
              <Description>"  Max keep cost"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_max_keep_cost</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>313</ID>
              <Description>"  Max command cost"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_max_command_cost</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>207</ID>
              <Description>"  Min command point"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_min_command_point</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>348</ID>
              <Description>"  Set max level to (keep XP; can lv-up again)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_max_level</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>196</ID>
              <Description>"UnitStatusData+"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>197</ID>
                  <Description>"_nameJp.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>198</ID>
                  <Description>"_nameEn.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>18</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>199</ID>
                  <Description>"_nameTc.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>20</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>142</ID>
                  <Description>"bStatusFlag"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+58</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>143</ID>
                  <Description>"countryId"</Description>
                  <DropDownListLink>-Country ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>5C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>144</ID>
                  <Description>"beforeCountryId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+60</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>145</ID>
                  <Description>"level"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+64</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>146</ID>
                  <Description>"evolutionRank"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+68</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>147</ID>
                  <Description>"followerPositionId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+6C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>148</ID>
                  <Description>"actionPriority"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+70</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>149</ID>
                  <Description>"designationActionId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+74</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>150</ID>
                  <Description>"_unitMaxHitPoint"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+78</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>151</ID>
                  <Description>"equipMaxHitPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+7C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>152</ID>
                  <Description>"_hitPoint"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+80</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>153</ID>
                  <Description>"_unitMaxMagicPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+84</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>154</ID>
                  <Description>"equipMaxMagicPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+88</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>155</ID>
                  <Description>"_magicPoint"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+8C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>156</ID>
                  <Description>"_unitStrength"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+90</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>157</ID>
                  <Description>"equipStrength"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+94</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>158</ID>
                  <Description>"_unitIntelligence"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+98</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>159</ID>
                  <Description>"equipIntelligence"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+9C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>160</ID>
                  <Description>"_unitAgility"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+A0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>161</ID>
                  <Description>"equipAgility"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+A4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>162</ID>
                  <Description>"hitCorrection"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+A8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>163</ID>
                  <Description>"evadeCorrection"</Description>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+AC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>164</ID>
                  <Description>"_unitCommandPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+B0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>165</ID>
                  <Description>"equipCommandPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+B4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>166</ID>
                  <Description>"_unitCommandRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+B8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>167</ID>
                  <Description>"equipCommandRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+BC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>168</ID>
                  <Description>"_unitCommandCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+C0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>169</ID>
                  <Description>"equipCommandCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+C4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>170</ID>
                  <Description>"commandGrowthType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+C8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>171</ID>
                  <Description>"experience"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>A00000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>CC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>172</ID>
                  <Description>"keepCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+D0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>173</ID>
                  <Description>"attackCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+D4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>174</ID>
                  <Description>"defenseCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>175</ID>
                  <Description>"movePowerCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+DC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>176</ID>
                  <Description>"shieldDefenseCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+E0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>177</ID>
                  <Description>"magicResistCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+E4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>178</ID>
                  <Description>"counterCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>179</ID>
                  <Description>"criticalCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+EC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>180</ID>
                  <Description>"criticalDamageCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+F0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>181</ID>
                  <Description>"experienceCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+F4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>182</ID>
                  <Description>"followingKnightIndex"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+F8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>183</ID>
                  <Description>"_belongToFortId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+FC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>184</ID>
                  <Description>"actionDestinationFortId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+100</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>185</ID>
                  <Description>"questType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+104</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>186</ID>
                  <Description>"dispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+108</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>187</ID>
                  <Description>"beforeQuestType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+10C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>188</ID>
                  <Description>"beforeDispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+110</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>189</ID>
                  <Description>"isRepetition"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_unit_list_addr]+114</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>190</ID>
                  <Description>"isRepetitionInured"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_unit_list_addr]+115</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>191</ID>
                  <Description>"repeatQuestType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+118</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>192</ID>
                  <Description>"repeatDispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+11C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>193</ID>
                  <Description>"isDispatchQuest"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_base_unit_list_addr]+120</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>194</ID>
                  <Description>"masterDataId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_base_unit_list_addr]+124</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>195</ID>
                  <Description>"_isKnight"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>i_base_unit_list_addr</Address>
                  <Offsets>
                    <Offset>128</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>213</ID>
          <Description>"Units info. #2 (Usage: City-&gt;Troops-&gt;Units/Summon...etc)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-14
  Author : bbfox @ https://opencheattables.org
  Revise:
    2022-05-16: added logic to get char data if reach LV 30
}

[ENABLE]
{$asm}
//aobscan(INJECT_UnitCalculationGetRequireExperienceProc,48 63 8F CC 00 00 00 2B) // should be unique
aobscanregion(INJECT_UnitCalculationGetRequireExperienceProc,UnitCalculationGetRequireExperienceProc+ca,UnitCalculationGetRequireExperienceProc+1da,48 63 8F CC 00 00 00 2B) // should be unique
alloc(newmem,$1000,INJECT_UnitCalculationGetRequireExperienceProc)

aobscanregion(INJECT_UnitStatusDataget_maxHitPointProc,UnitStatusDataget_maxHitPointProc+4c,UnitStatusDataget_maxHitPointProc+15c,48 63 56 78 48 63 46 7C) // should be unique
alloc(newmem2,$1000,INJECT_UnitStatusDataget_maxHitPointProc)


label(code)
label(return)
label(i_base_unit_calc_addr)
label(i_base_unit_calc_country_id)
label(i_base_unit_calc_cur_country_id)
label(i_base_unit_calc_min_EXP)
label(is_low_unit_command_cost)
label(is_low_unit_keep_cost)
label(is_set_level_to_20)

label(code2)
label(return2)

newmem:
  // 5C - c. id

  mov [i_base_unit_calc_addr], rdi
  push rbx
  mov ebx, [rdi+5C]
  mov [i_base_unit_calc_cur_country_id], ebx

  cmp dword ptr [i_base_unit_calc_country_id], -1
  jne @F
  {
  cmp dword ptr [COUNTRY_ID], -1
  je @F
  push r15
  mov r15d, [COUNTRY_ID]
  mov [i_base_unit_calc_country_id], r15d
  pop r15
  }

@@:
  cmp ebx, [i_base_unit_calc_country_id]
  jne endp

  mov ebx, [rdi+CC]
  mov ecx, [i_base_unit_calc_min_EXP]
  cmp ebx, ecx
  jae @F
  mov [rdi+CC], ecx

@@:
  cmp dword ptr [is_low_unit_command_cost], 1
  jne @F
  mov ebx, [rdi+C0]
  mov ecx, #45
  cmp ebx, ecx
  jbe @F
  mov [rdi+C0], ecx

@@:
  cmp dword ptr [is_set_level_to_20], 1
  jne @F
  mov ecx, 14
  mov ebx, [rdi+64]
  cmp ebx, ecx
  jle @F
  mov [rdi+64], ecx

@@:

endp:
  pop rbx

code:
  movsxd  rcx,dword ptr [rdi+000000CC]
  jmp return

align 10 cc
  i_base_unit_calc_addr:
  dq 0
  i_base_unit_calc_country_id:
  dd -1
  i_base_unit_calc_cur_country_id:
  dd -1
  i_base_unit_calc_min_EXP:
  dd #4245
  is_low_unit_command_cost:
  dd 1
  is_low_unit_keep_cost:
  dd 0
  is_set_level_to_20:
  dd 0

INJECT_UnitCalculationGetRequireExperienceProc:
  jmp newmem
  nop 2
return:
registersymbol(is_set_level_to_20)
registersymbol(is_low_unit_keep_cost)
registersymbol(is_low_unit_command_cost)
registersymbol(i_base_unit_calc_min_EXP)
registersymbol(i_base_unit_calc_cur_country_id)
registersymbol(i_base_unit_calc_country_id)
registersymbol(i_base_unit_calc_addr)
registersymbol(INJECT_UnitCalculationGetRequireExperienceProc)

newmem2:
  mov [i_base_unit_calc_addr], rsi
  push rbx
  mov ebx, [rsi+5C]
  mov [i_base_unit_calc_cur_country_id], ebx

  cmp dword ptr [i_base_unit_calc_country_id], -1
  jne @F
  {
  cmp dword ptr [COUNTRY_ID], -1
  je @F
  push r15
  mov r15d, [COUNTRY_ID]
  mov [i_base_unit_calc_country_id], r15d
  pop r15
  }

@@:
  cmp ebx, [i_base_unit_calc_country_id]
  jne endp2

  mov ebx, [rsi+CC]
  mov ecx, [i_base_unit_calc_min_EXP]
  cmp ebx, ecx
  jae @F
  mov [rsi+CC], ecx

@@:
  cmp dword ptr [is_low_unit_command_cost], 1
  jne @F
  mov ebx, [rsi+C0]
  mov ecx, #45
  cmp ebx, ecx
  jbe @F
  mov [rsi+C0], ecx

@@:
  cmp dword ptr [is_set_level_to_20], 1
  jne @F
  mov ecx, 14
  mov ebx, [rsi+64]
  cmp ebx, ecx
  jle @F
  mov [rsi+64], ecx

@@:

endp2:
  pop rbx


code2:
  movsxd  rdx,dword ptr [rsi+78]
  movsxd  rax,dword ptr [rsi+7C]
  jmp return2

INJECT_UnitStatusDataget_maxHitPointProc:
  jmp newmem2
  nop 3
return2:
registersymbol(INJECT_UnitStatusDataget_maxHitPointProc)

[DISABLE]
{$asm}
INJECT_UnitCalculationGetRequireExperienceProc:
  db 48 63 8F CC 00 00 00

unregistersymbol(*)
dealloc(newmem)


INJECT_UnitStatusDataget_maxHitPointProc:
  db 48 63 56 78 48 63 46 7C

//unregistersymbol(*)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: UnitCalculation:GetRequireExperience+da

UnitCalculation:GetRequireExperience+b9: 85 F6                 - test esi,esi
UnitCalculation:GetRequireExperience+bb: 74 05                 - je UnitCalculation:GetRequireExperience+c2
UnitCalculation:GetRequireExperience+bd: 49 8B C5              - mov rax,r13
UnitCalculation:GetRequireExperience+c0: EB 21                 - jmp UnitCalculation:GetRequireExperience+e3
UnitCalculation:GetRequireExperience+c2: 49 8B 47 10           - mov rax,[r15+10]
UnitCalculation:GetRequireExperience+c6: 49 63 CE              - movsxd  rcx,r14d
UnitCalculation:GetRequireExperience+c9: 39 48 18              - cmp [rax+18],ecx
UnitCalculation:GetRequireExperience+cc: 0F 86 33 00 00 00     - jbe UnitCalculation:GetRequireExperience+105
UnitCalculation:GetRequireExperience+d2: 48 8D 44 88 20        - lea rax,[rax+rcx*4+20]
UnitCalculation:GetRequireExperience+d7: 48 63 00              - movsxd  rax,dword ptr [rax]
// ---------- INJECTING HERE ----------
UnitCalculation:GetRequireExperience+da: 48 63 8F CC 00 00 00  - movsxd  rcx,dword ptr [rdi+000000CC]
// ---------- DONE INJECTING  ----------
UnitCalculation:GetRequireExperience+e1: 2B C1                 - sub eax,ecx
UnitCalculation:GetRequireExperience+e3: 48 8B 5D C8           - mov rbx,[rbp-38]
UnitCalculation:GetRequireExperience+e7: 48 8B 75 D0           - mov rsi,[rbp-30]
UnitCalculation:GetRequireExperience+eb: 48 8B 7D D8           - mov rdi,[rbp-28]
UnitCalculation:GetRequireExperience+ef: 4C 8B 65 E0           - mov r12,[rbp-20]
UnitCalculation:GetRequireExperience+f3: 4C 8B 6D E8           - mov r13,[rbp-18]
UnitCalculation:GetRequireExperience+f7: 4C 8B 75 F0           - mov r14,[rbp-10]
UnitCalculation:GetRequireExperience+fb: 4C 8B 7D F8           - mov r15,[rbp-08]
UnitCalculation:GetRequireExperience+ff: 48 8D 65 00           - lea rsp,[rbp+00]
UnitCalculation:GetRequireExperience+103: 5D                    - pop rbp
}

{
// ORIGINAL CODE - INJECTION POINT: UnitStatusData:get_maxHitPoint+5c

UnitStatusData:get_maxHitPoint+33: 48 85 C0                       - test rax,rax
UnitStatusData:get_maxHitPoint+36: 74 24                          - je UnitStatusData:get_maxHitPoint+5c
UnitStatusData:get_maxHitPoint+38: 48 8B 46 18                    - mov rax,[rsi+18]
UnitStatusData:get_maxHitPoint+3c: 48 8B C8                       - mov rcx,rax
UnitStatusData:get_maxHitPoint+3f: 83 38 00                       - cmp dword ptr [rax],00
UnitStatusData:get_maxHitPoint+42: 48 8D 6D 00                    - lea rbp,[rbp+00]
UnitStatusData:get_maxHitPoint+46: 49 BB E0 FB 5D F7 1D 02 00 00  - mov r11,UnitClassData:get_masterData
UnitStatusData:get_maxHitPoint+50: 41 FF D3                       - call r11
UnitStatusData:get_maxHitPoint+53: 48 63 80 B0 00 00 00           - movsxd  rax,dword ptr [rax+000000B0]
UnitStatusData:get_maxHitPoint+5a: 03 F8                          - add edi,eax
// ---------- INJECTING HERE ----------
UnitStatusData:get_maxHitPoint+5c: 48 63 56 78                    - movsxd  rdx,dword ptr [rsi+78]
// ---------- DONE INJECTING  ----------
UnitStatusData:get_maxHitPoint+60: 48 63 46 7C                    - movsxd  rax,dword ptr [rsi+7C]
UnitStatusData:get_maxHitPoint+64: 03 D0                          - add edx,eax
UnitStatusData:get_maxHitPoint+66: 03 D7                          - add edx,edi
UnitStatusData:get_maxHitPoint+68: 48 8B CE                       - mov rcx,rsi
UnitStatusData:get_maxHitPoint+6b: 41 B8 01 00 00 00              - mov r8d,00000001
UnitStatusData:get_maxHitPoint+71: 48 8D 64 24 00                 - lea rsp,[rsp+00]
UnitStatusData:get_maxHitPoint+76: 49 BB 90 FA 5D F7 1D 02 00 00  - mov r11,UnitStatusData:CheckParameter
UnitStatusData:get_maxHitPoint+80: 41 FF D3                       - call r11
UnitStatusData:get_maxHitPoint+83: 48 8B 75 F0                    - mov rsi,[rbp-10]
UnitStatusData:get_maxHitPoint+87: 48 8B 7D F8                    - mov rdi,[rbp-08]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>214</ID>
              <Description>"Base addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_base_unit_calc_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>218</ID>
              <Description>"Cur. unit country ID"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_calc_cur_country_id</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>219</ID>
              <Description>"This unit is mine (used to set country id)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('i_base_unit_calc_cur_country_id')
writeInteger('i_base_unit_calc_country_id', i)
writeInteger('COUNTRY_ID', i)
 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>220</ID>
                  <Description>"  ... or set from -Country ID-"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('COUNTRY_ID')
writeInteger('i_base_unit_calc_country_id', i)

[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>215</ID>
              <Description>"★My country ID★ (must be set correctly)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>800080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_calc_country_id</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>279</ID>
              <Description>"Set min. EXP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_unit_calc_min_EXP</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>309</ID>
              <Description>"Low command cost?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>is_low_unit_command_cost</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>347</ID>
              <Description>"Set level to 20, if &gt;20? (keep EXP)"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_set_level_to_20</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>278</ID>
              <Description>"UnitStatusData+"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>221</ID>
                  <Description>"_nameJp.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>222</ID>
                  <Description>"_nameEn.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>18</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>223</ID>
                  <Description>"_nameTc.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>20</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>224</ID>
                  <Description>"bStatusFlag"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>58</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>225</ID>
                  <Description>"countryId"</Description>
                  <DropDownListLink>-Country ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>5C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>227</ID>
                  <Description>"level"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>64</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>232</ID>
                  <Description>"_unitMaxHitPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>78</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>234</ID>
                  <Description>"_hitPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>80</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>235</ID>
                  <Description>"_unitMaxMagicPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>84</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>237</ID>
                  <Description>"_magicPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>8C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>238</ID>
                  <Description>"_unitStrength"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>90</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>240</ID>
                  <Description>"_unitIntelligence"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>98</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>242</ID>
                  <Description>"_unitAgility"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>A0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>244</ID>
                  <Description>"hitCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>A8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>245</ID>
                  <Description>"evadeCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>AC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>246</ID>
                  <Description>"_unitCommandPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>B0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>248</ID>
                  <Description>"_unitCommandRange"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>B8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>250</ID>
                  <Description>"_unitCommandCost"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>C0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>252</ID>
                  <Description>"commandGrowthType"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>C8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>253</ID>
                  <Description>"experience"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>CC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>254</ID>
                  <Description>"keepCost"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>D0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>255</ID>
                  <Description>"attackCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>D4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>256</ID>
                  <Description>"defenseCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>D8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>257</ID>
                  <Description>"movePowerCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>DC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>258</ID>
                  <Description>"shieldDefenseCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>E0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>259</ID>
                  <Description>"magicResistCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>E4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>260</ID>
                  <Description>"counterCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>E8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>261</ID>
                  <Description>"criticalCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>EC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>262</ID>
                  <Description>"criticalDamageCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>F0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>263</ID>
                  <Description>"experienceCorrection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>F4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>264</ID>
                  <Description>"followingKnightIndex"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>F8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>265</ID>
                  <Description>"_belongToFortId"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>FC</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>276</ID>
                  <Description>"masterDataId"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>124</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>277</ID>
                  <Description>"_isKnight"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>i_base_unit_calc_addr</Address>
                  <Offsets>
                    <Offset>128</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>306</ID>
          <Description>"User play data (Usage: city-&gt;Troops/summon-&gt;Leave)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-14
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]
{$lua}
if syntaxcheck then return end
local i = 0
local cid = 0
i = readInteger('FORT_ID')
cid = readInteger('COUNTRY_ID')
if (i == 4294967295 ) then
  cid = readInteger('COUNTRY_ID')
  if (cid == 1) then
    i = 1
  end
  if (cid == 2) then
    i = 6
  end
  if (cid == 3) then
    i = 14
  end
  if (cid == 4) then
    i = 19
  end
  if (cid == 5) then
    i = 25
  end
  if (cid == 6) then
    i = 35
  end
  writeInteger('FORT_ID', i)
  --return
end
if (cid == 4294967295 ) then
  i = readInteger('FORT_ID')
  if (i == 1) then
    cid = 1
  end
  if (i == 6) then
    cid = 2
  end
  if (i == 14) then
    cid = 3
  end
  if (i == 19) then
    cid = 4
  end
  if (i == 25) then
    cid = 5
  end
  if (i == 35) then
    cid = 6
  end
  writeInteger('COUNTRY_ID', cid)
end
{$asm}
//aobscan(INJECT_Menu_WorldStatusUpdateStatusProc,48 63 40 50 89 45 E0) // should be unique
aobscanregion(INJECT_Menu_WorldStatusUpdateStatusProc,Menu_WorldStatusUpdateStatusProc+99,Menu_WorldStatusUpdateStatusProc+1a9,48 63 40 50 89 45 E0) // should be unique
alloc(newmem,$1000,INJECT_Menu_WorldStatusUpdateStatusProc)

label(code)
label(return)
label(i_world_status_base_addr)
newmem:
  mov [i_world_status_base_addr], rax
  push rbx
  mov ebx, [rax+10]
  mov [COUNTRY_ID], ebx
  pop rbx
code:
  movsxd  rax,dword ptr [rax+50]
  mov [rbp-20],eax
  jmp return

align 10 cc
  i_world_status_base_addr:
  dq 0

INJECT_Menu_WorldStatusUpdateStatusProc:
  jmp newmem
  nop 2
return:
registersymbol(i_world_status_base_addr)
registersymbol(INJECT_Menu_WorldStatusUpdateStatusProc)

[DISABLE]
{$asm}
INJECT_Menu_WorldStatusUpdateStatusProc:
  db 48 63 40 50 89 45 E0

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Menu_WorldStatus:UpdateStatus+a9

Menu_WorldStatus:UpdateStatus+77: 49 BA 98 E9 49 52 F1 01 00 00  - mov r10,000001F15249E998
Menu_WorldStatus:UpdateStatus+81: 48 8D 64 24 00                 - lea rsp,[rsp+00]
Menu_WorldStatus:UpdateStatus+86: 49 BB B0 09 27 05 F2 01 00 00  - mov r11,MTX.SingletonMonoBehaviour`1[T_REF]:get_instance
Menu_WorldStatus:UpdateStatus+90: 41 FF D3                       - call r11
Menu_WorldStatus:UpdateStatus+93: 48 8B 40 18                    - mov rax,[rax+18]
Menu_WorldStatus:UpdateStatus+97: 48 8B 40 10                    - mov rax,[rax+10]
Menu_WorldStatus:UpdateStatus+9b: 48 8B C8                       - mov rcx,rax
Menu_WorldStatus:UpdateStatus+9e: 48 63 49 4C                    - movsxd  rcx,dword ptr [rcx+4C]
Menu_WorldStatus:UpdateStatus+a2: 89 4D E8                       - mov [rbp-18],ecx
Menu_WorldStatus:UpdateStatus+a5: 48 89 45 D0                    - mov [rbp-30],rax
// ---------- INJECTING HERE ----------
Menu_WorldStatus:UpdateStatus+a9: 48 63 40 50                    - movsxd  rax,dword ptr [rax+50]
// ---------- DONE INJECTING  ----------
Menu_WorldStatus:UpdateStatus+ad: 89 45 E0                       - mov [rbp-20],eax
Menu_WorldStatus:UpdateStatus+b0: 48 8B 86 18 01 00 00           - mov rax,[rsi+00000118]
Menu_WorldStatus:UpdateStatus+b7: 48 89 45 88                    - mov [rbp-78],rax
Menu_WorldStatus:UpdateStatus+bb: 48 B9 A8 7F 6C 0A F1 01 00 00  - mov rcx,000001F10A6C7FA8
Menu_WorldStatus:UpdateStatus+c5: BA 01 00 00 00                 - mov edx,00000001
Menu_WorldStatus:UpdateStatus+ca: 48 8D 6D 00                    - lea rbp,[rbp+00]
Menu_WorldStatus:UpdateStatus+ce: 49 BB 10 24 D6 A9 EF 01 00 00  - mov r11,System.Object:__icall_wrapper_ves_icall_array_new_specific
Menu_WorldStatus:UpdateStatus+d8: 41 FF D3                       - call r11
Menu_WorldStatus:UpdateStatus+db: 48 89 85 78 FF FF FF           - mov [rbp-00000088],rax
Menu_WorldStatus:UpdateStatus+e2: 48 89 45 80                    - mov [rbp-80],rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>307</ID>
              <Description>"Base addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_world_status_base_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>308</ID>
              <Description>"UserPlauData+"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>280</ID>
                  <Description>"userCountry"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_world_status_base_addr</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>281</ID>
                  <Description>"difficultyLevel"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>282</ID>
                  <Description>"periodLimitType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+18</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>283</ID>
                  <Description>"periodLimitType_Sandbox"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+1C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>284</ID>
                  <Description>"battleAI"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>285</ID>
                  <Description>"monsterCapture"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+24</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>286</ID>
                  <Description>"questSuccess"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+28</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>287</ID>
                  <Description>"manaGetRate"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+2C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>288</ID>
                  <Description>"revivalStoneGet"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+30</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>289</ID>
                  <Description>"experienceGetRate"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+34</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>290</ID>
                  <Description>"experienceGetRateAlly"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+38</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>291</ID>
                  <Description>"experienceGetRateEnemy"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+3C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>292</ID>
                  <Description>"isFirstInitializeData"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+40</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>293</ID>
                  <Description>"playMode"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+44</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>294</ID>
                  <Description>"sandboxMode"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+48</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>295</ID>
                  <Description>"year"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_world_status_base_addr</Address>
                  <Offsets>
                    <Offset>4C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>296</ID>
                  <Description>"section"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_world_status_base_addr</Address>
                  <Offsets>
                    <Offset>50</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>297</ID>
                  <Description>"isGameOver"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+54</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>298</ID>
                  <Description>"isRemaningPeriod"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+55</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>299</ID>
                  <Description>"playDate"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+58</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>300</ID>
                  <Description>"playDataOnLoad"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+5C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>301</ID>
                  <Description>"currentWorldMapPhase"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_world_status_base_addr</Address>
                  <Offsets>
                    <Offset>60</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>302</ID>
                  <Description>"cooperativeTurn"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_world_status_base_addr]+64</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>303</ID>
                  <Description>"isTutorialSkiped"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+68</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>304</ID>
                  <Description>"isTutorialSkipDialogOpend"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+69</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>305</ID>
                  <Description>"isDifficultyCustom"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_world_status_base_addr]+6A</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>321</ID>
          <Description>"Training quest results"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-15
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_XP_QUEST_RESULT,48 63 40 10 49 63 8C 24 34 01 00 00) // should be unique
aobscanregion(INJECT_XP_QUEST_RESULT,Menu_WorldQuestResultCreateUnitResultd__41MoveNextProc+92,Menu_WorldQuestResultCreateUnitResultd__41MoveNextProc+1a2,48 63 40 10 49 63 8C 24 34 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_XP_QUEST_RESULT)

label(code)
label(return)
label(i_min_quest_xp_value)
label(i_quest_country_id)

newmem:
  push rbx
  mov ebx, [rax+10]
  test ebx, ebx
  jz endp
  cmp ebx, 2  // Training quest
  jne endp

  cmp dword ptr [i_quest_country_id], -1
  je @F

  mov ebx, [rax+1C]
  test ebx, ebx
  jz endp
  cmp ebx, [i_quest_country_id]
  jne endp

  mov ebx, [i_min_quest_xp_value]
  mov [rax+30], ebx


endp:
  pop rbx


code:
  movsxd  rax,dword ptr [rax+10]
  movsxd  rcx,dword ptr [r12+00000134]
  jmp return

align 10 cc
  i_quest_country_id:
  dd -1
  i_min_quest_xp_value:
  dd #4200

INJECT_XP_QUEST_RESULT:
  jmp newmem
  nop 7
return:
registersymbol(i_quest_country_id)
registersymbol(i_min_quest_xp_value)
registersymbol(INJECT_XP_QUEST_RESULT)

[DISABLE]

INJECT_XP_QUEST_RESULT:
  db 48 63 40 10 49 63 8C 24 34 01 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+a2

Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+7c: 89 4D C0                 - mov [rbp-40],ecx
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+7f: 83 38 00                 - cmp dword ptr [rax],00
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+82: 48 63 43 18              - movsxd  rax,dword ptr [rbx+18]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+86: 39 45 C0                 - cmp [rbp-40],eax
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+89: 0F 83 D8 04 00 00        - jae Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+567
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+8f: 48 8B 43 10              - mov rax,[rbx+10]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+93: 48 63 4D C0              - movsxd  rcx,dword ptr [rbp-40]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+97: 48 63 C9                 - movsxd  rcx,ecx
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+9a: 48 8D 44 C8 20           - lea rax,[rax+rcx*8+20]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+9f: 48 8B 00                 - mov rax,[rax]
// ---------- INJECTING HERE ----------
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+a2: 48 63 40 10              - movsxd  rax,dword ptr [rax+10]
// ---------- DONE INJECTING  ----------
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+a6: 49 63 8C 24 34 01 00 00  - movsxd  rcx,dword ptr [r12+00000134]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+ae: 3B C1                    - cmp eax,ecx
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+b0: 0F 85 52 00 00 00        - jne Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+108
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+b6: 49 8B 84 24 E0 00 00 00  - mov rax,[r12+000000E0]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+be: 48 63 4E 24              - movsxd  rcx,dword ptr [rsi+24]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+c2: 48 89 45 B8              - mov [rbp-48],rax
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+c6: 89 4D A0                 - mov [rbp-60],ecx
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+c9: 83 38 00                 - cmp dword ptr [rax],00
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+cc: 48 8B 45 B8              - mov rax,[rbp-48]
Menu_WorldQuestResult+&lt;CreateUnitResult&gt;d__41:MoveNext+d0: 48 63 40 18              - movsxd  rax,dword ptr [rax+18]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>323</ID>
              <Description>"★My country ID★ (must be set correctly to make script working)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>800080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_quest_country_id</Address>
              <CheatEntries>
                <CheatEntry>
                  <ID>324</ID>
                  <Description>"  ... or set from -Country ID-"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('COUNTRY_ID')
--i = readInteger('i_cur_player_country_id')
writeInteger('i_quest_country_id', i)

 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>322</ID>
              <Description>"Set EXP for training result"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_quest_xp_value</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>329</ID>
          <Description>"Existing consumable item -&gt; 80 (Usage: Menu-&gt;Troops-&gt;Use item)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-15
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_Menu_ItemListSetupConsumeProc,48 63 08 48 8B 85 48 FF FF FF) // should be unique
aobscanregion(INJECT_Menu_ItemListSetupConsumeProc,Menu_ItemListSetupConsumeProc+1cf,Menu_ItemListSetupConsumeProc+2df,48 63 08 48 8B 85 48 FF FF FF) // should be unique
alloc(newmem,$1000,INJECT_Menu_ItemListSetupConsumeProc)

label(code)
label(return)

newmem:

code:
  movsxd  rcx,dword ptr [rax]

  //
  cmp ecx, 50
  jae @F
  mov ecx, 50
  mov dword ptr [rax], ecx

@@:
  //

  mov rax,[rbp-000000B8]
  jmp return

INJECT_Menu_ItemListSetupConsumeProc:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_Menu_ItemListSetupConsumeProc)

[DISABLE]

INJECT_Menu_ItemListSetupConsumeProc:
  db 48 63 08 48 8B 85 48 FF FF FF

unregistersymbol(INJECT_Menu_ItemListSetupConsumeProc)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Menu_ItemList:SetupConsume+1df

Menu_ItemList:SetupConsume+1aa: 41 83 3E 00           - cmp dword ptr [r14],00
Menu_ItemList:SetupConsume+1ae: 48 8B 85 40 FF FF FF  - mov rax,[rbp-000000C0]
Menu_ItemList:SetupConsume+1b5: 48 63 40 18           - movsxd  rax,dword ptr [rax+18]
Menu_ItemList:SetupConsume+1b9: 39 85 38 FF FF FF     - cmp [rbp-000000C8],eax
Menu_ItemList:SetupConsume+1bf: 0F 83 53 0B 00 00     - jae Menu_ItemList:SetupConsume+d18
Menu_ItemList:SetupConsume+1c5: 48 8B 85 40 FF FF FF  - mov rax,[rbp-000000C0]
Menu_ItemList:SetupConsume+1cc: 48 8B 40 10           - mov rax,[rax+10]
Menu_ItemList:SetupConsume+1d0: 48 63 8D 38 FF FF FF  - movsxd  rcx,dword ptr [rbp-000000C8]
Menu_ItemList:SetupConsume+1d7: 48 63 C9              - movsxd  rcx,ecx
Menu_ItemList:SetupConsume+1da: 48 8D 44 88 20        - lea rax,[rax+rcx*4+20]
// ---------- INJECTING HERE ----------
Menu_ItemList:SetupConsume+1df: 48 63 08              - movsxd  rcx,dword ptr [rax]
// ---------- DONE INJECTING  ----------
Menu_ItemList:SetupConsume+1e2: 48 8B 85 48 FF FF FF  - mov rax,[rbp-000000B8]
Menu_ItemList:SetupConsume+1e9: 89 48 08              - mov [rax+08],ecx
Menu_ItemList:SetupConsume+1ec: 48 63 45 98           - movsxd  rax,dword ptr [rbp-68]
Menu_ItemList:SetupConsume+1f0: 89 45 A8              - mov [rbp-58],eax
Menu_ItemList:SetupConsume+1f3: 48 63 45 9C           - movsxd  rax,dword ptr [rbp-64]
Menu_ItemList:SetupConsume+1f7: 89 45 AC              - mov [rbp-54],eax
Menu_ItemList:SetupConsume+1fa: 48 63 45 A0           - movsxd  rax,dword ptr [rbp-60]
Menu_ItemList:SetupConsume+1fe: 89 45 B0              - mov [rbp-50],eax
Menu_ItemList:SetupConsume+201: 49 8B CD              - mov rcx,r13
Menu_ItemList:SetupConsume+204: 48 8B C5              - mov rax,rbp
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>331</ID>
              <Description>"*** Turn off when not in use"</Description>
              <Color>400080</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>50</ID>
          <Description>"!!! For all battle scripts: "Battle: Unit stat" must be enabled, and "My country ID" must be set"</Description>
          <Color>FF80FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Battle: Unit stat"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_BATTLE_UNIT,D3 83 3E 00 48 63 86 BC 00 00 00) // should be unique
aobscanregion(INJECT_BATTLE_UNIT,UIBattlePredictionSetProc+76,UIBattlePredictionSetProc+176,D3 83 3E 00 48 63 86 BC 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_UNIT)

label(code)
label(return)
label(i_battle_unit_data_addr)
label(i_player_country_id)
label(i_cur_player_country_id)
label(is_fill_HPMP)
label(is_more_movable)
label(is_set_command_range)
label(is_unlimited_action)

newmem:
  mov [i_battle_unit_data_addr], rsi
  push rbx
  push rcx
  push r15

  mov rbx, [rsi+38]
  test rbx, rbx
  je endp
  mov ebx, [rbx+3c]
  mov [i_cur_player_country_id], ebx

  cmp dword ptr [i_player_country_id], -1
  jne @F
  {
  cmp dword ptr [COUNTRY_ID], -1
  je @F
  mov r15d, [COUNTRY_ID]
  mov [i_player_country_id], r15d
  }

@@:
  cmp ebx, dword ptr [i_player_country_id]
  jne endp

  // player scripts start
  cmp dword ptr [is_fill_HPMP], 1
  jne check2

  // HP/MP
  mov rbx, [rsi+18]
  test rbx, rbx
  je endp
  mov rbx, [rbx+10]
  test rbx, rbx
  je endp
  mov ecx, [rbx+78]
  add ecx, #400
  mov [rbx+80], ecx
  mov [rsi+BC], ecx

  mov ecx, [rbx+84]
  add ecx, #300
  mov [rbx+8C], ecx
  mov [rsi+C0], ecx

check2:
  cmp dword ptr [is_more_movable], 1
  jne check3
  // more movable
  mov ebx, [rsi+C8]
  mov ecx, #36
  cmp ebx, ecx
  cmovle ebx, ecx
  mov [rsi+C8], ebx
  mov ebx, [rsi+DC]
  mov ecx, #9
  cmp ebx, ecx
  cmovle ebx, ecx
  mov [rsi+DC], ebx

check3:
  cmp dword ptr [is_set_command_range], 1
  jne check4
  mov rbx, [rsi+18]
  test rbx, rbx
  je check4
  mov rbx, [rbx+10]
  test rbx, rbx
  je check4
  mov ecx, [rbx+B8]
  test ecx, ecx
  je check4
  cmp ecx, 5
  jae check4
  mov ecx, 5
  mov [rbx+B8], ecx

check4:
  cmp dword ptr [is_unlimited_action], 1
  jne check5
  mov bl, [rsi+D1]
  test bl, bl
  jne check5
  mov bl, 1
  mov [rsi+D1], bl

check5:
  // player scripts end

endp:
  pop r15
  pop rcx
  pop rbx

code:
  movsxd  rax,dword ptr [rsi+000000BC]
  jmp return

align 10 cc
  i_battle_unit_data_addr:
  dq 0
  i_player_country_id:
  dd -1
  i_cur_player_country_id:
  dd -1
  is_fill_HPMP:
  dd 1
  is_more_movable:
  dd 1
  is_set_command_range:
  dd 1
  is_unlimited_action:
  dd 0

INJECT_BATTLE_UNIT+04:
  jmp newmem
  nop 2
return:
registersymbol(is_unlimited_action)
registersymbol(is_set_command_range)
registersymbol(is_more_movable)
registersymbol(is_fill_HPMP)
registersymbol(i_cur_player_country_id)
registersymbol(i_battle_unit_data_addr)
registersymbol(i_player_country_id)
registersymbol(INJECT_BATTLE_UNIT)

[DISABLE]

INJECT_BATTLE_UNIT+04:
  db 48 63 86 BC 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: UIBattlePrediction:Set+86

UIBattlePrediction:Set+5d: 90                             - nop 
UIBattlePrediction:Set+5e: 49 BB 20 1D 79 0D EA 01 00 00  - mov r11,UnityEngine.Component:get_gameObject
UIBattlePrediction:Set+68: 41 FF D3                       - call r11
UIBattlePrediction:Set+6b: 48 8B C8                       - mov rcx,rax
UIBattlePrediction:Set+6e: 33 D2                          - xor edx,edx
UIBattlePrediction:Set+70: 83 38 00                       - cmp dword ptr [rax],00
UIBattlePrediction:Set+73: 66 66 90                       - nop 3
UIBattlePrediction:Set+76: 49 BB 00 0D 67 8B E9 01 00 00  - mov r11,UnityEngine.GameObject:SetActive
UIBattlePrediction:Set+80: 41 FF D3                       - call r11
UIBattlePrediction:Set+83: 83 3E 00                       - cmp dword ptr [rsi],00
// ---------- INJECTING HERE ----------
UIBattlePrediction:Set+86: 48 63 86 BC 00 00 00           - movsxd  rax,dword ptr [rsi+000000BC]
// ---------- DONE INJECTING  ----------
UIBattlePrediction:Set+8d: F3 0F 2A C0                    - cvtsi2ss xmm0,eax
UIBattlePrediction:Set+91: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
UIBattlePrediction:Set+95: F2 0F 11 85 70 FF FF FF        - movsd [rbp-00000090],xmm0
UIBattlePrediction:Set+9d: 48 8B 46 18                    - mov rax,[rsi+18]
UIBattlePrediction:Set+a1: 48 8B 40 10                    - mov rax,[rax+10]
UIBattlePrediction:Set+a5: 48 8B C8                       - mov rcx,rax
UIBattlePrediction:Set+a8: 83 38 00                       - cmp dword ptr [rax],00
UIBattlePrediction:Set+ab: 66 66 90                       - nop 3
UIBattlePrediction:Set+ae: 49 BB E0 0D D4 8B E9 01 00 00  - mov r11,UnitStatusData:get_maxHitPoint
UIBattlePrediction:Set+b8: 41 FF D3                       - call r11
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>45</ID>
              <Description>"Base addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_battle_unit_data_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>346</ID>
              <Description>"Base addr 2."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_battle_unit_data_addr</Address>
              <Offsets>
                <Offset>10</Offset>
                <Offset>18</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>46</ID>
              <Description>"This unit is mine (used to set country id)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('i_cur_player_country_id')
writeInteger('i_player_country_id', i)
writeInteger('COUNTRY_ID', i)
 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>217</ID>
                  <Description>"  ... or set from -Country ID-"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('COUNTRY_ID')
writeInteger('i_player_country_id', i)

 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>47</ID>
              <Description>"Cur. unit country ID"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_cur_player_country_id</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>48</ID>
              <Description>"★My country ID★ (must be set correctly)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>800080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_player_country_id</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>49</ID>
              <Description>"***My country ID must be valid to make all battle scripts working***"</Description>
              <Color>FF80FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>51</ID>
              <Description>"Selected unit: Full HP/MP?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_fill_HPMP</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>129</ID>
              <Description>"More movable?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_more_movable</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>326</ID>
              <Description>"Set command range?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_set_command_range</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>327</ID>
              <Description>"Inf. action in active turn?"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_unlimited_action</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>128</ID>
              <Description>"UnitData+"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>343</ID>
                  <Description>"_nameJp.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>344</ID>
                  <Description>"_nameEn.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>18</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>345</ID>
                  <Description>"_nameTc.Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>14</Offset>
                    <Offset>20</Offset>
                    <Offset>10</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>342</ID>
                  <Description>"bStatusFlag"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>58</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>53</ID>
                  <Description>"countryId"</Description>
                  <DropDownListLink>-Country ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>5C</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>54</ID>
                  <Description>"beforeCountryId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>60</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>55</ID>
                  <Description>"level"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>64</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>56</ID>
                  <Description>"evolutionRank"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>68</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>57</ID>
                  <Description>"followerPositionId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>6C</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>58</ID>
                  <Description>"actionPriority"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>70</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>59</ID>
                  <Description>"designationActionId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>74</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>60</ID>
                  <Description>"_unitMaxHitPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>78</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>61</ID>
                  <Description>"equipMaxHitPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>7C</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>62</ID>
                  <Description>"_hitPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF0000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>80</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>63</ID>
                  <Description>"_unitMaxMagicPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>84</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>64</ID>
                  <Description>"equipMaxMagicPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>88</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>65</ID>
                  <Description>"_magicPoint"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF0000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>8C</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>66</ID>
                  <Description>"_unitStrength"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>90</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>67</ID>
                  <Description>"equipStrength"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>94</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>68</ID>
                  <Description>"_unitIntelligence"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>98</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>69</ID>
                  <Description>"equipIntelligence"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>9C</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>70</ID>
                  <Description>"_unitAgility"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>A0</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>71</ID>
                  <Description>"equipAgility"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>A4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>72</ID>
                  <Description>"hitCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>A8</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>73</ID>
                  <Description>"evadeCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>AC</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>74</ID>
                  <Description>"_unitCommandPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>B0</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>75</ID>
                  <Description>"equipCommandPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>B4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>76</ID>
                  <Description>"_unitCommandRange"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF0000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>B8</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>77</ID>
                  <Description>"equipCommandRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>BC</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>78</ID>
                  <Description>"_unitCommandCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>C0</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>79</ID>
                  <Description>"equipCommandCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>C4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>80</ID>
                  <Description>"commandGrowthType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>C8</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>81</ID>
                  <Description>"experience"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>CC</Offset>
                    <Offset>10</Offset>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>82</ID>
                  <Description>"keepCost"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>D0</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>83</ID>
                  <Description>"attackCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>D4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>84</ID>
                  <Description>"defenseCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>D8</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>85</ID>
                  <Description>"movePowerCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>DC</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>86</ID>
                  <Description>"shieldDefenseCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>E0</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>87</ID>
                  <Description>"magicResistCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>E4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>88</ID>
                  <Description>"counterCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>E8</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>89</ID>
                  <Description>"criticalCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>EC</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>90</ID>
                  <Description>"criticalDamageCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>F0</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>91</ID>
                  <Description>"experienceCorrection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>F4</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>92</ID>
                  <Description>"followingKnightIndex"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>F8</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>93</ID>
                  <Description>"_belongToFortId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>FC</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>94</ID>
                  <Description>"actionDestinationFortId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>100</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>95</ID>
                  <Description>"questType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>104</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>96</ID>
                  <Description>"dispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>108</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>97</ID>
                  <Description>"beforeQuestType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>10C</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>98</ID>
                  <Description>"beforeDispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>110</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>99</ID>
                  <Description>"isRepetition"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>114</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>100</ID>
                  <Description>"isRepetitionInured"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>115</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>101</ID>
                  <Description>"repeatQuestType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>118</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>102</ID>
                  <Description>"repeatDispatchQuestId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>11C</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>103</ID>
                  <Description>"isDispatchQuest"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>120</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>104</ID>
                  <Description>"masterDataId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>124</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>105</ID>
                  <Description>"_isKnight"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+18</Address>
                  <Offsets>
                    <Offset>128</Offset>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>106</ID>
                  <Description>"masterDataId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+90</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>107</ID>
                  <Description>"unitType"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+94</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>108</ID>
                  <Description>"attitude"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+98</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>109</ID>
                  <Description>"hexPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+9C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>110</ID>
                  <Description>"worldPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+A4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>111</ID>
                  <Description>"startCountryId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+B0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>112</ID>
                  <Description>"startAttitude"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+B4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>113</ID>
                  <Description>"startForceId"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+B8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>114</ID>
                  <Description>"_hitPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+BC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>115</ID>
                  <Description>"_magicPoint"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+C0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>116</ID>
                  <Description>"isKnockOut"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+C4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>117</ID>
                  <Description>"_isRetreat"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+C5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>118</ID>
                  <Description>"_isLeftBehind"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+C6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>119</ID>
                  <Description>"_movePower"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+C8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>120</ID>
                  <Description>"actionPower"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+CC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>121</ID>
                  <Description>"isSiege"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_battle_unit_data_addr]+D0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>122</ID>
                  <Description>"_isCanAction"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF0000</Color>
                  <VariableType>Byte</VariableType>
                  <Address>i_battle_unit_data_addr</Address>
                  <Offsets>
                    <Offset>D1</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>123</ID>
                  <Description>"maxAttackRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+D4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>124</ID>
                  <Description>"maxAfterMoveAttackRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>125</ID>
                  <Description>"maxMoveRange"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+DC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>126</ID>
                  <Description>"expansionHex"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+E0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>127</ID>
                  <Description>"_current_position_index"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_battle_unit_data_addr]+E4</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>136</ID>
          <Description>"Battle: Turns (Get data: turn passed)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_GET_TURN_COUNT,89 88 88 00 00 00 48 8D 65) // should be unique
aobscanregion(INJECT_GET_TURN_COUNT,BattleSystemset_turnCountproc+20,BattleSystemset_turnCountproc+37,89 88 88 00 00 00 48 8D 65) // should be unique
alloc(newmem,$1000,INJECT_GET_TURN_COUNT)

label(code)
label(return)
label(i_turn_base_addr)

newmem:
  mov [i_turn_base_addr], rax

code:
  mov [rax+00000088],ecx
  jmp return

align 10 cc
  i_turn_base_addr:
  dq 0

INJECT_GET_TURN_COUNT:
  jmp newmem
  nop
return:

registersymbol(i_turn_base_addr)
registersymbol(INJECT_GET_TURN_COUNT)

[DISABLE]

INJECT_GET_TURN_COUNT:
  db 89 88 88 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: BattleSystem:set_turnCount+27

BattleSystemset_turnCountproc: 55                             - push rbp
BattleSystem:set_turnCount+1: 48 8B EC                       - mov rbp,rsp
BattleSystem:set_turnCount+4: 48 83 EC 30                    - sub rsp,30
BattleSystem:set_turnCount+8: 48 89 4D F8                    - mov [rbp-08],rcx
BattleSystem:set_turnCount+c: 48 89 55 F0                    - mov [rbp-10],rdx
BattleSystem:set_turnCount+10: 48 8D 64 24 00                 - lea rsp,[rsp+00]
BattleSystem:set_turnCount+15: 90                             - nop 
BattleSystem:set_turnCount+16: 49 BB 70 3A 4B 8D 06 02 00 00  - mov r11,BattleSystem:get_battleData
BattleSystem:set_turnCount+20: 41 FF D3                       - call r11
BattleSystem:set_turnCount+23: 48 63 4D F0                    - movsxd  rcx,dword ptr [rbp-10]
// ---------- INJECTING HERE ----------
BattleSystem:set_turnCount+27: 89 88 88 00 00 00              - mov [rax+00000088],ecx
// ---------- DONE INJECTING  ----------
BattleSystem:set_turnCount+2d: 48 8D 65 00                    - lea rsp,[rbp+00]
BattleSystem:set_turnCount+31: 5D                             - pop rbp
BattleSystem:set_turnCount+32: C3                             - ret 
2068D5CA343: 00 00                          - add [rax],al
2068D5CA345: 00 00                          - add [rax],al
2068D5CA347: 00 01                          - add [rcx],al
2068D5CA349: 04 02                          - add al,02
2068D5CA34B: 05 04 03 01 50                 - add eax,50010304
2068D5CA350: 00 00                          - add [rax],al
2068D5CA352: 00 00                          - add [rax],al
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>137</ID>
              <Description>"Base addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_turn_base_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>138</ID>
              <Description>"Turns"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_turn_base_addr</Address>
              <Offsets>
                <Offset>88</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>134</ID>
          <Description>"Battle: God mode (may not working)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-13
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_BATTLE_SET_HP2,48 0F 4C C1 89 87 80 00 00 00) // should be unique
aobscanregion(INJECT_BATTLE_SET_HP2,UnitStatusDataset_hitPointProc+31, UnitStatusDataset_hitPointProc+51,48 0F 4C C1 89 87 80 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_SET_HP2)

label(code)
label(return)

newmem:
  cmp dword ptr [COUNTRY_ID], -1
  je code
  push rbx

  mov ebx, [rdi+5C]
  cmp ebx, [COUNTRY_ID]
  jne to_enemy
  mov rax, #999
  cmp ecx, #999
  jae @F
  mov ecx, #999
@@:
  jmp endp


to_enemy:

endp:
  pop rbx
  cmp ecx,eax

code:
  cmovl rax,rcx
  mov [rdi+00000080],eax
  jmp return

align 10 cc
  i_tmp1:
  dd 0
  vf_player_damage_mul:
  dd (float)0.75
  vf_enemy_damage_mul:
  dd (float)1.38
  vf_1:
  dd (float)1

INJECT_BATTLE_SET_HP2:
  jmp newmem
  nop 5
return:

registersymbol(INJECT_BATTLE_SET_HP2)

[DISABLE]

INJECT_BATTLE_SET_HP2:
  db 48 0F 4C C1 89 87 80 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: UnitStatusData:set_hitPoint+41

UnitStatusData:set_hitPoint+1a: 3B C6                          - cmp eax,esi
UnitStatusData:set_hitPoint+1c: 48 8B C6                       - mov rax,rsi
UnitStatusData:set_hitPoint+1f: 48 0F 4F C1                    - cmovg rax,rcx
UnitStatusData:set_hitPoint+23: 48 89 45 E8                    - mov [rbp-18],rax
UnitStatusData:set_hitPoint+27: 48 8B CF                       - mov rcx,rdi
UnitStatusData:set_hitPoint+2a: 48 8D 6D 00                    - lea rbp,[rbp+00]
UnitStatusData:set_hitPoint+2e: 49 BB 30 42 1A C3 06 02 00 00  - mov r11,UnitStatusData:get_maxHitPoint
UnitStatusData:set_hitPoint+38: 41 FF D3                       - call r11
UnitStatusData:set_hitPoint+3b: 48 8B 4D E8                    - mov rcx,[rbp-18]
UnitStatusData:set_hitPoint+3f: 3B C8                          - cmp ecx,eax
// ---------- INJECTING HERE ----------
UnitStatusData:set_hitPoint+41: 48 0F 4C C1                    - cmovl rax,rcx
// ---------- DONE INJECTING  ----------
UnitStatusData:set_hitPoint+45: 89 87 80 00 00 00              - mov [rdi+00000080],eax
UnitStatusData:set_hitPoint+4b: 48 8B 75 F0                    - mov rsi,[rbp-10]
UnitStatusData:set_hitPoint+4f: 48 8B 7D F8                    - mov rdi,[rbp-08]
UnitStatusData:set_hitPoint+53: 48 8D 65 00                    - lea rsp,[rbp+00]
UnitStatusData:set_hitPoint+57: 5D                             - pop rbp
UnitStatusData:set_hitPoint+58: C3                             - ret 
206C31A4339: 00 00                          - add [rax],al
206C31A433B: 00 00                          - add [rax],al
206C31A433D: 00 00                          - add [rax],al
206C31A433F: 00 01                          - add [rcx],al
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>337</ID>
          <Description>"Battle: XP multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-16
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_BATTLE_XP_MULTI,03 CA 89 88 CC 00 00 00 C7 46 40) // should be unique
aobscanregion(INJECT_BATTLE_XP_MULTI,BattleUnitAction_LevelUpProduction__12MoveNextProc+48d,BattleUnitAction_LevelUpProduction__12MoveNextProc+59d,03 CA 89 88 CC 00 00 00 C7 46 40) // should be unique

alloc(newmem,$1000,INJECT_BATTLE_XP_MULTI)

label(code)
label(return)
label(vf_battle_xp_multi)
label(i_battle_xp_country_id)

newmem:
  push rbx
  mov ebx, [rax+5C]
  cmp ebx, [i_battle_xp_country_id]
  jne endp
  vmovss xmm14, [vf_battle_xp_multi]
  cvtsi2ss xmm15, edx
  vmulss xmm13, xmm14, xmm15
  cvtss2si edx, xmm13

endp:
  pop rbx

code:
  add ecx,edx
  mov [rax+000000CC],ecx
  jmp return

align 10 cc
  i_battle_xp_country_id:
  dd -1
  vf_battle_xp_multi:
  dd (float)2.1

INJECT_BATTLE_XP_MULTI:
  jmp newmem
  nop 3
return:
registersymbol(i_battle_xp_country_id)
registersymbol(vf_battle_xp_multi)
registersymbol(INJECT_BATTLE_XP_MULTI)

[DISABLE]

INJECT_BATTLE_XP_MULTI:
  db 03 CA 89 88 CC 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+49d

BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+46e: 48 8B 50 10                    - mov rdx,[rax+10]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+472: 48 8D 6D 00                    - lea rbp,[rbp+00]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+476: 49 BB 40 A4 E5 F9 1D 02 00 00  - mov r11,UnitCalculation:GetLevelUpValue
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+480: 41 FF D3                       - call r11
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+483: 89 46 34                       - mov [rsi+34],eax
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+486: 48 8B 46 18                    - mov rax,[rsi+18]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+48a: 48 8B 40 18                    - mov rax,[rax+18]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+48e: 48 8B 40 10                    - mov rax,[rax+10]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+492: 48 63 88 CC 00 00 00           - movsxd  rcx,dword ptr [rax+000000CC]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+499: 48 63 56 2C                    - movsxd  rdx,dword ptr [rsi+2C]
// ---------- INJECTING HERE ----------
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+49d: 03 CA                          - add ecx,edx
// ---------- DONE INJECTING  ----------
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+49f: 89 88 CC 00 00 00              - mov [rax+000000CC],ecx
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4a5: C7 46 40 00 00 00 00           - mov [rsi+40],00000000
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4ac: E9 41 02 00 00                 - jmp BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+6f2
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4b1: 48 8B 46 18                    - mov rax,[rsi+18]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4b5: 48 8B 40 18                    - mov rax,[rax+18]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4b9: 48 8B 40 10                    - mov rax,[rax+10]
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4bd: 48 8B C8                       - mov rcx,rax
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4c0: 83 38 00                       - cmp dword ptr [rax],00
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4c3: 66 66 90                       - nop 3
BattleUnitAction+&lt;_LevelUpProduction&gt;d__12:MoveNext+4c6: 49 BB E0 A5 E5 F9 1D 02 00 00  - mov r11,UnitStatusData:LevelUp
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>340</ID>
              <Description>"★My country ID★ (must be set correctly)"</Description>
              <DropDownListLink>-Country ID-</DropDownListLink>
              <ShowAsSigned>1</ShowAsSigned>
              <Color>800080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_battle_xp_country_id</Address>
              <CheatEntries>
                <CheatEntry>
                  <ID>341</ID>
                  <Description>"  ...set from -Country ID-"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = 0
i = readInteger('COUNTRY_ID')
writeInteger('i_battle_xp_country_id', i)

 
[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>338</ID>
              <Description>"Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_battle_xp_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>335</ID>
          <Description>"_WIP"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>333</ID>
              <Description>"Failed quest -&gt; set result item"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Brigandine The Legend of Runersia.exe
  Version: 
  Date   : 2022-05-15
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscan(INJECT_QUEST_RESULT,4C 63 60 30 BB 02 00 00 00) // should be unique
aobscanregion(INJECT_QUEST_RESULT,Menu_WorldQuestResultSetResultParameterProc+105,Menu_WorldQuestResultSetResultParameterProc+215,4C 63 60 30 BB 02 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_QUEST_RESULT)

label(code)
label(return)
label(i_failed_quest_item)

newmem:
  push rbx
  mov ebx, [rax+10]
  cmp ebx, 1
  jne endp
  mov ebx, [rax+30]
  test ebx, ebx
  jne endp
  mov ebx, [i_failed_quest_item]
  mov [rax+30], ebx

endp:
  pop rbx

code:
  movsxd  r12,dword ptr [rax+30]
  mov ebx,00000002
  jmp return

align 10 cc
  i_failed_quest_item:
  dd #162

INJECT_QUEST_RESULT:
  jmp newmem
  nop 4
return:
registersymbol(i_failed_quest_item)
registersymbol(INJECT_QUEST_RESULT)

[DISABLE]

INJECT_QUEST_RESULT:
  db 4C 63 60 30 BB 02 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Menu_WorldQuestResult:SetResultParameter+115

Menu_WorldQuestResult:SetResultParameter+eb: 4C 8B C8                       - mov r9,rax
Menu_WorldQuestResult:SetResultParameter+ee: 49 8B CE                       - mov rcx,r14
Menu_WorldQuestResult:SetResultParameter+f1: 49 8B D7                       - mov rdx,r15
Menu_WorldQuestResult:SetResultParameter+f4: 41 B8 02 00 00 00              - mov r8d,00000002
Menu_WorldQuestResult:SetResultParameter+fa: 48 8D 6D 00                    - lea rbp,[rbp+00]
Menu_WorldQuestResult:SetResultParameter+fe: 49 BB D0 F6 FB 9C 65 01 00 00  - mov r11,Menu_WorldQuestResult:SetText
Menu_WorldQuestResult:SetResultParameter+108: 41 FF D3                       - call r11
Menu_WorldQuestResult:SetResultParameter+10b: 33 C0                          - xor eax,eax
Menu_WorldQuestResult:SetResultParameter+10d: 4C 0F B6 E8                    - movzx r13,al
Menu_WorldQuestResult:SetResultParameter+111: 48 8B 45 88                    - mov rax,[rbp-78]
// ---------- INJECTING HERE ----------
Menu_WorldQuestResult:SetResultParameter+115: 4C 63 60 30                    - movsxd  r12,dword ptr [rax+30]
// ---------- DONE INJECTING  ----------
Menu_WorldQuestResult:SetResultParameter+119: BB 02 00 00 00                 - mov ebx,00000002
Menu_WorldQuestResult:SetResultParameter+11e: 48 63 40 2C                    - movsxd  rax,dword ptr [rax+2C]
Menu_WorldQuestResult:SetResultParameter+122: 83 F8 01                       - cmp eax,01
Menu_WorldQuestResult:SetResultParameter+125: 0F 84 0D 00 00 00              - je Menu_WorldQuestResult:SetResultParameter+138
Menu_WorldQuestResult:SetResultParameter+12b: 48 8B 45 88                    - mov rax,[rbp-78]
Menu_WorldQuestResult:SetResultParameter+12f: 48 63 40 2C                    - movsxd  rax,dword ptr [rax+2C]
Menu_WorldQuestResult:SetResultParameter+133: 83 F8 05                       - cmp eax,05
Menu_WorldQuestResult:SetResultParameter+136: 75 28                          - jne Menu_WorldQuestResult:SetResultParameter+160
Menu_WorldQuestResult:SetResultParameter+138: BB 01 00 00 00                 - mov ebx,00000001
Menu_WorldQuestResult:SetResultParameter+13d: 48 8B 45 88                    - mov rax,[rbp-78]
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>334</ID>
                  <Description>"Item ID if quest failed (1-480):"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_failed_quest_item</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>42</ID>
      <Description>"*** Brigandine The Legend of Runersia v1.01.1  /  https://opencheattables.com  /  CE 7.4+ ***"</Description>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>--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 = {22,23,42,21,50,
       141,214,45,137,3,215,48,
       129,204,51,129,210,
       201,211,307,309,323,322,
       }

--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



--[[
Redefine mono search with special char like + or &lt;, &gt;
Source: mece @ https://opencheattables.org/viewtopic.php?f=20&amp;t=613
]]
--------------------------------------------------------------------------------
function init_DotNetInfo()
  -- I didn't found a better way to access "dotnetinfo.lua" local functions
  miDotNetInfoClick(getMainForm()) -- opens ".Net Info" form
  df.Hide() -- hides just opened ".Net Info" form
end
--------------------------------------------------------------------------------
function mono_findClassEx(namespace, classname)
  if namespace==nil then
    print("[mono_findClassEx]: Invalid parameters!" .. namespace .. "." .. classname)
  else
    if classname==nil then
      classname=namespace
      namespace=''
    end
    if DataSource.Domains==nil then
      --print("[mono_findClassEx]: DataSource is not initialized! Open .Net Info once")
      init_DotNetInfo()
    end
    for _, Domain in ipairs(DataSource.Domains) do
      if Domain.Images == nil then
        DataSource.getImages(Domain)
      end
      for _, Image in ipairs(Domain.Images) do
        if Image.Classes == nil then
          Image.Classes = {}
          Image.Classes.Busy = true
          DataSource.getClasses(Image)
          Image.Classes.Busy = nil
        end
        for _, Class in ipairs(Image.Classes) do
          if Class.FullName == classname then return Class.Handle end
        end
      end
    end
  end
  return nil
end
--------------------------------------------------------------------------------
function mono_findMethodEx(namespace, classname, methodname)
  if namespace==nil or classname==nil then
    print("[mono_findMethodEx]: Invalid parameters! " .. namespace .. "." .. classname .. ":" .. methodname)
  else
    if methodname==nil then
      methodname=classname
      classname=namespace
      namespace=''
    end
    local class = mono_findClassEx(namespace, classname)
    if class==nil or class==0 then
      print("[mono_findMethodEx]: Class not found! " .. namespace .. "." .. classname)
    else
      return mono_class_findMethod(class, methodname)
    end
  end
  return nil
end
--------------------------------------------------------------------------------
function mono_symbolLookupCallbackEx(symbol)
  local namespace, classname, methodname = SplitDotNetName(symbol)
  if symbol:match('[()%[%]]')~=nil then return nil end --no formulas/indexer
  if (methodname=='') or (classname=='') then
    --print("[mono_symbolLookupCallbackEx]: Invalid parameters! " .. namespace .. "." .. classname .. ":" .. methodname)
  else
    if monopipe == nil or monopipe.IL2CPP then
      --print("[mono_symbolLookupCallbackEx]: Unable to use mono features.")
    else
      local method = mono_findMethodEx(namespace, classname, methodname)
      if method==nil or method==0 then
        print("[mono_symbolLookupCallbackEx]: Method not found! " .. namespace .. "." .. classname .. ":" .. methodname)
      else
        local methodaddress = mono_compile_method(method)
        if methodaddress == nil or methodaddress == 0 then
          print("[mono_symbolLookupCallbackEx]: mono_compile_method error!")
        else
          return methodaddress
        end
      end
    end
  end
  return nil
end
--------------------------------------------------------------------------------
function mono_activate()
  if getOpenedProcessID()==0 then
    print("[mono_activate]: No process opened!")
  else
    if monopipe ~= nil and monopipe.ProcessID ~= getOpenedProcessID() then
        monopipe.OnTimeout()
        monopipe = nil
    end
    if monopipe==nil and LaunchMonoDataCollector()==0 then
      print("[mono_activate]: LaunchMonoDataCollector error!")
    else
      if mono_SymbolLookupID~=nil then
        unregisterSymbolLookupCallback(mono_SymbolLookupID)
        mono_SymbolLookupID=nil
      end
      mono_SymbolLookupID=registerSymbolLookupCallback(mono_symbolLookupCallbackEx, slNotSymbol)
    end
  end
end
--------------------------------------------------------------------------------
function mono_deactivate()
  if monopipe then
    monopipe.OnTimeout()
  end
end
--------------------------------------------------------------------------------
-- Scans the memory near &lt;mono_symbol&gt; for &lt;aob&gt; and returns it's address
function mono_AOBScanUnique(aob,mono_symbol)
  local result = nil
  local mono_address = mono_symbolLookupCallbackEx(mono_symbol)
  if mono_address == nil then
    print("[mono_AOBScanUnique]: Mono symbol not found! " .. mono_symbol)
  else
    local ji = mono_getJitInfo(mono_address)
    local start = ji.code_start -- Method start address
    local stop = start + ji.code_size -- Size of the method

    local protectionFlags = "*X*C*W"
    local alignmentType = fsmNotAligned
    local alignmentParam = nil
    local isHexadecimalInput = true
    local isNotABinaryString = true
    local isunicodescan = false
    local iscasesensitive = false
    local ms = createMemScan()

	  ms.firstScan(soExactValue, vtByteArray, nil, aob, nil, start, stop,
      protectionFlags, alignmentType, alignmentParam,
      isHexadecimalInput, isNotABinaryString, isunicodescan, iscasesensitive)
	  ms.waitTillDone()
	  local fl = createFoundList(ms)
    fl.initialize()
    if ms.FoundList.getCount()==0 then
      print("[mono_aobscan]: AOB [" .. aob .. "] not found near " .. mono_symbol)
    else
      if fl.getCount()&gt;1 then
        print("[mono_aobscan]: AOB [" .. aob .. "] is not unique near " .. mono_symbol)
      else
        result = fl[0]
      end
    end
    fl.deinitialize()
	  ms.destroy()
  end
	return result
end
--------------------------------------------------------------------------------
-- Registers &lt;new_symbol&gt; for &lt;aob&gt; near &lt;mono_symbol&gt; with &lt;offset&gt; if needed
function mono_register(new_symbol, aob, mono_symbol, offset)
  if offset == nil then offset = 0 end
  local aob_address = mono_AOBScanUnique(aob, mono_symbol)
  unregisterSymbol(new_symbol)
  if aob_address ~= nil then
    registerSymbol(new_symbol,tonumber(aob_address,16)+offset)
  end
end
--------------------------------------------------------------------------------

function mono_symbolLookupCallback(symbol)
  --if debug_canBreak() then return nil end
  if symbol:match('[()%[%]]')~=nil then return nil end --no formulas/indexer
  if monopipe == nil then return nil end
  if monopipe.IL2CPP then return nil end


  local methodname=''
  local classname=''
  local namespace=''

  local ss=mono_splitSymbol(symbol)
  methodname=ss.methodname
  classname=ss.classname
  namespace=ss.namespace

  if (methodname~='') and (classname~='') then
    local method=mono_findMethod(namespace, classname, methodname)
    if (method==0) then
      return nil
    end

    local methodaddress=mono_compile_method(method)
    if (methodaddress~=0) then
      return methodaddress
    end

  end

  --still here,
  return nil

end
</LuaScript>
</CheatTable>
