Jump to content

Problems with Kivan in ToB


Guest Purple

Recommended Posts

Guest Purple
Posted

Hi! I played the romance path for Kivan through SoA with no problems, and so far I love the mod, but I've run into some strange things once I got to ToB.

 

I don't know if I messed up somewhere in the installation (maybe other mods are getting on the way?) or if there is really a problem... so this is what I've found so far (slightly spoilerish!):

 

- When I talk to Volo in Saradush I get 2 "tell me about Kivan" options... one aknowledges Charname as his lover, the other one doesn't.

- When I tried to rescue Mateo in Saradush, I talked to him, gained experience, and Kivan disappeared O_o ?

- Kivan doesn't comment anything after the master wraith scene, nor when Nyalee takes Tazok's heart

 

that's all so far....

Posted

Hmm, I don't think I have seen the Volo one reported earlier. On the do-list!

 

I thought I corrected the Mateo glitch in the Saradush for the V8? You are playing with the latest version, right? I will put it on the checklist to re-check. (Checked: yes, the Adrick's interjection is commented out on my file. It should npot trigger at all. To prevent this from happening, please set P#KivanAdric Global to 1 prior to the conversation.)

 

Kivan does NOT have a comment after Master-Wraith scene. I think he also does not have a comment after Nyalle. Does he talk as normal otherwise? (Please, see ToB content sticky).

Guest Purple
Posted

Okay, thanks for the answer!

 

Yes, he talks as normal otherwise, and yes I'm playing with the latest version (I think... I'll check once I get home).

 

I wasn't sure if he had or not a dialog after master wraith and nyalee, so I said it just in case :thumbsup: (it seemed a bit odd he doesn't...)

Posted

I had the same Mateo glitch happen but didn't spot this thread. I got around it by temporarily taking Kivan out of my party and asking him to wait there before talking to Adric, then getting Kivan to rejoin afterwards.

Posted

Since you've just seen it, can you tell me if Kivan's line was that about 'deserving death and infamy'? I have it deleted in the last version, and I hope it will test out as 'gone for good' this time round! Or is this some other line I keep missing?

Posted

Domi,

 

First of all, apologies for stalking posting all over the Kivan forum. :crazyeyes:

 

Secondly, I wish to repeat myself and warn that I know not much about coding. But I've thought a lot about this particular Kivan bug, have checked some things, and thought to post them here, in case they are useful in any way. The line which causes problems is @117 in P#KI25J.D, so I've looked it up in the file and noticed that it's one of the only two instances in which you use I_C_T instead of I_C_T2 (the other being @93, an interjection into the Spectator Beholder ToB part, which works - then again, IIRC, no one in that cutscene does an Escape Area, so...). After reading some selected parts of the WeiDu ReadMe, I decided to do a test on my ToB saved game with the bug (I have one from just before it happens, and several immediately after): I replaced your I_C_T with an I_C_T2, saved and uninstalled and reinstalled Kivan. What happened was that Kivan did not leave the party anymore. In fact, the only problem (which most likely is due to my almost complete ignorance regarding coding) is that the dialogue looks like this: Ardic has left during a cutscene, Kivan has stayed (as did his interjection), but the "END DIALOGUE" checkbox was missing, so I circumvented it by pressing "ESCAPE" (I am pretty sure this was the fault of the fact that I know next to nothing about coding).

 

Anyway, here are the relevant (in my opinion) parts of the WeiDU ReadMe on I_C_T2 (emphasis mine):

 

There seems to be a great deal of confusion among the members of the modding community regarding the purpose and overall function of INTERJECT_COPY_TRANS2. Allow me to take a moment to dispel the rumors that you may have heard.

 

INTERJECT_COPY_TRANS2 is not intended as a replacement for INTERJECT_COPY_TRANS. INTERJECT_COPY_TRANS is a great function but it has a flaw in certain special cases. That’s what INTERJECT_COPY_TRANS2 is intended to remedy. This difference between the two is best illustrated with an example.

 

Let us suppose that you want to add an NPC response to PPSAEM2 8. Here is some of what that state looks like before any mods have been applied:

IF ~~ THEN BEGIN 8 // from: 7.0

SAY #44931 /* ~Blah blah blah~ */

IF ~!IsValidForPartyDialog("Jaheira")

!IsValidForPartyDialog("Anomen")

!IsValidForPartyDialog("Edwin")

IsValidForPartyDialog("Viconia")~ THEN DO ~SetGlobal("WackoArmy","GLOBAL",1)

OpenDoor("DOOR12")

EscapeArea()~ UNSOLVED_JOURNAL #7045 EXTERN ~VICONIJ~ 129

END

 

Note that the DO actions include EscapeArea(). If you use INTERJECT_COPY_TRANS to add an interjection here, the DO actions will be performed by your interjector (usually a party member). The result is that after encountering this dialogue in the game the party member will leave the area (and Saemon will stay where he is!) promptly after performing the interjection. Instead, we want to keep the DO action associated with Saemon.

 

INTERJECT_COPY_TRANS2 allows modders to remedy this problem. INTERJECT_COPY_TRANS2 does exactly the same thing as INTERJECT_COPY_TRANS except that DO actions will be kept with their original actor and not transferred to the interjector.

 

To code your interjection using INTERJECT_COPY_TRANS2, you would do this:

INTERJECT_COPY_TRANS2 PPSAEM2 8

~Blah blah blah~

END

 

The dialogue state that WeiDU will create from this INTERJECT_COPY_TRANS2 statement looks something like:

IF ~~ THEN BEGIN 133 // from:

SAY #78199 /* ~Blah blah blah~ */

IF ~!IsValidForPartyDialog("Jaheira")

!IsValidForPartyDialog("Anomen")

!IsValidForPartyDialog("Edwin")

IsValidForPartyDialog("Viconia")~ THEN UNSOLVED_JOURNAL #7045 EXTERN ~VICONIJ~ 129

END

 

Note that INTERJECT_COPY_TRANS2 is not intended as a universal replacement for INTERJECT_COPY_TRANS. This is most obvious when using the command to interject into a state that starts a cutscene. Here is an example of an interjection into PPIRENI2 27.

 

The original, unmodded state:

IF ~~ THEN BEGIN 27 // from: 28.0 26.0

SAY #44869 /* ~I bid you farewell, child of Bhaal. We shall not meet again.~

[iRENIC52] */

IF ~~ THEN DO ~EraseJournalEntry(7252)

EraseJournalEntry(7253)

EraseJournalEntry(22952)

EraseJournalEntry(23306)

SetGlobal("AsylumPlot","GLOBAL",40)

StartCutSceneMode()

StartCutScene("Cut41j")~ SOLVED_JOURNAL #7255 EXIT

END

 

Using INTERJECT_COPY_TRANS2 to code your interjection into this state will cause the game to crash when your interjection plays (because the special StartCutSceneMode() action cannot occur in the middle of a dialogue, loosely). INTERJECT_COPY_TRANS will work properly, however.

 

Not sure how the part about cutscenes applies (which is the reason I believe I_C_T was originally used by you in this situation), but the part with "EscapeArea" is exactly what Ardic is supposed to do in that dialogue - and does, if Kivan waits in the Pocket Plane instead of being able to interject (which is how quickthorn and I went around the bug during our playthroughs).

 

I only posted my thoughts because I love all Kivan's interjections, and would hate to see even one deleted. Perhaps there is a way to keep it?

Posted

That last lne you are not sure about is exactly the reason why I_C_T was used instead of I_C_T2, because as you see the original state 10 is:

 

IF WEIGHT #0 ~!Detect([ENEMY])
CombatCounter(0)
Dead("sarkis01")
~ THEN BEGIN 10 // from:
 SAY #64978 /* ~And so the foul traitor dies!   I thank you, on behalf of all the citizens of Saradush.  There is much I must do - I cannot stay.  But thank you once again.~ */
 IF ~~ THEN DO ~ClearAllActions()
StartCutSceneMode()
MoveViewObject(Myself,0)
SetGlobal("ArdicSaved","GLOBAL",1)
AddXP2DA("Plot8A")
EraseJournalEntry(65015)
EraseJournalEntry(65028)
EraseJournalEntry(65031)
EraseJournalEntry(65034)
EraseJournalEntry(65038)
EraseJournalEntry(65041)
EraseJournalEntry(65049)
EraseJournalEntry(65052)
FadeToColor([30.0],0)
//MoveToPoint([527.406])
FadeFromColor([30.0],0)

EndCutSceneMode()
DestroySelf()
~ SOLVED_JOURNAL #65051 /* ~Betrayal at the Gates

Kiser Jhaeri is dead and Ardic is free.  His testimony will exonerate Mateo, and the Countess will likely give me a nice reward for my efforts. ~ */ EXIT
END

 

You see, the cutscene plays, but the DestroySelf() line after the cutscene (EndCutSceneMode()) applies to Kivan. In other words, the interjection is faulty, and shouldn't be handled with I_C_T's... well at least with my limited knowledge of the I_C_T. The proper way to script Kivan's line is to add a block of code for it to show up when Global("ArdicSaved","GLOBAL",1) in the area.

Posted

I see. Thank you for the explanation.

 

EndCutSceneMode()

DestroySelf()

~ SOLVED_JOURNAL #65051 /* ~Betrayal at the Gates

 

I only assumed I_C_T2 would work because in my test (where I replaced I_C_T with I_C_T2) there were no problems with using it (except for the missing End Dialogue box described in my post above and my going around it via use of Escape key), i.e., the cutscene happened and Ardic did the DestroySelf thingy (which made him vanish) while Kivan remained in the party, fully selectable, as if nothing happened.

 

Anyway, I'm sorry my idea wasn't helpful and good luck with the code! :crazyeyes:

Posted

Ana, if you still have a save, would you mind hitting Ctrl+X and letting me know what area the folks are in? I can't remember where that final confrontation takes place :crazyeyes:

Posted

Of course I don't mind. :crazyeyes: The area with Ardic is AR5014.

 

Edit: I've just noticed your post was 8 hours ago. Sorry for the delay, we are on very different time settings (IIRC, Canada is at least 7 hours behind Romania time). :groucho:

Posted

Thank you so much! I was actually away all day long yesterday, and slept in today, so no worries. I will try to work on intergrating this fix/tp 2 thinggie over the weekend, so I will probably hit you with a test version by Sunday :crazyeyes:

Posted

My pleasure and glad it wasn't too late.

 

I will try to work on intergrating this fix/tp 2 thinggie over the weekend, so I will probably hit you with a test version by Sunday

 

Best of luck, I am delighted to hear that. :crazyeyes:

 

I honestly don't know how you have the time to be so creative and fast with the many in progress and finished projects you have (not to mention RL as well). There must be several of you, or you have tons of similarly talented twins.

Posted

Thank you, though I am actually incredibly slow compared to the folks in NWN2 community. There are folks who managed to produce a 10-hour long campaigns while I am still working on 2 first areas. :crazyeyes:

Archived

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

×
×
  • Create New...