Jump to content

Jaheira's quest


Guest TTL

Recommended Posts

I finally managed to get myself stuck in a way that doesn't have anything to do with Drizzt or gnolls...

 

Jaheira's quest works perfectly fine up to the point where I kill the druids who are with Beador (a ridiculously difficult fight, BTW - at levels 5-6 my group is way too weak to withstand 6 druids who all cast Call Lightning...I suppose this is reason enough to level up a bit more before entering Cloakwood). _If_ I understand the readme correctly, Jaheira should now say something - either that Beador is dead (which he isn't) or that he needs healing. No dialogue initiates, I cannot talk to Beador himself...and absolutely no druids are in the Tree House in the previous area. At first I thought that Jaheira getting charmed during the fight might break a script. but I did the battle again, making sure nothing happened to J, and the end result was the same... Oh, right: the X#JaheiraSen variable is set at 15. Setting it to 16 with the console does nothing at all.

 

-TTL

Link to comment

OK, gotta check:

Area File spawns Beador and playmates.

Two paths going into conversation with Beador:

if either 5 or 8 (6, 7, 9>10 all exit quest)

With Jaheira: Global("X#JaheiraSen","GLOBAL",11) set by Beador's BCS moves to 12 to 15

With Jaheira and Faldorn: Global("X#JaheiraSen","GLOBAL",13) set by Beador's BCS moves to 14 to 15

Faldorn can join in or fight you

Global("X#JaheiraSen","GLOBAL",16) is reached by BCS call when the ShadowDruids are dead but Beador is not; to 17 to 18 sets "healing" cutscene which sets 19;

triggers "old Flame" talk and sets 20.

 

Sooooo... the problem is twofold. First, there is supposed to be a cutscene that triggers when all of the shadowdruids are dead, but Beador is not (which is what you have if the global is 15). If the cutscene doesn't play, the variable can't be set; then a second curscene is triggered which advances the globals through 17, 18, and 19 -- if you want to skip, set the global to 19. Jaheira should talk about her old flame, and everything should go on as expected.

 

As for why the problem is happening in the first place, I bet I know...

IF
 Areacheck("FW1700")
 Dead("jadruid8a")
 Dead("jadruid8b")
 Dead("jadruid6a")
 Dead("jadruid6b")
 Dead("jadruid6")
 !See([ENEMY])
 Inparty(Myself)
 !Dead("beador")
 Global("X#JaheiraSen","GLOBAL",15)
THEN
 RESPONSE #100
Setglobal("X#JaheiraSen","GLOBAL",16)
Startdialognoset(Player1)
END

 

Cutscene is X#JABE1, code is

IF
 InParty("jaheira")  // jaheira
 Global("X#JaheiraSen","GLOBAL",17)
THEN
 RESPONSE #100
ClearAllActions()
SetGlobal("X#JaheiraSen","GLOBAL",18)
StartCutSceneMode()
StartCutScene("X#JABE1")
END

 

I bet we have that DV problem again. Looking....

DVs= JADRUID6A, JADRUID6B, JADRUIDDE, JADRUIDDE ok here it is.

 

 

The DV patching was wicked cool, but had unintended effects. On the plus side, you are making sure I go line by line on these DVs before final release :blush:. On the negative side, it appears that you have been elevated to BugFinder First Class :hm:, which means I welcome you to Playtester status.

 

I am fixing this locally by making sure the tp2 does what it is supposed to do. I suggest skipping the global to 17, and seeing if the next cutscene will run; if it doesn't, then skip the variable to 19. If THAT doesn't work, reenter the first map and force the spawn by setting the global to Global("X#JaheiraSen","GLOBAL",20) .

Link to comment

Sure enough, setting the global to 17 works and everything functions seamlessly from that point on (well, with one minor exception - the archdruid has a minion who never goes hostile and is still standing there in Cloakwood).

 

Another amusing/confusing glitch: Khalid is (according to the readme, again) supposed to comment when I reunite Albert and Ruffie. He doesn't. Ten gamedays and two or three hours real time later, however, he states that "no good deed goes unpunished". Since I don't think he means shopping at High Hedge, which I was doing at the moment, I'm guessing that might be the Ruffie-speech triggering way later.

 

-TTL

Link to comment

The DV problem I fixed locally will handle that minion standing around not going hostile; basically, he was given the equivalent of a lobotomy by the DV being written in correctly. The script says "Yo, go kick his tail", but the actor drools because the script is asking for "jadruid8a" and he is "jadruidde"... glad the rest of the quest goes fine! I am still working out what to do about Drizzt, but will make a decision and code Friday evening.

 

I'm at work, so I will investigate the Albert/Rufie/Khalid interjection thing; it should fire immediately after the pair disappears. If I remember corrctly the fix was a simple missing global!

Link to comment

Um... Albert/Ruffie/Khalid dialogue appears to be a situation where the J file dialogue was made active, but not called.... the only "fix" I can see for this is to check in with your NPCs every so often so they can clear out their cued dialogues. Unfortunately, if you keep on the move all the time, you can build up quite a stack of these StartDialogueNoSet calls, and the only way to clear them is the Force-Talk-'til-you-Drop. The choice was to take stuff off of the Banter file, which had a problem with the wrong banter occasionally firing. The Joined-File stuff, called from Force-Talks, BCS calls, and triggered events, is much easier to control and gets you nicely targeted. Unfortunately, if something interrupts what is going on (especially all those triger qualifiers like "See(Player1)", or "CombatCounter(0)", etc. designed to let you talk without being in the middle of a fight!) the queue of available dialogues stacks up, and you have to trigger them by talking to the NPCs to see if they have anything to say.

 

C'mon, you wanted to flirt anyways... just go ahead and click on Edwin! :)

Link to comment

Archived

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

×
×
  • Create New...