zachillios wrote: ↑Sat Nov 09, 2024 12:16 am
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:
Code: Select all
<?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>
I saw the latest table update after the post, it is much easier, great work.
I'm using steam version of the game.
I found a way to change the items rarity & upgrade level for those who have level 10 upgrades.
using cheat engine, search for Array of Byte (0X 00 00 00 FF FF FF FF 0Y)
X = Upgrade level (range from 01 (no upgrade), then 02 to 0B (level from +1 to +10)
Y = Rarity (range from 1 to 5, common, uncommon, rare, epic, legendary)
use X & Y for the item you want to upgarde & change (0X) to a lower level then use the script to upgarde rarity
Search example:
if you want to search for an uncommon item with upgrade level 10
search for array of byte (0B 00 00 00 FF FF FF FF 02)
you will get alot of results depending on how many items you have that fit that description
select all the addresses that end with 8
right click & choose (change value of selected address)
change it to a lower level (03 00 00 00 FF FF FF FF 02) ---- upgrade level +2 (or any other level less that +10)
then make a new save then load and go to the workshop to upgarde.
happy hunting....