Jump to content

Kagain's gotten weird on me.


grissy

Recommended Posts

OK, replies to two folks:

 

Grissy, I have not been able to replicate the problem, but I think I have fixed it anyways. The Bandit should now stay where she is next to the body and yell at the party, spring the ambush, and things should proceed normally.

 

Berelinde, that behavior is confirmed in my install -- the bandit does not say anything, goes hostile, and doesn't attack. I have now (supposedly) fixed this by making sure the Bandit says something and attacks whether or not Kagain is in the party, as well as having the behaviors I described to Grissy.

 

I will ask the team about expanding the quest to take into account killing the Bandit and taking the fistula before meeting Kagain, since this is a very possible outcome.

Link to comment

I do, too... and it is worth revisiting the quest structure because now we have several variables in several potential mods at work all dealing with Kagain's Quest -- the TutuFix/EasyTutu KagainCaravan bailout fix, the move of BG1NPC's version to Phase2 with X#KagainCaravan, and potentially the Unfinished Business restoration.

Link to comment

Just cut out the whole thing altogether. It's initial purpose was to fix Kagain's crash, and seeing how it was fixed in TUTU proper and Easy TUTU, there is no need for it to exist. It leads to almost zero losses of texts, resolves conflict with 3 other mods (unless someone else is lining up to expand on it as well), so it's a win-win situation.

Link to comment

Well, sure, but the TutuFix and EasyTutu ones ahve some troubles too... I just found them.

 

I always wondered why there was a skip to "fageddaboudit" --

 

1. Nothing in any script does SetGlobalTimer("Kagain","GLOBAL",whatever), so the dialogue skips to the final state.

Fixable by adding the SGT to Kagain's initial joining.

 

2. The default .BCS for _KAGAIN has

_KAGAIN.BCS

 

IF

GlobalTimerExpired("Kagain","GLOBAL")

Global("KagainCaravan","GLOBAL",0)

THEN

RESPONSE #100

Dialog([PC])

END

 

IF

GlobalTimerExpired("Kagain","GLOBAL")

Global("KagainCaravan","GLOBAL",1)

THEN

RESPONSE #100

Dialog([PC])

END[code], fixable by both setting the timer and incrementing the variable (or putting a non-loop condition "KagainQuest 0 - 1")

 

The BG1NPC and TutuFix/Tutu both use KagainCaravan, with odd results -

 

The Tutu/Tutufix version has

0 to 1 is waiting, 1 with timer expired says "you took too long", and 2 says Forget it - I'm tired of it and sets it to 3. (but I'm still looking for what increments to 2).

Our version has

/* Kagain Quest */

IF WEIGHT #-2 ~Global("KagainCaravan","GLOBAL",1)~ THEN BEGIN 0

 

Which is a bad idea since it must set up some problems with State 0 (see the above BCS);

 

Fixable by changing it to trigger on the Bandit interaction:

* Kagain Quest */

IF WEIGHT #-2 ~Global("KagainCaravan","GLOBAL",1)~ THEN BEGIN 0

and both replies end up with "closing" it to 2 (which already fired on getting on the map) and going to either 1 (K - leave) or our own state where he gets to join the party.

 

We don't have to fix the TutuFix, etc. version; since we have moved all of our stuff to Phase2, people can stick with the old quest and Macready can delve into it at some point if he wants :)

 

To make ours work, we could patch the script block and/or the initiate-quest dialogue to set KagainCaravan to 10, X#KagainCaravan to 1, do a check for the pre-Kagain bandit interaction Global("X#TalkedEddard","GLOBAL",1) which is now set for all people who encounter the bandit, and throw in a line in the shop that links into the Kagain joining option after the quest is finished we already have.

 

 

Of course, I am fine with dropping it out, but it does provide some silly resolution for the interaction. We could even throw in a token line about "guess y'could explain thin's to th'Silvershields, at Baldurs Gate".

Link to comment

OK. I will do those things when I get home from work in 3-4 hours (going to be one of *these* days).

 

I am using alpha 7. I'll have a look at the _AJANTJ.d. Why I would have BG2 content in there is a mystery to me.

Link to comment

I just playtested the Caravan -- it is definitely fixed for not having Kagain in the party, etc. -- I am doing minor editing to work around Kagain being in the party so the quest can operate, pending a team decision to curt the thing completely or do some more tinkering!

 

I think your difficulty with the _AJANTJ.DLG was that either

a. the editor you were using (NI, DLTCEP) was pointed to the BG2 install rather than the Tutu install, or you manually extracted using WeiDU, and it was in the BG2 directory instead of the EasyTutu dierctory. That would give you all of those lines marked "invalid strref"... the "index numbers" (strrefs) are present in the _AJANTJ.DLG file, but they will not match the "filing cabinet contents" because it is the wrong filing cabinet.

Link to comment

Hey Macready, if you are reading this thread (now that I have thouroughly hi-jacked it into a modding discussion :) ):

 

I am using this quest to learn about patching scripts (and that way if we decide to drop it from the project, there is a working base for someone to build on, plus i have learned new troubleshooting skills).

 

I have found that the TutuFix/EasyTutu version of the Caravan fix has a timer set at EIGHT_DAYS on conclusion of the JoinParty state in _KAGAIN.DLG. That is supposed to lead to two timer triggered in-party dialogues, with a _KAGAIN.BCS call based on timing rather than area, and a second call to trigger the second "I'll be seein ya" dialogue. I am still prospecting, because some other .BCS (and it doesn't look like the area one) sets a Dialogue([PC]) when you find the body. Everything looks fine, EXCEPT: instead of expected behavior, on entering the area (2800) Kagain immediately spouts an Area.BCS prompted (If KagainCaravanLT2 then set to 2) "ok, fageddabahdit" line (KagainCaravan GLOBAL 2 [impossible] moved to 3) which defeats the timers and makes it possible to simply ignore the quest.

Vanilla resolution is immediate: you find the body, and Kagain says "aw shucks" and the party moves on. No more content, no more creatures, no more dialogue -- c'est fini.

 

In the BG1NPC version, we have moved all of the materials out of Core and Phase1, so a "minimum" install leaves the regular "fixed" quest intact. I am playing around with the following changes to usurp the "regular" quest:

 

1. Patching the JoinParty state to set the variable KagainCaravan to 10, stopping any calls for 0,1,2,3, etc. from firing.

2. Using a set of incrementing variables X#KagainCaravan and the existing BG1NPC code variable X#TalkedEddard to track interaction with the Bandit, Kagain, and getting the fibula (Berelinde has pointed out that fistula is not quite right). Our Bandit Encounter for the quest is spawned by the area script.

3. Patching the existing TutuFix/EasyTutu _KAGAIN.BCS code to look for the BG1NPC variables, re-set the KagainCaravan=10 just in case) and AreaCheck (as per our discussion with Grim Squeaker on PPG).

 

As it stands, the content (with which I need permission to do major changes, so I have only added a replacement dialogue extending the area-entering talk with "I sent 'em to the East of here") allows players to

 

either

 

1. meet the Bandit, fight, and recover the object, then meet Kagain (and here I will add a "quest Derailment" option to the joining dialogue looking for a global, sending the dialogue path immediately to the standard resolution and disabling both KagainCaravan and X#KagainCaravan).

 

or

 

2. Meet Kagain, have him join, meet the Bandit, fight, and recover the object, then have the standard resolution.

 

Either pathway in BG1NPC adds a possible "conclusion" to the quest, triggered by talking to Brilla (Mrs. Lady Silvershield) with the fibula/fistula (Kagain has no content and does not need to be in the party/has no other triggering variables). That final encounter is tied up in Phase1, and may at some point be moved into Phase2 where it belongs (whenever I have been able to check that it is completely and thoroughly a stand-alone CHAIN).

 

 

A little sideline, but definitely worth it for the checking I have been able to do dealing with BCS patching in BG1NPC!

Link to comment

Hello -

 

I am playing around with the following changes to usurp the "regular" quest:

 

Sounds good to me. The default implementation sans BG1NPC is pretty ho-hum. I mean, yes, no crashing is good, but what sounds like a quest basically just fizzles instead. So, I'm looking forward to seeing the result.

Link to comment

OK, coded... I have it on my "quick playtest check" list for Monday, along with the changes to the Bandit and Kivan's BountyHunter (thanks to you explaining _TASIGHT, etc. to me way back a month or so ago).

If it works out, I will post a new alpha with the changes for other folks to playtest. Not much added content, but at least now you can have Kagain respond appropriately if the quest is already done, and you get a hint to take the item to the SilverShields. :)

Link to comment

Archived

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

×
×
  • Create New...