<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>114982</ID>
      <Description>"&lt;=== Attach to process"</Description>
      <Options moDeactivateChildrenAsWell="1"/>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
  if(getCEVersion() &lt; 7.4) then
    ShowMessage('Warning! CE version should be 7.4 or above')
  end

OpenProcess("Dragon Age The Veilguard.exe")
  if(process == nil) then
    ShowMessage('The process is NOT found!')
  end
{$asm}


[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1</ID>
          <Description>"ability points do not decrease"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(points,Dragon Age The Veilguard.exe,44 29 81 C8 01 00 00) // should be unique
alloc(newmem,$100,points)

label(code)
label(return)

newmem:

code:
  // sub [rcx+000001C8],r8d
  jmp return

points:
  jmp newmem
  nop 2
return:
registersymbol(points)

[DISABLE]

points:
  db 44 29 81 C8 01 00 00

unregistersymbol(points)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D28168

Dragon Age The Veilguard.exe+D28143: 57                       - push rdi
Dragon Age The Veilguard.exe+D28144: 48 83 EC 40              - sub rsp,40
Dragon Age The Veilguard.exe+D28148: 0F B6 74 24 78           - movzx esi,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D2814D: 41 0F B6 E9              - movzx ebp,r9b
Dragon Age The Veilguard.exe+D28151: 8B DA                    - mov ebx,edx
Dragon Age The Veilguard.exe+D28153: 48 8B F9                 - mov rdi,rcx
Dragon Age The Veilguard.exe+D28156: 40 84 F6                 - test sil,sil
Dragon Age The Veilguard.exe+D28159: 75 46                    - jne "Dragon Age The Veilguard.exe"+D281A1
Dragon Age The Veilguard.exe+D2815B: 44 39 81 C8 01 00 00     - cmp [rcx+000001C8],r8d
Dragon Age The Veilguard.exe+D28162: 0F 82 05 01 00 00        - jb "Dragon Age The Veilguard.exe"+D2826D
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D28168: 44 29 81 C8 01 00 00     - sub [rcx+000001C8],r8d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D2816F: 48 83 B9 78 02 00 00 00  - cmp qword ptr [rcx+00000278],00
Dragon Age The Veilguard.exe+D28177: 74 20                    - je "Dragon Age The Veilguard.exe"+D28199
Dragon Age The Veilguard.exe+D28179: 48 8B 89 78 02 00 00     - mov rcx,[rcx+00000278]
Dragon Age The Veilguard.exe+D28180: 48 83 C1 40              - add rcx,40
Dragon Age The Veilguard.exe+D28184: 48 8B 01                 - mov rax,[rcx]
Dragon Age The Veilguard.exe+D28187: FF 50 10                 - call qword ptr [rax+10]
Dragon Age The Veilguard.exe+D2818A: 8B 97 C8 01 00 00        - mov edx,[rdi+000001C8]
Dragon Age The Veilguard.exe+D28190: 48 8D 48 78              - lea rcx,[rax+78]
Dragon Age The Veilguard.exe+D28194: E8 F7 20 FF FF           - call "Dragon Age The Veilguard.exe"+D1A290
Dragon Age The Veilguard.exe+D28199: 48 8B CF                 - mov rcx,rdi
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"add 5000 additional XP each time you get some XP (affects vendor strength, too...)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(xp,Dragon Age The Veilguard.exe,45 89 71 04 41 89 39) // should be unique
alloc(newmem,$100,xp)

label(code)
label(return)

newmem:
  add r14d, #5000
code:
  mov [r9+04],r14d
  mov [r9],edi
  jmp return

xp:
  jmp newmem
  nop 2
return:
registersymbol(xp)

[DISABLE]

xp:
  db 45 89 71 04 41 89 39

unregistersymbol(xp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D23910

Dragon Age The Veilguard.exe+D238F0: 48 8B 02              - mov rax,[rdx]
Dragon Age The Veilguard.exe+D238F3: 48 8B C8              - mov rcx,rax
Dragon Age The Veilguard.exe+D238F6: 48 C1 E9 20           - shr rcx,20
Dragon Age The Veilguard.exe+D238FA: 3B CB                 - cmp ecx,ebx
Dragon Age The Veilguard.exe+D238FC: 44 0F 44 F0           - cmove r14d,eax
Dragon Age The Veilguard.exe+D23900: 48 83 C2 08           - add rdx,08
Dragon Age The Veilguard.exe+D23904: 49 3B D0              - cmp rdx,r8
Dragon Age The Veilguard.exe+D23907: 75 E7                 - jne "Dragon Age The Veilguard.exe"+D238F0
Dragon Age The Veilguard.exe+D23909: 44 89 74 24 50        - mov [rsp+50],r14d
Dragon Age The Veilguard.exe+D2390E: 8B FB                 - mov edi,ebx
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D23910: 45 89 71 04           - mov [r9+04],r14d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D23914: 41 89 39              - mov [r9],edi
Dragon Age The Veilguard.exe+D23917: 4C 39 AE A8 01 00 00  - cmp [rsi+000001A8],r13
Dragon Age The Veilguard.exe+D2391E: 74 17                 - je "Dragon Age The Veilguard.exe"+D23937
Dragon Age The Veilguard.exe+D23920: 48 8B 8E A8 01 00 00  - mov rcx,[rsi+000001A8]
Dragon Age The Veilguard.exe+D23927: 45 8B C6              - mov r8d,r14d
Dragon Age The Veilguard.exe+D2392A: 49 8B D7              - mov rdx,r15
Dragon Age The Veilguard.exe+D2392D: E8 6E 62 00 00        - call "Dragon Age The Veilguard.exe"+D29BA0
Dragon Age The Veilguard.exe+D23932: 44 8B 54 24 54        - mov r10d,[rsp+54]
Dragon Age The Veilguard.exe+D23937: 48 8B 85 F8 00 00 00  - mov rax,[rbp+000000F8]
Dragon Age The Veilguard.exe+D2393E: 45 8B CE              - mov r9d,r14d
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"unlimited mana"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-11-01
  Author : Marc

  lets jump over the "decrease mana" code :)
}

define(address,"Dragon Age The Veilguard.exe"+1313A90)
define(bytes,0F 84)

[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"Dragon Age The Veilguard.exe"+1313A90)

address:
  db 0f 88 // js "Dragon Age The Veilguard.exe"+1313B4E

[DISABLE]
address:
  db bytes
  // je "Dragon Age The Veilguard.exe"+1313B4E

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+1313A90

Dragon Age The Veilguard.exe+1313A75: 0F 28 F3                 - movaps xmm6,xmm3
Dragon Age The Veilguard.exe+1313A78: 83 78 48 00              - cmp dword ptr [rax+48],00
Dragon Age The Veilguard.exe+1313A7C: 75 0C                    - jne "Dragon Age The Veilguard.exe"+1313A8A
Dragon Age The Veilguard.exe+1313A7E: 66 90                    - nop 2
Dragon Age The Veilguard.exe+1313A80: 38 41 09                 - cmp [rcx+09],al
Dragon Age The Veilguard.exe+1313A83: 0F 95 C0                 - setne al
Dragon Age The Veilguard.exe+1313A86: FF C0                    - inc eax
Dragon Age The Veilguard.exe+1313A88: EB 03                    - jmp "Dragon Age The Veilguard.exe"+1313A8D
Dragon Age The Veilguard.exe+1313A8A: 8B 40 48                 - mov eax,[rax+48]
Dragon Age The Veilguard.exe+1313A8D: 83 F8 02                 - cmp eax,02
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+1313A90: 0F 84 B8 00 00 00        - je "Dragon Age The Veilguard.exe"+1313B4E
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+1313A96: F3 0F 10 49 28           - movss xmm1,[rcx+28]
Dragon Age The Veilguard.exe+1313A9B: 0F 57 E4                 - xorps xmm4,xmm4
Dragon Age The Veilguard.exe+1313A9E: 0F 28 DD                 - movaps xmm3,xmm5
Dragon Age The Veilguard.exe+1313AA1: 8B C2                    - mov eax,edx
Dragon Age The Veilguard.exe+1313AA3: 48 89 74 24 50           - mov [rsp+50],rsi
Dragon Age The Veilguard.exe+1313AA8: F3 0F 11 74 24 20        - movss [rsp+20],xmm6
Dragon Age The Veilguard.exe+1313AAE: 48 89 7C 24 58           - mov [rsp+58],rdi
Dragon Age The Veilguard.exe+1313AB3: F3 48 0F 2A E0           - cvtsi2ss xmm4,rax
Dragon Age The Veilguard.exe+1313AB8: 89 51 2C                 - mov [rcx+2C],edx
// some more code ^^
Dragon Age The Veilguard.exe+1313ABB: F3 0F 59 25 A1 3B 6E 03  - mulss xmm4,["Dragon Age The Veilguard.exe"+49F7664]
Dragon Age The Veilguard.exe+1313AC3 - 0F28 C4               - movaps xmm0,xmm4
Dragon Age The Veilguard.exe+1313AC6 - 0F28 D4               - movaps xmm2,xmm4
Dragon Age The Veilguard.exe+1313AC9 - F3 0F59 D6            - mulss xmm2,xmm6
Dragon Age The Veilguard.exe+1313ACD - F3 0F59 C5            - mulss xmm0,xmm5
Dragon Age The Veilguard.exe+1313AD1 - F3 0F5C D8            - subss xmm3,xmm0
Dragon Age The Veilguard.exe+1313AD5 - 0F28 C4               - movaps xmm0,xmm4
Dragon Age The Veilguard.exe+1313AD8 - F3 0F59 C5            - mulss xmm0,xmm5
Dragon Age The Veilguard.exe+1313ADC - F3 0F59 E6            - mulss xmm4,xmm6
Dragon Age The Veilguard.exe+1313AE0 - F3 0F58 DA            - addss xmm3,xmm2
Dragon Age The Veilguard.exe+1313AE4 - 0F28 D5               - movaps xmm2,xmm5
Dragon Age The Veilguard.exe+1313AE7 - F3 0F5C D0            - subss xmm2,xmm0
Dragon Age The Veilguard.exe+1313AEB - F3 0F11 59 28         - movss [rcx+28],xmm3
Dragon Age The Veilguard.exe+1313AF0 - 0F28 DD               - movaps xmm3,xmm5
Dragon Age The Veilguard.exe+1313AF3 - F3 0F58 D4            - addss xmm2,xmm4
Dragon Age The Veilguard.exe+1313AF7 - E8 64FAFFFF           - call "Dragon Age The Veilguard.exe"+1313560
Dragon Age The Veilguard.exe+1313AFC - 48 8B 7B 30           - mov rdi,[rbx+30]
Dragon Age The Veilguard.exe+1313B00 - 8B 73 38              - mov esi,[rbx+38]
Dragon Age The Veilguard.exe+1313B03 - 8B 17                 - mov edx,[rdi]
Dragon Age The Veilguard.exe+1313B05 - 0FBA E2 11            - bt edx,11

}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>114996</ID>
          <Description>"always 99.999 gold"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(gold,Dragon Age The Veilguard.exe,44 89 7A 04 45 3B FC) // should be unique
alloc(newmem,$1000,gold)

label(code)
label(return)

newmem:
  mov r15d,#99999
code:
  mov [rdx+04],r15d
  cmp r15d,r12d
  jmp return

gold:
  jmp newmem
  nop 2
return:
registersymbol(gold)

[DISABLE]

gold:
  db 44 89 7A 04 45 3B FC

unregistersymbol(gold)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+13EFF6D

Dragon Age The Veilguard.exe+13EFF4B: 49 3B 55 68           - cmp rdx,[r13+68]
Dragon Age The Veilguard.exe+13EFF4F: 74 05                 - je "Dragon Age The Veilguard.exe"+13EFF56
Dragon Age The Veilguard.exe+13EFF51: 44 3B 0A              - cmp r9d,[rdx]
Dragon Age The Veilguard.exe+13EFF54: 7D 17                 - jnl "Dragon Age The Veilguard.exe"+13EFF6D
Dragon Age The Veilguard.exe+13EFF56: 4C 8D 45 87           - lea r8,[rbp-79]
Dragon Age The Veilguard.exe+13EFF5A: EB 05                 - jmp "Dragon Age The Veilguard.exe"+13EFF61
Dragon Age The Veilguard.exe+13EFF5C: 4C 8D 44 24 30        - lea r8,[rsp+30]
Dragon Age The Veilguard.exe+13EFF61: 49 8D 4D 60           - lea rcx,[r13+60]
Dragon Age The Veilguard.exe+13EFF65: E8 46 B8 92 FF        - call "Dragon Age The Veilguard.exe"+D1B7B0
Dragon Age The Veilguard.exe+13EFF6A: 48 8B D0              - mov rdx,rax
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+13EFF6D: 44 89 7A 04           - mov [rdx+04],r15d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+13EFF71: 45 3B FC              - cmp r15d,r12d
Dragon Age The Veilguard.exe+13EFF74: 0F 84 45 02 00 00     - je "Dragon Age The Veilguard.exe"+13F01BF
Dragon Age The Veilguard.exe+13EFF7A: 8B 7F 0C              - mov edi,[rdi+0C]
Dragon Age The Veilguard.exe+13EFF7D: 4D 8D B5 C0 00 00 00  - lea r14,[r13+000000C0]
Dragon Age The Veilguard.exe+13EFF84: 49 8B 46 10           - mov rax,[r14+10]
Dragon Age The Veilguard.exe+13EFF88: 49 8B DE              - mov rbx,r14
Dragon Age The Veilguard.exe+13EFF8B: B1 01                 - mov cl,01
Dragon Age The Veilguard.exe+13EFF8D: 48 85 C0              - test rax,rax
Dragon Age The Veilguard.exe+13EFF90: 74 1B                 - je "Dragon Age The Veilguard.exe"+13EFFAD
Dragon Age The Veilguard.exe+13EFF92: 3B 78 20              - cmp edi,[rax+20]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>114985</ID>
          <Description>"GodMode (by MarianaRoses)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version:
  Date   : 2024-11-02
  Author : MarianaRoses
  AoB	 : 0F????0F??????0F????C3??????????48??????4C??????48??????49????74??39??74??48??????49????75??49????74??F3????????F3????????E8????????84??74??B8????????48??????C332??48
  This script does blah blah blah
}

[ENABLE]
aobscanmodule(bhealth,Dragon Age The Veilguard.exe,0F????0F??????0F????C3??????????48??????4C) // should be unique
alloc(newmem,$1000,bhealth)
alloc(bhealthc,7)
alloc(bhealthi,8)
registerSymbol(bhealthi)
registerSymbol(bhealth bhealthc)
label(code return)

bhealthc:
  readmem(bhealth,7)
newmem:
  readmem(bhealth,3)
  push rcx
  mov rcx,[rcx+8]
  cmp [rcx+f8],0
  pop rcx
  je code
  mov [rcx+40],(float)1600.0
  readmem(bhealth+3,4)
  jmp return
code:
  readmem(bhealth+3,4)
  jmp return

bhealth:
  jmp newmem
  nop 2
return:

[DISABLE]
bhealth:
  readmem(bhealthc,7)
dealloc(*)
unregistersymbol(*)
       {
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+1596550

Dragon Age The Veilguard.exe+159653C: CC                    - int 3
Dragon Age The Veilguard.exe+159653D: CC                    - int 3
Dragon Age The Veilguard.exe+159653E: CC                    - int 3
Dragon Age The Veilguard.exe+159653F: CC                    - int 3
Dragon Age The Veilguard.exe+1596540: 48 8B 89 C0 02 00 00  - mov rcx,[rcx+000002C0]
Dragon Age The Veilguard.exe+1596547: E9 34 42 04 00        - jmp "Dragon Age The Veilguard.exe"+15DA780
Dragon Age The Veilguard.exe+159654C: CC                    - int 3
Dragon Age The Veilguard.exe+159654D: CC                    - int 3
Dragon Age The Veilguard.exe+159654E: CC                    - int 3
Dragon Age The Veilguard.exe+159654F: CC                    - int 3
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+1596550: 0F 57 C0              - xorps xmm0,xmm0
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+1596553: 0F 2F 41 40           - comiss xmm0,[rcx+40]
Dragon Age The Veilguard.exe+1596557: 0F 92 C0              - setb al
Dragon Age The Veilguard.exe+159655A: C3                    - ret
Dragon Age The Veilguard.exe+159655B: CC                    - int 3
Dragon Age The Veilguard.exe+159655C: CC                    - int 3
Dragon Age The Veilguard.exe+159655D: CC                    - int 3
Dragon Age The Veilguard.exe+159655E: CC                    - int 3
Dragon Age The Veilguard.exe+159655F: CC                    - int 3
Dragon Age The Veilguard.exe+1596560: 48 83 EC 28           - sub rsp,28
Dragon Age The Veilguard.exe+1596564: 4C 8B 41 20           - mov r8,[rcx+20]
}

</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
