APPEND JAHEIRAJ
I_C_T BOHUNL HUNT_3 ReJahbohu
== JAHEIRAJ IF ~InParty("Jaheira") See("Jaheira")~ THEN ~Watch your words <CHARNAME>. Though I am not fond of Ariena, a life surely hangs in the balance here.~
END
END
is not going to work correctly -
I_C_T s and I_C_T2 s work as direct Dfile commands on compilation. All you need is (in your TP2)
COMPILE ~myFile.d~
with the contents (assuming somewhere else you have the line BEGIN BOHUNL, if this is your added
NPC)
I_C_T BOHUNL HUNT_3 ReJahbohu
== JAHEIRAJ IF ~InParty("Jaheira") See("Jaheira")~ THEN ~Watch your words <CHARNAME>. Though I am not fond of Ariena, a life surely hangs in the balance here.~
END
As for the rest, I am not so sure... I would definitely say this is one of the reasons CHAIN exists.
It is not standard practice, but one of the other modders (I think at CoM, the old forums) had a great tutorial on how to (abuse) CHAIN to do this sort of thing. The technical claim is that you can build tremendously complex materials and be assured they work, tailored by condition. Kulyok has the base code posted - The basic idea can even be extended this way:
== NPC1 ~second time talked to only, adds line~ ~you again?~
== NPC1 ~not fighter, enough money~ ~reply1a~
== NPC1 ~not enough money~ ~reply1b~
== NPC1 ~fighter only, enough money but not enough intelligence~ ~reply1c~
== NPC2 ~second time talked to only, adds line~ ~you again?~
== NPC2 ~enough money~ ~reply2a~
== NPC2 ~not enough money~ ~reply2b~
== NPC2 ~fighter only, enough money but not enough intelligence~ ~reply2c~
{etc., etc.}
END
++ ~condition~ ~PC Reply~
The advantage is you can have all sorts of conditions come into play, and only write one simple run of dialogue.
WeiDU then does all the hard work of sorting out what manual coding needs to take place, and does it for you. You will still end up with your 18 different end states, but they will all have been recreated (or not, if they can be tied back) by
WeiDU instead of manually.
I would suggest working with this to provide more detailed tailoring of dialogue.
I also strongly suggest adding an "IsValidForPartyDialogue" variant of some type, or your dialogue will fail if Jaheira (for example) is in the party but dead
Edited by cmorgan, 13 July 2007 - 06:28 AM.