<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="51">
  <CheatEntries>
    <CheatEntry>
      <ID>129</ID>
      <Description>"Toggle scripts"</Description>
      <Color>4080FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

-- attach process
local processName = "PRAGMATA.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 = {
  103, -- "Set min bullet num"
  107, -- "Get gravity (readonly)"
  112, -- "Get Lunafilament amt (menu)"
  117, -- "Get char HP"
  123, -- "Set gravity"
  130, -- "Toggle Compact View"
}
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 = {
  115, -- "Enable"
  130, -- "Toggle Compact View"
  123, -- "Set gravity"
  121, -- "PRAGMATA  /  https://opencheattables.com  /  CE 7.6+"
  117, -- "Get char HP"
  112, -- "Get Lunafilament amt (menu)"
  107, -- "Get gravity (readonly)"
  103, -- "Set min bullet num"
}
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: 130, Description: "Toggle Compact View", Depth: 0
-- ID: 103, Description: "Set min bullet num", Depth: 0
-- ID: 107, Description: "Get gravity (readonly)", Depth: 0
-- ID: 123, Description: "Set gravity", Depth: 0
-- ID: 112, Description: "Get Lunafilament amt (menu)", Depth: 0
-- ID: 117, Description: "Get char HP", Depth: 0
--   ID: 115, Description: "Enable", Depth: 1
-- ID: 121, Description: "PRAGMATA  /  https://opencheattables.com  /  CE 7.6+", Depth: 0

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>130</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>103</ID>
      <Description>"Set min bullet num"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/04/17
}

[ENABLE]

aobscanmodule(INJECT_GET_REM_BULLETS,$process,8B ?? 18 ?? 31 ?? ?? ?? F8 FF)
// raw AOB: 8B 48 08 E8 ?? ?? ?? ?? 48 89 44 24 50 4C 89 7C 24 48 48 85 DB 0F 84 ?? ?? ?? ?? 4C 8D 44 24 30 48 89 F1 48 89 DA E8 ?? ?? ?? ?? 48 8B 4E 50 4C 8B 71 18 4D 85 F6 0F 85 ?? ?? ?? ?? 48 85 C0 0F 84 ?? ?? ?? ?? 8B 58 18 45 31 F6 49 BC F8 FF FF FF FF FF FF 7F 49 21 FC 4D 8B 3C 24 4D 85 FF 74 ?? E8 ?? ?? ?? ?? 48 98 41 8A 4C 07 58 84 C9 7E ?? FE C9 41 88 4C 07 58 75 ?? 49 83 C7 10 4C 89 F9 E8
// injection point AOB: 8B ?? 18 ?? 31 ?? ?? ?? F8 FF FF FF FF FF FF 7F ?? 21 ?? ?? 8B ?? 24 ?? 85 ?? 74 ?? E8 ?? ?? ?? ?? 48 98 ?? 8A ?? 07 58 84 ?? 7E ?? FE ?? ?? 88 ?? 07 58 75 ?? ?? 83 ?? 10 ?? 89 ?? E8
alloc(newmem,$1000,INJECT_GET_REM_BULLETS)

alloc(INJECT_GET_REM_BULLETSo, $6)

label(code)
label(return)
label(vc_min_864515)

INJECT_GET_REM_BULLETSo:
  readmem(INJECT_GET_REM_BULLETS, $6)

  // app.InventManager-&gt;GadgetSlotTable-&gt;&lt;GadgetSlotInfo&gt;

newmem:
  // **** Begin Auto script: Clamp
  // min=3

code:
  // mov ebx,[rax+18]
  reassemble(INJECT_GET_REM_BULLETS)
  // Clamp: min check
  cmp ebx, [vc_min_864515]
  jge skip_min_864515
  mov ebx, [vc_min_864515]
  mov [rax+18], ebx
skip_min_864515:
  // **** End Auto script: Clamp

  // xor r14d,r14d
  reassemble(INJECT_GET_REM_BULLETS+3)
  jmp return
  align 10 cc
  vc_min_864515:
  dd #3

INJECT_GET_REM_BULLETS:
  jmp newmem
  nop 1
return:
registersymbol(INJECT_GET_REM_BULLETS INJECT_GET_REM_BULLETSo vc_min_864515)

[DISABLE]

INJECT_GET_REM_BULLETS:
  readmem(INJECT_GET_REM_BULLETSo, $6)

unregistersymbol(INJECT_GET_REM_BULLETS INJECT_GET_REM_BULLETSo vc_min_864515)
dealloc(newmem)
dealloc(INJECT_GET_REM_BULLETSo)

{
// ORIGINAL CODE - INJECTION POINT: PRAGMATA.exe+D3068

PRAGMATA.exe+D3023: 8B 48 08                           - mov ecx,[rax+08]
PRAGMATA.exe+D3026: E8 D5 4A BE 04                     - call PRAGMATA.exe+4CB7B00
PRAGMATA.exe+D302B: 48 89 44 24 50                     - mov [rsp+50],rax
PRAGMATA.exe+D3030: 4C 89 7C 24 48                     - mov [rsp+48],r15
PRAGMATA.exe+D3035: 48 85 DB                           - test rbx,rbx
PRAGMATA.exe+D3038: 0F 84 16 01 00 00                  - je PRAGMATA.exe+D3154
PRAGMATA.exe+D303E: 4C 8D 44 24 30                     - lea r8,[rsp+30]
PRAGMATA.exe+D3043: 48 89 F1                           - mov rcx,rsi
PRAGMATA.exe+D3046: 48 89 DA                           - mov rdx,rbx
PRAGMATA.exe+D3049: E8 72 E0 D6 04                     - call PRAGMATA.exe+4E410C0
PRAGMATA.exe+D304E: 48 8B 4E 50                        - mov rcx,[rsi+50]
PRAGMATA.exe+D3052: 4C 8B 71 18                        - mov r14,[rcx+18]
PRAGMATA.exe+D3056: 4D 85 F6                           - test r14,r14
PRAGMATA.exe+D3059: 0F 85 0F 01 00 00                  - jne PRAGMATA.exe+D316E
PRAGMATA.exe+D305F: 48 85 C0                           - test rax,rax
PRAGMATA.exe+D3062: 0F 84 9C 00 00 00                  - je PRAGMATA.exe+D3104
// ---------- INJECTING HERE ----------
PRAGMATA.exe+D3068: 8B 58 18                           - mov ebx,[rax+18]
// ---------- DONE INJECTING  ----------
PRAGMATA.exe+D306B: 45 31 F6                           - xor r14d,r14d
PRAGMATA.exe+D306E: 49 BC F8 FF FF FF FF FF FF 7F      - mov r12,7FFFFFFFFFFFFFF8
PRAGMATA.exe+D3078: 49 21 FC                           - and r12,rdi
PRAGMATA.exe+D307B: 4D 8B 3C 24                        - mov r15,[r12]
PRAGMATA.exe+D307F: 4D 85 FF                           - test r15,r15
PRAGMATA.exe+D3082: 74 4B                              - je PRAGMATA.exe+D30CF
PRAGMATA.exe+D3084: E8 B7 34 BE 04                     - call PRAGMATA.exe+4CB6540
PRAGMATA.exe+D3089: 48 98                              - cdqe
PRAGMATA.exe+D308B: 41 8A 4C 07 58                     - mov cl,[r15+rax+58]
PRAGMATA.exe+D3090: 84 C9                              - test cl,cl
PRAGMATA.exe+D3092: 7E 22                              - jle PRAGMATA.exe+D30B6
PRAGMATA.exe+D3094: FE C9                              - dec cl
PRAGMATA.exe+D3096: 41 88 4C 07 58                     - mov [r15+rax+58],cl
PRAGMATA.exe+D309B: 75 19                              - jne PRAGMATA.exe+D30B6
PRAGMATA.exe+D309D: 49 83 C7 10                        - add r15,10
PRAGMATA.exe+D30A1: 4C 89 F9                           - mov rcx,r15
}


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>104</ID>
          <Description>"min"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>vc_min_864515</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>107</ID>
      <Description>"Get gravity (readonly)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/04/17
}

[ENABLE]

aobscanmodule(INJECT_GET_GRAVITY,$process,C5 ?? 11 ?? 30 01 00 00 ?? 8B ?? 50 ?? 83 ?? 18 00 0F 85 ?? ?? ?? ?? ?? 8B ?? 80)
// raw AOB: 0F 84 ?? ?? ?? ?? C5 F8 28 F2 C5 FA 10 40 20 C5 FA 11 50 20 48 8B 46 50 48 83 78 18 00 0F 85 ?? ?? ?? ?? C5 FA 5C C6 C4 E2 79 18 0D ?? ?? ?? ?? C5 F8 54 C1 C5 FA 10 0D ?? ?? ?? ?? C5 F8 2E C8 0F 82 ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 85 C0 0F 84 ?? ?? ?? ?? C5 FA 11 B0 30 01 00 00 48 8B 46 50 48 83 78 18 00 0F 85 ?? ?? ?? ?? 48 8B 87 80 03 00 00 48 85 C0 0F 84 ?? ?? ?? ?? 48 8B 40 50 48 85 C0 0F 84 ?? ?? ?? ?? 48 8B 80 30 03 00 00 48 85 C0 0F 84 ?? ?? ?? ?? C5 FA 10 05 ?? ?? ?? ?? C5 F8 2E 40 20 0F 97 C3 48 8B 46 50
// injection point AOB: C5 ?? 11 ?? 30 01 00 00 ?? 8B ?? 50 ?? 83 ?? 18 00 0F 85 ?? ?? ?? ?? ?? 8B ?? 80 03 00 00 ?? 85 ?? 0F 84 ?? ?? ?? ?? ?? 8B ?? 50 ?? 85 ?? 0F 84 ?? ?? ?? ?? ?? 8B ?? 30 03 00 00 ?? 85 ?? 0F 84 ?? ?? ?? ?? C5 ?? 10 ?? ?? ?? ?? ?? C5 ?? 2E ?? 20 0F 97 ?? ?? 8B ?? 50
alloc(newmem,$1000,INJECT_GET_GRAVITY)

alloc(INJECT_GET_GRAVITYo, $8)

label(code)
label(return)
label(i_base_gravirty_addr)

INJECT_GET_GRAVITYo:
  readmem(INJECT_GET_GRAVITY, $8)

newmem:
  mov [i_base_gravirty_addr], rax

code:
  // vmovss [rax+00000130],xmm6
  reassemble(INJECT_GET_GRAVITY)
  jmp return
  align 10 cc
  i_base_gravirty_addr:
  dq 0


INJECT_GET_GRAVITY:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_GRAVITY INJECT_GET_GRAVITYo)
registersymbol(i_base_gravirty_addr)
[DISABLE]

INJECT_GET_GRAVITY:
  readmem(INJECT_GET_GRAVITYo, $8)

unregistersymbol(INJECT_GET_GRAVITY INJECT_GET_GRAVITYo)
unregistersymbol(i_base_gravirty_addr)
dealloc(newmem)
dealloc(INJECT_GET_GRAVITYo)

{
// ORIGINAL CODE - INJECTION POINT: PRAGMATA.exe+299583

PRAGMATA.exe+29952D: 0F 84 46 01 00 00                  - je PRAGMATA.exe+299679
PRAGMATA.exe+299533: C5 F8 28 F2                        - vmovaps xmm6,xmm2
PRAGMATA.exe+299537: C5 FA 10 40 20                     - vmovss xmm0,[rax+20]
PRAGMATA.exe+29953C: C5 FA 11 50 20                     - vmovss [rax+20],xmm2
PRAGMATA.exe+299541: 48 8B 46 50                        - mov rax,[rsi+50]
PRAGMATA.exe+299545: 48 83 78 18 00                     - cmp qword ptr [rax+18],00
PRAGMATA.exe+29954A: 0F 85 F5 00 00 00                  - jne PRAGMATA.exe+299645
PRAGMATA.exe+299550: C5 FA 5C C6                        - vsubss xmm0,xmm0,xmm6
PRAGMATA.exe+299554: C4 E2 79 18 0D 3F EB D1 08         - vbroadcastss xmm1,[PRAGMATA.exe+8FB809C]
PRAGMATA.exe+29955D: C5 F8 54 C1                        - vandps xmm0,xmm0,xmm1
PRAGMATA.exe+299561: C5 FA 10 0D 67 16 D2 08            - vmovss xmm1,[PRAGMATA.exe+8FBABD0]
PRAGMATA.exe+299569: C5 F8 2E C8                        - vucomiss xmm1,xmm0
PRAGMATA.exe+29956D: 0F 82 32 01 00 00                  - jb PRAGMATA.exe+2996A5
PRAGMATA.exe+299573: 48 8B 05 5E 16 72 0B               - mov rax,[PRAGMATA.exe+B9BABD8]
PRAGMATA.exe+29957A: 48 85 C0                           - test rax,rax
PRAGMATA.exe+29957D: 0F 84 A4 01 00 00                  - je PRAGMATA.exe+299727
// ---------- INJECTING HERE ----------
PRAGMATA.exe+299583: C5 FA 11 B0 30 01 00 00            - vmovss [rax+00000130],xmm6
// ---------- DONE INJECTING  ----------
PRAGMATA.exe+29958B: 48 8B 46 50                        - mov rax,[rsi+50]
PRAGMATA.exe+29958F: 48 83 78 18 00                     - cmp qword ptr [rax+18],00
PRAGMATA.exe+299594: 0F 85 AB 00 00 00                  - jne PRAGMATA.exe+299645
PRAGMATA.exe+29959A: 48 8B 87 80 03 00 00               - mov rax,[rdi+00000380]
PRAGMATA.exe+2995A1: 48 85 C0                           - test rax,rax
PRAGMATA.exe+2995A4: 0F 84 7D 01 00 00                  - je PRAGMATA.exe+299727
PRAGMATA.exe+2995AA: 48 8B 40 50                        - mov rax,[rax+50]
PRAGMATA.exe+2995AE: 48 85 C0                           - test rax,rax
PRAGMATA.exe+2995B1: 0F 84 AB 00 00 00                  - je PRAGMATA.exe+299662
PRAGMATA.exe+2995B7: 48 8B 80 30 03 00 00               - mov rax,[rax+00000330]
PRAGMATA.exe+2995BE: 48 85 C0                           - test rax,rax
PRAGMATA.exe+2995C1: 0F 84 9B 00 00 00                  - je PRAGMATA.exe+299662
PRAGMATA.exe+2995C7: C5 FA 10 05 BD EA D1 08            - vmovss xmm0,[PRAGMATA.exe+8FB808C]
PRAGMATA.exe+2995CF: C5 F8 2E 40 20                     - vucomiss xmm0,[rax+20]
PRAGMATA.exe+2995D4: 0F 97 C3                           - seta bl
PRAGMATA.exe+2995D7: 48 8B 46 50                        - mov rax,[rsi+50]
}


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>108</ID>
          <Description>"CharacterManager.&lt;CurrentGravityRate&gt;k__BackingField"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_gravirty_addr</Address>
          <Offsets>
            <Offset>130</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>123</ID>
      <Description>"Set gravity"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/04/17
}

[ENABLE]

aobscanmodule(INJECT_GET_GRAVITY_2,$process,C5 ?? 28 ?? C5 ?? 10 ?? 20 C5 ?? 11)
// raw AOB: 56 57 53 48 83 EC 68 C5 F8 29 74 24 50 48 8B 05 ?? ?? ?? ?? 48 31 E0 48 89 44 24 48 48 8B 41 50 48 83 78 18 00 0F 85 ?? ?? ?? ?? 48 89 D7 48 89 CE 48 8B 82 30 03 00 00 48 85 C0 0F 84 ?? ?? ?? ?? C5 F8 28 F2 C5 FA 10 40 20 C5 FA 11 50 20 48 8B 46 50 48 83 78 18 00 0F 85 ?? ?? ?? ?? C5 FA 5C C6 C4 E2 79 18 0D ?? ?? ?? ?? C5 F8 54 C1 C5 FA 10 0D ?? ?? ?? ?? C5 F8 2E C8 0F 82 ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 85 C0 0F 84 ?? ?? ?? ?? C5 FA 11 B0 30 01 00 00 48 8B 46 50 48 83 78 18 00
// injection point AOB: C5 ?? 28 ?? C5 ?? 10 ?? 20 C5 ?? 11 ?? 20 ?? 8B ?? 50 ?? 83 ?? 18 00 0F 85 ?? ?? ?? ?? C5 ?? 5C ?? C4 ?? ?? 18 ?? ?? ?? ?? ?? C5 ?? 54 ?? C5 ?? 10 ?? ?? ?? ?? ?? C5 ?? 2E ?? 0F 82 ?? ?? ?? ?? ?? 8B ?? ?? ?? ?? ?? ?? 85 ?? 0F 84 ?? ?? ?? ?? C5 ?? 11 ?? 30 01 00 00 ?? 8B ?? 50 ?? 83 ?? 18 00
alloc(newmem,$1000,INJECT_GET_GRAVITY_2)

alloc(INJECT_GET_GRAVITY_2o, $9)

label(code)
label(return)
label(vf_target_graviry is_set_gravity)

INJECT_GET_GRAVITY_2o:
  readmem(INJECT_GET_GRAVITY_2, $9)

newmem:
  cmp dword ptr [is_set_gravity], 1
  jne short code
  vmovss xmm2, [vf_target_graviry]

code:
  // vmovaps xmm6,xmm2
  reassemble(INJECT_GET_GRAVITY_2)
  // vmovss xmm0,[rax+20]
  reassemble(INJECT_GET_GRAVITY_2+4)
  jmp return
  align 10 cc
  vf_target_graviry:
  dd (float)1
  is_set_gravity:
  dd 0

INJECT_GET_GRAVITY_2:
  jmp newmem
  nop 4
return:
registersymbol(INJECT_GET_GRAVITY_2 INJECT_GET_GRAVITY_2o)
registersymbol(vf_target_graviry is_set_gravity)
[DISABLE]

INJECT_GET_GRAVITY_2:
  readmem(INJECT_GET_GRAVITY_2o, $9)

unregistersymbol(INJECT_GET_GRAVITY_2 INJECT_GET_GRAVITY_2o)
unregistersymbol(vf_target_graviry is_set_gravity)
dealloc(newmem)
dealloc(INJECT_GET_GRAVITY_2o)

{
// ORIGINAL CODE - INJECTION POINT: PRAGMATA.exe+299533

PRAGMATA.exe+2994F2: 56                                 - push rsi
PRAGMATA.exe+2994F3: 57                                 - push rdi
PRAGMATA.exe+2994F4: 53                                 - push rbx
PRAGMATA.exe+2994F5: 48 83 EC 68                        - sub rsp,68
PRAGMATA.exe+2994F9: C5 F8 29 74 24 50                  - vmovaps [rsp+50],xmm6
PRAGMATA.exe+2994FF: 48 8B 05 3A C3 66 0B               - mov rax,[PRAGMATA.exe+B905840]
PRAGMATA.exe+299506: 48 31 E0                           - xor rax,rsp
PRAGMATA.exe+299509: 48 89 44 24 48                     - mov [rsp+48],rax
PRAGMATA.exe+29950E: 48 8B 41 50                        - mov rax,[rcx+50]
PRAGMATA.exe+299512: 48 83 78 18 00                     - cmp qword ptr [rax+18],00
PRAGMATA.exe+299517: 0F 85 28 01 00 00                  - jne PRAGMATA.exe+299645
PRAGMATA.exe+29951D: 48 89 D7                           - mov rdi,rdx
PRAGMATA.exe+299520: 48 89 CE                           - mov rsi,rcx
PRAGMATA.exe+299523: 48 8B 82 30 03 00 00               - mov rax,[rdx+00000330]
PRAGMATA.exe+29952A: 48 85 C0                           - test rax,rax
PRAGMATA.exe+29952D: 0F 84 46 01 00 00                  - je PRAGMATA.exe+299679
// ---------- INJECTING HERE ----------
PRAGMATA.exe+299533: C5 F8 28 F2                        - vmovaps xmm6,xmm2
// ---------- DONE INJECTING  ----------
PRAGMATA.exe+299537: C5 FA 10 40 20                     - vmovss xmm0,[rax+20]
PRAGMATA.exe+29953C: C5 FA 11 50 20                     - vmovss [rax+20],xmm2
PRAGMATA.exe+299541: 48 8B 46 50                        - mov rax,[rsi+50]
PRAGMATA.exe+299545: 48 83 78 18 00                     - cmp qword ptr [rax+18],00
PRAGMATA.exe+29954A: 0F 85 F5 00 00 00                  - jne PRAGMATA.exe+299645
PRAGMATA.exe+299550: C5 FA 5C C6                        - vsubss xmm0,xmm0,xmm6
PRAGMATA.exe+299554: C4 E2 79 18 0D 3F EB D1 08         - vbroadcastss xmm1,[PRAGMATA.exe+8FB809C]
PRAGMATA.exe+29955D: C5 F8 54 C1                        - vandps xmm0,xmm0,xmm1
PRAGMATA.exe+299561: C5 FA 10 0D 67 16 D2 08            - vmovss xmm1,[PRAGMATA.exe+8FBABD0]
PRAGMATA.exe+299569: C5 F8 2E C8                        - vucomiss xmm1,xmm0
PRAGMATA.exe+29956D: 0F 82 32 01 00 00                  - jb PRAGMATA.exe+2996A5
PRAGMATA.exe+299573: 48 8B 05 5E 16 72 0B               - mov rax,[PRAGMATA.exe+B9BABD8]
PRAGMATA.exe+29957A: 48 85 C0                           - test rax,rax
PRAGMATA.exe+29957D: 0F 84 A4 01 00 00                  - je PRAGMATA.exe+299727
PRAGMATA.exe+299583: C5 FA 11 B0 30 01 00 00            - vmovss [rax+00000130],xmm6
PRAGMATA.exe+29958B: 48 8B 46 50                        - mov rax,[rsi+50]
}


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>124</ID>
          <Description>"Set?"</Description>
          <DropDownListLink>YesNo</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_set_gravity</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>125</ID>
          <Description>"Target value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_target_graviry</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>112</ID>
      <Description>"Get Lunafilament amt (menu)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/04/17
}

[ENABLE]

aobscanmodule(INJECT_GET_Lunafilament,$process,8B ?? 14 ?? 31 ?? ?? ?? F8 FF FF FF FF FF FF 7F ?? 21 ?? ?? 8B ?? 24 ?? 85 ?? 74 ?? E8 ?? ?? ?? ?? 48 98 ?? 8A ?? 07 58 84 ?? 7E ?? FE ?? ?? 88 ?? 07 58 75 ?? ?? 83 ?? 10 ?? 89 ?? E8 ?? ?? ?? ?? 84 ?? 74 ?? ?? 89 ?? FF ?? ?? ?? ?? ?? ?? 8B ?? 50 ?? 85 ?? 0F 99 ?? ?? 83 ?? 18 00 75 ?? 84 ?? 0F)
// raw AOB: 8B 48 08 E8 ?? ?? ?? ?? 48 89 44 24 50 4C 89 7C 24 48 48 85 DB 0F 84 ?? ?? ?? ?? 4C 8D 44 24 30 48 89 F1 48 89 DA E8 ?? ?? ?? ?? 48 8B 4E 50 4C 8B 71 18 4D 85 F6 0F 85 ?? ?? ?? ?? 48 85 C0 0F 84 ?? ?? ?? ?? 8B 58 14 45 31 F6 49 BC F8 FF FF FF FF FF FF 7F 49 21 FC 4D 8B 3C 24 4D 85 FF 74 ?? E8 ?? ?? ?? ?? 48 98 41 8A 4C 07 58 84 C9 7E ?? FE C9 41 88 4C 07 58 75 ?? 49 83 C7 10 4C 89 F9 E8
// injection point AOB: 8B ?? 14 ?? 31 ?? ?? ?? F8 FF FF FF FF FF FF 7F ?? 21 ?? ?? 8B ?? 24 ?? 85 ?? 74 ?? E8 ?? ?? ?? ?? 48 98 ?? 8A ?? 07 58 84 ?? 7E ?? FE ?? ?? 88 ?? 07 58 75 ?? ?? 83 ?? 10 ?? 89 ?? E8
alloc(newmem,$1000,INJECT_GET_Lunafilament)

alloc(INJECT_GET_Lunafilamento, $6)

label(code)
label(return)
label(i_base_Lunafilament_addr i_base_upgrades_addr i_base_coin_addr)

INJECT_GET_Lunafilamento:
  readmem(INJECT_GET_Lunafilament, $6)

// Lunafilament: app.InventoryManager &gt; ItemSlotTable [5], _ID = 2227368435 (0x10)
// Upgrades: app.InventoryManager &gt; ItemSlotTable [11], _ID = 187746965 (0x10)
// Coin: app.InventoryManager &gt; ItemSlotTable [12], _ID = 701076331 (0x10)

newmem:
  cmp dword ptr [rax+10], #2227368435
  jne short @F
  mov [i_base_Lunafilament_addr], rax

@@:
  cmp dword ptr [rax+10], #187746965
  jne short @F
  mov [i_base_upgrades_addr], rax

@@:
  cmp dword ptr [rax+10], #701076331
  jne short @F
  mov [i_base_coin_addr], rax


code:
  // mov ebx,[rax+14]
  reassemble(INJECT_GET_Lunafilament)
  // xor r14d,r14d
  reassemble(INJECT_GET_Lunafilament+3)
  jmp return
  align 10 cc
  i_base_Lunafilament_addr:
  dq 0
  i_base_upgrades_addr:
  dq 0
  i_base_coin_addr:
  dq 0


INJECT_GET_Lunafilament:
  jmp newmem
  nop 1
return:
registersymbol(INJECT_GET_Lunafilament INJECT_GET_Lunafilamento)
registersymbol(i_base_Lunafilament_addr i_base_upgrades_addr i_base_coin_addr)
[DISABLE]

INJECT_GET_Lunafilament:
  readmem(INJECT_GET_Lunafilamento, $6)

unregistersymbol(INJECT_GET_Lunafilament INJECT_GET_Lunafilamento)
unregistersymbol(i_base_Lunafilament_addr i_base_upgrades_addr i_base_coin_addr)
dealloc(newmem)
dealloc(INJECT_GET_Lunafilamento)

{
// ORIGINAL CODE - INJECTION POINT: PRAGMATA.exe+299367

PRAGMATA.exe+299322: 8B 48 08                           - mov ecx,[rax+08]
PRAGMATA.exe+299325: E8 D6 E7 A1 04                     - call PRAGMATA.exe+4CB7B00
PRAGMATA.exe+29932A: 48 89 44 24 50                     - mov [rsp+50],rax
PRAGMATA.exe+29932F: 4C 89 7C 24 48                     - mov [rsp+48],r15
PRAGMATA.exe+299334: 48 85 DB                           - test rbx,rbx
PRAGMATA.exe+299337: 0F 84 BE 00 00 00                  - je PRAGMATA.exe+2993FB
PRAGMATA.exe+29933D: 4C 8D 44 24 30                     - lea r8,[rsp+30]
PRAGMATA.exe+299342: 48 89 F1                           - mov rcx,rsi
PRAGMATA.exe+299345: 48 89 DA                           - mov rdx,rbx
PRAGMATA.exe+299348: E8 73 7D BA 04                     - call PRAGMATA.exe+4E410C0
PRAGMATA.exe+29934D: 48 8B 4E 50                        - mov rcx,[rsi+50]
PRAGMATA.exe+299351: 4C 8B 71 18                        - mov r14,[rcx+18]
PRAGMATA.exe+299355: 4D 85 F6                           - test r14,r14
PRAGMATA.exe+299358: 0F 85 CF 00 00 00                  - jne PRAGMATA.exe+29942D
PRAGMATA.exe+29935E: 48 85 C0                           - test rax,rax
PRAGMATA.exe+299361: 0F 84 D0 00 00 00                  - je PRAGMATA.exe+299437
// ---------- INJECTING HERE ----------
PRAGMATA.exe+299367: 8B 58 14                           - mov ebx,[rax+14]
// ---------- DONE INJECTING  ----------
PRAGMATA.exe+29936A: 45 31 F6                           - xor r14d,r14d
PRAGMATA.exe+29936D: 49 BC F8 FF FF FF FF FF FF 7F      - mov r12,7FFFFFFFFFFFFFF8
PRAGMATA.exe+299377: 49 21 FC                           - and r12,rdi
PRAGMATA.exe+29937A: 4D 8B 3C 24                        - mov r15,[r12]
PRAGMATA.exe+29937E: 4D 85 FF                           - test r15,r15
PRAGMATA.exe+299381: 74 4B                              - je PRAGMATA.exe+2993CE
PRAGMATA.exe+299383: E8 B8 D1 A1 04                     - call PRAGMATA.exe+4CB6540
PRAGMATA.exe+299388: 48 98                              - cdqe
PRAGMATA.exe+29938A: 41 8A 4C 07 58                     - mov cl,[r15+rax+58]
PRAGMATA.exe+29938F: 84 C9                              - test cl,cl
PRAGMATA.exe+299391: 7E 22                              - jle PRAGMATA.exe+2993B5
PRAGMATA.exe+299393: FE C9                              - dec cl
PRAGMATA.exe+299395: 41 88 4C 07 58                     - mov [r15+rax+58],cl
PRAGMATA.exe+29939A: 75 19                              - jne PRAGMATA.exe+2993B5
PRAGMATA.exe+29939C: 49 83 C7 10                        - add r15,10
PRAGMATA.exe+2993A0: 4C 89 F9                           - mov rcx,r15
}


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>113</ID>
          <Description>"Lunafilament"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_Lunafilament_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>127</ID>
          <Description>"Firmware upgrades"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_upgrades_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>128</ID>
          <Description>"Coin"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_coin_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>117</ID>
      <Description>"Get char HP"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>118</ID>
          <Description>"Usage: enable in menu"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>126</ID>
          <Description>"Re-enable when zoning"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>115</ID>
          <Description>"Enable"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/04/17
}

[ENABLE]

aobscanmodule(INJECT_GET_CURRENT_HP,$process,83 ?? 18 00 ?? 0F 9E ?? 31 ?? ?? 84 ?? ?? 0B)
// raw AOB: 48 8B 49 18 84 C0 74 ?? 48 85 C9 75 ?? 48 8B 47 20 48 85 C0 0F 84 ?? ?? ?? ?? 48 8B 80 A8 00 00 00 48 85 C0 0F 84 ?? ?? ?? ?? 48 8B 80 48 01 00 00 48 85 C0 0F 84 ?? ?? ?? ?? 80 78 27 00 0F 85 ?? ?? ?? ?? 83 78 18 00 40 0F 9E C7 31 C9 40 84 FF B8 0B 5B 0F CF 41 0F 44 C7 48 85 C9 44 0F 44 F8 31 ED 48 85 C9 41 0F 44 EF 48 8B 4C 24 38 48 31 E1 E8 ?? ?? ?? ?? 89 E8 48 83 C4 40 5B 5D
// injection point AOB: 83 ?? 18 00 ?? 0F 9E ?? 31 ?? ?? 84 ?? ?? 0B 5B 0F CF ?? 0F 44 ?? ?? 85 ?? ?? 0F 44 ?? 31 ?? ?? 85 ?? ?? 0F 44 ?? ?? 8B ?? 24 ?? ?? 31 ?? E8 ?? ?? ?? ?? 89 ?? 48 83 C4 40 ?? 5D
alloc(newmem,$1000,INJECT_GET_CURRENT_HP)

alloc(INJECT_GET_CURRENT_HPo, $8)

label(code)
label(return)
label(ptrCapture_INJECT_GET_CURRENT_HP_347018)
label(is_set_other_hp i_min_hp_value)

INJECT_GET_CURRENT_HPo:
  readmem(INJECT_GET_CURRENT_HP, $8)

newmem:
  cmp qword ptr [ptrCapture_INJECT_GET_CURRENT_HP_347018], 0
  jne short @F

  // **** Begin Auto script: AddressCapture
  // mode=Single
  // Address Capture: publish base pointer
  mov [ptrCapture_INJECT_GET_CURRENT_HP_347018], rax
  // **** End Auto script: AddressCapture

@@:
  cmp [ptrCapture_INJECT_GET_CURRENT_HP_347018], rax
  jne short set_non_player_hp

  push r15
  mov r15d, [i_min_hp_value]
  cmp [rax+18], r15d
  jae short endp
  mov [rax+18], r15d
endp:
  pop r15
  jmp short code

set_non_player_hp:
  cmp dword ptr [is_set_other_hp], 1
  jne short code
  cmp dword ptr [rax+18],00 // debug
  //cmp [ptrCapture_INJECT_GET_CURRENT_HP_347018], rax
  //je short code
  cmp [rax+18], 64
  jae short code
  mov [rax+18], 64


code:
  // cmp dword ptr [rax+18],00
  reassemble(INJECT_GET_CURRENT_HP)
  // setle dil
  reassemble(INJECT_GET_CURRENT_HP+4)
  jmp return
  align 10 cc
  ptrCapture_INJECT_GET_CURRENT_HP_347018:
  dq 0
  i_min_hp_value:
  dd #800
  is_set_other_hp:
  dd 0

INJECT_GET_CURRENT_HP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_CURRENT_HP INJECT_GET_CURRENT_HPo ptrCapture_INJECT_GET_CURRENT_HP_347018)
registersymbol(is_set_other_hp i_min_hp_value)
[DISABLE]

INJECT_GET_CURRENT_HP:
  readmem(INJECT_GET_CURRENT_HPo, $8)

unregistersymbol(INJECT_GET_CURRENT_HP INJECT_GET_CURRENT_HPo ptrCapture_INJECT_GET_CURRENT_HP_347018)
unregistersymbol(is_set_other_hp i_min_hp_value)
dealloc(newmem)
dealloc(INJECT_GET_CURRENT_HPo)

{
// ORIGINAL CODE - INJECTION POINT: PRAGMATA.exe+15D6D9

PRAGMATA.exe+15D695: 48 8B 49 18                        - mov rcx,[rcx+18]
PRAGMATA.exe+15D699: 84 C0                              - test al,al
PRAGMATA.exe+15D69B: 74 59                              - je PRAGMATA.exe+15D6F6
PRAGMATA.exe+15D69D: 48 85 C9                           - test rcx,rcx
PRAGMATA.exe+15D6A0: 75 54                              - jne PRAGMATA.exe+15D6F6
PRAGMATA.exe+15D6A2: 48 8B 47 20                        - mov rax,[rdi+20]
PRAGMATA.exe+15D6A6: 48 85 C0                           - test rax,rax
PRAGMATA.exe+15D6A9: 0F 84 A5 06 00 00                  - je PRAGMATA.exe+15DD54
PRAGMATA.exe+15D6AF: 48 8B 80 A8 00 00 00               - mov rax,[rax+000000A8]
PRAGMATA.exe+15D6B6: 48 85 C0                           - test rax,rax
PRAGMATA.exe+15D6B9: 0F 84 B6 06 00 00                  - je PRAGMATA.exe+15DD75
PRAGMATA.exe+15D6BF: 48 8B 80 48 01 00 00               - mov rax,[rax+00000148]
PRAGMATA.exe+15D6C6: 48 85 C0                           - test rax,rax
PRAGMATA.exe+15D6C9: 0F 84 C3 06 00 00                  - je PRAGMATA.exe+15DD92
PRAGMATA.exe+15D6CF: 80 78 27 00                        - cmp byte ptr [rax+27],00
PRAGMATA.exe+15D6D3: 0F 85 D8 06 00 00                  - jne PRAGMATA.exe+15DDB1
// ---------- INJECTING HERE ----------
PRAGMATA.exe+15D6D9: 83 78 18 00                        - cmp dword ptr [rax+18],00
// ---------- DONE INJECTING  ----------
PRAGMATA.exe+15D6DD: 40 0F 9E C7                        - setle dil
PRAGMATA.exe+15D6E1: 31 C9                              - xor ecx,ecx
PRAGMATA.exe+15D6E3: 40 84 FF                           - test dil,dil
PRAGMATA.exe+15D6E6: B8 0B 5B 0F CF                     - mov eax,CF0F5B0B
PRAGMATA.exe+15D6EB: 41 0F 44 C7                        - cmove eax,r15d
PRAGMATA.exe+15D6EF: 48 85 C9                           - test rcx,rcx
PRAGMATA.exe+15D6F2: 44 0F 44 F8                        - cmove r15d,eax
PRAGMATA.exe+15D6F6: 31 ED                              - xor ebp,ebp
PRAGMATA.exe+15D6F8: 48 85 C9                           - test rcx,rcx
PRAGMATA.exe+15D6FB: 41 0F 44 EF                        - cmove ebp,r15d
PRAGMATA.exe+15D6FF: 48 8B 4C 24 38                     - mov rcx,[rsp+38]
PRAGMATA.exe+15D704: 48 31 E1                           - xor rcx,rsp
PRAGMATA.exe+15D707: E8 E4 7C EC 04                     - call PRAGMATA.AK::SoundEngine::Term+7F0
PRAGMATA.exe+15D70C: 89 E8                              - mov eax,ebp
PRAGMATA.exe+15D70E: 48 83 C4 40                        - add rsp,40
PRAGMATA.exe+15D712: 5B                                 - pop rbx
}

</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>116</ID>
              <Description>"HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>ptrCapture_INJECT_GET_CURRENT_HP_347018</Address>
              <Offsets>
                <Offset>18</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>119</ID>
              <Description>"min. HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_hp_value</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>121</ID>
      <Description>"PRAGMATA  /  https://opencheattables.com  /  CE 7.6+"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>006600</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>122</ID>
          <Description>"YesNo"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
