Interesting stuff behind messing with the perks, got a small amount of headway but I'm not an expert at ASM and there's some obfuscation of data throwing me for a loop. bypassing the check that allows you to put more points past the perk's cap works.
Code: Select all
nop this
015757A0 - 88 84 37 A1F80100 - mov [edi+esi+0001F8A1],al
but the game only accounts for the cap + 5 levels for the stats they affect, e.g. toughness 15/10 is the limit. going to 16 puts the bonus to 0. bypassing the perk points limitation is much more difficult, as it seems to be mashing an "encrypted"(Or at least humanly difficult to read, even for assembly.) floating point value into a single byte that is being used generically for other routines. It doesn't crash immediately if you nop but it will very soon after.
Code: Select all
015F2065 - F3 0F7F 07 - movdqu [edi],xmm0
Also the whole trainer is broke with the new version(for me at least), I'll try to update the offsets if I can get my head around some of the obfuscation.
[automerge]1591977435[/automerge]
Found the hero base pointer address: "TH2.exe"+00801A80
Experience offset is still +1bc, most offsets should still be the same infact
Edit: I've done a bit of cleanup on the table, turns out most of the secondary stats are broken (AC, MF, Gold find, etc), I put them all in a little (outdated) category on their own as I work up to them, for now here's the updated vars that i fixed / added, I parsed a pointer for all of the perk levels. Will also build a script to mess with the restrictions soon.