Domi Posted April 21, 2008 Share Posted April 21, 2008 It was reported as a bug to me that ivan 'high-jacks' the interjections in the Solar sequence. I have investigated the vanilla Solar sequence. The code is as follows: IF ~~ THEN BEGIN 27 // from: 26.0 22.0 19.0 SAY #67865 /* ~The choice is difficult, but these are your two options, Bhaalspawn. This is where your destiny is realized, and your future begins.~ [SOLAR101] */ IF ~True()~ THEN GOTO 28 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 3 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 11 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 8 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 9 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 9 IF ~IsValidForPartyDialog("Valygar") !Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 2 IF ~IsValidForPartyDialog("Anomen") !Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 10 IF ~IsValidForPartyDialog("Viconia") !Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 6 IF ~IsValidForPartyDialog("Aerie") !Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 7 IF ~IsValidForPartyDialog("Jaheira") !Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 7 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 15 IF ~IsValidForPartyDialog("Sarevok") !Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 2 IF ~IsValidForPartyDialog("Sarevok") Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 3 IF ~IsValidForPartyDialog("Minsc")~ THEN EXTERN ~MINSC25J~ 0 IF ~IsValidForPartyDialog("Nalia")~ THEN EXTERN ~NALIA25J~ 1 IF ~IsValidForPartyDialog("HaerDalis")~ THEN EXTERN ~HAERD25J~ 1 IF ~IsValidForPartyDialog("Jan")~ THEN EXTERN ~JAN25J~ 3 IF ~IsValidForPartyDialog("Cernd")~ THEN EXTERN ~CERND25J~ 0 IF ~IsValidForPartyDialog("Mazzy")~ THEN EXTERN ~MAZZY25J~ 0 IF ~IsValidForPartyDialog("Edwin")~ THEN EXTERN ~EDWIN25J~ 0 IF ~IsValidForPartyDialog("Korgan")~ THEN EXTERN ~KORGA25J~ 2 IF ~IsValidForPartyDialog("Keldorn")~ THEN EXTERN ~KELDO25J~ 0 IF ~Global("Sola_TOB_End","GLOBAL",0) InParty("Sola") !Global("SolaTalk","GLOBAL",-1) ~ THEN DO ~SetGlobal("Sola_TOB_End","GLOBAL",1)~ EXTERN ~SOLA~ 616 END ... IF ~~ THEN BEGIN 29 // from: 28.2 SAY #68068 /* ~As you wish, though it brings me no pleasure to unleash such an evil onto the cosmos. You are wicked, Bhaalspawn, and your time as a power will be a difficult one, I swear.~ [SOLAR103] */ IF ~True()~ THEN GOTO 33 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 11 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 20 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 18 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 20 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 18 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 18 IF ~IsValidForPartyDialog("Sarevok") Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 4 IF ~IsValidForPartyDialog("Sarevok") !Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 6 END IF ~~ THEN BEGIN 30 // from: 28.1 SAY #68069 /* ~As you wish... though the thought of you succumbing to the temptations of Bhaal's foul taint brings me no pleasure. We shall see what manner of power you become, in time.~ [SOLAR104] */ IF ~True()~ THEN GOTO 33 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 11 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 20 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 18 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 20 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 18 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 18 IF ~IsValidForPartyDialog("Sarevok") Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 4 IF ~IsValidForPartyDialog("Sarevok") !Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 6 END IF ~~ THEN BEGIN 31 // from: 28.0 SAY #68070 /* ~As you wish. You have proven to us all that the power in your blood is yours to command... it does not command you. I shall be proud to stand by you in a place of power among the heavens.~ [SOLAR105] */ IF ~True()~ THEN GOTO 33 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 11 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 20 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 18 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 20 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 18 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 18 IF ~IsValidForPartyDialog("Sarevok") Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 4 IF ~IsValidForPartyDialog("Sarevok") !Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 6 END IF ~~ THEN BEGIN 32 // from: 28.3 SAY #68071 /* ~Then you shall begin life anew, mortal, without the taint of your sire upon your soul... and the essence of Bhaal shall forever be hidden. You have done well, and freedom shall be your reward.~ [SOLAR106] */ IF ~True()~ THEN GOTO 33 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 12 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 21 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 19 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 21 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 19 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 19 IF ~IsValidForPartyDialog("Sarevok") Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 5 IF ~IsValidForPartyDialog("Sarevok") !Alignment("Sarevok",MASK_EVIL)~ THEN EXTERN ~SAREV25J~ 7 END In other words, only one NPC has the chance to interject, the one who is in the party and who is the LAST in the sequence, instead of all of them saying their tidbit. In other words, if you have Sarevok in the party, he'll always be the one to interject, and no other NPC will have a chance to say anything. So, really, I am just duplicating the same action with Kivan. Obviously, he ends up as the one who says his piece, since he is a modded NPC, and his reply goes last. I can either remove Kivan's interjection, keep it consistent withthe original game (ie no change), or 'correct' the game and add a 'chain' sequence to include all the NPC remarks so they will all comment before/after Kivan. That last will potentially put me into a conflict with the other mods, which might want to try to do the same (?) - I see that Solaufein for one does not, he is doing the same thing that Kivan does presently. So, opinions? Link to comment
devSin Posted April 22, 2008 Share Posted April 22, 2008 Not quite... Sarevok's state would then filter through the same sequence, e.g., IF ~~ THEN BEGIN whatever // from: SOLAR:whatever SAY #blah /* ~I am Sarevok! RAHHHRRR!~ [HICCUP] */ IF ~True()~ THEN EXTERN SOLAR 33 IF ~IsValidForPartyDialog("Valygar") Global("ValygarRomanceActive","GLOBAL",2)~ THEN EXTERN ~VALYG25J~ 12 IF ~IsValidForPartyDialog("Anomen") Global("AnomenRomanceActive","GLOBAL",2)~ THEN EXTERN ~ANOME25J~ 21 IF ~IsValidForPartyDialog("Viconia") Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN ~VICON25J~ 19 IF ~IsValidForPartyDialog("Aerie") Global("AerieRomanceActive","GLOBAL",2)~ THEN EXTERN ~AERIE25J~ 21 IF ~IsValidForPartyDialog("Jaheira") Global("JaheiraRomanceActive","GLOBAL",2)~ THEN EXTERN ~JAHEI25J~ 19 IF ~IsValidForPartyDialog("Imoen2")~ THEN EXTERN ~IMOEN25J~ 19 END This should be true for all the interjections here, and Kivan should do the same? Except for Kivan, it's gonna be a really long list (Sarevok is VIP so his dialogue comes near the end; the losers always go first). Link to comment
cmorgan Posted April 22, 2008 Share Posted April 22, 2008 This is why the bigg coded up I_C_T3/4... bleh. Link to comment
jastey Posted April 22, 2008 Share Posted April 22, 2008 (I was wondering for a minute which Ivan mod Domi is working on.) It's like devSin pointed out, if you look at the NPC states, the other NPC's interjections are repeated. Sola was coded using I_C_T, and that is what Kivan should use, too. (That is what I would expect even if in the original game only one NPC would get to speak, btw. Since it's a mod NPC, the one who gets the last line would be the one last installed, that doesn't make sense to me.) Link to comment
Domi Posted April 22, 2008 Author Share Posted April 22, 2008 I can't use a simple I_C_T 'cause I have the PC replies on Kiv's states. Somebody posted Kelsey's code, abnd it seems to have a combo of the EB and CT at the end of the states a-la TOL (though ToL used a split I and CT). I will try that out, and hopefully it does the trick. I think that back in the day I tried the ToL way and it resulted in the character repeating stuff twice. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.