after only 10 years Bioware managed to release the next part of the "Dragon Age" series. And it is worth the wait!
Feels like an interactive movie, like it very much so far.
Anyway, here's my table:
ability points do not decrease
add 5.000 additional XP each time you get some XP (affects vendor strength, too...)
not planning to release a table so I'm leaving it here as many seems to have trouble finding it. feel free to add to the table and modify as I only test it once.
{ 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)620.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]
}
edit1: it's great to see you still active Marc
edit2: change the script cmp, again. hopefully this time it work. edit3: tested on 2 battles.
Creating cheat for a hobby, not obligated for requests or update.
My ct will always be free to be shared without removing the credit or where it originally came from.
Anyone can update in case I'm not doing this anymore.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>30</ID>
<Description>"unlimited mana"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>define(address,"Dragon Age The Veilguard.exe"+1313D95)
define(bytes,0F 84)
[ENABLE]
assert(address,bytes)
address:
db 0f 88 // js "Dragon Age The Veilguard.exe"+1313E6C
[DISABLE]
address:
db bytes // je "Dragon Age The Veilguard.exe"+1313E6C
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+1313D95
Dragon Age The Veilguard.exe+1313D7A: 0F 28 FB - movaps xmm7,xmm3
Dragon Age The Veilguard.exe+1313D7D: 83 78 48 00 - cmp dword ptr [rax+48],00
Dragon Age The Veilguard.exe+1313D81: 75 0C - jne "Dragon Age The Veilguard.exe"+1313D8F
Dragon Age The Veilguard.exe+1313D83: 33 C0 - xor eax,eax
Dragon Age The Veilguard.exe+1313D85: 38 41 09 - cmp [rcx+09],al
Dragon Age The Veilguard.exe+1313D88: 0F 95 C0 - setne al
Dragon Age The Veilguard.exe+1313D8B: FF C0 - inc eax
Dragon Age The Veilguard.exe+1313D8D: EB 03 - jmp "Dragon Age The Veilguard.exe"+1313D92
Dragon Age The Veilguard.exe+1313D8F: 8B 40 48 - mov eax,[rax+48]
Dragon Age The Veilguard.exe+1313D92: 83 F8 02 - cmp eax,02
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+1313D95: 0F 84 D1 00 00 00 - je "Dragon Age The Veilguard.exe"+1313E6C
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+1313D9B: F3 0F 10 49 28 - movss xmm1,[rcx+28]
Dragon Age The Veilguard.exe+1313DA0: 0F 57 E4 - xorps xmm4,xmm4
Dragon Age The Veilguard.exe+1313DA3: 0F 28 DE - movaps xmm3,xmm6
Dragon Age The Veilguard.exe+1313DA6: 8B C2 - mov eax,edx
Dragon Age The Veilguard.exe+1313DA8: 48 89 5C 24 60 - mov [rsp+60],rbx
Dragon Age The Veilguard.exe+1313DAD: 48 89 6C 24 68 - mov [rsp+68],rbp
Dragon Age The Veilguard.exe+1313DB2: F3 0F 11 7C 24 20 - movss [rsp+20],xmm7
Dragon Age The Veilguard.exe+1313DB8: F3 48 0F 2A E0 - cvtsi2ss xmm4,rax
Dragon Age The Veilguard.exe+1313DBD: 48 89 74 24 70 - mov [rsp+70],rsi
Dragon Age The Veilguard.exe+1313DC2: 89 51 2C - mov [rcx+2C],edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
I did not see someone ask for it, so I wondered if a "unlock all nodes", or "remove one specialization restriction" in the skill tree would be a good one to look for.
I'd be very glad to stack the warrior siphoning scythe skill with the perfect parry every type of attacks, but it's limited by specs.
If it is possible, then I suppose the next step would be to be able to switch class, but I suppose going from one to another would be far more complex, since it also has plot flags...
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>115004</ID>
<Description>"unlimited mana (AOB)"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(mana,Dragon Age The Veilguard.exe,8B 40 48 83 F8 02 0F 84) // should be unique
mana+6:
db 0f 88
[DISABLE]
mana+6:
db 0f 84
unregistersymbol(mana)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+1313B6F
Dragon Age The Veilguard.exe+1313B52: 0F 28 F2 - movaps xmm6,xmm2
Dragon Age The Veilguard.exe+1313B55: 0F 29 7C 24 30 - movaps [rsp+30],xmm7
Dragon Age The Veilguard.exe+1313B5A: 0F 28 FB - movaps xmm7,xmm3
Dragon Age The Veilguard.exe+1313B5D: 83 78 48 00 - cmp dword ptr [rax+48],00
Dragon Age The Veilguard.exe+1313B61: 75 0C - jne "Dragon Age The Veilguard.exe"+1313B6F
Dragon Age The Veilguard.exe+1313B63: 33 C0 - xor eax,eax
Dragon Age The Veilguard.exe+1313B65: 38 41 09 - cmp [rcx+09],al
Dragon Age The Veilguard.exe+1313B68: 0F 95 C0 - setne al
Dragon Age The Veilguard.exe+1313B6B: FF C0 - inc eax
Dragon Age The Veilguard.exe+1313B6D: EB 03 - jmp "Dragon Age The Veilguard.exe"+1313B72
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+1313B6F: 8B 40 48 - mov eax,[rax+48]
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+1313B72: 83 F8 02 - cmp eax,02
Dragon Age The Veilguard.exe+1313B75: 0F 84 D1 00 00 00 - je "Dragon Age The Veilguard.exe"+1313C4C
Dragon Age The Veilguard.exe+1313B7B: F3 0F 10 49 28 - movss xmm1,[rcx+28]
Dragon Age The Veilguard.exe+1313B80: 0F 57 E4 - xorps xmm4,xmm4
Dragon Age The Veilguard.exe+1313B83: 0F 28 DE - movaps xmm3,xmm6
Dragon Age The Veilguard.exe+1313B86: 8B C2 - mov eax,edx
Dragon Age The Veilguard.exe+1313B88: 48 89 5C 24 60 - mov [rsp+60],rbx
Dragon Age The Veilguard.exe+1313B8D: 48 89 6C 24 68 - mov [rsp+68],rbp
Dragon Age The Veilguard.exe+1313B92: F3 0F 11 7C 24 20 - movss [rsp+20],xmm7
Dragon Age The Veilguard.exe+1313B98: F3 48 0F 2A E0 - cvtsi2ss xmm4,rax
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>