Well, I eventually got around to testing it and (thanks to Wes) then there is a new way of writing the 'everybody ready to die dialogue' at the stairs to the Tree of Life for your
NPC. Whereas the old way involve extending dialogues etc then this version is done with an interjection (with CHAIN transisitions!) and a few appends. Below is the example from Harvey that has now been tested and works correctly:
//Tree of Life
INTERJECT PLAYER1 33 GH#I#TreeofLife
== PLAYER1 IF ~IsValidForPartyDialog("G#Harvey")~ THEN ~Harvey, the enigmatic sorceror who travels with you; he is still as much a mystery as the day you first met him. Is he willing to fight and probably die in the coming battle?~
END
++ ~This isn't your fight, Harvey. It's mine. There's no need for you to risk your life...~ EXTERN HARVEYJ 22#RiskLife
++ ~Harvey, you don't have to fight Irenicus if you don't want. He is very powerful. Maybe even more powerful than you...~ EXTERN HARVEYJ 22#MorePowerful
++ ~Irenicus is a powerful mage. I'm going to need a more powerful sorceror to defeat him. You up for it?~ EXTERN HARVEYJ 22#UpForIt
APPEND HARVEYJ
IF ~~ THEN BEGIN 22#RiskLife
SAY ~No <CHARNAME>, I'm staying. I want to see how tough this bastard really is. And besides could I risk my life even if I wanted to?~
COPY_TRANS PLAYER1 33
END
IF ~~ THEN BEGIN 22#MorePowerful
SAY ~Oh come on! I am so much more powerful that this bastard, and I'm going to prove it. Lead on <CHARNAME>!~
COPY_TRANS PLAYER1 33
END
IF ~~ THEN BEGIN 22#UpForIt
SAY ~Hell yeah! I'm going to teach this bastard a thing or two about spellcasting. We'll take him down!~
COPY_TRANS PLAYER1 33
END
END
A template for this new layout is shown below:
//Tree of Life
INTERJECT PLAYER1 33 TreeofLifeVariableForNPCX
== PLAYER1 IF ~IsValidForPartyDialog("NPCX")~ THEN ~NPC X, the new NPC that has fought by your side; are they ready to risk their life in the following battle?~
END
++ ~NPC X, there's no point in you coming any further. You don't have to risk your life.~ EXTERN NPCXJ Option1
++ ~NPC X, are you sure you want to do this?~ EXTERN NPCXJ Option2
++ ~NPC X, you've come with me this far, you aren't going to abandon me now are you?~ EXTERN NPCXJ Option3
APPEND NPCXJ
IF ~~ THEN BEGIN Option1
SAY ~Oh shut up <CHARNAME>! I'm cooler than you anyway. I'm gonna kill this mage with my bare hands!~
COPY_TRANS PLAYER1 33
END
IF ~~ THEN BEGIN Option2
SAY ~Yeah, why not? Sounds like a fun way to spend the afternoon...~
COPY_TRANS PLAYER1 33
END
IF ~~ THEN BEGIN Option3
SAY ~Of course not! Don't worry, I'll cover your back.~
COPY_TRANS PLAYER1 33
END
END
I hope that helps people making new NPCs!