currencyAOB: jmp newmem returnhere: originalcode: mov [edi+10], eax // ... rest of original code

ptrSouls: dd 0xABCDEF00 // Replace with your souls pointer

ptrGems: dd 0x87654321 // Replace with your gems pointer

// Read gem value mov eax, [ptrGems] test eax, eax jz @f mov eax, [eax+08] // Offset to gem value mov [someAddress+4], eax @@: jmp returnHere

hookLocation: jmp DeepFeature nop returnHere: // Restore original code db originalBytes

-- Idle Skilling Deep Feature: Coins + Gems + Souls -- Works across game restarts [ENABLE] // Allocate memory for our deep feature alloc(DeepFeature, 1024) label(ptrCoins) label(ptrGems) label(ptrSouls) label(returnHere)