Hello, gonna share some observations about mayhem 2.0 weapon levels.
Firstly i've been using this table (named Tooltip Pointer), it was posted here somewhere but i can't find it so i reposting its code.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>168</ID>
<Description>"Tooltip Pointer (save & load after updating level)"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript Async="1">[ENABLE]
aobscanmodule(tooltip,Borderlands3.exe,49 8B 06 31 D2 4C 89 F1 FF 50 30 49)
alloc(newmem,$1000,tooltip)
label(code)
label(return)
label(tooltipPtr)
newmem:
mov rax,tooltipPtr
mov [rax],r14
code:
mov rax,[r14]
xor edx,edx
jmp return
tooltipPtr:
dq 0
tooltip:
jmp newmem
return:
registersymbol(tooltip)
registersymbol(tooltipPtr)
[DISABLE]
tooltip:
db 49 8B 06 31 D2
unregistersymbol(tooltip)
unregistersymbol(tooltipPtr)
dealloc(newmem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>16320</ID>
<Description>"Base Address Raw"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16327</ID>
<Description>"Saved Level"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>1A4</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16328</ID>
<Description>"Level Req Display"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>1A8</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16329</ID>
<Description>"Item Score Display"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>204</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16330</ID>
<Description>"Type"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>208</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16331</ID>
<Description>"Balance"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>20F</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16332</ID>
<Description>"Manufacturer"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>218</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16326</ID>
<Description>"Item Component Count"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>228</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16335</ID>
<Description>"Item Component "</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>220</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16334</ID>
<Description>"Annointed Component Count"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>238</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16336</ID>
<Description>"Annointed (Part Data)"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>230</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16337</ID>
<Description>"Annointed (Aspect Data)"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>348</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16333</ID>
<Description>"Sell Price"</Description>
<VariableType>4 Bytes</VariableType>
<Address>tooltipPtr</Address>
<Offsets>
<Offset>1FC</Offset>
<Offset>138</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Secondly i've been using this online tool
[Link] to check out anointed parts (it was released just yesterday on se7ensins forums).
Lastly i'm far away from technical terms and just a normal user so excuse me if i'm wrong
So what i think defies "mayhem level" of the weapon is an adress space called "Annointed (Part Data)"
Here some screen shots, not sure if they'll help
First pic is a common maliwan gun i've purchased on mayhem 1, it has no annointments
Second (Ruby) was found on mayhem 10, it doesn't have anointments either but according to CE it actually does. When i uploaded this save to
[Link] it didn't show me any anointments either.
Third pic is a Hellshock that was initially m1 which i apparenty turned into m10 by coppying m10 Ruby's adress (Annointed (Part Data)) into it. After reloading it turned into m10 (damage went from ~2k to 4.8k). However it has lost its anointement. So i went to
[Link] loaded my save and added +200 damage while AS active anointment (IIRC, yet again it was "clean" and didn't show any anointments). After saving and loading it i've got m10 hellshock with new anointment. It also shows that it has 2 anointment parts despite only 1 presenting on weapon card.
so TL;DR i think the hidden "mayhem level" of the weapon is a part "Annointed (Part Data)" adress pace. Yet again might be completely wrong, sorry and thanks.