Your donations keep RPGWatch running!

Reviving NPCs

 

Some gamers ran out of luck in the game and had several quest relevant NPC missing, due to "accidents" (killed by enemies or the gamer indirectly, for example with poison cloud, Elemental Hail, an exploding poison barrel etc.). So Barnabus, the German Tech Wiz in the Larian Studios Forum, thought up of a way to help gamers continue the game by reviving these NPC (using a hex editor to alter information stored in a file in the saved game folder).

Raze, the Tech Wiz of the English part of the forum, then translated and modified this hex procedure.

The latest patch version 1.0034 adds protection to essential NPCs such as Joram and Goemoe, but minor quests may still be broken this way.

Caution: If you kill an NPC directly and later revive them, they will remain hostile and attack you immediately - you can spare yourself this procedure then.

A few examples for missing NPC are:

  • Gareth, the soldier at the barracks where General Alix is - due to the orc attack.
  • Caroline, the mother in Ars Magicana asking to rescue her kidnapped boy - due to enemies in that area.
  • The healers Joram and/or Otho or Goemoe, vital for the main plot line in the Council Quests afterwards - due to gamers killing them.
  • Knight Seth in Aleroth - disappears after the escort healer quest was solved. This is the story line, but some gamers wanted to have his sword Brightblade.
  • Summoner Corinna in Verdistis if she is not saved by the attacking demon - due to the demon killing her. Please, read the Disclaimer for further information if you have failed the summoning ritual, this procedure will not work then to redo this quest.
  • Knight Sir Markham, on the road to Verdistis - seems to disappear after a while.

You will need a hex editor for this.

Warnings

Please take note of the following warnings:

  • A mistake, typo or out-of-range value when editing the data file can cause the game to either crash to desktop or completely lock up, forcing a re-boot. Make a backup before hex editing anything.
  • The data.000 file basically defines your character (stats, skills, experience points, class, gender, etc.) and keeps track of all NPC locations and status, in addition to storing your own location. Without a valid, working data.000 file, the saved game will be useless.
  • Please read this article through before attempting to change things, and make sure you follow the steps as described in the procedure below carefully.

 

The procedure

Before we start click on the following thumbnail image. It will open in a new window and it holds the large image to which this procedure refers to.

Display Full Image
  1. Save the game under a new name before attempting this, or make a copy of the saved game folder. It couldn't hurt to also make a backup of the data.000 file in the new saved/copied game folder.

    Tip: Save the game with your character close to the dead NPC you wish to revive, making it easier and faster to check the results of your hex editing.
  2. Browse to the saved game folder you wish to modify '../Divine Divinity/Run/savegames/NameOfSave', and open the data.000 file in a hex editor.
  3. Search (ASCII mode) for the NPC's name (the example shown below is for Gareth). The name will appear multiple times; keep searching until you find the name followed by a number (ie Gareth69) without any other names, etc. just before it. There should only be a couple instances of the name followed by a number, with the correct one looking similar to the example screen shot above.
  4. Now scroll upwards a bit, and look for the sequence 80 3F 00 00 80 3F 00 00 00 00. For some NPCs in the Dark Forest, it may be E6 3F 66 66 66 3F 00 00 00 00, but the 3F xx xx xx 3F is the same for all NPCs. The hex value 3F corresponds to the ASCII symbol ? so it may be easier to spot two question marks on the ASCII side of the hex editor than looking for the hex values.

    In Hackman, click on the arrow button at the top or bottom of the scroll bar to move up or down the file one 'page' at a time; don't try to drag the scroll bar or click below it, you will go past the spot you need. These values should within about a page above the NPC's name.
  5. The bytes that need to be changed are found using this sequence of numbers for orientation. Counting from the last 3F, the 7th, 17th and 18th bytes should be changed to 00 (see screen shot).
  6. You can, and in some cases must, also change the NPC's position. Though there are minor differences, the procedure is described in the article Location Editor.
    The easiest way to do this is to stand where you want the NPC to be before you save, then find your coordinates and enter them for the NPC. Make sure you check the map value as well, or the NPC could end up out of bounds. In Hackman, the 'new npc' term should be within a couple pages above the NPC's name.
    Display Full Image
    NPC Storage room.

    Some NPCs go to what amounts to an NPC storage room when they die. The storage room also contains various other NPCs (Sir Markham, Cosmo, the ghost of the duke, Cyrion, Seth etc). Anyone in this room will have the location coordinates below, in which case you must change their position when you revive them.
    map = 00: X = C0 0E ; Y= 00 D0 (or sometimes 10 D0 ).

    You can use this to bring Seth back to Aleroth's gate after you have completed the Escort for the Healers quest (no need for step 5, unless you killed him). Coordinates you can use are;
    map = 00: X = A0 18 ; Y= 10 1A

  7. (Optional) If you would like to heal the NPC, or at least add a few health points, search just above their name for the sequence xx FF FF FF. The xx term is the number of hit points (a hex value of '64' will give the NPC 100 hit points), while the FF FF FF needs to be replaced by 00 00 00. This is only necessary if the NPC was killed in a fight, not if they were killed by the ghost in the Dark Forest. Even if they were killed in a fight, the game does not mind reviving someone with zero (or even negative) hit points, though this would make them very easy to kill again if there were still hostile enemies in the vicinity.

    If you kill an NPC using Poison Cloud (indirect attack, they do not turn hostile), wait until the spell duration is up before saving and reviving them (assuming you would ever want to kill someone and immediately revive them). For many NPCs you can see when this occurs, but Seth's body (for example) just disappears. If you save before the poison wears off (being dead does not effect this), they will be poisoned when you revive them and will need to be healed so they do not die again right away.

  8. After making the required changes, save and close the file. You do not have to shut down the hex editor if you want to play around with this (or just confirm the changes worked), but you should close the file so the editor and game are not trying to access the file at the same time.
  9. Start Divinity (if required) and load the game. If all went according to plan, the NPC is no longer dead, and you should be able to talk, trade and complete quests as if they had not died.

 

Disclaimer

This procedure will not fully work for Corinna if you gave her the fake talking tree branch, since there is information about the summoning quest stored in the other files, and in other parts of the data.000 file. However, if you just want to bring her back as a trading partner (for the silver charms and occasional spell books she sells), it will work for that (search for 'Corinna AlMeara466', the second occurance should be the correct one to edit).
After being revived, she does not respond if you try to talk to her, but if you click on her in combat mode, she will tell you not to menace everyone you meet. You can then click on the trade icon, but make sure you exit the dialog by lowering your weapon, not attacking. Raze had traded with her quite a bit in his test game, in addition to saving her from her first summoning experiment, so she had an opinion of 100 (Admiring). Several 'attacks' and weapon sheathing later, her opinion had not dropped.
You should also change her location, so you do not need to go downstairs to trade;
map = 01: X = 80 51 ; Y= 90 66

Some NPCs that show up in several places (such as the Black Ring members) have their information stored in a different format, so this procedure will not work (either to revive or to relocate).

Experiments Raze made

It is possible for an NPC, such as Shrimpo, to have two different numbers after their name in the data file, though at least in Shrimpo's case, one instance is in the general format described above, and his location can be changed (Raze didn't try killing and reviving him).

The coordinates for Iona's pet Cyrion are listed as being in the NPC storage room, even when he is not (obviously, the game is using a slightly different format for his location). The game was saved with Cyrion alive, dead and resurrected in his cave, then teleported to the storage room, where Cyrion could clearly be seen in the NPC pile (only Sir Markham and the elves seem to wander around after you get there). After casting Aura of Command on him and teleporting to the room, the only instance of Cyrion was the one following his character.

Basically, this procedure should work for many of the cases where you would want to use it, but there are exceptions.

Raze teleported to Seth's location to see where he took off to after the escort quest, and found a whole stack of NPCs. Iona's pet was pretty much the only one who stuck out visibly from the group (due to his size), so was the easiest one to use in order to check if they were copies or originals. With the difference in format for Cyrion's data (which he discovered during this test), a more accurate experiment might have been to find the same elves in the dark forest, then teleport into the storage room to see if they were still there after the cut scene as you approach the talking tree. However, he wasn't curious enough about how the game uses that room to do another test.

Resurrect (and running/teleporting away so they turn hostile) can easily be used to repeatedly kill monsters for the experience. The usually hostile NPCs in the storage room do not react to you there and you can not attack them (you can talk to the elves, though). For non-quest related NPCs, the reviving part of the procedure has no practical applications.

Information about

Divine Divinity

Developer: Larian Studios

SP/MP: Single-player
Setting: Fantasy
Genre: Action-RPG
Combat: Real-time
Play-time: 40-60 hours
Voice-acting: Partially voiced

Regions & platforms
World
· Homepage
· Platform: PC
· Released: 2002-08-03
· Publisher: Unknown

More information