Who needs a Room of the Dead anyway?

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Ezric
Posts: 55
Joined: Thu May 14, 2020 1:34 pm

Who needs a Room of the Dead anyway?

Post by Ezric »

* NOTE * - I'm long-winded, so this post rambles a bit. Sorry. It's a personal failing of mine.

This is something I was playing around with about a year ago, and I don't think I ever posted anything about it here. Being bored this morning, I decided I might as well make a post.

Posts show up here every now and then with people asking about why the Room of the Dead is empty in Exult. Debating that point is a dead horse in my eyes, but I thought I'd share my own method for bringing back the perma-dead so that those who've "passed on" can still be accessed.

This method USUALLY works, though I've had unexplained failures in the past, so your milage may vary. I want to say that this technique is in no way based on looking at the source code, so I've no real knowledge as to why this works, other than to say that examinations of "npc.dat" both before and after an NPC's death revealed to me what changes needed to be made. I'd also note that I've only done this with BG, so I can't promise it works with SI (though I expect it should).

For most NPCs, you can resurrect them even when lacking a body (though having a body is no bar to this technique, should you wish to employ it) by this method:

First, go to your "gamedat" folder. In there, you'll see a file called "npc.dat". Open that file up in a hex editor (you can find lots of free ones online with a quick net search). Locate the NPC's name in the file (note that spaces are underscores instead).

Now count back 33 bytes from the start of the NPC's name. The hex value of this byte *should* be 10. Change the byte to 00 and save the file. I'm guessing this is some sort of "don't execute the NPC's schedule" flag. If it's 00 already, there's another technique which I'll outline after this.

Now, start up Exult, select your game, and "Journey Onward". Using the F2 cheat menu, open up the "[N]PC Tool" and navigate to the NPC you're trying to bring back. Select the "[S]tats" tool and set the NPC's hit points to match their strength score.

Now take a look at the NPC's "usiness Activity" menu and note when their scheduled activity changes occur.

Now you can be patient and wait for their next schedule change to occur, or you can use the "[S]et time" tool to help the process along (note that you need to set the current time to 1 minute prior to the schedule change in order for it to happen). When the schedule change occurs, the NPC will resume his or her normal life, totally oblivious to the fact that you've pulled them back from the "great beyond". I find it best to be no where near where the NPC is scheduled to be until they're at least a couple minutes into the task. I've also had to wait through a second schedule change before the NPC shows up.

As mentioned above, in at least one case (Lord British and probably others), that byte that normally reads 10 for a dead NPC will be 00 instead. In the case of Lord British, at least, it's because he's not really dead, only ignoring his schedule. In that case, all you need to do is change his current business activity from "15 - Wait" to something else, then wait for a natural schedule change to occur. Pretty soon, good ole' Lord Brit will be back at his supper table, enjoying the company of his companions, none the wiser to the fact that you're spilled his blood upon the ground (and seen the naughty secret in his will).

In all cases, these methods in no way cause the NPC's corpse to disappear, so don't be suprised when you see Lord British sitting in his throne and looking down on his own corpse at the same time. In the case of NPC's with resurrectable corpses, I honestly don't remember what happens when you try to resurrect them if they're already alive. Nothing catostrophic, as I recall, but again, your milage may vary.

Boy, am I going to feel dumb if there's an easier way to go about this. If nothing else, maybe I'll write a tool to automate the process a bit...
Ezric
Posts: 55
Joined: Thu May 14, 2020 1:34 pm

Re: Who needs a Room of the Dead anyway?

Post by Ezric »

Well, um...

*clears throat*

It seems...

*clears throat again*

It appears that changing unsetting NPC flag 4 via Exult's cheat menu works just as well as hex editing the file.

And, well, um, I'll be going now...
Locked