<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
yes but for us how are new to this how do we use that ?
How to use this cheat table?
Install Cheat Engine
Double-click the .CT file in order to open it.
Click the PC icon in Cheat Engine in order to select the game process.
Keep the list.
Activate the trainer options by checking boxes or setting values from 0 to 1
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
Welldone sir!
Do u have any thoughts about item spawning or upgrading? Chest spawning? Re-using used chests?
There is no New Game Plus in Veilguard, so most of items collected (and upgraded) can be used only at the end of the game for a pair of hours. It ruins the feedback IMO, players need a solution <3
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
Welldone sir!
Do u have any thoughts about item spawning or upgrading? Chest spawning? Re-using used chests?
There is no New Game Plus in Veilguard, so most of items collected (and upgraded) can be used only at the end of the game for a pair of hours. It ruins the feedback IMO, players need a solution <3
I've looked into editing equipment rarity and upgrade levels. Made progress with the upgrade levels, but rarity is extremely confusing. This game's engine is very challenging to work with. I'm going to say no to item spawning from me, but I hope to eventually have an existing equipment editor. Gonna take some time though.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
Amazing work! Thank you so much! Looks like Pre-Order Bonus is hidden deeper or something, I did get the deluxe armor but not pre-order, weird lol
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
yes but for us how are new to this how do we use that ?
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>225</ID>
<Description>"Unlock All Transmog"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-07
Author : zach
This script does blah blah blah
}
[ENABLE]
aobscanmodule(TransmogU,Dragon Age The Veilguard.exe,80 7F 19 00 74 04) // should be unique
alloc(newmem,$1000,TransmogU)
label(code)
label(return)
newmem:
code:
mov [rdi+19],#1
je "Dragon Age The Veilguard.exe"+246B2CC
jmp return
TransmogU:
jmp newmem
nop
return:
registersymbol(TransmogU)
[DISABLE]
TransmogU:
db 80 7F 19 00 74 04
unregistersymbol(TransmogU)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+246B2C2
Dragon Age The Veilguard.exe+246B299: 48 8B 4D 80 - mov rcx,[rbp-80]
Dragon Age The Veilguard.exe+246B29D: 33 D2 - xor edx,edx
Dragon Age The Veilguard.exe+246B29F: E8 9C 89 81 FE - call "Dragon Age The Veilguard.exe"+C83C40
Dragon Age The Veilguard.exe+246B2A4: 48 8B 4C 24 58 - mov rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2A9: 48 89 08 - mov [rax],rcx
Dragon Age The Veilguard.exe+246B2AC: 33 C9 - xor ecx,ecx
Dragon Age The Veilguard.exe+246B2AE: E8 ED F9 43 00 - call "Dragon Age The Veilguard.exe"+28AACA0
Dragon Age The Veilguard.exe+246B2B3: 48 8D 4C 24 58 - lea rcx,[rsp+58]
Dragon Age The Veilguard.exe+246B2B8: 48 89 44 24 58 - mov [rsp+58],rax
Dragon Age The Veilguard.exe+246B2BD: E8 1E 4D 43 00 - call "Dragon Age The Veilguard.exe"+289FFE0
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+246B2C2: 80 7F 19 00 - cmp byte ptr [rdi+19],00
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+246B2C6: 74 04 - je "Dragon Age The Veilguard.exe"+246B2CC
Dragon Age The Veilguard.exe+246B2C8: 41 FF 04 24 - inc [r12]
Dragon Age The Veilguard.exe+246B2CC: 41 FF 45 00 - inc [r13+00]
Dragon Age The Veilguard.exe+246B2D0: B8 FF FF FF FF - mov eax,FFFFFFFF
Dragon Age The Veilguard.exe+246B2D5: F0 0F C1 43 10 - lock xadd [rbx+10],eax
Dragon Age The Veilguard.exe+246B2DA: 83 F8 01 - cmp eax,01
Dragon Age The Veilguard.exe+246B2DD: 75 0F - jne "Dragon Age The Veilguard.exe"+246B2EE
Dragon Age The Veilguard.exe+246B2DF: 48 8B 4C 24 68 - mov rcx,[rsp+68]
Dragon Age The Veilguard.exe+246B2E4: 45 33 C0 - xor r8d,r8d
Dragon Age The Veilguard.exe+246B2E7: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note this is temporary, and sometimes you might to open the menu a couple of times to unlock them all.
Can the undergarments be added to transmogs?
No, that would require modding. This script just unlocks all transmog that you can potentially unlock in the base game.
So good news and bad news. Good news is I have a functioning armor editor that includes rarity and upgrade level, bad news is to get it to populate you must upgrade the item's level, so if you maxed your items up you wont be able to utilize it. Please test it for me:
So good news and bad news. Good news is I have a functioning armor editor that includes rarity and upgrade level, bad news is to get it to populate you must upgrade the item's level, so if you maxed your items up you wont be able to utilize it. Please test it for me:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>249</ID>
<Description>"Equipment Editor"</Description>
<Options moHideChildren="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-08
Author : zachw
This script does blah blah blah
}
[ENABLE]
aobscanmodule(Ar_Ed,Dragon Age The Veilguard.exe,8B 7E 38 FF 92 C8 00 00 00) // should be unique
alloc(newmem,$1000,Ar_Ed)
globalalloc(ArEd,4)
label(code)
label(return)
newmem:
push rax
lea rax,[rsi+38]
mov [ArEd],rax
pop rax
code:
mov edi,[rsi+38]
call qword ptr [rdx+000000C8]
jmp return
Ar_Ed:
jmp newmem
nop 4
return:
registersymbol(Ar_Ed)
[DISABLE]
Ar_Ed:
db 8B 7E 38 FF 92 C8 00 00 00
unregistersymbol(Ar_Ed)
dealloc(newmem)
dealloc(ArEd)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+2508A8A
Dragon Age The Veilguard.exe+2508A61: 48 8B 10 - mov rdx,[rax]
Dragon Age The Veilguard.exe+2508A64: 48 8B C8 - mov rcx,rax
Dragon Age The Veilguard.exe+2508A67: FF 92 D0 00 00 00 - call qword ptr [rdx+000000D0]
Dragon Age The Veilguard.exe+2508A6D: 4C 8B E8 - mov r13,rax
Dragon Age The Veilguard.exe+2508A70: 48 85 C0 - test rax,rax
Dragon Age The Veilguard.exe+2508A73: 0F 84 6E 01 00 00 - je "Dragon Age The Veilguard.exe"+2508BE7
Dragon Age The Veilguard.exe+2508A79: 48 8B 16 - mov rdx,[rsi]
Dragon Age The Veilguard.exe+2508A7C: 48 8B CE - mov rcx,rsi
Dragon Age The Veilguard.exe+2508A7F: 8B 98 8C 01 00 00 - mov ebx,[rax+0000018C]
Dragon Age The Veilguard.exe+2508A85: 48 89 7C 24 50 - mov [rsp+50],rdi
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+2508A8A: 8B 7E 38 - mov edi,[rsi+38]
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+2508A8D: FF 92 C8 00 00 00 - call qword ptr [rdx+000000C8]
Dragon Age The Veilguard.exe+2508A93: 48 89 44 24 38 - mov [rsp+38],rax
Dragon Age The Veilguard.exe+2508A98: 3B FB - cmp edi,ebx
Dragon Age The Veilguard.exe+2508A9A: 75 28 - jne "Dragon Age The Veilguard.exe"+2508AC4
Dragon Age The Veilguard.exe+2508A9C: 32 C0 - xor al,al
Dragon Age The Veilguard.exe+2508A9E: 48 8B 7C 24 50 - mov rdi,[rsp+50]
Dragon Age The Veilguard.exe+2508AA3: 4C 8B 6C 24 48 - mov r13,[rsp+48]
Dragon Age The Veilguard.exe+2508AA8: 48 8B 74 24 58 - mov rsi,[rsp+58]
Dragon Age The Veilguard.exe+2508AAD: 4C 8B 7C 24 40 - mov r15,[rsp+40]
Dragon Age The Veilguard.exe+2508AB2: 48 8B AC 24 90 00 00 00 - mov rbp,[rsp+00000090]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>250</ID>
<Description>"Upgrade Level"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>251</ID>
<Description>"Rarity"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">1:Common
2:Uncommon
3:Rare
4:Epic
5:Legendary
</DropDownList>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
How exactly does this suppose to work? Upgrading armor with the +1 changes it's rarity as in if you found multiple pieces?
Please explain how it works so we know if it's actually working the way it's intended.
**EDIT** = Ok, so it seems the rarity works perfectly, however it shows the level of upgrade, but if you change it then you cannot click upgrade inside the game.
Rarity = Working great!
Upgrade level = If you change this then it will not allow you to upgrade inside the game.
***Using Steam Version upgraded to the 11/7/2024 patch.
So good news and bad news. Good news is I have a functioning armor editor that includes rarity and upgrade level, bad news is to get it to populate you must upgrade the item's level, so if you maxed your items up you wont be able to utilize it. Please test it for me:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>249</ID>
<Description>"Equipment Editor"</Description>
<Options moHideChildren="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-08
Author : zachw
This script does blah blah blah
}
[ENABLE]
aobscanmodule(Ar_Ed,Dragon Age The Veilguard.exe,8B 7E 38 FF 92 C8 00 00 00) // should be unique
alloc(newmem,$1000,Ar_Ed)
globalalloc(ArEd,4)
label(code)
label(return)
newmem:
push rax
lea rax,[rsi+38]
mov [ArEd],rax
pop rax
code:
mov edi,[rsi+38]
call qword ptr [rdx+000000C8]
jmp return
Ar_Ed:
jmp newmem
nop 4
return:
registersymbol(Ar_Ed)
[DISABLE]
Ar_Ed:
db 8B 7E 38 FF 92 C8 00 00 00
unregistersymbol(Ar_Ed)
dealloc(newmem)
dealloc(ArEd)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+2508A8A
Dragon Age The Veilguard.exe+2508A61: 48 8B 10 - mov rdx,[rax]
Dragon Age The Veilguard.exe+2508A64: 48 8B C8 - mov rcx,rax
Dragon Age The Veilguard.exe+2508A67: FF 92 D0 00 00 00 - call qword ptr [rdx+000000D0]
Dragon Age The Veilguard.exe+2508A6D: 4C 8B E8 - mov r13,rax
Dragon Age The Veilguard.exe+2508A70: 48 85 C0 - test rax,rax
Dragon Age The Veilguard.exe+2508A73: 0F 84 6E 01 00 00 - je "Dragon Age The Veilguard.exe"+2508BE7
Dragon Age The Veilguard.exe+2508A79: 48 8B 16 - mov rdx,[rsi]
Dragon Age The Veilguard.exe+2508A7C: 48 8B CE - mov rcx,rsi
Dragon Age The Veilguard.exe+2508A7F: 8B 98 8C 01 00 00 - mov ebx,[rax+0000018C]
Dragon Age The Veilguard.exe+2508A85: 48 89 7C 24 50 - mov [rsp+50],rdi
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+2508A8A: 8B 7E 38 - mov edi,[rsi+38]
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+2508A8D: FF 92 C8 00 00 00 - call qword ptr [rdx+000000C8]
Dragon Age The Veilguard.exe+2508A93: 48 89 44 24 38 - mov [rsp+38],rax
Dragon Age The Veilguard.exe+2508A98: 3B FB - cmp edi,ebx
Dragon Age The Veilguard.exe+2508A9A: 75 28 - jne "Dragon Age The Veilguard.exe"+2508AC4
Dragon Age The Veilguard.exe+2508A9C: 32 C0 - xor al,al
Dragon Age The Veilguard.exe+2508A9E: 48 8B 7C 24 50 - mov rdi,[rsp+50]
Dragon Age The Veilguard.exe+2508AA3: 4C 8B 6C 24 48 - mov r13,[rsp+48]
Dragon Age The Veilguard.exe+2508AA8: 48 8B 74 24 58 - mov rsi,[rsp+58]
Dragon Age The Veilguard.exe+2508AAD: 4C 8B 7C 24 40 - mov r15,[rsp+40]
Dragon Age The Veilguard.exe+2508AB2: 48 8B AC 24 90 00 00 00 - mov rbp,[rsp+00000090]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>250</ID>
<Description>"Upgrade Level"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>251</ID>
<Description>"Rarity"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">1:Common
2:Uncommon
3:Rare
4:Epic
5:Legendary
</DropDownList>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
How exactly does this suppose to work? Upgrading armor with the +1 changes it's rarity as in if you found multiple pieces?
Please explain how it works so we know if it's actually working the way it's intended.
**EDIT** = Ok, so it seems the rarity works perfectly, however it shows the level of upgrade, but if you change it then you cannot click upgrade inside the game.
Rarity = Working great!
Upgrade level = If you change this then it will not allow you to upgrade inside the game.
***Using Steam Version upgraded to the 11/7/2024 patch.
Try turning to 11 and then equipping the item and see if it works correctly.
So good news and bad news. Good news is I have a functioning armor editor that includes rarity and upgrade level, bad news is to get it to populate you must upgrade the item's level, so if you maxed your items up you wont be able to utilize it. Please test it for me:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>249</ID>
<Description>"Equipment Editor"</Description>
<Options moHideChildren="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Dragon Age The Veilguard.exe
Version:
Date : 2024-11-08
Author : zachw
This script does blah blah blah
}
[ENABLE]
aobscanmodule(Ar_Ed,Dragon Age The Veilguard.exe,8B 7E 38 FF 92 C8 00 00 00) // should be unique
alloc(newmem,$1000,Ar_Ed)
globalalloc(ArEd,4)
label(code)
label(return)
newmem:
push rax
lea rax,[rsi+38]
mov [ArEd],rax
pop rax
code:
mov edi,[rsi+38]
call qword ptr [rdx+000000C8]
jmp return
Ar_Ed:
jmp newmem
nop 4
return:
registersymbol(Ar_Ed)
[DISABLE]
Ar_Ed:
db 8B 7E 38 FF 92 C8 00 00 00
unregistersymbol(Ar_Ed)
dealloc(newmem)
dealloc(ArEd)
{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+2508A8A
Dragon Age The Veilguard.exe+2508A61: 48 8B 10 - mov rdx,[rax]
Dragon Age The Veilguard.exe+2508A64: 48 8B C8 - mov rcx,rax
Dragon Age The Veilguard.exe+2508A67: FF 92 D0 00 00 00 - call qword ptr [rdx+000000D0]
Dragon Age The Veilguard.exe+2508A6D: 4C 8B E8 - mov r13,rax
Dragon Age The Veilguard.exe+2508A70: 48 85 C0 - test rax,rax
Dragon Age The Veilguard.exe+2508A73: 0F 84 6E 01 00 00 - je "Dragon Age The Veilguard.exe"+2508BE7
Dragon Age The Veilguard.exe+2508A79: 48 8B 16 - mov rdx,[rsi]
Dragon Age The Veilguard.exe+2508A7C: 48 8B CE - mov rcx,rsi
Dragon Age The Veilguard.exe+2508A7F: 8B 98 8C 01 00 00 - mov ebx,[rax+0000018C]
Dragon Age The Veilguard.exe+2508A85: 48 89 7C 24 50 - mov [rsp+50],rdi
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+2508A8A: 8B 7E 38 - mov edi,[rsi+38]
// ---------- DONE INJECTING ----------
Dragon Age The Veilguard.exe+2508A8D: FF 92 C8 00 00 00 - call qword ptr [rdx+000000C8]
Dragon Age The Veilguard.exe+2508A93: 48 89 44 24 38 - mov [rsp+38],rax
Dragon Age The Veilguard.exe+2508A98: 3B FB - cmp edi,ebx
Dragon Age The Veilguard.exe+2508A9A: 75 28 - jne "Dragon Age The Veilguard.exe"+2508AC4
Dragon Age The Veilguard.exe+2508A9C: 32 C0 - xor al,al
Dragon Age The Veilguard.exe+2508A9E: 48 8B 7C 24 50 - mov rdi,[rsp+50]
Dragon Age The Veilguard.exe+2508AA3: 4C 8B 6C 24 48 - mov r13,[rsp+48]
Dragon Age The Veilguard.exe+2508AA8: 48 8B 74 24 58 - mov rsi,[rsp+58]
Dragon Age The Veilguard.exe+2508AAD: 4C 8B 7C 24 40 - mov r15,[rsp+40]
Dragon Age The Veilguard.exe+2508AB2: 48 8B AC 24 90 00 00 00 - mov rbp,[rsp+00000090]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>250</ID>
<Description>"Upgrade Level"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>251</ID>
<Description>"Rarity"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">1:Common
2:Uncommon
3:Rare
4:Epic
5:Legendary
</DropDownList>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>ArEd</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
How exactly does this suppose to work? Upgrading armor with the +1 changes it's rarity as in if you found multiple pieces?
Please explain how it works so we know if it's actually working the way it's intended.
**EDIT** = Ok, so it seems the rarity works perfectly, however it shows the level of upgrade, but if you change it then you cannot click upgrade inside the game.
Rarity = Working great!
Upgrade level = If you change this then it will not allow you to upgrade inside the game.
***Using Steam Version upgraded to the 11/7/2024 patch.
Try turning to 11 and then equipping the item and see if it works correctly.
Nope, doesn't seem to work. I've tried to equipped every item that I have up to this point. I can only upgrade items to +3 and +6 on the main character for now. I did turn them all Legendary, but doesn't seem to want to change the upgrade level.
*NOTE* Also, if you fully upgrade the items to the highest that you can go at the time, then you cannot re-select them again until you can actually upgrade them more. Meaning: I need more materials (different ones) to upgrade again.
Too bad it wouldn't auto-select the item you have highlighted / on display to be upgraded or equipped. It seems that you must give it at least a +1 for the pointers to work.
However, I'm perfectly fine with just the rarity tbh, this is amazing.
Any chance for a cheat to set skill points (both your own and companions) to a specific number? The infinite cheat works great but the leftover points after maxing skill trees are driving my OCD nuts.
Any chance for a cheat to set skill points (both your own and companions) to a specific number? The infinite cheat works great but the leftover points after maxing skill trees are driving my OCD nuts.
That involves Searching for an 'Exact Value - 2 Bytes' (the current Skill Points value) then adding or removing multiple skills, doing a Next Scan for the new value, then repeating until the number of values is around 6 or so results, then modifying them all at once and re-assigning skills one last time to 'finalize' the desired Skill Points value.