Divinity II: Developer's Cut

Divinity II: Developer's Cut

29 ratings
Free Mindreading
By iriyap
This is a quick and easy hex edit to make mindreading not cost any EXP.
2
   
Award
Favorite
Favorited
Unfavorite
Explanation
Mindreading is not really an issue in the base game, as the EXP is scaled to your level, so if you fall behind the curve by mindreading too much, the enemies will just start giving more EXP to get you caught up. However, in the expansion pack (Flames of Vengeance aka the Aleroth chapter) the mindreading costs get absolutely ridiculous at 7.5-22k per NPC, so you quickly find yourself 200k+ in debt and enemies only give 3-4k EXP. Unlike the base game, the enemies DO respawn in the expansion, so you're not permanently screwed, but it quickly becomes a huge grind, and I got sick of it and decided to hack the game instead.
Instructions
- Open bin\Divinity2.exe in a hex editor (such as HxD[mh-nexus.de]).
- Search for 8B 44 24 04 01 81 90 and replace it with 31 C0 90 90 89 81 90. In HxD specifically, it's Search -> Replace -> Hex-values.

This does two things:
- While mindreading will still show an EXP cost, no EXP debt will be incurred anymore.
- If there's already any EXP debt, it will be reset to 0 upon reading anyone's mind.

Also, while you're at it, you might as well apply the 4GB patch[ntcore.com] because the expansion pack is quite crash happy otherwise.
10 Comments
Dr Nilsson 🖖 16 Jan @ 9:40am 
works with the fanpatch Div2Patch. :)
Vice 23 Oct, 2023 @ 10:12am 
ahhhh....ty so much! did not even realize heh...
iriyap  [author] 22 Oct, 2023 @ 11:07am 
@Vice, make sure you're searching for hex values, not text strings.
Vice 22 Oct, 2023 @ 10:42am 
Argh...when I try to search for 8B 44 24 04 01 81 90 - the hex editor say's it cannot find it. therefore, i cannot replace it.
Alimandias 22 Aug, 2023 @ 1:42am 
Right, thank you for your help.
iriyap  [author] 22 Aug, 2023 @ 1:37am 
Anything is possible if you get creative with your Cheat Engine scans and have some x86 ASM knowledge. Scan for a thing, then right-click that address to check what functions access it. Then try to make sense of that code.

So for example, say you're trying to modify one of the offensive skills, you first save up some skill points, then keep adding +1 to that skill and scanning for it. Once found, see what function accesses that address when you hit an enemy because that's likely when the game is reading that skill value to calculate the damage. It will all be complex x86 ASM math though.
Alimandias 22 Aug, 2023 @ 1:22am 
Ah, does that mean that other skills cannot be edited because they have static values and don't write?
iriyap  [author] 22 Aug, 2023 @ 1:12am 
@Alimandias, basically, I just scanned for EXP debt, then checked what function writes to that address, then replaced that bit of code with xor eax, eax and some NOPs, so instead of adding EXP debt the game always writes 0 there.
Alimandias 21 Aug, 2023 @ 9:33pm 
Hello, how did you know which hex value edits mindread, and what value to change it to? I want to modify some skills myself but I am not sure how to know which values to change.
cobosdan 31 Jul, 2023 @ 10:15pm 
Thanks man, this is fantastic !
Kudos to you !