<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>191</ID>
      <Description>"Toggle Compact View"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

if not toggleCompactView then
    function toggleCompactView(sender, forceEnable)
        local isCompactMode = not (compactViewMenuItem.Caption == 'Compact View Mode')
        if forceEnable ~= nil then
            isCompactMode = not forceEnable
        end

        synchronize(function()
            compactViewMenuItem.Caption = isCompactMode and 'Compact View Mode' or 'Full View Mode'
            getMainForm().Splitter1.Visible = isCompactMode
            getMainForm().Panel4.Visible    = isCompactMode
            getMainForm().Panel5.Visible    = isCompactMode
        end)
    end
end

if not createCompactViewMenu then
    function createCompactViewMenu()
        if isCompactMenuCreated then return end

        synchronize(function()
            local mainMenu = getMainForm().Menu.Items
            compactViewMenuItem = createMenuItem(mainMenu)
            compactViewMenuItem.Caption = 'Compact View Mode'
            compactViewMenuItem.OnClick = toggleCompactView
            mainMenu.add(compactViewMenuItem)
        end)

        isCompactMenuCreated = true
    end
end

createCompactViewMenu()
toggleCompactView(nil, true)

[DISABLE]
{$lua}
if toggleCompactView then
    toggleCompactView(nil, false)
end
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>276</ID>
      <Description>"Toggle scripts (auto-attach)"</Description>
      <Color>0072E3</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

-- attach process
local processName = "SAN8RPK.exe"
local pid = getProcessIDFromProcessName(processName)
if pid ~= nil and pid &gt; 0 then
  local currentPid = getOpenedProcessID() or 0
  if currentPid ~= pid then
    openProcess(processName)
    print("Attached to: " .. processName)
    Sleep(333)
  else
    print("Already attached to: " .. processName)
  end
end
synchronize(function()
  getLuaEngine().Close()
end)

local enableBattleScripts = {
  1, -- "Get Grit / 胆力 / 膽識"
  3, -- "Get stats, act pt. / 行動力 (in city phase)"
  20, -- "Set min. action pt per turn"
  33, -- "Selected char stat in basic data"
  191, -- "Toggle Compact View"
  192, -- "Get Opportunity value / 機運"
  220, -- "Battleground: selected unit"
  225, -- "Get selected city stat from info. menu"
  249, -- "Get gift count when visit"
  273, -- "Get Tech P Strategy phase)"
  62, -- "Enable check point #2"
  263, -- "Enable check point #2"
}
local addressList = getAddressList()
synchronize(function()
  for _, id in ipairs(enableBattleScripts) do
    local memRec = addressList.getMemoryRecordByID(id)
    if memRec and not memRec.Active then
      memRec.Active = true
      sleep(30)
    end
    addressList.refresh()
  end
end)
synchronize(function() getLuaEngine().Close() end)
[DISABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

local disableBattleScripts = {
  268, -- "Role, force &amp; city dynamic ID"
  265, -- "Unique Talent / 奇才"
  245, -- "Role, force &amp; city dynamic ID"
  241, -- "Unique Talent / 奇才"
  166, -- "List"
  140, -- "List"
  103, -- "List"
  63, -- "List"
  49, -- "List"
  22, -- "List"
  264, -- "**Danger Zone** - Dynamic Data"
  263, -- "Enable check point #2"
  242, -- "**Danger Zone** - Dynamic Data"
  165, -- "Skills"
  139, -- "Skills"
  102, -- "Tactics"
  86, -- "Tactics"
  85, -- "Secrets / 秘訣"
  84, -- "Secrets / 秘訣"
  62, -- "Enable check point #2"
  273, -- "Get Tech P Strategy phase)"
  249, -- "Get gift count when visit"
  225, -- "Get selected city stat from info. menu"
  220, -- "Battleground: selected unit"
  192, -- "Get Opportunity value / 機運"
  191, -- "Toggle Compact View"
  33, -- "Selected char stat in basic data"
  20, -- "Set min. action pt per turn"
  3, -- "Get stats, act pt. / 行動力 (in city phase)"
  1, -- "Get Grit / 胆力 / 膽識"
}
local addressList = getAddressList()
synchronize(function()
  for _, id in ipairs(disableBattleScripts) do
    local memRec = addressList.getMemoryRecordByID(id)
    if memRec and memRec.Active then
      memRec.Active = false
      sleep(30)
    end
    addressList.refresh()
  end
end)
synchronize(function() getLuaEngine().Close() end)
-- Comments:
-- ID: 191, Description: "Toggle Compact View", Depth: 0
-- ID: 1, Description: "Get Grit / 胆力 / 膽識", Depth: 0
-- ID: 192, Description: "Get Opportunity value / 機運", Depth: 0
-- ID: 273, Description: "Get Tech P Strategy phase)", Depth: 0
-- ID: 249, Description: "Get gift count when visit", Depth: 0
-- ID: 220, Description: "Battleground: selected unit", Depth: 0
-- ID: 3, Description: "Get stats, act pt. / 行動力 (in city phase)", Depth: 0
--   ID: 62, Description: "Enable check point #2", Depth: 1
--   ID: 84, Description: "Secrets / 秘訣", Depth: 1
--     ID: 22, Description: "List", Depth: 2
--   ID: 86, Description: "Tactics", Depth: 1
--     ID: 63, Description: "List", Depth: 2
--   ID: 139, Description: "Skills", Depth: 1
--     ID: 140, Description: "List", Depth: 2
--   ID: 264, Description: "**Danger Zone** - Dynamic Data", Depth: 1
--     ID: 265, Description: "Unique Talent / 奇才", Depth: 2
--     ID: 268, Description: "Role, force &amp; city dynamic ID", Depth: 2
-- ID: 20, Description: "Set min. action pt per turn", Depth: 0
-- ID: 33, Description: "Selected char stat in basic data", Depth: 0
--   ID: 263, Description: "Enable check point #2", Depth: 1
--   ID: 85, Description: "Secrets / 秘訣", Depth: 1
--     ID: 49, Description: "List", Depth: 2
--   ID: 102, Description: "Tactics", Depth: 1
--     ID: 103, Description: "List", Depth: 2
--   ID: 165, Description: "Skills", Depth: 1
--     ID: 166, Description: "List", Depth: 2
--   ID: 242, Description: "**Danger Zone** - Dynamic Data", Depth: 1
--     ID: 241, Description: "Unique Talent / 奇才", Depth: 2
--     ID: 245, Description: "Role, force &amp; city dynamic ID", Depth: 2
-- ID: 225, Description: "Get selected city stat from info. menu", Depth: 0


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"Get Grit / 胆力 / 膽識"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_GRIT,$process,41 8B 87 E0 5A 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_GRIT)

label(code)
label(return i_base_intre_addr)

newmem:
  mov [i_base_intre_addr], r15

code:
  mov eax,[r15+00005AE0]
  jmp return
  align 10 cc
  i_base_intre_addr:
  dq 0

INJECT_GET_GRIT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_GRIT i_base_intre_addr)

[DISABLE]

INJECT_GET_GRIT:
  db 41 8B 87 E0 5A 00 00

unregistersymbol(INJECT_GET_GRIT i_base_intre_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+1658DD0

SAN8RPK.exe+1658DA5: E8 06 BE 9B FE        - call SAN8RPK.exe+14BB0
SAN8RPK.exe+1658DAA: 41 B9 01 00 00 00     - mov r9d,00000001
SAN8RPK.exe+1658DB0: 4C 8B C7              - mov r8,rdi
SAN8RPK.exe+1658DB3: 48 8B CE              - mov rcx,rsi
SAN8RPK.exe+1658DB6: 41 8D 51 07           - lea edx,[r9+07]
SAN8RPK.exe+1658DBA: E8 A1 81 69 00        - call SAN8RPK.exe+1CF0F60
SAN8RPK.exe+1658DBF: BA 08 00 00 00        - mov edx,00000008
SAN8RPK.exe+1658DC4: 48 8B CE              - mov rcx,rsi
SAN8RPK.exe+1658DC7: 44 8D 42 F9           - lea r8d,[rdx-07]
SAN8RPK.exe+1658DCB: E8 80 82 69 00        - call SAN8RPK.exe+1CF1050
// ---------- INJECTING HERE ----------
SAN8RPK.exe+1658DD0: 41 8B 87 E0 5A 00 00  - mov eax,[r15+00005AE0]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+1658DD7: 89 85 B0 01 00 00     - mov [rbp+000001B0],eax
SAN8RPK.exe+1658DDD: 89 85 F4 01 00 00     - mov [rbp+000001F4],eax
SAN8RPK.exe+1658DE3: 89 85 F0 01 00 00     - mov [rbp+000001F0],eax
SAN8RPK.exe+1658DE9: 44 89 A5 F8 01 00 00  - mov [rbp+000001F8],r12d
SAN8RPK.exe+1658DF0: 83 7E 10 12           - cmp dword ptr [rsi+10],12
SAN8RPK.exe+1658DF4: 7E 4D                 - jle SAN8RPK.exe+1658E43
SAN8RPK.exe+1658DF6: 48 8B 46 08           - mov rax,[rsi+08]
SAN8RPK.exe+1658DFA: 48 8B 88 90 00 00 00  - mov rcx,[rax+00000090]
SAN8RPK.exe+1658E01: 48 85 C9              - test rcx,rcx
SAN8RPK.exe+1658E04: 74 3D                 - je SAN8RPK.exe+1658E43
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>4</ID>
          <Description>"pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_intre_addr</Address>
          <Offsets>
            <Offset>5AE0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>192</ID>
      <Description>"Get Opportunity value / 機運"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_FORTUNE,$process,0F B6 98 D0 BD 1E 00 E8 ?? ?? ?? ?? 3B 98 78 12 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_FORTUNE)

label(code)
label(return i_base_fortune_addr)

newmem:
  mov [i_base_fortune_addr], rax

code:
  movzx ebx,byte ptr [rax+001EBDD0]
  jmp return
  align 10 cc
  i_base_fortune_addr:
  dq 0

INJECT_GET_FORTUNE:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_FORTUNE i_base_fortune_addr)

[DISABLE]

INJECT_GET_FORTUNE:
  db 0F B6 98 D0 BD 1E 00

unregistersymbol(INJECT_GET_FORTUNE i_base_fortune_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+131B772

SAN8RPK.exe+131B753: 48 8B 01              - mov rax,[rcx]
SAN8RPK.exe+131B756: FF 50 18              - call qword ptr [rax+18]
SAN8RPK.exe+131B759: 84 C0                 - test al,al
SAN8RPK.exe+131B75B: 74 09                 - je SAN8RPK.exe+131B766
SAN8RPK.exe+131B75D: 8D 47 02              - lea eax,[rdi+02]
SAN8RPK.exe+131B760: 48 83 C4 20           - add rsp,20
SAN8RPK.exe+131B764: 5F                    - pop rdi
SAN8RPK.exe+131B765: C3                    - ret 
SAN8RPK.exe+131B766: 48 8B 05 8B A3 B4 01  - mov rax,[SAN8RPK.exe+2E65AF8]
SAN8RPK.exe+131B76D: 48 89 5C 24 30        - mov [rsp+30],rbx
// ---------- INJECTING HERE ----------
SAN8RPK.exe+131B772: 0F B6 98 D0 BD 1E 00  - movzx ebx,byte ptr [rax+001EBDD0]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+131B779: E8 F2 83 36 FF        - call SAN8RPK.exe+683B70
SAN8RPK.exe+131B77E: 3B 98 78 12 00 00     - cmp ebx,[rax+00001278]
SAN8RPK.exe+131B784: 48 8B 5C 24 30        - mov rbx,[rsp+30]
SAN8RPK.exe+131B789: 40 0F 9D C7           - setge dil
SAN8RPK.exe+131B78D: 8B C7                 - mov eax,edi
SAN8RPK.exe+131B78F: 48 83 C4 20           - add rsp,20
SAN8RPK.exe+131B793: 5F                    - pop rdi
SAN8RPK.exe+131B794: C3                    - ret 
SAN8RPK.exe+131B795: CC                    - int 3 
SAN8RPK.exe+131B796: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>193</ID>
          <Description>"Opportunity / 機運"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_fortune_addr</Address>
          <Offsets>
            <Offset>1EBDD0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>273</ID>
      <Description>"Get Tech P Strategy phase)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_TECH_P,$process,0F B6 83 4A 02 00 00 38 44) // should be unique
alloc(newmem,$1000,INJECT_GET_TECH_P)

label(code)
label(return i_base_tech_p_addr)

newmem:
  mov [i_base_tech_p_addr], rbx

code:
  movzx eax,byte ptr [rbx+0000024A]
  jmp return
  align 10 cc
  i_base_tech_p_addr:
  dq 0

INJECT_GET_TECH_P:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_TECH_P i_base_tech_p_addr)

[DISABLE]

INJECT_GET_TECH_P:
  db 0F B6 83 4A 02 00 00

unregistersymbol(INJECT_GET_TECH_P i_base_tech_p_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+178BE72

SAN8RPK.exe+178BE53: 48 83 F8 05              - cmp rax,05
SAN8RPK.exe+178BE57: 72 04                    - jb SAN8RPK.exe+178BE5D
SAN8RPK.exe+178BE59: 32 C0                    - xor al,al
SAN8RPK.exe+178BE5B: EB 0C                    - jmp SAN8RPK.exe+178BE69
SAN8RPK.exe+178BE5D: 40 0F B6 C7              - movzx eax,dil
SAN8RPK.exe+178BE61: 0F B6 84 18 04 02 00 00  - movzx eax,byte ptr [rax+rbx+00000204]
SAN8RPK.exe+178BE69: 0F B6 C0                 - movzx eax,al
SAN8RPK.exe+178BE6C: FF C0                    - inc eax
SAN8RPK.exe+178BE6E: 3B C6                    - cmp eax,esi
SAN8RPK.exe+178BE70: 75 31                    - jne SAN8RPK.exe+178BEA3
// ---------- INJECTING HERE ----------
SAN8RPK.exe+178BE72: 0F B6 83 4A 02 00 00     - movzx eax,byte ptr [rbx+0000024A]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+178BE79: 38 44 11 22              - cmp [rcx+rdx+22],al
SAN8RPK.exe+178BE7D: 77 24                    - ja SAN8RPK.exe+178BEA3
SAN8RPK.exe+178BE7F: 44 8B C6                 - mov r8d,esi
SAN8RPK.exe+178BE82: 48 8B CB                 - mov rcx,rbx
SAN8RPK.exe+178BE85: E8 96 EC FC FF           - call SAN8RPK.exe+175AB20
SAN8RPK.exe+178BE8A: 85 C0                    - test eax,eax
SAN8RPK.exe+178BE8C: 74 15                    - je SAN8RPK.exe+178BEA3
SAN8RPK.exe+178BE8E: B8 01 00 00 00           - mov eax,00000001
SAN8RPK.exe+178BE93: 48 8B 5C 24 30           - mov rbx,[rsp+30]
SAN8RPK.exe+178BE98: 48 8B 74 24 38           - mov rsi,[rsp+38]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>275</ID>
          <Description>"Menu: Military -&gt; tech"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>274</ID>
          <Description>"value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_tech_p_addr</Address>
          <Offsets>
            <Offset>24A</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>249</ID>
      <Description>"Get gift count when visit"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_GIFT_COUNT,$process,44 0F B7 A9 E8 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_GIFT_COUNT)

label(code)
label(return i_base_gift_cnt_addr)

newmem:
  mov [i_base_gift_cnt_addr], rcx

code:
  movzx r13d,word ptr [rcx+000000E8]
  jmp return
  align 10 cc
  i_base_gift_cnt_addr:
  dq 0

INJECT_GET_GIFT_COUNT:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_GIFT_COUNT i_base_gift_cnt_addr)

[DISABLE]

INJECT_GET_GIFT_COUNT:
  db 44 0F B7 A9 E8 00 00 00

unregistersymbol(INJECT_GET_GIFT_COUNT i_base_gift_cnt_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+180DF72

SAN8RPK.exe+180DF44: BA 12 71 02 00           - mov edx,00027112
SAN8RPK.exe+180DF49: 48 8D 0D 40 52 42 01     - lea rcx,[SAN8RPK.exe+2C33190]
SAN8RPK.exe+180DF50: E8 5B 1F EF FF           - call SAN8RPK.exe+16FFEB0
SAN8RPK.exe+180DF55: 48 8B D0                 - mov rdx,rax
SAN8RPK.exe+180DF58: 49 8B CC                 - mov rcx,r12
SAN8RPK.exe+180DF5B: E8 20 52 EF FF           - call SAN8RPK.exe+1703180
SAN8RPK.exe+180DF60: 48 8D 4C 24 40           - lea rcx,[rsp+40]
SAN8RPK.exe+180DF65: E8 06 D6 80 FE           - call SAN8RPK.exe+1B570
SAN8RPK.exe+180DF6A: 90                       - nop 
SAN8RPK.exe+180DF6B: 48 8B 0D 86 7B 65 01     - mov rcx,[SAN8RPK.exe+2E65AF8]
// ---------- INJECTING HERE ----------
SAN8RPK.exe+180DF72: 44 0F B7 A9 E8 00 00 00  - movzx r13d,word ptr [rcx+000000E8]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+180DF7A: 48 8B 0D 5F 4F 42 01     - mov rcx,[SAN8RPK.exe+2C32EE0]
SAN8RPK.exe+180DF81: 80 79 0C 01              - cmp byte ptr [rcx+0C],01
SAN8RPK.exe+180DF85: 75 25                    - jne SAN8RPK.exe+180DFAC
SAN8RPK.exe+180DF87: 48 85 C9                 - test rcx,rcx
SAN8RPK.exe+180DF8A: 74 20                    - je SAN8RPK.exe+180DFAC
SAN8RPK.exe+180DF8C: 80 79 14 00              - cmp byte ptr [rcx+14],00
SAN8RPK.exe+180DF90: 75 1A                    - jne SAN8RPK.exe+180DFAC
SAN8RPK.exe+180DF92: 8B 51 10                 - mov edx,[rcx+10]
SAN8RPK.exe+180DF95: 48 03 D1                 - add rdx,rcx
SAN8RPK.exe+180DF98: 0F B7 41 0A              - movzx eax,word ptr [rcx+0A]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>250</ID>
          <Description>"count"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_gift_cnt_addr</Address>
          <Offsets>
            <Offset>E8</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>220</ID>
      <Description>"Battleground: selected unit"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATT_SELECTED_UNIT,$process,08 0F B6 80 80 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_BATT_SELECTED_UNIT)

label(code)
label(return i_base_batt_sel_unit_addr)

newmem:
  mov [i_base_batt_sel_unit_addr], rax

code:
  movzx eax,byte ptr [rax+00000080]
  jmp return
  align 10 cc
  i_base_batt_sel_unit_addr:
  dq 0

INJECT_BATT_SELECTED_UNIT+01:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_BATT_SELECTED_UNIT i_base_batt_sel_unit_addr)

[DISABLE]

INJECT_BATT_SELECTED_UNIT+01:
  db 0F B6 80 80 00 00 00

unregistersymbol(INJECT_BATT_SELECTED_UNIT i_base_batt_sel_unit_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+1E13FC4

SAN8RPK.exe+1E13FB4: 48 83 C0 78           - add rax,78
SAN8RPK.exe+1E13FB8: C3                    - ret 
SAN8RPK.exe+1E13FB9: CC                    - int 3 
SAN8RPK.exe+1E13FBA: CC                    - int 3 
SAN8RPK.exe+1E13FBB: CC                    - int 3 
SAN8RPK.exe+1E13FBC: CC                    - int 3 
SAN8RPK.exe+1E13FBD: CC                    - int 3 
SAN8RPK.exe+1E13FBE: CC                    - int 3 
SAN8RPK.exe+1E13FBF: CC                    - int 3 
SAN8RPK.exe+1E13FC0: 48 8B 41 08           - mov rax,[rcx+08]
// ---------- INJECTING HERE ----------
SAN8RPK.exe+1E13FC4: 0F B6 80 80 00 00 00  - movzx eax,byte ptr [rax+00000080]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+1E13FCB: C3                    - ret 
SAN8RPK.exe+1E13FCC: CC                    - int 3 
SAN8RPK.exe+1E13FCD: CC                    - int 3 
SAN8RPK.exe+1E13FCE: CC                    - int 3 
SAN8RPK.exe+1E13FCF: CC                    - int 3 
SAN8RPK.exe+1E13FD0: CC                    - int 3 
SAN8RPK.exe+1E13FD1: CC                    - int 3 
SAN8RPK.exe+1E13FD2: CC                    - int 3 
SAN8RPK.exe+1E13FD3: CC                    - int 3 
SAN8RPK.exe+1E13FD4: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>221</ID>
          <Description>"Soldiers / 兵数"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_batt_sel_unit_addr</Address>
          <Offsets>
            <Offset>38</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>222</ID>
          <Description>"Will to Fight / 戦意"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_batt_sel_unit_addr</Address>
          <Offsets>
            <Offset>80</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>223</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_batt_sel_unit_addr</Address>
          <Offsets>
            <Offset>84</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"Get stats, act pt. / 行動力 (in city phase)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_ACT_PT,$process,45 0F B6 A7 EE 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_ACT_PT)

label(code)
label(return i_base_act_pt_addr)

newmem:
  mov [i_base_act_pt_addr], r15

code:
  movzx r12d,byte ptr [r15+000000EE]
  jmp return
  align 10 cc
  i_base_act_pt_addr:
  dq 0

INJECT_GET_ACT_PT:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_ACT_PT i_base_act_pt_addr)

[DISABLE]

INJECT_GET_ACT_PT:
  db 45 0F B6 A7 EE 00 00 00

unregistersymbol(INJECT_GET_ACT_PT i_base_act_pt_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+150118E

SAN8RPK.exe+1501168: 84 C0                    - test al,al
SAN8RPK.exe+150116A: 75 0D                    - jne SAN8RPK.exe+1501179
SAN8RPK.exe+150116C: BF 01 00 00 00           - mov edi,00000001
SAN8RPK.exe+1501171: 41 89 3E                 - mov [r14],edi
SAN8RPK.exe+1501174: E9 98 06 00 00           - jmp SAN8RPK.exe+1501811
SAN8RPK.exe+1501179: 45 85 E4                 - test r12d,r12d
SAN8RPK.exe+150117C: 0F 84 D5 03 00 00        - je SAN8RPK.exe+1501557
SAN8RPK.exe+1501182: 4D 85 ED                 - test r13,r13
SAN8RPK.exe+1501185: 0F 84 CC 03 00 00        - je SAN8RPK.exe+1501557
SAN8RPK.exe+150118B: 44 8B EB                 - mov r13d,ebx
// ---------- INJECTING HERE ----------
SAN8RPK.exe+150118E: 45 0F B6 A7 EE 00 00 00  - movzx r12d,byte ptr [r15+000000EE]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+1501196: 44 88 65 67              - mov [rbp+67],r12b
SAN8RPK.exe+150119A: BF 01 00 00 00           - mov edi,00000001
SAN8RPK.exe+150119F: 40 80 FE 1F              - cmp sil,1F
SAN8RPK.exe+15011A3: 0F 85 B6 00 00 00        - jne SAN8RPK.exe+150125F
SAN8RPK.exe+15011A9: 41 0F B6 8F F8 00 00 00  - movzx ecx,byte ptr [r15+000000F8]
SAN8RPK.exe+15011B1: 84 C9                    - test cl,cl
SAN8RPK.exe+15011B3: 0F 84 8D 00 00 00        - je SAN8RPK.exe+1501246
SAN8RPK.exe+15011B9: E8 D2 9F 28 00           - call SAN8RPK.exe+178B190
SAN8RPK.exe+15011BE: 0F B6 D0                 - movzx edx,al
SAN8RPK.exe+15011C1: 48 8B 0D 30 49 96 01     - mov rcx,[SAN8RPK.exe+2E65AF8]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>62</ID>
          <Description>"Enable check point #2"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_ACT_PT2,$process,41 0F B6 86 EE 00 00 00 89 85) // should be unique
alloc(newmem,$1000,INJECT_GET_ACT_PT2)

label(code)
label(return)

newmem:
  mov [i_base_act_pt_addr], r14
code:
  movzx eax,byte ptr [r14+000000EE]
  jmp return

INJECT_GET_ACT_PT2:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_ACT_PT2)

[DISABLE]

INJECT_GET_ACT_PT2:
  db 41 0F B6 86 EE 00 00 00

unregistersymbol(INJECT_GET_ACT_PT2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+1658B84

SAN8RPK.exe+1658B60: FF 12                    - call qword ptr [rdx]
SAN8RPK.exe+1658B62: 48 85 C0                 - test rax,rax
SAN8RPK.exe+1658B65: 74 07                    - je SAN8RPK.exe+1658B6E
SAN8RPK.exe+1658B67: 83 A7 04 01 00 00 BF     - and dword ptr [rdi+00000104],-41
SAN8RPK.exe+1658B6E: 48 85 DB                 - test rbx,rbx
SAN8RPK.exe+1658B71: 74 11                    - je SAN8RPK.exe+1658B84
SAN8RPK.exe+1658B73: 48 8B 03                 - mov rax,[rbx]
SAN8RPK.exe+1658B76: BA 01 00 00 00           - mov edx,00000001
SAN8RPK.exe+1658B7B: 48 8B CB                 - mov rcx,rbx
SAN8RPK.exe+1658B7E: FF 90 08 01 00 00        - call qword ptr [rax+00000108]
// ---------- INJECTING HERE ----------
SAN8RPK.exe+1658B84: 41 0F B6 86 EE 00 00 00  - movzx eax,byte ptr [r14+000000EE]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+1658B8C: 89 85 A8 01 00 00        - mov [rbp+000001A8],eax
SAN8RPK.exe+1658B92: 89 85 C4 01 00 00        - mov [rbp+000001C4],eax
SAN8RPK.exe+1658B98: 89 85 C0 01 00 00        - mov [rbp+000001C0],eax
SAN8RPK.exe+1658B9E: 44 89 A5 C8 01 00 00     - mov [rbp+000001C8],r12d
SAN8RPK.exe+1658BA5: 83 7E 10 04              - cmp dword ptr [rsi+10],04
SAN8RPK.exe+1658BA9: 7E 4A                    - jle SAN8RPK.exe+1658BF5
SAN8RPK.exe+1658BAB: 48 8B 46 08              - mov rax,[rsi+08]
SAN8RPK.exe+1658BAF: 48 8B 48 20              - mov rcx,[rax+20]
SAN8RPK.exe+1658BB3: 48 85 C9                 - test rcx,rcx
SAN8RPK.exe+1658BB6: 74 3D                    - je SAN8RPK.exe+1658BF5
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>277</ID>
          <Description>"Auto fill act pt. / 行動力"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local targetDescription = "Hero act pt. / 行動力"
local minBaseValue = 200
local checkInterval = 1000  -- 1000ms = 1秒
local validMin = 0
local validMax = 250

print("Hero Action Point Auto-Adjust Script")
print(string.format("Target: %s", targetDescription))
print(string.format("Check interval: %d ms", checkInterval))
print(string.format("Min base value: %d", minBaseValue))
print("Script enabled")

-- 創建 Timer
if heroActPtTimer then
  heroActPtTimer.Destroy()
  heroActPtTimer = nil
end

heroActPtTimer = createTimer()
heroActPtTimer.Interval = checkInterval

heroActPtTimer.OnTimer = function(timer)
  local addressList = getAddressList()

  -- 查找目標 memory record
  local targetRecord = addressList.getMemoryRecordByDescription(targetDescription)

  if not targetRecord then
    -- Memory record 不存在，跳過此次檢查
    return
  end

  -- 嘗試讀取當前值
  local currentValue = targetRecord.Value

  -- 檢查值是否 valid (能否成功讀取且為數字)
  if not currentValue or currentValue == "??" or currentValue == "" then
    -- 值無效（可能因 pointer 失效），跳過此次檢查
    return
  end

  -- 轉換為數字
  local numValue = tonumber(currentValue)
  if not numValue then
    -- 無法轉換為數字，跳過
    return
  end

  -- 檢查值是否在有效範圍內 (0-250)
  if numValue &lt; validMin or numValue &gt; validMax then
    -- 超出有效範圍，跳過
    return
  end

  -- 檢查是否小於基準值 200
  if numValue &lt; minBaseValue then
    -- 設定為 200
    targetRecord.Value = tostring(minBaseValue)
    -- print(string.format("[%s] Adjusted: %d -&gt; %d", os.date("%H:%M:%S"), numValue, minBaseValue))
  end
end

-- 啟動 Timer
heroActPtTimer.Enabled = true
closeLuaEngine()
[DISABLE]
{$lua}
if syntaxcheck then return end

-- 停止並銷毀 Timer
if heroActPtTimer then
  heroActPtTimer.Enabled = false
  heroActPtTimer.Destroy()
  heroActPtTimer = nil
  print("Hero Action Point Auto-Adjust Script disabled")
end
closeLuaEngine()
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>278</ID>
          <Description>"Auto fill Strategy Points / 戦略P"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

local targetDescription = "Hero Strategy Points / 戦略P"
local minBaseValue = 3
local checkInterval = 2000  -- 1000ms = 1秒
local validMin = 0
local validMax = 20

print("Hero Action Point Auto-Adjust Script")
print(string.format("Target: %s", targetDescription))
print(string.format("Check interval: %d ms", checkInterval))
print(string.format("Min base value: %d", minBaseValue))
print("Script enabled")

-- 創建 Timer
if heroStaPtTimer then
  heroStaPtTimer.Destroy()
  heroStaPtTimer = nil
end

heroStaPtTimer = createTimer()
heroStaPtTimer.Interval = checkInterval

heroStaPtTimer.OnTimer = function(timer)
  local addressList = getAddressList()

  local targetRecord = addressList.getMemoryRecordByDescription(targetDescription)

  if not targetRecord then
    return
  end

  local currentValue = targetRecord.Value

  if not currentValue or currentValue == "??" or currentValue == "" then
    return
  end

  local numValue = tonumber(currentValue)
  if not numValue then
    return
  end

  if numValue &lt; validMin or numValue &gt; validMax then
    return
  end

  if numValue &lt; minBaseValue then
    targetRecord.Value = tostring(minBaseValue)
    -- print(string.format("[%s] Adjusted: %d -&gt; %d", os.date("%H:%M:%S"), numValue, minBaseValue))
  end
end

heroStaPtTimer.Enabled = true
closeLuaEngine()
[DISABLE]
{$lua}
if syntaxcheck then return end

if heroStaPtTimer then
  heroStaPtTimer.Enabled = false
  heroStaPtTimer.Destroy()
  heroStaPtTimer = nil
  print("Hero Action Point Auto-Adjust Script disabled")
end
closeLuaEngine()
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>196</ID>
          <Description>"addr"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>240</ID>
          <Description>"Loyalty / 忠誠"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>EC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>197</ID>
          <Description>"Hero Strategy Points / 戦略P"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>ED</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Hero act pt. / 行動力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>EE</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Pocket money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>300</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>260</ID>
          <Description>"Appearance Year / 登場年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>32</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>261</ID>
          <Description>"Birth Year / 誕生年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>34</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>262</ID>
          <Description>"Death Year / 没年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>36</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>214</ID>
          <Description>"Honor, Fidelity / 義理"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Binary</VariableType>
          <BitStart>0</BitStart>
          <BitLength>4</BitLength>
          <ShowAsBinary>0</ShowAsBinary>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>5E</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>215</ID>
          <Description>"Strategic Tendency / 戦略傾向"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>60</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>216</ID>
          <Description>"Personality / 性格"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>64</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>199</ID>
          <Description>"Condition"</Description>
          <DropDownList DisplayValueAsItem="1">0:Healthy
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>119</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>10</ID>
          <Description>"LEA / 統率"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>AA</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"WAR / 武力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>AB</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>12</ID>
          <Description>"INT / 知力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>AC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>13</ID>
          <Description>"POL / 政治"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>AD</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"CHA / 魅力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>AE</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"LEA exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>B0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"WAR exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>B2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"INT exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>B4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"POL exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>B6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"CHA exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>B8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Civil / 文名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>104</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"Martial / 武名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>106</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Infamy / 惡名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_act_pt_addr</Address>
          <Offsets>
            <Offset>108</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"Secrets / 秘訣"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>22</ID>
              <Description>"List"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_act_pt_addr</Address>
              <Offsets>
                <Offset>C4</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>21</ID>
                  <Description>"Infantry / 步兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>23</ID>
                  <Description>"Cavalry / 騎兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>24</ID>
                  <Description>"Archer / 弓兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>25</ID>
                  <Description>"Navy / 船艦"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>26</ID>
                  <Description>"Military Strategy / 軍略"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>27</ID>
                  <Description>"Support / 補助"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>28</ID>
                  <Description>"Mystic / 遁甲"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>29</ID>
                  <Description>"Mission / 任務"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>30</ID>
                  <Description>"Strategy / 智謀"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>31</ID>
                  <Description>"Unit Type / 兵科"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>32</ID>
                  <Description>"Military / 軍事"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>86</ID>
          <Description>"Tactics"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>63</ID>
              <Description>"List"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_act_pt_addr</Address>
              <Offsets>
                <Offset>139</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>64</ID>
                  <Description>"Mighty Strike / 剛撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>65</ID>
                  <Description>"Rapid Strike / 乱撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>66</ID>
                  <Description>"Disturbance / 攪乱"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>67</ID>
                  <Description>"Fierce Charge / 猛衝"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>68</ID>
                  <Description>"Pike Wall / 槍陣"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>69</ID>
                  <Description>"Consecutive Strike	/ 連撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>70</ID>
                  <Description>"Assault / 突撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>71</ID>
                  <Description>"Surprise Attack / 急襲"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>72</ID>
                  <Description>"Horse Archery / 騎射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>73</ID>
                  <Description>"Circular Formation / 円陣"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>74</ID>
                  <Description>"Volley / 斉射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>75</ID>
                  <Description>"Rapid Fire / 乱射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>76</ID>
                  <Description>"Fire Arrow / 火矢"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>77</ID>
                  <Description>"Long Range / 遠射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>78</ID>
                  <Description>"Arrow Rain / 箭雨"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>79</ID>
                  <Description>"Fire Arrow (Naval) / 火箭"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>80</ID>
                  <Description>"Melee / 混戦"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>81</ID>
                  <Description>"Chain / 連環"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+11</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>82</ID>
                  <Description>"Pierce / 突貫"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+12</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>83</ID>
                  <Description>"Explosive Ship / 爆船"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+13</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>87</ID>
                  <Description>"Blaze / 烈火"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>88</ID>
                  <Description>"Torrent / 激流"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+15</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>89</ID>
                  <Description>"Falling Rocks / 落石"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+16</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>90</ID>
                  <Description>"Ambush / 伏撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+17</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>91</ID>
                  <Description>"Infighting / 相残"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+18</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>92</ID>
                  <Description>"Rouse / 奮起"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+19</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>93</ID>
                  <Description>"Inspire / 鼓舞"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>94</ID>
                  <Description>"Taunt / 謾罵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>95</ID>
                  <Description>"Heal / 治療"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>96</ID>
                  <Description>"Aura / Revelation / 天啓"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>97</ID>
                  <Description>"Wind Change / 風変"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>98</ID>
                  <Description>"Weather Change / 天変"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>99</ID>
                  <Description>"Sorcery / 妖術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>100</ID>
                  <Description>"Illusion / 幻術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+21</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>101</ID>
                  <Description>"Lightning / 落雷"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+22</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>139</ID>
          <Description>"Skills"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>140</ID>
              <Description>"List"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_act_pt_addr</Address>
              <Offsets>
                <Offset>1D0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>141</ID>
                  <Description>"Cultivation / 耕作"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>142</ID>
                  <Description>"Commerce / 商才"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>143</ID>
                  <Description>"Engineering / 築城"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>144</ID>
                  <Description>"Vigilance / 戒備"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>145</ID>
                  <Description>"Invention / 発明"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>146</ID>
                  <Description>"Natural Talent / 天資"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>147</ID>
                  <Description>"Negotiation / 交渉"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>148</ID>
                  <Description>"False Report / 偽報"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>149</ID>
                  <Description>"Stratagem / 施計"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>150</ID>
                  <Description>"Oratory / 話術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>151</ID>
                  <Description>"Debate / 激弁"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>152</ID>
                  <Description>"Mastermind / 鬼謀"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>153</ID>
                  <Description>"Infantry Commander / 歩将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>154</ID>
                  <Description>"Cavalry Commander / 騎将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>155</ID>
                  <Description>"Archer Commander / 弓将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>156</ID>
                  <Description>"Naval Training / 水練"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>157</ID>
                  <Description>"Siege Mastery / 操器"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>158</ID>
                  <Description>"Divine Strategy / 神算"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+11</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>159</ID>
                  <Description>"Support / 支援"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+12</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>160</ID>
                  <Description>"Gate Crasher / 破城"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+13</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>161</ID>
                  <Description>"March / 行軍"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>162</ID>
                  <Description>"Strength / 臂力"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+15</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>163</ID>
                  <Description>"Decisive / 果敢"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+16</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>164</ID>
                  <Description>"Majesty / 威風"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+17</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>264</ID>
          <Description>"**Danger Zone** - Dynamic Data"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>265</ID>
              <Description>"Unique Talent / 奇才"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>266</ID>
                  <Description>"#1"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>88</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>267</ID>
                  <Description>"#2"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>90</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>268</ID>
              <Description>"Role, force &amp; city dynamic ID"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>269</ID>
                  <Description>"StatusData (Status / 身分)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>270</ID>
                  <Description>"ForceData (Affiliation / 所属)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>271</ID>
                  <Description>"CityData (location)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>20</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>272</ID>
                  <Description>"ClassData"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_act_pt_addr</Address>
                  <Offsets>
                    <Offset>F0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"Set min. action pt per turn"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_ACT_PER_TURN,$process,80 BF EE 00 00 00 14) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_ACT_PER_TURN)

label(code)
label(return)

newmem:
  cmp byte ptr [rdi+000000EE], DC
  jae code
  mov byte ptr [rdi+000000EE], DC

code:
  cmp byte ptr [rdi+000000EE],14
  jmp return

INJECT_SET_MIN_ACT_PER_TURN:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_MIN_ACT_PER_TURN)

[DISABLE]

INJECT_SET_MIN_ACT_PER_TURN:
  db 80 BF EE 00 00 00 14

unregistersymbol(INJECT_SET_MIN_ACT_PER_TURN)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+180F930

SAN8RPK.exe+180F90C: 75 22                    - jne SAN8RPK.exe+180F930
SAN8RPK.exe+180F90E: 48 8B 0D 2B CA 65 01     - mov rcx,[SAN8RPK.exe+2E6C340]
SAN8RPK.exe+180F915: 8B 41 1C                 - mov eax,[rcx+1C]
SAN8RPK.exe+180F918: 0B 41 04                 - or eax,[rcx+04]
SAN8RPK.exe+180F91B: 0B 01                    - or eax,[rcx]
SAN8RPK.exe+180F91D: 75 11                    - jne SAN8RPK.exe+180F930
SAN8RPK.exe+180F91F: 39 41 14                 - cmp [rcx+14],eax
SAN8RPK.exe+180F922: 75 0C                    - jne SAN8RPK.exe+180F930
SAN8RPK.exe+180F924: E8 87 B0 B5 FF           - call SAN8RPK.exe+136A9B0
SAN8RPK.exe+180F929: 4C 8B 0D C8 61 65 01     - mov r9,[SAN8RPK.exe+2E65AF8]
// ---------- INJECTING HERE ----------
SAN8RPK.exe+180F930: 80 BF EE 00 00 00 14     - cmp byte ptr [rdi+000000EE],14
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+180F937: 73 1C                    - jae SAN8RPK.exe+180F955
SAN8RPK.exe+180F939: 41 0F B7 81 BC 5B 00 00  - movzx eax,word ptr [r9+00005BBC]
SAN8RPK.exe+180F941: B9 FF FF 00 00           - mov ecx,0000FFFF
SAN8RPK.exe+180F946: FF C0                    - inc eax
SAN8RPK.exe+180F948: 3B C1                    - cmp eax,ecx
SAN8RPK.exe+180F94A: 0F 47 C1                 - cmova eax,ecx
SAN8RPK.exe+180F94D: 66 41 89 81 BC 5B 00 00  - mov [r9+00005BBC],ax
SAN8RPK.exe+180F955: E8 C6 F6 89 FE           - call SAN8RPK.exe+AF020
SAN8RPK.exe+180F95A: 48 8B 18                 - mov rbx,[rax]
SAN8RPK.exe+180F95D: 48 8B CB                 - mov rcx,rbx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>33</ID>
      <Description>"Selected char stat in basic data"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_SELECTED_CHAR_STATS,$process,0F B6 8C 18 A9 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_SELECTED_CHAR_STATS)

label(code)
label(return i_base_sel_char_stat)

newmem:
  lea rdi, [rbx]
  mov [i_base_sel_char_stat], rdi

code:
  movzx ecx,byte ptr [rax+rbx+000000A9]
  jmp return
  align 10 cc
  i_base_sel_char_stat:
  dq 0

INJECT_GET_SELECTED_CHAR_STATS:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_SELECTED_CHAR_STATS i_base_sel_char_stat)

[DISABLE]

INJECT_GET_SELECTED_CHAR_STATS:
  db 0F B6 8C 18 A9 00 00 00

unregistersymbol(INJECT_GET_SELECTED_CHAR_STATS i_base_sel_char_stat)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+177C957

SAN8RPK.exe+177C937: 8D 4F FF                 - lea ecx,[rdi-01]
SAN8RPK.exe+177C93A: 0F B6 D0                 - movzx edx,al
SAN8RPK.exe+177C93D: 80 F9 04                 - cmp cl,04
SAN8RPK.exe+177C940: 76 11                    - jna SAN8RPK.exe+177C953
SAN8RPK.exe+177C942: 32 C9                    - xor cl,cl
SAN8RPK.exe+177C944: 48 8B 5C 24 30           - mov rbx,[rsp+30]
SAN8RPK.exe+177C949: 48 83 C4 20              - add rsp,20
SAN8RPK.exe+177C94D: 5F                       - pop rdi
SAN8RPK.exe+177C94E: E9 BD 19 01 00           - jmp SAN8RPK.exe+178E310
SAN8RPK.exe+177C953: 40 0F B6 C7              - movzx eax,dil
// ---------- INJECTING HERE ----------
SAN8RPK.exe+177C957: 0F B6 8C 18 A9 00 00 00  - movzx ecx,byte ptr [rax+rbx+000000A9]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+177C95F: 48 8B 5C 24 30           - mov rbx,[rsp+30]
SAN8RPK.exe+177C964: 48 83 C4 20              - add rsp,20
SAN8RPK.exe+177C968: 5F                       - pop rdi
SAN8RPK.exe+177C969: E9 A2 19 01 00           - jmp SAN8RPK.exe+178E310
SAN8RPK.exe+177C96E: 48 8B 5C 24 30           - mov rbx,[rsp+30]
SAN8RPK.exe+177C973: 33 C0                    - xor eax,eax
SAN8RPK.exe+177C975: 48 83 C4 20              - add rsp,20
SAN8RPK.exe+177C979: 5F                       - pop rdi
SAN8RPK.exe+177C97A: C3                       - ret 
SAN8RPK.exe+177C97B: CC                       - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>263</ID>
          <Description>"Enable check point #2"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_SELECTED_CHAR_STATS2,$process,0F B6 84 38 A9 00 00 00 0F B6 C0 4C) // should be unique
alloc(newmem,$1000,INJECT_GET_SELECTED_CHAR_STATS2)

label(code)
label(return)

newmem:
  lea r9, [rdi]
  mov [i_base_sel_char_stat], r9

code:
  movzx eax,byte ptr [rax+rdi+000000A9]
  jmp return

INJECT_GET_SELECTED_CHAR_STATS2:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_SELECTED_CHAR_STATS2)

[DISABLE]

INJECT_GET_SELECTED_CHAR_STATS2:
  db 0F B6 84 38 A9 00 00 00

unregistersymbol(INJECT_GET_SELECTED_CHAR_STATS2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+16EE983

SAN8RPK.exe+16EE965: 66 0F 6E C0              - movd xmm0,eax
SAN8RPK.exe+16EE969: 8D 46 FF                 - lea eax,[rsi-01]
SAN8RPK.exe+16EE96C: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
SAN8RPK.exe+16EE96F: F3 0F 59 C8              - mulss xmm1,xmm0
SAN8RPK.exe+16EE973: F3 0F 5C D1              - subss xmm2,xmm1
SAN8RPK.exe+16EE977: 3C 04                    - cmp al,04
SAN8RPK.exe+16EE979: 76 04                    - jna SAN8RPK.exe+16EE97F
SAN8RPK.exe+16EE97B: 32 C0                    - xor al,al
SAN8RPK.exe+16EE97D: EB 0C                    - jmp SAN8RPK.exe+16EE98B
SAN8RPK.exe+16EE97F: 40 0F B6 C6              - movzx eax,sil
// ---------- INJECTING HERE ----------
SAN8RPK.exe+16EE983: 0F B6 84 38 A9 00 00 00  - movzx eax,byte ptr [rax+rdi+000000A9]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+16EE98B: 0F B6 C0                 - movzx eax,al
SAN8RPK.exe+16EE98E: 4C 8B CD                 - mov r9,rbp
SAN8RPK.exe+16EE991: 4D 8B C6                 - mov r8,r14
SAN8RPK.exe+16EE994: 40 0F B6 D6              - movzx edx,sil
SAN8RPK.exe+16EE998: 48 8B CF                 - mov rcx,rdi
SAN8RPK.exe+16EE99B: 66 0F 6E C0              - movd xmm0,eax
SAN8RPK.exe+16EE99F: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
SAN8RPK.exe+16EE9A2: F3 0F 59 C2              - mulss xmm0,xmm2
SAN8RPK.exe+16EE9A6: F3 0F 59 05 6E 03 09 01  - mulss xmm0,[SAN8RPK.exe+277ED1C]
SAN8RPK.exe+16EE9AE: F3 0F 2C D8              - cvttss2si ebx,xmm0
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Base"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>194</ID>
          <Description>"Loyalty / 忠誠"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>EC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>198</ID>
          <Description>"Strategy Points / 戦略P"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>ED</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>195</ID>
          <Description>"Act pt. / 行動力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>EE</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"Pocket money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>300</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>257</ID>
          <Description>"Appearance Year / 登場年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>32</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>258</ID>
          <Description>"Birth Year / 誕生年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>34</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>259</ID>
          <Description>"Death Year / 没年"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>36</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>204</ID>
          <Description>"Honor, Fidelity / 義理"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Binary</VariableType>
          <BitStart>0</BitStart>
          <BitLength>4</BitLength>
          <ShowAsBinary>0</ShowAsBinary>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>5E</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>213</ID>
          <Description>"Strategic Tendency / 戦略傾向"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>60</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>212</ID>
          <Description>"Personality / 性格"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>64</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>217</ID>
          <Description>"Condition"</Description>
          <DropDownList DisplayValueAsItem="1">0:Healthy
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>119</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>200</ID>
          <Description>"LEA / 統率"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>AA</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>35</ID>
          <Description>"WAR / 武力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>AB</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>36</ID>
          <Description>"INT / 知力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>AC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"POL / 政治"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>AD</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>38</ID>
          <Description>"CHA / 魅力"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>AE</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>39</ID>
          <Description>"LEA exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>B0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>40</ID>
          <Description>"WAR exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>B2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"INT exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>B4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"POL exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>B6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>43</ID>
          <Description>"CHA exp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>B8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"Merit / 功績"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>100</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>210</ID>
          <Description>"Civil / 文名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>104</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>47</ID>
          <Description>"Martial / 武名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>106</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>48</ID>
          <Description>"Infamy / 惡名"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>108</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>256</ID>
          <Description>"(End of data)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sel_char_stat</Address>
          <Offsets>
            <Offset>3CC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>85</ID>
          <Description>"Secrets / 秘訣"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>49</ID>
              <Description>"List"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_sel_char_stat</Address>
              <Offsets>
                <Offset>C4</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>50</ID>
                  <Description>"Infantry / 步兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>51</ID>
                  <Description>"Cavalry / 騎兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>52</ID>
                  <Description>"Archer / 弓兵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>53</ID>
                  <Description>"Navy / 船艦"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>54</ID>
                  <Description>"Military Strategy / 軍略"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>55</ID>
                  <Description>"Support / 補助"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>56</ID>
                  <Description>"Mystic / 遁甲"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>57</ID>
                  <Description>"Mission / 任務"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>58</ID>
                  <Description>"Strategy / 智謀"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>59</ID>
                  <Description>"Unit Type / 兵科"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>60</ID>
                  <Description>"Military / 軍事"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>102</ID>
          <Description>"Tactics"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>103</ID>
              <Description>"List"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_sel_char_stat</Address>
              <Offsets>
                <Offset>139</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>104</ID>
                  <Description>"Mighty Strike / 剛撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>105</ID>
                  <Description>"Rapid Strike / 乱撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>106</ID>
                  <Description>"Disturbance / 攪乱"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>107</ID>
                  <Description>"Fierce Charge / 猛衝"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>108</ID>
                  <Description>"Pike Wall / 槍陣"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>109</ID>
                  <Description>"Consecutive Strike	/ 連撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>110</ID>
                  <Description>"Assault / 突撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>111</ID>
                  <Description>"Surprise Attack / 急襲"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>112</ID>
                  <Description>"Horse Archery / 騎射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>113</ID>
                  <Description>"Circular Formation / 円陣"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>114</ID>
                  <Description>"Volley / 斉射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>115</ID>
                  <Description>"Rapid Fire / 乱射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>116</ID>
                  <Description>"Fire Arrow / 火矢"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>117</ID>
                  <Description>"Long Range / 遠射"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>118</ID>
                  <Description>"Arrow Rain / 箭雨"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>119</ID>
                  <Description>"Fire Arrow (Naval) / 火箭"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>120</ID>
                  <Description>"Melee / 混戦"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>121</ID>
                  <Description>"Chain / 連環"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+11</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>122</ID>
                  <Description>"Pierce / 突貫"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+12</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>123</ID>
                  <Description>"Explosive Ship / 爆船"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+13</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>124</ID>
                  <Description>"Blaze / 烈火"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>125</ID>
                  <Description>"Torrent / 激流"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+15</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>126</ID>
                  <Description>"Falling Rocks / 落石"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+16</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>127</ID>
                  <Description>"Ambush / 伏撃"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+17</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>128</ID>
                  <Description>"Infighting / 相残"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+18</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>129</ID>
                  <Description>"Rouse / 奮起"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+19</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>130</ID>
                  <Description>"Inspire / 鼓舞"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>131</ID>
                  <Description>"Taunt / 謾罵"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>132</ID>
                  <Description>"Heal / 治療"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>133</ID>
                  <Description>"Aura / Revelation / 天啓"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>134</ID>
                  <Description>"Wind Change / 風変"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>135</ID>
                  <Description>"Weather Change / 天変"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>136</ID>
                  <Description>"Sorcery / 妖術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>137</ID>
                  <Description>"Illusion / 幻術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+21</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>138</ID>
                  <Description>"Lightning / 落雷"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+22</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>165</ID>
          <Description>"Skills"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>166</ID>
              <Description>"List"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>i_base_sel_char_stat</Address>
              <Offsets>
                <Offset>1D0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>167</ID>
                  <Description>"Cultivation / 耕作"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>168</ID>
                  <Description>"Commerce / 商才"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>169</ID>
                  <Description>"Engineering / 築城"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>170</ID>
                  <Description>"Vigilance / 戒備"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+3</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>171</ID>
                  <Description>"Invention / 発明"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>172</ID>
                  <Description>"Natural Talent / 天資"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>173</ID>
                  <Description>"Negotiation / 交渉"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+6</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>174</ID>
                  <Description>"False Report / 偽報"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+7</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>175</ID>
                  <Description>"Stratagem / 施計"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>176</ID>
                  <Description>"Oratory / 話術"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>177</ID>
                  <Description>"Debate / 激弁"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+A</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>178</ID>
                  <Description>"Mastermind / 鬼謀"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+B</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>179</ID>
                  <Description>"Infantry Commander / 歩将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>180</ID>
                  <Description>"Cavalry Commander / 騎将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+D</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>181</ID>
                  <Description>"Archer Commander / 弓将"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>182</ID>
                  <Description>"Naval Training / 水練"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>183</ID>
                  <Description>"Siege Mastery / 操器"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>184</ID>
                  <Description>"Divine Strategy / 神算"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+11</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>185</ID>
                  <Description>"Support / 支援"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+12</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>186</ID>
                  <Description>"Gate Crasher / 破城"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+13</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>187</ID>
                  <Description>"March / 行軍"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>188</ID>
                  <Description>"Strength / 臂力"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+15</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>189</ID>
                  <Description>"Decisive / 果敢"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+16</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>190</ID>
                  <Description>"Majesty / 威風"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>+17</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>242</ID>
          <Description>"**Danger Zone** - Dynamic Data"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>241</ID>
              <Description>"Unique Talent / 奇才"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>243</ID>
                  <Description>"#1"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>88</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>244</ID>
                  <Description>"#2"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>90</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>245</ID>
              <Description>"Role, force &amp; city dynamic ID"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>246</ID>
                  <Description>"StatusData (Status / 身分)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>247</ID>
                  <Description>"ForceData (Affiliation / 所属)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>248</ID>
                  <Description>"CityData (location)"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>20</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>252</ID>
                  <Description>"ClassData"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_sel_char_stat</Address>
                  <Offsets>
                    <Offset>F0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>225</ID>
      <Description>"Get selected city stat from info. menu"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : SAN8RPK.exe
  Version: 
  Date   : 2026-02-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_CITY_STAT,$process,0F B7 83 D6 00 00 00 EB ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? D2 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_CITY_STAT)

label(code)
label(return i_base_city_stat_addr)

newmem:
  mov [i_base_city_stat_addr], rbx

code:
  movzx eax,word ptr [rbx+000000D6]
  jmp return
  align 10 cc
  i_base_city_stat_addr:
  dq 0

INJECT_GET_CITY_STAT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_CITY_STAT i_base_city_stat_addr)

[DISABLE]

INJECT_GET_CITY_STAT:
  db 0F B7 83 D6 00 00 00

unregistersymbol(INJECT_GET_CITY_STAT i_base_city_stat_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SAN8RPK.exe+1CCC2B9

SAN8RPK.exe+1CCC29C: 83 E9 01              - sub ecx,01
SAN8RPK.exe+1CCC29F: 74 21                 - je SAN8RPK.exe+1CCC2C2
SAN8RPK.exe+1CCC2A1: 83 E9 01              - sub ecx,01
SAN8RPK.exe+1CCC2A4: 74 13                 - je SAN8RPK.exe+1CCC2B9
SAN8RPK.exe+1CCC2A6: 83 F9 01              - cmp ecx,01
SAN8RPK.exe+1CCC2A9: 74 05                 - je SAN8RPK.exe+1CCC2B0
SAN8RPK.exe+1CCC2AB: 0F B7 C6              - movzx eax,si
SAN8RPK.exe+1CCC2AE: EB 2B                 - jmp SAN8RPK.exe+1CCC2DB
SAN8RPK.exe+1CCC2B0: 0F B7 83 DA 00 00 00  - movzx eax,word ptr [rbx+000000DA]
SAN8RPK.exe+1CCC2B7: EB 22                 - jmp SAN8RPK.exe+1CCC2DB
// ---------- INJECTING HERE ----------
SAN8RPK.exe+1CCC2B9: 0F B7 83 D6 00 00 00  - movzx eax,word ptr [rbx+000000D6]
// ---------- DONE INJECTING  ----------
SAN8RPK.exe+1CCC2C0: EB 19                 - jmp SAN8RPK.exe+1CCC2DB
SAN8RPK.exe+1CCC2C2: 0F B6 83 DE 00 00 00  - movzx eax,byte ptr [rbx+000000DE]
SAN8RPK.exe+1CCC2C9: EB 10                 - jmp SAN8RPK.exe+1CCC2DB
SAN8RPK.exe+1CCC2CB: 0F B7 83 D2 00 00 00  - movzx eax,word ptr [rbx+000000D2]
SAN8RPK.exe+1CCC2D2: EB 07                 - jmp SAN8RPK.exe+1CCC2DB
SAN8RPK.exe+1CCC2D4: 0F B7 83 CE 00 00 00  - movzx eax,word ptr [rbx+000000CE]
SAN8RPK.exe+1CCC2DB: 44 0F B7 E0           - movzx r12d,ax
SAN8RPK.exe+1CCC2DF: 48 8B 05 12 98 19 01  - mov rax,[SAN8RPK.exe+2E65AF8]
SAN8RPK.exe+1CCC2E6: 4C 8B B0 D0 00 00 00  - mov r14,[rax+000000D0]
SAN8RPK.exe+1CCC2ED: 4D 85 F6              - test r14,r14
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>226</ID>
          <Description>"Gold / 金銭"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>BC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>236</ID>
          <Description>"Provisions / 軍糧"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>C0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>237</ID>
          <Description>"Troops / 士兵 (Current)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>C4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>239</ID>
          <Description>"Troops / 士兵 (Capacity)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>100</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>238</ID>
          <Description>"Military Population / 兵役人口"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>C8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>235</ID>
          <Description>"Development / 開發"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>CE</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>227</ID>
          <Description>"Development max"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>D0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>228</ID>
          <Description>"Commerce / 商業"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>D2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>229</ID>
          <Description>"Commerce max"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>D4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>232</ID>
          <Description>"Technology / 技術"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>DA</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>233</ID>
          <Description>"Technology max"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>DC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>230</ID>
          <Description>"Defense / 防禦"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>D6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>231</ID>
          <Description>"Defense max"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>D8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>234</ID>
          <Description>"Public Order / 治安"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_city_stat_addr</Address>
          <Offsets>
            <Offset>DE</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>279</ID>
      <Description>"San8 Remark Powerup kit / 三國志8 REMAKE パワーアップキット  /  https://opencheattables.com  /  CE 7.6"</Description>
      <Color>009D00</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>--[[
[ENABLE]
{$lua}
if syntaxcheck then return end
]]--
-- **デバッグモードの設定 (デフォルト: 無効)**
local debugMode = false

-- AOBScanModule関数
if not AOBScanModule then
    function AOBScanModule(moduleName, signature, scanOptions)
        local baseAddr = nil
        local maxAddr = 0
        local modList

        synchronize(function()
            modList = enumModules()
        end)

        for _, mod in ipairs(modList) do
            if string.lower(mod.Name) == string.lower(moduleName) then
                baseAddr = mod.Address
                maxAddr = baseAddr + mod.Size
                break
            end
        end

        if not baseAddr then
            if debugMode then print("❗ Error: Module " .. moduleName .. " not found!") end
            return nil
        end

        if debugMode then
            print(string.format("✔️ %s Base Address: 0x%X", moduleName, baseAddr))
            print(string.format("🔬 Scanning Range: 0x%X - 0x%X", baseAddr, maxAddr))
        end

        local ms = createMemScan()

        synchronize(function()
            ms.firstScan(
                soExactValue,
                vtByteArray,
                nil,
                signature,
                nil,
                baseAddr,
                maxAddr,
                scanOptions or "+X+R",
                fsmNotAligned,
                "1",
                true,
                true,
                false,
                false
            )
        end)

        ms.waitTillDone()

        local results = createFoundList(ms)
        results.initialize()

        local addr
        synchronize(function()
            if results.getCount() &gt; 0 then
                addr = results[0]
            end
        end)

        if addr then
            if debugMode then print("🔦 AOB found at: 0x" .. addr) end
        else
            if debugMode then print("💔 AOB not found in " .. moduleName) end
        end

        results.destroy()
        ms.destroy()
        return addr
    end
end

registerLuaFunctionHighlight('AOBScanModule')

--[[
test AOBScanModule()
local aob_addr_str = AOBScanModule("???.exe", "48 8B 05 ?? ?? ?? ?? 33 ED 48 8B 88", "+X+R")
if aob_addr_str then
    print("🔦 Final AOB Address: 0x" .. aob_addr_str)
else
    print("💔 AOB not found in ???.exe")
end
]]--

-- AOBScanModuleN関数
if not AOBScanModuleN then
    function AOBScanModuleN(moduleName, signature, maxResults, scanOptions)
        local baseAddr = nil
        local maxAddr = 0
        local modList

        synchronize(function()
            modList = enumModules()
        end)

        for _, mod in ipairs(modList) do
            if string.lower(mod.Name) == string.lower(moduleName) then
                baseAddr = mod.Address
                maxAddr = baseAddr + mod.Size
                break
            end
        end

        if not baseAddr then
            if debugMode then print("❗ Error: Module " .. moduleName .. " not found!") end
            return nil
        end

        if debugMode then
            print(string.format("✔️ %s Base Address: 0x%X", moduleName, baseAddr))
            print(string.format("🔬 Scanning Range: 0x%X - 0x%X", baseAddr, maxAddr))
        end

        local ms = createMemScan()

        synchronize(function()
            ms.firstScan(
                soExactValue,
                vtByteArray,
                nil,
                signature,
                nil,
                baseAddr,
                maxAddr,
                scanOptions or "+X+R",
                fsmNotAligned,
                "1",
                true,
                true,
                false,
                false
            )
        end)

        ms.waitTillDone()

        local results = createFoundList(ms)
        results.initialize()

        local addrs = {}
        synchronize(function()
            local count = results.getCount()
            for i = 0, math.min(maxResults - 1, count - 1) do
                table.insert(addrs, results[i])
                if debugMode then
                    print(string.format("🔦 AOB[%d] found at: 0x%s", i + 1, results[i]))
                end
            end
        end)

        if #addrs == 0 and debugMode then
            print("💔 AOB not found in " .. moduleName)
        end

        results.destroy()
        ms.destroy()

        return addrs
    end
end

registerLuaFunctionHighlight('AOBScanModuleN')


-- 搜尋並取出最多5筆結果
--[[
local list = AOBScanModuleN("GameModule.exe", "12 34 56 ?? 78", 5)

if list then
    for i, addr in ipairs(list) do
        print(string.format("地址 %d: 0x%s", i, addr))
    end
end
]]--


-- Lua scripts that table checkbox will not be checked with "NO_ACTIVATE" in comment/script body
if not onMemRecPostExecute then
    function onMemRecPostExecute(memoryrecord, newState, succeeded)
        if memoryrecord.Type == vtAutoAssembler and memoryrecord.Script:find("NO_ACTIVATE") and newState and succeeded then
            synchronize(function()
                memoryrecord.disableWithoutExecute()
            end)
        end
    end
end

-- Memory record IDs now allowed to be 'locked'
IDs = {999999, 9999999}

-- Determine event trigger sequence
if not contains then
    function contains(table, val)
       for i = 1, #table do
          if table[i] == val then
             return true
          end
       end
       return false
    end
end

if not onMemRecPreExecute then
    function onMemRecPreExecute(memoryrecord, newstate)
        if contains(IDs, memoryrecord.ID) and newstate then
            synchronize(function()
                if not memoryrecord.OnActivate then
                    memoryrecord.OnActivate = function(memoryrecord, before, currentstate)
                        return false
                    end
                end
            end)
        end
    end
end

-- Utility Functions
-- Clear lua engine log
if not clearLuaLog then
    function clearLuaLog()
        synchronize(function()
          getLuaEngine().MenuItem5.doClick()
        end)
    end
end
registerLuaFunctionHighlight('clearLuaLog')

-- Close lua engine log
if not closeLuaEngine then
    function closeLuaEngine()
        synchronize(function()
          getLuaEngine().Close()
        end)
    end
end
registerLuaFunctionHighlight('closeLuaEngine')

-- Clear lua engine log &amp; close lua engine
if not closeLuaEngine2 then
    function closeLuaEngine2()
        synchronize(function()
          getLuaEngine().MenuItem5.doClick()
          getLuaEngine().Close()
        end)
    end
end
registerLuaFunctionHighlight('closeLuaEngine2')

if not getProcessNameFromPID then
	function getProcessNameFromPID(pid)
	  local sl = createStringList()
	  getProcessList(sl)
	  local hexPid = string.format("%X", pid):upper()

	  for i = 0, sl.Count - 1 do
		local entry = sl[i]
		local hexid, name = entry:match("^(%x+)%-(.+)$")
		if hexid and name then
		  if tonumber(hexid, 16) == pid then
			return name
		  end
		end
	  end
	  return "(unknown)"
	end
end
registerLuaFunctionHighlight('getProcessNameFromPID')

if not printProcessInfo then
	function printProcessInfo()
	  local pid = getOpenedProcessID()
	  local name = getProcessNameFromPID(pid)
	  print(string.format("📎 Attached to process: %s (PID: %d / 0x%X)", name, pid, pid))
	end
end
registerLuaFunctionHighlight('printProcessInfo')

if not dumpProcessListAndFindPID then
	function dumpProcessListAndFindPID()
	  local pid = getOpenedProcessID()
	  print(string.format("💭 Current PID: %d / 0x%X", pid, pid))

	  local sl = createStringList()
	  getProcessList(sl)

	  print("🧾 Dumping process list:")
	  for i = 0, sl.Count - 1 do
		local entry = sl[i]
		print(string.format("[%d] %s", i, entry))

		-- 嘗試解析並比對 PID
		local name, hexid = entry:match("(.+)%-(%x+)$")
		if name and hexid then
		  local parsed = tonumber(hexid, 16)
		  if parsed == pid then
			print("🔦 Match found in process list:")
			print(string.format("Name: %s | PID: %s (0x%s)", name, parsed, hexid))
		  end
		end
	  end
	end
end
registerLuaFunctionHighlight('dumpProcessListAndFindPID')

if not toHex32 then
	function toHex32(num)
		local hexstr = "0123456789ABCDEF"
		local result = ""
		if num &lt; 0 then
			num = (num + (1 &lt;&lt; 32)) % (1 &lt;&lt; 32) -- 轉成32-bit補數
		end
		for i = 1, 8 do -- 32-bit 一共8個hex位
			local n = num &amp; 0xF -- 取最低4 bit
			result = hexstr:sub(n + 1, n + 1) .. result
			num = num &gt;&gt; 4 -- 右移4 bit
		end
		return result
	end
end
registerLuaFunctionHighlight('toHex32')

if not toHex then
	function toHex(num)
		local hexstr = "0123456789ABCDEF"
		local result = ""
		if num &lt; 0 then
			num = (num + (1 &lt;&lt; 64)) % (1 &lt;&lt; 64)  -- 轉成64-bit補數
		end
		for i = 1, 16 do -- 每4 bit 一個 hex字，64-bit總共16個hex位
			local n = num &amp; 0xF -- 取最低4bit
			result = hexstr:sub(n + 1, n + 1) .. result
			num = num &gt;&gt; 4 -- 右移4bit
		end
		return result
	end
end	
registerLuaFunctionHighlight('toHex')

synchronize(function() AddressList.Header.OnSectionClick = nil end)
--[[
[DISABLE]
{$lua}

if AOBScanModule then
    AOBScanModule = nil
end
if onMemRecPostExecute then
    onMemRecPostExecute = nil
end
if onMemRecPreExecute then
    onMemRecPreExecute = nil
end
if clearLuaLog then
    clearLuaLog = nil
end
if closeLuaEngine then
    closeLuaEngine = nil
end
if closeLuaEngine2 then
    closeLuaEngine2 = nil
end
]]--
</LuaScript>
</CheatTable>
