Jump to content

Add a dead party member in PS:T


SKARDAVNELNATE

Recommended Posts

I'm looking for a way to add a dead character to my party in Planescape: Torment.

 

There are 3 places in the game where you're forcibly separated from your party. In my All Inclusive Pack I added a means for them to rejoin you automatically when you return. However there's still the possibility that someone can be dead at the time. Normally if you are separated from them or reform them from the party while dead there's no way to get them back.

 

So far I've changed the Divine Censer to a conversable object so that I can choose which character to revive through dialog with it. This works fine for dead characters in my party. I've looked through the IDS files and tried a few commands to get a dead character to join the party or revive a character that isn't already present but so far nothing has produced the desired effect.

Link to comment

From what understanding I have, I think what you might have to do is re-spawn the NPC in .cre form via a console command. You can then speak to them as though they were just kicked out of the party. It may also be necessary to delete/alter any variables that are set when they die or to replicate the kicked out variables. You can probably look at this by checking before/after savegames to see if there are any tracking variables for NPC death.

 

Hopefully, someone with a better grip on how this works in PS:T might be able to give you some more specific advice.

Link to comment
To get a creature to join the party, you'll need to use the JoinParty action.

To resurrect a creature, you'll have to use #32 (0x20) Cure: Death (Raise Dead) [32] effect.

 

It's in the IESDP.

It seems those only work on creatures that are already present.

For a character still in my party I used ReallyForceSpellLevel("",INNATE_RAISE_DEAD,5) DestroyItem("ImAlive",Nearest,0)

This revives the character and removes 1 Divine Censor from inventory.

 

When a character isn't in my party JoinParty(), JoinPartyEx(), and any spells I use can't find the target. I tried CreateCreatureAtFeet() as is used in Platter's Tome o' Cheats but this creates a duplicate party member at their starting level, not the level when they died.

Link to comment
Guest Guest

After experiment for half the day I've made a little head way into this project. At the least I have a better understanding of what doesn't work.

 

In the save file under TORMENT.GAM a dead party member stays in Player characters. When separated they're moved to Non-player characters and have a location in the area where they were separated. This is normal for leaving a party member behind with the exception that there's nothing to click on to add them to the party and bring them with you again. Sometimes when separated they leave a corpse behind to indicate their location. The corpse, though, is just an animation frame and can't be interacted with. Sometime it's required to save and load before it appears but just moving between areas isn't enough.

 

I've adapted my Party Separations script to add only characters that are dead. I set it up so dialog with a Divine Censer provides a list of dead party members present in an area. Clicking on a name runs the script. This only works in an area where a dead character was separated from the party. So far I haven't found any way to transfer separated party members to other areas.

 

I played around with using the dialog to revive the character but ran into several problems when trying to duplicate the effect it has.

1) InParty("") is always false on dead characters so I don't have a trigger to distinguish for this.

2) I can only call spells that are listed in SPELLS.IDS. The Divine Censer uses the file SPPR502.SPL. CLERIC_RAISE_DEAD didn't work.

3) SPPR502.SPL gives 50% health. INNATE_RAISE_DEAD gives only 1 hit point. FullHeal("") gives 100% health.

4) Divine Censers have 3 charges. I haven't found any way to deplete a charge from dialog. UseItem("ImAlive","") didn't work.

Link to comment

The best suggestions I can come up with for the PST engine is to try scripting action 311 GeneratePartyMember(P:Location*,I:Value*Specific). I've no idea what it does, but if you try it out, you can tell me! :suspect:

Link to comment
Guest EarthquakeDamage

In BG2, you can use MakeGlobal and MoveGlobalObject to make NPCs teleport to you from other areas. The IESDP tells me PST doesn't have those functions. There may be other script actions that can accomplish the same thing, though. Keep looking, says I.

Link to comment

As stated above GeneratePartyMember didn't have any effect. Looking for an example of it, it looks like the only time it's used is on the Fortress of Regrets roof. To preserve the party members current level and inventory the information for each character is stored in special files that are created in the override folder when you enter the fortress. So in order to use GeneratePartyMember I would need a way to create similar files. Either on command or during certain conditions.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...