<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>26721</ID>
      <Description>"CE compact mode"</Description>
      <Color>FF0000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
function CECompactMode(state)
  local f = getMainForm()
  local controls = {f.Splitter1, f.Panel4, f.Panel5}
  for k,c in ipairs(controls) do c.Visible = not state end
end
CECompactMode(true)
{$asm}
[DISABLE]
{$lua}
CECompactMode(false)
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>9210</ID>
      <Description>"Attach CE to game process"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>FF0000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
OpenProcess("Arcanum.exe")
{$asm}
[DISABLE]

</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Activate</Action>
          <Keys>
            <Key>18</Key>
            <Key>45</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
        </Hotkey>
        <Hotkey>
          <Action>Deactivate</Action>
          <Keys>
            <Key>18</Key>
            <Key>46</Key>
          </Keys>
          <ID>1</ID>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>17</Key>
            <Key>99</Key>
          </Keys>
          <ID>2</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry>
          <ID>403</ID>
          <Description>"Action Points"</Description>
          <Color>FF8000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Arcanum.exe+1FC234</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>579</ID>
          <Description>"Character Stats [Usage: open character cheet]"</Description>
          <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
          <Color>FF0000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(code_char,Arcanum.exe,8B 4F 50 8D 14 81 8D 44 24 10)
alloc(mem_char,$1000)

label(code)
label(return)
label(ptr_char)
label(ptr_main_stats)
label(ptr_skills)
label(ptr_tech)
label(ptr_spells)

mem_char:

code:
  mov ecx,[edi+50] // Access character sheet memory
  lea edx,[ecx+eax*4] // This code calculates substructure address which field value will read later

  // at this moment character and it's substructures base addresses can be obtained

  cmp ebx,[Arcanum.exe+24E010] // this static address contains ID (hash) of the character whose sheet is currently opened
  jne return // skip irrelevant data

  mov eax,edi
  mov [ptr_char],eax

  test edx,edx
  je return
  mov eax,[edx] // hint: list relevant structures with 'Find out what access this address'

  // ESI holds a kind of substructure ID

  cmp esi,DC
  jne @f
  mov [ptr_main_stats],eax // main stats (dexterity, etc...)
@@:
  cmp esi,DD
  jne @f
  mov [ptr_skills],eax // general skills (dodge, etc)
@@:
  cmp esi,DE
  jne @f
  mov [ptr_tech],eax // tech skills  (repair, etc)
@@:
  cmp esi,DF
  jne @f
  mov [ptr_spells],eax // tech disciplines (herbology, etc) and spells (conveyance, etc)
@@:
  jmp return

ptr_char:
  dd 0
ptr_main_stats:
  dd 0
ptr_skills:
  dd 0
ptr_tech:
  dd 0
ptr_spells:
  dd 0

code_char:
  jmp mem_char
  nop

return:
registersymbol(code_char)
registersymbol(ptr_char)
registersymbol(ptr_main_stats)
registersymbol(ptr_skills)
registersymbol(ptr_tech)
registersymbol(ptr_spells)

[DISABLE]

code_char:
  db 8B 4F 50 8D 14 81

unregistersymbol(*)
dealloc(mem_char)

{
// ORIGINAL CODE - INJECTION POINT: Arcanum.exe.text+7C46

Arcanum.exe.text+7C30: 50              - push eax
Arcanum.exe.text+7C31: 56              - push esi
Arcanum.exe.text+7C32: 57              - push edi
Arcanum.exe.text+7C33: E8 18 47 00 00  - call Arcanum.exe.text+C350
Arcanum.exe.text+7C38: 83 C4 0C        - add esp,0C
Arcanum.exe.text+7C3B: 85 C0           - test eax,eax
Arcanum.exe.text+7C3D: 74 20           - je Arcanum.exe.text+7C5F
Arcanum.exe.text+7C3F: 56              - push esi
Arcanum.exe.text+7C40: 57              - push edi
Arcanum.exe.text+7C41: E8 EA 45 00 00  - call Arcanum.exe.text+C230
// ---------- INJECTING HERE ----------
Arcanum.exe.text+7C46: 8B 4F 50        - mov ecx,[edi+50]
Arcanum.exe.text+7C49: 8D 14 81        - lea edx,[ecx+eax*4]
// ---------- DONE INJECTING  ----------
Arcanum.exe.text+7C4C: 8D 44 24 10     - lea eax,[esp+10]
Arcanum.exe.text+7C50: 50              - push eax
Arcanum.exe.text+7C51: 89 54 24 18     - mov [esp+18],edx
Arcanum.exe.text+7C55: E8 26 B5 0D 00  - call Arcanum.exe.text+E3180
Arcanum.exe.text+7C5A: 83 C4 0C        - add esp,0C
Arcanum.exe.text+7C5D: EB 3C           - jmp Arcanum.exe.text+7C9B
Arcanum.exe.text+7C5F: 53              - push ebx
Arcanum.exe.text+7C60: 55              - push ebp
Arcanum.exe.text+7C61: 57              - push edi
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>603</ID>
              <Description>"Base pointer"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>800080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>ptr_char</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>655</ID>
              <Description>"Main stats I"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>FF0000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(code_charval,Arcanum.exe,74 20 57 56 E8)
alloc(mem_charval,$1000)

label(code)
label(return)
label(ptr_hp_loss)
label(ptr_hp_bonus)
label(ptr_mp_loss)
label(ptr_mp_bonus)
label(ptr_name)
label(ptr_flags)

mem_charval:

code:
  mov ecx,[esi+50] // Access character sheet memory
  lea edx,[ecx+eax*4] // This code calculates property address which value will read later

/*
  cmp edi,1D
  jne @f
  mov [edx],0
@@:

  cmp edi,DB
  jne @f
  mov eax,[edx]
@@:*/
  cmp ebp,[Arcanum.exe+24E010] // this static address contains ID (hash) of the character whose sheet is currently opened
  jne return // skip irrelevant data

  test edx,edx
  je return
  mov eax,[edx] // hint: list relevant properties with 'Find out what access this address'

  // EDI holds a kind of property ID

  cmp edi,1B
  jne @f
  mov [ptr_hp_bonus],edx
@@:
  cmp edi,1D
  jne @f
  mov [ptr_hp_loss],edx
@@:
  cmp edi,E0
  jne @f
  mov [ptr_mp_bonus],edx
@@:
  cmp edi,E2
  jne @f
  mov [ptr_mp_loss],edx
@@:
  cmp edi,10E
  jne @f
  mov [ptr_name],edx
@@:
  cmp edi,13
  jne @f
  mov [ptr_flags],edx
@@:
  jmp return

ptr_hp_loss:
  dd 0
ptr_hp_bonus:
  dd 0
ptr_mp_loss:
  dd 0
ptr_mp_bonus:
  dd 0
ptr_name:
  dd 0
ptr_flags:
  dd 0

code_charval+9:
  jmp mem_charval
  nop

return:
registersymbol(code_charval)
registersymbol(ptr_hp_loss)
registersymbol(ptr_hp_bonus)
registersymbol(ptr_mp_loss)
registersymbol(ptr_mp_bonus)
registersymbol(ptr_name)
registersymbol(ptr_flags)

[DISABLE]

code_charval+9:
  db 8B 4E 50 8D 14 81

unregistersymbol(*)
dealloc(mem_charval)

{
// ORIGINAL CODE - INJECTION POINT: Arcanum.exe.text+7ABE

Arcanum.exe.text+7AA3: 50              - push eax
Arcanum.exe.text+7AA4: 89 54 24 10     - mov [esp+10],edx
Arcanum.exe.text+7AA8: E8 D3 B6 0D 00  - call Arcanum.exe.text+E3180
Arcanum.exe.text+7AAD: 83 C4 04        - add esp,04
Arcanum.exe.text+7AB0: EB 6A           - jmp Arcanum.exe.text+7B1C
Arcanum.exe.text+7AB2: 57              - push edi
Arcanum.exe.text+7AB3: 56              - push esi
Arcanum.exe.text+7AB4: E8 67 48 00 00  - call Arcanum.exe.text+C320
Arcanum.exe.text+7AB9: 83 C4 08        - add esp,08
Arcanum.exe.text+7ABC: 85 C0           - test eax,eax
Arcanum.exe.text+7ABE: 74 20           - je Arcanum.exe.text+7AE0
Arcanum.exe.text+7AC0: 57              - push edi
Arcanum.exe.text+7AC1: 56              - push esi
Arcanum.exe.text+7AC2: E8 69 47 00 00  - call Arcanum.exe.text+C230
// ---------- INJECTING HERE ----------
Arcanum.exe.text+7AC7: 8B 4E 50        - mov ecx,[esi+50]
Arcanum.exe.text+7ACA: 8D 14 81        - lea edx,[ecx+eax*4]
// ---------- DONE INJECTING  ----------
Arcanum.exe.text+7ACD: 8D 44 24 10     - lea eax,[esp+10]
Arcanum.exe.text+7AD1: 50              - push eax
Arcanum.exe.text+7AD2: 89 54 24 18     - mov [esp+18],edx
Arcanum.exe.text+7AD6: E8 A5 B6 0D 00  - call Arcanum.exe.text+E3180
Arcanum.exe.text+7ADB: 83 C4 0C        - add esp,0C
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>656</ID>
                  <Description>"HP bonus"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_hp_bonus</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>664</ID>
                  <Description>"MP bonus"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_mp_bonus</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>663</ID>
                  <Description>"HP loss"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_hp_loss</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>665</ID>
                  <Description>"MP loss"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_mp_loss</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>668</ID>
                  <Description>"Flags"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Binary</VariableType>
                  <BitStart>0</BitStart>
                  <BitLength>32</BitLength>
                  <ShowAsBinary>1</ShowAsBinary>
                  <Address>ptr_flags</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>667</ID>
                  <Description>"Name [custom character only]"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>String</VariableType>
                  <Length>13</Length>
                  <Unicode>0</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>ptr_name</Address>
                  <Offsets>
                    <Offset>0</Offset>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>26722</ID>
                  <Description>"ID"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>800080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_char</Address>
                  <Offsets>
                    <Offset>8</Offset>
                    <Offset>9C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>602</ID>
              <Description>"Main stats II"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>800080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>ptr_main_stats</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>592</ID>
                  <Description>"Strength"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>593</ID>
                  <Description>"Dexterity"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>594</ID>
                  <Description>"Constitution"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>595</ID>
                  <Description>"Beauty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+18</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>596</ID>
                  <Description>"Intelligence"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+1C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>597</ID>
                  <Description>"Perception"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>598</ID>
                  <Description>"Willpower"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+24</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>599</ID>
                  <Description>"Charisma"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+28</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>582</ID>
                  <Description>"Level"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_main_stats</Address>
                  <Offsets>
                    <Offset>50</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>591</ID>
                  <Description>"Experience"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>ptr_main_stats</Address>
                  <Offsets>
                    <Offset>54</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>600</ID>
                  <Description>"Alignment"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <Color>008000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+58</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>601</ID>
                  <Description>"Fate Points"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+5C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>666</ID>
                  <Description>"Skill Points"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+60</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>604</ID>
              <Description>"General skills"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>800080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>ptr_skills</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>607</ID>
                  <Description>"Bow"</Description>
                  <DropDownList DisplayValueAsItem="1">197:Master
133:Expert
69:Apprentice
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+0C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>608</ID>
                  <Description>"Dodge"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>609</ID>
                  <Description>"Melee"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>610</ID>
                  <Description>"Throwing"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+18</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>611</ID>
                  <Description>"Backstab"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+1c</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>612</ID>
                  <Description>"Pickpocket"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>613</ID>
                  <Description>"Prowling"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+24</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>614</ID>
                  <Description>"Spot Trap"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+28</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>615</ID>
                  <Description>"Gambling"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+2c</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>616</ID>
                  <Description>"Haggle"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+30</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>617</ID>
                  <Description>"Heal"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+34</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>618</ID>
                  <Description>"Persuasion"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+38</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>605</ID>
              <Description>"Tech skills"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>800080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>ptr_tech</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>619</ID>
                  <Description>"Repair"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>621</ID>
                  <Description>"Firearms"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+10</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>620</ID>
                  <Description>"Pick Locks"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+14</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>622</ID>
                  <Description>"Disarm Traps"</Description>
                  <DropDownListLink>Bow</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+18</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>606</ID>
              <Description>"Spell colleges &amp; tech disciplines"</Description>
              <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>800080</Color>
              <GroupHeader>1</GroupHeader>
              <Address>ptr_spells</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>648</ID>
                  <Description>"TECH"</Description>
                  <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
                  <Color>808000</Color>
                  <GroupHeader>1</GroupHeader>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>639</ID>
                      <Description>"Herbology"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+50</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>640</ID>
                      <Description>"Chemistry"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+54</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>641</ID>
                      <Description>"Electric"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+58</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>642</ID>
                      <Description>"Explosives"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+5C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>643</ID>
                      <Description>"Gun Smithy"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+60</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>644</ID>
                      <Description>"Mechanical"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+64</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>645</ID>
                      <Description>"Smithy"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+68</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>646</ID>
                      <Description>"Therapeutics"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+6C</Address>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>647</ID>
                  <Description>"SPELLS"</Description>
                  <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
                  <Color>808000</Color>
                  <GroupHeader>1</GroupHeader>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>623</ID>
                      <Description>"Conveyance"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>624</ID>
                      <Description>"Divination"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+10</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>625</ID>
                      <Description>"Air"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+14</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>626</ID>
                      <Description>"Earth"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+18</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>627</ID>
                      <Description>"Fire"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+1C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>628</ID>
                      <Description>"Water"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+20</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>629</ID>
                      <Description>"Force"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+24</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>630</ID>
                      <Description>"Mental"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+28</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>631</ID>
                      <Description>"Meta"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+2C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>632</ID>
                      <Description>"Morph"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+30</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>633</ID>
                      <Description>"Nature"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+34</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>634</ID>
                      <Description>"Necromantic Black"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+38</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>635</ID>
                      <Description>"Necromantic White"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+3C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>636</ID>
                      <Description>"Phantasm"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+40</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>637</ID>
                      <Description>"Summoning"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+44</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>638</ID>
                      <Description>"Temporal"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+48</Address>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Info about this table:
  Game Process: Arcanum.exe
  Game Version: see history below (tested with the Steam version modded by unofficial patch 2.0.2 by Drog Black Tooth)
  Author      : mece
  CE Version  : 7.3
Features:
  - Character action points ara located at static address.
  - Character editor (attributes, skills, spells)
Known issues:
  - Game do not like ALT+TAB-ing. Use windowed mode to reduce frequency of game crashes.
History:
  2022-01-09: improved the offset guessing script, now should work with squad members
  2020-11-17: improved the offset guessing script
  2020-11-15: added a script for gessing memory offsets
  2020-11-09: added alignment pointers. 
  2020-11-08: added scripts getting the main character pointers.
Updates:
  https://opencheattables.org/</Comments>
</CheatTable>
