Kagain's Quest starts from two points, but involves Bandits, Murder, and
Mayhem. It is realtively short, but has an added payoff when you get to Baldur's
Gate. It can be both initiated and completed with or without Kagain,
thoug obviously there is more dialogue and it makes more of a story if Kagain
is in the party at least until the basic portion of the quest is completed.
SPOILER ALERT: To read sections that contain spoiler information,
select/highlight the invisible text or hover your mouse over it.
The starting point is either at Kagain's shop in area FW3353 (part of http://www.dudleyville.com/bg1/ar3300.htm )
or in the wilderness to the east of the road in the Coast Way http://www.dudleyville.com/bg1/ar2800.htm .
If the Player meets Kagain and Kagain joins the party first, Initial
state 0 A_T_A SetGlobal KagainCaravan=10, if he joins the party Set KagainCaravan=10
X#KagainCaravan=1, then go find some caravans in trouble to your north.
The party with Kagain enters FW2800, and Kagain chimes
in about checking out the East route. You run into bandits that have
just killed everyone in Kagain's caravan. He is NOT amused. After
appropriate... discussion, Kagain wipes his axe and sees about joining.
You find a fibula (fancy word for a broach that identifies household
members of nobility), and you can kick Kagain out or party on with
him.
script actions are: _KAGAIN.BCS If 1 SDNS, Set X#KagainCaravan,GLOBAL,2
dialogue to 3
Player1 meets Bandit (static area spawn), X#TalkedEddard=0 (forced fight,
pick up Silvershield's pin) regardless of Kagain's status, then X#KagainCaravan=3
X#TalkedEddard=1
If Kagain is InParty, Eddard Dead, CC(0), !S(E), X#KagainCaravan=3, X#TalkedEddard=1,
then Set X#TalkedEddard=2 SDNS
If Kagain joins, set X#KagainCaravan=4, area script sets KACASH, final dialogue
gives gold based on global and terminates with X#KagainCaravan=5
Responding to giving party money, X#KagainCaravan=5
If he is turned down, he leaves as originally scripted (EscapeArea())
Party exits quest either way with item to return to SS Estate, X#KagainCaravan=5,
X#TalkedEddard=2
If Player1 and the party explore the Coast Way fully before meeting Kagain, they
may run into the bandits first. They are bandits. Kill them. You
can skip meeting Kagain completely, and continue on until you are in Baldur's
Gate, or you can go pick up Kagain now. In his shop, you have some new
responses, talking about the caravan you saw. It is dependent on globals,
not the fibula you picked up from Eddard's body, but you want to go back
and get that item if you want to trigger the Baldur's Gate interaction
-- that one works off of the party having the item. Have Kagain join,
or not -- his primary part of the quest was resolved even before he joined
up.
Script actions are: Player1 meets Bandit (static area spawn), X#TalkedEddard=0
(forced fight, pick up Silvershield's pin) regardless of Kagain's
status, then X#KagainCaravan=3 X#TalkedEddard=1
Player meets Kagain with init condition X#KagainCaravan,GLOBAL,3 X#TalkedEddard,GLOBAL,1
/* making sure the quest can't happen if Eddard is already dead */
EXTEND_BOTTOM ~_KAGAIN~ 2
IF ~Global("X#KagainCaravan","GLOBAL",3) Global("X#TalkedEddard","GLOBAL",1)~
THEN REPLY ~Well there sure is trouble on the roads. We battled a bandit
group that had just killed everyone in a caravan up North. Any chance this
pin was from one of yours?~ GOTO X#KagBandResolvAlone
END
APPEND ~_KAGAIN~
IF ~~ THEN BEGIN X#KagBandResolvAlone
SAY ~Well, this is Silvershield's son's marker. Dead, y'say? That
was one of my caravans. Guess I'm in a lot of trouble now. With
him dead, I'll be a wanted dwarf. Well, since my reputation is
now mud, how 'bout I help you gain revenge on those scum bags?
P'rhaps you can put in a word for me with the Silvershields. Whadda
ya say?~
IF ~~ THEN REPLY ~We don't want you around, so hit the road.~ JOURNAL
~Entar Silvershield's son was killed. We might take the pin back to his
family, when we get to Baldurs Gate.~ DO ~SetGlobal("X#KagainCaravan","GLOBAL",4)~
GOTO X#KAQUDISMISS
IF ~~ THEN REPLY ~Sure, we could use your skills.~ JOURNAL ~Entar Silvershield's
son was killed. We might take the pin back to his family, when we get
to Baldurs Gate.~ DO ~SetGlobal("X#KagainCaravan","GLOBAL",4)~
GOTO X#KAQUREWARDALONE
END
IF ~~ THEN BEGIN X#KAQUREWARDALONE
SAY ~Now 'bout that hiring thing I promised. Here, have some gold,
but I expect my share of the booty from ya. I am poor now.~
IF ~~ THEN DO ~GivePartyGold(50) SetGlobal("X#KagainCaravan","GLOBAL",5)
SetGlobal("X#TalkedEddard","GLOBAL",2)~ EXIT
END
IF ~~ THEN BEGIN X#KAQUDISMISS
SAY ~Stupid chumps, your loss.~
IF ~~ THEN DO ~SetGlobal("X#KagainCaravan","GLOBAL",5)
SetGlobal("X#TalkedEddard","GLOBAL",2) EscapeArea()~
EXIT
END
Either way, the Party exits the major portion of the quest with the fibula to return
to the Silvershields Estate in Baldurs Gate; Globals set at X#KagainCaravan=5,
X#TalkedEddard=2.
When you get to the Silvershield's Estate in Baldur's
Gate, Kagain really has no business with any of it (he doesn't say a
line).
The most dialogue
is if you have Skie and Eldoth in the party before talking to Lady Silvershield.
It is definitely worth trying out this interaction once. If the party
has the fibula, the guard will have a new option to send the party directly
to Lady Silvershield upstairs. If you have come to rescue Skie and have
Eldoth in the party, get her and then talk to step-mommy-dearest. If
you don't have Eldoth and would prefer not to slaughter the Silvershield
Household, just go upstairs to Lady Silvershield and talk to her, then
leave.
That should take care of the quest!
The code:
EXTEND_BOTTOM
_BRILLA 0
+ ~PartyHasItem("X#SILSH")~ + ~Madam, I bring grave news. In
my travels I came across a raided caravan... and a body of a young man,
dressed in Silvershield's colors. The bandits who killed him had this clasp.~
+ BrillaEddardDeath
END
CHAIN
~_BRILLA~ BrillaEddardDeath
~Then Eddard is dead? That's grievous news. Give me that pin
- I shall keep it in memory of my dear, dear step-son... ~
== ~_BSKIE~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~No... no... Why have not you told me, <CHARNAME>? M-m-y brother...
o, no!~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~Hush, girl.~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~Wha... Skie? What are you doing?~
== ~_SKIEJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~I.. I'm just er... popping out. Heh...~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~Hmph, dressed like a sewer rat, and with your pack on your shoulders?
Hardly, dear - You're running away, aren't you? ~
== ~_SKIEJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~I... yes. I'm leaving. Er... will you tell my father?~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~Hmmm... tell him? Why, of course not! This is indeed a delightful
turn of events...~
== ~_SKIEJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~Wha..?~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~My dear, you are but a pampered little rich girl. You whine when
you break a *nail*. Do you really think you'll be able to survive in the
big bad world? A finer example of goblin bait I've never seen.~
= ~And when you do eventually fall by the road side, just like your brother,
*I* will be the one sitting on top of the Silvershield fortune.~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)
InParty("eldoth")~ THEN ~Now you run along - though... maybe
you could leave your friend, hmm? *smiles at Eldoth* ~
== ~_SKIEJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)~
THEN ~ You... You BITCH!~
== ~_SKIEJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)
InParty("eldoth")~ THEN ~Stay away from my Eldoth!~
== ~_ELDOTJ~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)
InParty("eldoth")~ THEN ~Now, now, my dearest. We can hardly
hope to keep your... um... departure a secret, can we? Even from someone
so self-absorbed as your father? Let us, then, mount upon the wings of
Love and fly where they will take us. *Hugs Skie and winks at Brilla over
her shoulder.*~
== ~_BRILLA~ IF ~InParty("skie") !Dead("skie") !StateCheck("skie",CD_STATE_NOTVALID)
InParty("eldoth")~ THEN ~Tee-hee! If I ever need a humorist to
brighten a dull evening, I know now where to apply. Take good care, sweetie!
*Skie snarls and drags Eldoth from the room.*~
END
IF ~~ THEN DO ~IF ~~ THEN DO ~TakePartyItem("X#SILSH")
DestroyItem("X#SILSH"))
AddexperienceParty(3000)
ActionOverride("brilla",EscapeArea())~
EXIT
EXTEND_BOTTOM ~_HOUSG3~ 0
IF ~PartyHasItem("X#SILSH")~ THEN REPLY ~We bring news
for Lord and Lady Silvershield. We believe that we have found
news of their son. Any chance this pin is one of yours?~ GOTO
X#SilverGuardPass
END
APPEND
~_HOUSG3~
IF ~~ THEN BEGIN X#SilverGuardPass
SAY ~I see you have the household Sigil. Please go to meet Lady
Silvershield directly. You can find her upstairs.~
IF ~~ THEN EXIT
END
END
Exit stage right. The end.