Posted November 22, 2017
I'm currently playing Divine Divinity and I just encountered a bug which prevents from finishing the game. I don't know if it's just bad luck for me or if the GOG version always has this bug in which case, the game is broken and cannot be finished. (EDIT : seems the GOG version is bugged as I encountered the problem 3 times total)
I'm doing the "reunite the council of the seven" quest and I am supposed to talk to an imp who is hostile and attacking everyone he sees. So it's impossible to finish the quest (and thus, the game).
(EDIT : the same problem happens again later after this quest, when you wake up in the desert and there are 2 nearby orcs, Garth and Drox who should be friendly ; and a third time when you look for the dragon Patriarch in the east of this area, he attacks you when he is done talking)
I found a solution to this problem in these threads : here and
there
So, how to solve this problem ?
First and foremost : DO NOT KILL THE HOSTILE NPCS ! Save the game near any NPC who shouldn't be hostile.
IMPORTANT : BACKUP YOUR SAVEGAME IN CASE SOMETHING GOES WRONG !
Then, you'll need a hex editor (I'm using Frhed but others will do fine too), and how to perform basic manipulations with it.
In your savegame folder, open the file data.000.
Then, with the search function, look for the name of the hostile NPC.
Warning : if the hostile NPC is Zaknadrix (as it was for me), it is mispelled in the file, instead, look for Zanadrix (without the k).
There will be several occurrences of the name, look for two consecutive occurrences : the first with a number just after it, and the second with a letter after it. In my case, it looked like this : Zanadrix59.....Zanadrix.K
Replace the first letter of both occurrences by a 00, which will make it look like : .anadrix59......anadrix.K
Save the file, and load your save, the NPC shouldn't be hostile anymore.
---------------
If you saved your game AFTER killing the NPC (which I did :/) :
It is still possible to revive it but will require additional operations.
In the same file (data.000), place your cursor at the location you found after the search I mentioned above.
Then, do a new search, but change the search direction upwards instead of downwards, and look for this string : 80 3F 00 00 80 3F 00 00 00 00 (for some NPCs in the Dark Forest, the string is different : E6 3F 66 66 66 3F 00 00 00 00)
If you're using Frhed as I do, because of how its search function works, you'll have to type this string instead : <bh:80><bh:3f><bh:00><bh:00><bh:80><bh:3f><bh:00><bh:00><bh :00><bh:00> (remember, search for it UPWARDS !)
When you've found it, place your cursor on the second 3F of the string, and move your cursor to the right 7 bytes. Change it to 00, then move it 10 more bytes to the right, then change it again to 00 as well as the byte next to it on the right.
In other words, starting from the second 3F, change the 7th, 17th and 18th bytes on the right from their respective values to 00 each.
This will make the NPC revive, but it will have 0 hp. It may work nonetheless, but when I tried continuing playing after this, I had a game crash when the NPC teleported to the council of seven. I'm not entirely sure, but I suspect it did so because the NPC had 0 hp left, so I advise to "heal" him a bit before resuming your game. Here is how to do it :
Starting from the place where you found the double occurrences of the NPC's name, do a new search UPWARDS.
Look for this string : FF FF FF
With Frhed, you'll have to look for : <bh:ff><bh:ff><bh:ff>
This triple FF should be preceded by another value (in my case it was FE).
You'll have to replace this preceding value by the number of hp you want to give to the NPC in hexadecimal. So if you want to give him 100 hp, type 64 ; if you want to give him 1 hp, type 01.
Then also replace the triple FF by a triple 00.
So for me i changed it from FE FF FF FF to 64 00 00 00.
Save the file, your NPC will be alive again, non-hostile, and with the hp amount you gave him.
From there on, you should be able to continue your game, and hopefully finish it.
Good luck !
I'm doing the "reunite the council of the seven" quest and I am supposed to talk to an imp who is hostile and attacking everyone he sees. So it's impossible to finish the quest (and thus, the game).
(EDIT : the same problem happens again later after this quest, when you wake up in the desert and there are 2 nearby orcs, Garth and Drox who should be friendly ; and a third time when you look for the dragon Patriarch in the east of this area, he attacks you when he is done talking)
I found a solution to this problem in these threads : here and
there
So, how to solve this problem ?
First and foremost : DO NOT KILL THE HOSTILE NPCS ! Save the game near any NPC who shouldn't be hostile.
IMPORTANT : BACKUP YOUR SAVEGAME IN CASE SOMETHING GOES WRONG !
Then, you'll need a hex editor (I'm using Frhed but others will do fine too), and how to perform basic manipulations with it.
In your savegame folder, open the file data.000.
Then, with the search function, look for the name of the hostile NPC.
Warning : if the hostile NPC is Zaknadrix (as it was for me), it is mispelled in the file, instead, look for Zanadrix (without the k).
There will be several occurrences of the name, look for two consecutive occurrences : the first with a number just after it, and the second with a letter after it. In my case, it looked like this : Zanadrix59.....Zanadrix.K
Replace the first letter of both occurrences by a 00, which will make it look like : .anadrix59......anadrix.K
Save the file, and load your save, the NPC shouldn't be hostile anymore.
---------------
If you saved your game AFTER killing the NPC (which I did :/) :
It is still possible to revive it but will require additional operations.
In the same file (data.000), place your cursor at the location you found after the search I mentioned above.
Then, do a new search, but change the search direction upwards instead of downwards, and look for this string : 80 3F 00 00 80 3F 00 00 00 00 (for some NPCs in the Dark Forest, the string is different : E6 3F 66 66 66 3F 00 00 00 00)
If you're using Frhed as I do, because of how its search function works, you'll have to type this string instead : <bh:80><bh:3f><bh:00><bh:00><bh:80><bh:3f><bh:00><bh:00><bh :00><bh:00> (remember, search for it UPWARDS !)
When you've found it, place your cursor on the second 3F of the string, and move your cursor to the right 7 bytes. Change it to 00, then move it 10 more bytes to the right, then change it again to 00 as well as the byte next to it on the right.
In other words, starting from the second 3F, change the 7th, 17th and 18th bytes on the right from their respective values to 00 each.
This will make the NPC revive, but it will have 0 hp. It may work nonetheless, but when I tried continuing playing after this, I had a game crash when the NPC teleported to the council of seven. I'm not entirely sure, but I suspect it did so because the NPC had 0 hp left, so I advise to "heal" him a bit before resuming your game. Here is how to do it :
Starting from the place where you found the double occurrences of the NPC's name, do a new search UPWARDS.
Look for this string : FF FF FF
With Frhed, you'll have to look for : <bh:ff><bh:ff><bh:ff>
This triple FF should be preceded by another value (in my case it was FE).
You'll have to replace this preceding value by the number of hp you want to give to the NPC in hexadecimal. So if you want to give him 100 hp, type 64 ; if you want to give him 1 hp, type 01.
Then also replace the triple FF by a triple 00.
So for me i changed it from FE FF FF FF to 64 00 00 00.
Save the file, your NPC will be alive again, non-hostile, and with the hp amount you gave him.
From there on, you should be able to continue your game, and hopefully finish it.
Good luck !
Post edited November 30, 2017 by Pouyou-pouyou