Jump to content

The Great Vampire Caper


cmorgan

Recommended Posts

<CHARNAME> The Vampire Slayer

 

Well, I am not sure this is going in, but I suppose it should. Let's take a look at the "Obligatory Save The Romance Interest From Bohdi Wih Abduction And Leeching Quest". I'm not impressed with a repetition of Yoshimo's Heart as a quest, but (just like the Fate Spirit and the Tree of Life Dialogues, they are part of the Way Things Are in BGII-SoA).

 

From a playing perspective, I have put up with it. And some folks must like the whole sequence; so in this respect, let's go ahead and set it up. If I come up with a radically different way of dealing with this (or perhaps ignoring it and letting a poor unsuspecting Multi-Romancer have to put up with Aran's snide comments while rescuing her other boyfriend :blush: ) it might drop off.

 

From a modder perspective, I have taken a look at several modder's approaches, but the absolute simplest to follow is Theaceface's Sarah. Miera and Darious' Amber is a bit more complicated, but they do cool things like give her a custom vampire script, create her items on her Vamp-clone, and lay in simple and strong cutscenes.

 

Some places to look, if you are working on this yourself -

 

Angelo (Sister V on the writing, but Kulyok on the code - use this one instead of Xan, for reasons that anyone who has played through the mod will know instantly.) has the cleanest outright statement of code, a straightforward skeleton. But then the quest becomes interesting, because finding a god-connection to Angelo is kara-Turan in outlook - cool introspection. The follow up dialogs are also more my style, code wise - other folks are allowed to comment.

 

Sarah has the simplest, but it carries the trouble of being not traified. So for a beginner, this is a good thing. For more experienced folks, having someone else's words in the way is a PITA. Luckily, this whole encounter is bogstandard BioWare, so the words do not change much from the given BioWare versions, adapted to fit Sarah. Where Theaceface shines (coding wise) is that she has run down all the Journal entries that need to be unset, and provides a great example of how that can be done.

 

Amber, in my opinion, has the coolest rebuild of this interaction, with Amber trying to resist and Bodhi struggling for dominance. Miera and Darious also do straightforward cutscenes, a specialized .bcs for Amber when she is a vampire, and even script additions to replicate her special items. Very detailed in the interaction, then very straightforward on the resolution. And an interesting approach - instead of INTERJECT, they use this:

// Bodhi abduction: Bodhi's chambers
ADD_TRANS_TRIGGER C6BODHI 21 ~!Global("M#AmberVampire","GLOBAL",2)~

EXTEND_BOTTOM C6BODHI 21
IF ~Global("M#AmberVampire","GLOBAL",2)~ THEN EXTERN C6BODHI 23
END

EXTEND_BOTTOM C6BODHI 23
IF ~Global("M#AmberVampire","GLOBAL",2)~ THEN REPLY @2132 /* @2132 = ~You have taken too much already! You will return both Imoen's soul and Amber!~ */ EXTERN C6BODHI M#VampireAmberA
 IF ~Global("M#AmberVampire","GLOBAL",2)~ THEN REPLY @2133 /* @2133 = ~And you have delivered on that promise. Return Amber and perhaps I will be merciful.~ */ EXTERN C6BODHI M#VampireAmberA
 IF ~Global("M#AmberVampire","GLOBAL",2)~ THEN REPLY @2134 /* @2134 = ~I would have hunted you for your theft of Amber alone. She is very important to me.~ */ EXTERN C6BODHI M#VampireAmberA
 IF ~Global("M#AmberVampire","GLOBAL",2)~ THEN REPLY @2135 /* @2135 = ~You place too much confidence in sentiment. The theft of Amber will not save you.~ */ EXTERN C6BODHI M#VampireAmberD
END

 

Ninde - a really interesting approach. She gets taken, but because of her special circumstances is not vamped. But Aran can't get away with that - so no use here.

 

Saerileth - interesting, in that the whole thing is dumped out to a cutscene. the only dialog is a straightforward INTERJECT:

INTERJECT BODHIAMB 7 NSBodhiVampSaerileth
==SAERILEJ
IF ~InParty("Saerileth")
Global("SaerilethRomanceActive","GLOBAL",2)~ THEN
@621 
==BODHIAMB
@622
==SAERILEJ
@623
DO ~SetGlobal("Deactivate0801","AR0800",3)SetGlobal("SaerilethVamped","GLOBAL",1)ClearAllActions()StartCutSceneMode()StartCutScene("NSVMPCUT")~
EXIT

 

Tashia - has the added advantage of erasing Journal entries, just like Sarah, and is traified, so you can look at structure instead of words. Straightforward, and good to get a feel for the overall structure.

 

// Bodhi Kidnap

ADD_TRANS_TRIGGER BODHIAMB 5 ~OR(2)
!InParty("Tashia")
!Global("TashiaRomanceActive","GLOBAL",2)~

EXTEND_BOTTOM BODHIAMB 5
IF ~InParty("Tashia")
Global("TashiaRomanceActive","GLOBAL",2)~ THEN EXTERN BODHIAMB LE#TashiaVampKidnap
END

ADD_TRANS_TRIGGER C6BODHI 21 ~!Global("LE#TashiaVampire","GLOBAL",2)~

EXTEND_BOTTOM C6BODHI 21
IF ~Global("LE#TashiaVampire","GLOBAL",2)~ THEN EXTERN C6BODHI 23
END

EXTEND_BOTTOM C6BODHI 23
 IF ~Global("LE#TashiaVampire","GLOBAL",2)~ THEN REPLY @1227 EXTERN C6BODHI LE#VampireA
 IF ~Global("LE#TashiaVampire","GLOBAL",2)~ THEN REPLY @1228 EXTERN C6BODHI LE#VampireA
 IF ~Global("LE#TashiaVampire","GLOBAL",2)~ THEN REPLY @1229 EXTERN C6BODHI LE#VampireA
 IF ~Global("LE#TashiaVampire","GLOBAL",2)~ THEN REPLY @1230 EXTERN C6BODHI LE#VampireB
END

APPEND C6BODHI

IF ~~ THEN BEGIN LE#VampireB
  SAY @1231
  IF ~~ THEN GOTO LE#VampireA
END

IF ~~ THEN BEGIN LE#VampireA
  SAY @1232
  IF ~~ THEN UNSOLVED_JOURNAL @1 EXTERN LE#VTash LE#Response
END

IF ~~ THEN BEGIN LE#VampireC
  SAY @1233
  IF ~~ THEN GOTO 28
END

END

BEGIN ~LE#VTASH~

IF ~~ THEN BEGIN LE#Response
  SAY @1234
  IF ~~ THEN EXTERN C6BODHI LE#VampireC
END


APPEND BODHIAMB

IF ~~ THEN BEGIN LE#TashiaVampKidnap
SAY @1235
IF ~~ THEN EXTERN TASHIAJ LE#TashiaVampKidnapResponse
END

IF ~~ THEN BEGIN LE#TashiaVampKidnap2
SAY @1236
IF ~~ THEN DO ~ClearAllActions() StartCutSceneMode() StartCutScene("LE#BodhA")~ UNSOLVED_JOURNAL @2 EXIT
END

END

APPEND TASHIAJ

IF ~~ THEN BEGIN LE#TashiaVampKidnapResponse
SAY @1237
IF ~~ THEN EXTERN BODHIAMB LE#TashiaVampKidnap2
END

END

ADD_TRANS_TRIGGER IMNBOOK1 0 ~OR(2)
			   !Global("RevealUmar","GLOBAL",1)
			   !PartyHasItem("le#tbody")~

EXTEND_BOTTOM IMNBOOK1 0
IF ~PartyHasItem("le#tbody")
 Global("RevealUmar","GLOBAL",1)~ THEN REPLY #59383 EXTERN IMNBOOK1 4
END

ADD_STATE_TRIGGER TASHIAP 0
~!Global("LE#TashiaVampire","GLOBAL",3)~


APPEND TASHIAP

IF WEIGHT #0 ~Global("LE#TashiaVampire","GLOBAL",3)~ THEN BEGIN LE#TashiaAfterVampirism
 SAY @1238
 = @1239
 = @1240
 IF ~~ THEN REPLY @1241 DO ~SetGlobal("LE#TashiaVampire","GLOBAL",4)~ GOTO LE#TashiaAfterVampirismA
 IF ~~ THEN REPLY @1242 DO ~SetGlobal("LE#TashiaVampire","GLOBAL",4)~ GOTO LE#TashiaAfterVampirismB
 IF ~~ THEN REPLY @1243 DO ~SetGlobal("LE#TashiaVampire","GLOBAL",4)~ GOTO LE#TashiaAfterVampirismC
 IF ~~ THEN REPLY @1244 DO ~SetGlobal("LE#TashiaVampire","GLOBAL",4)~ GOTO LE#TashiaAfterVampirismD
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismA
  SAY @1245
  IF ~~ THEN DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(@2) EraseJournalEntry(@1) EraseJournalEntry(15710) EraseJournalEntry(6589) JoinParty()~ SOLVED_JOURNAL @0 EXIT
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismB
  SAY @1246
  IF ~~ THEN DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(@2) EraseJournalEntry(@1) EraseJournalEntry(15710) EraseJournalEntry(6589) JoinParty()~ SOLVED_JOURNAL @0 EXIT
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismC
  SAY @1247
  = @1248
  IF ~~ THEN DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(@2) EraseJournalEntry(@1) EraseJournalEntry(15710) EraseJournalEntry(6589) SetGlobal("TashiaRomance","GLOBAL",3) EscapeArea()~ SOLVED_JOURNAL @0 EXIT
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismD
  SAY @1249
  IF ~~ THEN REPLY @1250 GOTO LE#TashiaAfterVampirismD1
  IF ~~ THEN REPLY @1251 GOTO LE#TashiaAfterVampirismD2
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismD1
  SAY @1252
  = @1253
  IF ~~ THEN DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(@2) EraseJournalEntry(@1) EraseJournalEntry(15710) EraseJournalEntry(6589) JoinParty()~ SOLVED_JOURNAL @0 EXIT
END

IF ~~ THEN BEGIN LE#TashiaAfterVampirismD2
  SAY @1254
  = @1255
  IF ~~ THEN DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(@2) EraseJournalEntry(@1) EraseJournalEntry(15710) EraseJournalEntry(6589) SetGlobal("TashiaRomanceActive","GLOBAL",3) EscapeArea()~ SOLVED_JOURNAL @0 EXIT
END

END

EXTEND_BOTTOM C6ELHAN2 70
IF ~PartyHasItem("LE#tbody")~ THEN REPLY @1256 GOTO 76
END

EXTEND_BOTTOM DOGHMA 0 3 7 9
IF ~Global("RevealUmar","GLOBAL",1)
PartyHasItem("le#tbody")~ THEN REPLY @1257 GOTO 10
END

ADD_STATE_TRIGGER OGHMONK1 0 ~!PartyHasItem("le#tbody")~ 1 2 3

APPEND OGHMONK1

IF WEIGHT #-1 ~Global("RevealUmar","GLOBAL",1)
PartyHasItem("le#tbody")~ THEN BEGIN OghmaMonk#1.1
SAY @1258
IF ~~ THEN REPLY @1259 GOTO 5
IF ~~ THEN REPLY @1257 GOTO 6
END

END

EXTEND_BOTTOM SUDEMIN 2
IF ~PartyHasItem("le#tbody")~ THEN REPLY @1260 GOTO 3
END

EXTEND_BOTTOM WARSAGE 0
IF ~!Dead("c6bodhi")
Global("LE#TashiaVampire","GLOBAL",1)~ THEN REPLY @1261 GOTO 6
IF ~PartyHasItem("G#JNABDY")~ THEN REPLY @1262 GOTO 5
END

 

 

I think that is enough for examples - there are a bunch of good ideas out there, including folks who simply completely ignore the whole idea. But within currently available mods, there semmes to be a consensus:

two good break-in-and-hijack points, on either

BODHIAMB 5

or

BODHIAMB 7 "A simple warning, one that you would do well to heed. Follow Irenicus no more, <CHARNAME>, or your end will be dire indeed." The second encounter is just about the same - most folks have stuck close to the formula in some way or another.

 

Well, we can do something with this. So, a rebuild for Aran.

Link to comment

BEGIN ~C-ARNVMP~

/* Add trigger shutdowwn */

ADD_TRANS_TRIGGER ~BODHIAMB~ 5 ~OR(2) !InParty("c-aran") !Global("c-aranromance","GLOBAL",2)~

/* Now we borrow from Amber, et al, and avoid INTERJECT. The idea here is we don't want to COPY_TRANS and be forgiving - we don't want accidental multiple Vampiric abductions! But EXTEND_BOTTOM will do nicely to hijack the encounter without bashing the door down and knocking heads together.  */
EXTEND_BOTTOM ~BODHIAMB~ 5
 IF ~InPartyAllowDead("c-aran") Global("c-aranromance","GLOBAL",2) Global("c-aranmatch","GLOBAL",1)~ THEN EXTERN ~BODHIAMB~ c-aranbvamp
END

/* Which allows us to do this */
CHAIN ~BODHIAMB~ c-aranbvamp
== ~BODHIAMB~ ~[BODHI] You follow in the hopes of retrieving something dear to you. I say that the farther that you continue, the more that you will lose.~
== ~BKORGAN~ IF ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID)~ THEN ~[KORGAN] Why do they always talk so much? Gimme an axe.~
== ~C-ARANJ~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Stick it up your Bane-Blasted, Shar-Kissed stinkhole of a Lolth-Pissed arse, you Xvim-Buggerin' piece o' undead crap.~
== ~BODHIAMB~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[BODHI] How interesting. A toy that squeaks! And with such emotion, too.~
== ~BMINSC~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID)~ THEN ~[MINSC] Cover your ears, Boo. I do not understand everything Aran is saying, but you are too young to hear such language.~
== ~BVICONI~ IF ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID)~ THEN ~[VICONIA] Kill this creature now, and show your power, <CHARNAME>. Both she and the sellsword waste too much of our time.~
END
IF ~OR(2) !InPartyAllowDead("c-aran") Dead("c-aran")~ THEN EXTERN ~BODHIAMB~ 13  //  The dudely equivalent of state 6
IF ~InPartyAllowDead("c-aran") !Dead("c-aran")~ THEN EXTERN ~BODHIAMB~ c-aranbvamp.1

CHAIN ~BODHIAMB~ c-aranbvamp.1
~[BODHI] Consider your little pet sellsword, Aran. Wouldn't it be... unfortunate...  if something happened to one of you?~
== ~C-ARANJ~ ~[ARAN] Now, look what we be seein' here. A sentimental bloodsucker. There's naught you can do to <CHARNAME>. An' I done told you exactly what I think o' you.~
== ~BODHIAMB~ ~[BODHI] But I wonder, does <CHARNAME> fear your loss? Follow me further and you will lose more than you can imagine. That is a promise, not a threat.~
END
IF ~~ THEN DO ~ClearAllActions() StartCutSceneMode() StartCutScene("C-ABVMP")~ UNSOLVED_JOURNAL ~The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!~ EXIT

/* Catching Up With The Anti-Slayer (gratuitous Buffy reference intended) */
/* Make sure nothing untoward happens, closing up existing transitions */
ADD_TRANS_TRIGGER ~C6BODHI~ 21 ~!Global("c-aranvamped","GLOBAL",2)~

/* Extend the responses */
EXTEND_BOTTOM ~C6BODHI~ 21
 IF ~Global("c-aranvamped","GLOBAL",2)~ THEN EXTERN ~BODHIAMB~ 23
END

/* What the hell - let's play a little teeny bit with the standard options. Just a splash of bitters, and wave the vermouth in its general direction... */
EXTEND_BOTTOM ~C6BODHI~ 23
 + ~Global("c-aranvamped","GLOBAL",2) Alignment(Player1,MASK_GOOD)~ + ~[PC] You have taken too much already! You will return both Imoen's soul and Aran!~ EXTERN ~C6BODHI~ c-aranbvamp2.1
 ++ ~Global("c-aranvamped","GLOBAL",2) [PC] And you have delivered on that promise. Return Aran and perhaps I will be merciful.~ EXTERN ~C6BODHI~ c-aranbvamp2.1
 ++ ~Global("c-aranvamped","GLOBAL",2) [PC] I would have hunted you for your theft of Aran alone. He is very important to me.~ EXTERN ~C6BODHI~ c-aranbvamp2.1
 + ~Global("c-aranvamped","GLOBAL",2) !Alignment(Player1,MASK_EVIL) !Alignment(Player1,MASK_GOOD)~ + ~[PC] You place too much confidence in sentiment. The theft of Aran will not save you.~ EXTERN ~C6BODHI~ c-aranbvamp2.2
 + ~Global("c-aranvamped","GLOBAL",2) Alignment(Player1,MASK_EVIL)~ + ~[PC] Well, we could have come to a simple agreement. But now you have been playing with too many of my toys, and I shall simply have to spank you.~ EXTERN ~C6BODHI~ c-aranbvamp2.3
 ++ ~Global("c-aranvamped","GLOBAL",2) [PC] Have you noticed that so far everyone who challenges me loses?~ EXTERN ~C6BODHI~ c-aranbvamp2.3
END

APPEND ~C6BODHI~

IF ~~ THEN BEGIN c-aranbvamp2.1
  SAY ~[BODHI] He is lost to you, <CHARNAME>. Aran was quite unreceptive to my discipline at first, but in the end he came along like a good little soldier. You could not have been that fond of him after all. Your petty interests fell away with a bite and a gaze.~
  IF ~~ THEN UNSOLVED_JOURNAL ~The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...~ EXTERN ~C-ARNVMP~ c-aranbvamp2.4
END

IF ~~ THEN BEGIN c-aranbvamp2.2
  SAY ~[BODHI] An interesting ploy, though I am sure his fate will still serve as an example, whether you wish him back or not.~
  IF ~~ THEN GOTO c-aranbvamp2.1
END

IF ~~ THEN BEGIN c-aranbvamp2.3
  SAY ~[BODHI]  Now, dear, you should understand your proper role. Here I am the adult, and you the child.~
  IF ~~ THEN GOTO c-aranbvamp2.1
END

END

CHAIN ~C-ARNVMP~ c-aranbvamp2.4
~[ARAN] Aye, mistress.~
== ~C6BODHI~ ~Don't you see, <CHARNAME>? He is not even fully turned and he has betrayed you. Such a pretty little broken toy after all.~
EXTERN ~C6BODHI~ 28


/* In Quest Of Answers. Where is Giles when you need him? */

EXTEND_BOTTOM ~C6ELHAN2~ 70
 + ~PartyHasItem("C-ARNBDY")~ + ~[PC] Elhan! I've the half vampire body of Aran here because of you! You'll tell me now!~ GOTO 76
END

EXTEND_BOTTOM ~DOGHMA~ 0 #5
 + ~Global("RevealUmar","GLOBAL",1) PartyHasItem("C-ARNBDY")~ + ~[PC] A friend is afflicted by vampirism.  An old book suggested that followers of Oghma might know something about that.~ GOTO 10
END

EXTEND_BOTTOM ~DOGHMA~ 3 7 9 #4
 + ~Global("RevealUmar","GLOBAL",1) PartyHasItem("C-ARNBDY")~ + ~[PC] A friend is afflicted by vampirism.  An old book suggested that followers of Oghma might know something about that.~ GOTO 10
END

EXTEND_BOTTOM ~IMNBOOK1~ 0
 + ~Global("RevealUmar","GLOBAL",1) PartyHasItem("C-ARNBDY")~ + ~[PC] I'm looking for information about a tome that details the curing of Vampirism.~ GOTO 4
END

ADD_STATE_TRIGGER ~OGHMONK1~ 0 ~!PartyHasItem("C-ARNBDY")~ 1 2 3

APPEND ~OGHMONK1~

IF WEIGHT #-1 ~Global("RevealUmar","GLOBAL",1) PartyHasItem("C-ARNBDY")~ THEN BEGIN OghmaMonk#1.1
 SAY ~[MONK] Have you come seeking wisdom from the Binder of What is Known? The Wise God stands ready.~
 ++ ~[PC] No, thank you, I have no need of help at the moment.~ GOTO 5
 ++ ~[PC] A friend is afflicted by vampirism.  An old book suggested that followers of Oghma might know something about that.~ GOTO 6
 ++ ~[PC] I need your help. Do you know anything about vampirism? An old book hinted that you might.~ GOTO 6
END

END

EXTEND_BOTTOM ~SUDEMIN~ 2
 + ~PartyHasItem("C-ARNBDY")~ + ~[PC] I lost a companion in a battle with his sister, Bodhi.  I seek a means of curing him.~ GOTO 3
END

EXTEND_BOTTOM WARSAGE 0
 + ~!Dead("c6bodhi") Global("c-aranvamped","GLOBAL",2)~ + ~[PC] A companion was taken by a vampire. What can I expect when I find them?~ GOTO 6
 + ~PartyHasItem("C-ARNBDY")~ + ~[PC] Someone I care about has fallen to a vampire. Is there any way to save them?~ GOTO 5
END

/* Hey, an Un-Vampification! Almost as good as finding out you have a little sister-Slayer! */

APPEND C-ARANP

IF WEIGHT #-1 ~Global("c-aranvamped","GLOBAL",4)~ THEN BEGIN c-aranunvamped
 SAY ~[ARAN] Sune's Sweet Cheeks... I....~
 = ~[ARAN] <CHARNAME>? Bloody hells, it is good to see you. Filthy bloodsuckers had me right out o' my head. I can feel th' queen bitch be gone. Showed her how we do things downtown, eh? An' me, too.~

 /* 1 - Happy to have you back, old boy. Cheerio, stiff upper lip, don't kiss in front of the children. */
 ++ ~[PC] It is good to see you back to your old self, Aran.~ DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(15710) EraseJournalEntry(6589)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!%)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...%)
SetGlobal("c-aranvamped","GLOBAL",5)~ SOLVED_JOURNAL ~The Final Battle with Bodhi.

While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right...  Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~ GOTO c-aranunvamped1

 /* 2 - OHMYGODILOVEYOUSOMUCHJUSTHOLDME! */
 ++ ~[PC] (Grab Aran by both shoulders and wrap your arms around him, kissing him deeply.)~ DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(15710) EraseJournalEntry(6589)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!%)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...%)
SetGlobal("c-aranvamped","GLOBAL",5)~ SOLVED_JOURNAL ~The Final Battle with Bodhi.

While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right...  Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~ GOTO c-aranunvamped2

 /* 3 - Yeah, whatever. You could have warned me you like Goth chicks with fangs. What did she do with you, anyways. */
 ++ ~[PC] You didn't look like you were resisting her all that much.~ DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(15710) EraseJournalEntry(6589)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!%)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...%)
SetGlobal("c-aranvamped","GLOBAL",5)~ SOLVED_JOURNAL ~The Final Battle with Bodhi.

While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right...  Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~ GOTO c-aranunvamped3

 /* 4 - Cool. Hey, while you were gone, me and <PLAYER2> decided to shack up and have lots of sex. Sorry about that. You can find the door, right?  */
 ++ ~[PC] I am glad we were able to rescue you. But I think that this is where we say goodbye, at least for now.~ DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(15710) EraseJournalEntry(6589)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!%)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...%)
SetGlobal("c-aranvamped","GLOBAL",5)~ SOLVED_JOURNAL ~The Final Battle with Bodhi.

While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right...  Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~ GOTO c-aranunvamped4

 /* 5 - I was serious about the whole toy thing. You crossed the line, and attacked me. But this whole saving thing is so I could look in your eyes before I kill you, and watch you die slowly. */
 ++ ~[PC] Rescued you. Yes, I did that. But you abandoned me, and no one switches allegiance from me and lives. Your life is mine to do as I please.~ DO ~EraseJournalEntry(32084) EraseJournalEntry(32085) EraseJournalEntry(16351) EraseJournalEntry(15710) EraseJournalEntry(6589)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!%)
EraseJournalEntry(%The Final Battle with Bodhi.

Bodhi has turned Aran into a vampire!  Or... or very nearly.  The process may not have been completed in the short time Bodhi has had him.  Hopefully something can be done or I will have lost him.  Perhaps the elven war sage might know some way of restoration... or Elhan...%)
SetGlobal("c-aranvamped","GLOBAL",5)~ SOLVED_JOURNAL ~The Final Battle with Bodhi.

While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right...  Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~ GOTO c-aranunvamped5

IF ~~ c-aranunvamped1
 SAY ~[ARAN] Is that all you have t' say to me?~
 ++ ~[PC] Yes. Please, join with me again.~ + c-aranunvampedj
 ++ ~[PC] I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. I missed you by my side.~ + c-aranunvampedjl
 ++ ~[PC] I am glad it is over.~ + c-aranunvampedjl
END

IF ~~ c-aranunvamped2
 SAY ~(His kisses rain fire on your lips, your neck, your hair.) Aye, I wished I was dead, I did. To feel th' deadness inside, it was a small taste o' what you must feel wi' out your soul. Let's get goin', eh?.~
 ++ ~[PC] Yes. Please, join with me again.~ + c-aranunvampedj
 ++ ~[PC] I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. I missed you by my side.~ + c-aranunvampedjl
 ++ ~[PC] Do not ever leave my side, Aran.~ + c-aranunvampedjl
END

IF ~~ c-aranunvamped3
 SAY ~[ARAN] What? I was dominated right proper. I swear, <CHARNAME>, I'm your man an' no one else's!~
 ++ ~[PC] I am not sure. I saw the way you looked at her, the hunger, the yearning. I did not know you had so strong a passion for short black leather skirts and sharpened teeth.~ + c-aranunvampednw
 ++ ~[PC] I understand. Please, join with me again.~ + c-aranunvampedj
 ++ ~[PC] I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. I missed you by my side.~ + c-aranunvampedjl
END

IF ~~ c-aranunvampednw
 SAY ~[ARAN] Look, <CHARNAME>, by Sune's Sweet Scent, there was naught I could do... Ilmater's Pity, you are jokin', aren't you.~
 ++ ~[PC] Yes, you silly man. I missed you so much! Please, join with me again.~ + c-aranunvampedj
 ++ ~[PC] Wee will see. I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. I missed you by my side.~ + c-aranunvampedjl
 ++ ~[PC] I thought you were lost to me forever.~ + c-aranunvampedjl
END

IF ~~ c-aranunvamped4
 SAY ~[ARAN] What? I was dominated right proper. I swear, <CHARNAME>, I'm your man an' no one else's! An' you want me to go away? I don't rightly understand.~
 ++ ~[PC] On second thought, join with me again. But things may be different. I do not know if I can trust you with my heart any more.~ + c-aranunvampedj
 ++ ~[PC] I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. For my sake, leave now, and do not come back.~ + c-aranunvampedr
 ++ ~[PC] I thought you were lost to me forever.~ + c-aranunvampedjl
END

IF ~~ c-aranunvamped5
 SAY ~[ARAN] What? I was dominated right proper. I swear, <CHARNAME>, I'm your man an' no one else's!~
 ++ ~[PC] It hurt so much seeing you following her orders, turning on me... but I know you could not resist. I missed you by my side.~ + c-aranunvampedjl
 ++ ~[PC] Good. Join with me again. But if your allegiance wavers again for any reason, then my soft kisses can turn as sharp as Bohdi's bite. I will not tolerate another calling you her 'toy'.~ + c-aranunvampedj
 ++ ~[PC] I accept that. I'm sorry, but I don't have room for you in the party right now. Make your way out of here alone, and we will meet later.~ + c-aransenttoaninn // already existing in p-file
 ++ ~[PC] There is no excuse. Because you have been... useful, I will give you a head start. Drop your gear and start running.~ + c-aranunvampedr
 ++ ~[PC] I am terminating you, Aran. Permanently. Die well.~ + c-aranpterminated
END

IF ~~ c-aranunvampedr
 SAY ~[ARAN} Banes Blazin' Bones! Out o' th' fryin' pan an' into th' fire! I thought you was jokin'!~
 IF ~~ THEN DO ~SetGlobal("c-aranromance","GLOBAL",3) LeaveParty() DropInventory() EscapeArea()~ EXIT
END

IF ~~ c-aranunvampedjl
 SAY ~[ARAN] (His hands close hard around yours, drawing you face to face.) I swear by any an' all gods, that I am your Sword. If I turn again, kill me. For if you don't, I will take my own life.~
 = ~[ARAN] I'll be gatherin' my gear an' gettin' back to th' routine. An' <CHARNAME>... Thank you.~
 IF ~~ THEN DO ~JoinParty()~ EXIT
END

IF ~~ c-aranunvampedj
 SAY ~[ARAN] Aye, then, I'll be gatherin' my gear an' gettin' back to th' routine.~
 = ~[ARAN] An' <CHARNAME>... Thank you.~
 IF ~~ THEN DO ~JoinParty()~ EXIT
END

 

OK, next up, the cutscenes for this.

Link to comment
Sarah has the simplest, but it carries the trouble of being not traified. So for a beginner, this is a good thing. For more experienced folks, having someone else's words in the way is a PITA.

 

Can't more experienced folk just traify it? weidu <oldfile>.d --out <newfile> ?

Link to comment

Keep in mind that if you're using EXTEND_BOTTOMs, if somebody else has an active romance, it's going to be luck of the draw who gets abducted first, in the case of multi-romancers, and the house odds will favor the other guy, but there's nothing wrong with that.

 

Aran would probably like the idea that his abduction would probably be a toss-up. It's that whole game-of-chance element that he has working for him so well. Heck, you could even code it so that his abduction happened only half the time even if he was the only guy in the party, and Aran would get a kick out of the perversity of it.

 

After all, does it really matter whether Aran gets abducted or whether it's Anomen/Kelsey/Gumby? OK, it matters if Gavin gets abducted because he's a Lathandrite, and they're the ulimate undead-haters, so he'll be a little distracted by the concept of being turned into one of them (and, as a modder, I live for opportunities to put one of my NPCs in uncomfortable positions), but Aran isn't a Lathandrite, nor does he follow Kelemvor, another sect that abhors undead. He isn't an elf, either, thank the gods, so he doesn't have to subscribe to that whole "all elves hate undead because we're so much the embodiment of life" thing.

 

So why not let it be at least semi-random? After all, you know that female players really want an NPC that will let you successfully multi-romance!

Link to comment

@ DavidW - good point :blush: But for experienced modders doing research, I'd suggest Tashia, which is already traified, so you don't have to read someone else's dialog - and for new modders the way to get to understand how things flow might be alot easier if they read Theaceface's non-tra Sarah.

 

Hey, I will take a look at how I said that - I wasn't implying that Sarah wasn't a sophisticated mod - just that this particular interaction is laid out cleanly and simply, with the code and words. She has the comments to tell you what she is doing.

 

@berelinde - yep - that E_B is cool because of that very point. No early break-in-and-permanently-steal-the-show. And I think I can use AnomenVampire=2 and some others to get some snide comments if someone else gets taken, too, which I like - ae you suggesting doing something like

 

EXTEND_BOTTOM ~BODHIAMB~ 5
 IF ~RandNum(2,1) InPartyAllowDead("c-aran") Global("c-aranromance","GLOBAL",2) Global("c-aranmatch","GLOBAL",1)~ THEN EXTERN ~BODHIAMB~ c-aranbvamp
END

which I assume would not be true iif it evaluates as 2 instead of 1, thus doing the coin flip, 50% happens 50% not-happening?

 

Or should I be adding a physical check for other active romances?

 

 

[general comment to anyone]

By the way, as always, I take suggestions from the whole peanut gallery. I have established a baseline character, but the fun here is the chalenge of incorporating as many player opportunities for fun as I can tweak in (and still get him finished). I'm only one player, so adding in ideas is always welcome.

Link to comment
Aran would probably like the idea that his abduction would probably be a toss-up. It's that whole game-of-chance element that he has working for him so well. Heck, you could even code it so that his abduction happened only half the time even if he was the only guy in the party, and Aran would get a kick out of the perversity of it.

 

Aran might like it, but I can see tons of 'bug reports' in cmorgan's future, all saying that Bodhi's abduction somehow went wonky. :blush:

 

Gumby?

 

Would it be wrong to say that I'd actually like to see a Gumby Romance?

 

Stick it up your Bane-Blasted, Shar-Kissed stinkhole of a Lolth-Pissed arse, you Xvim-Buggerin' piece o' undead crap.~

 

:blush:

Link to comment
Let's take a look at the "Obligatory Save The Romance Interest From Bohdi Wih Abduction And Leeching Quest". I'm not impressed with a repetition of Yoshimo's Heart as a quest, but (just like the Fate Spirit and the Tree of Life Dialogues, they are part of the Way Things Areâ„¢ in BGII-SoA).
Imo that's a mistake to take those as a 'must be in no matter what' stuff. Would still probably make sense, were it not for everyone and their brother and little sister doing the same over and over for every mod NPC. Not that it's really my place to speak though.
Link to comment

Heck, yes - definitely your place to speak (both literally and figuratively :blush: ).

 

I think I agree. The Fate Spirit, the Tree of life, this one - I wonder if they are really that "needed"? Most folks doing romances do these. But are they cool enough to be part of every NPC romance? (For Aran, since I am playing with code and doing him half as a long-winded tutorial, I figure it is important to include it, but as a plot/plot device, I'm not that thrilled.)

Link to comment
The Fate Spirit, the Tree of life, this one - I wonder if they are really that "needed"?

Here's my two cents as a player. I think the Tree of Life is the most "needed" of the three. It's the perfect place for a gut check before the final confrontation. Also, every character has something to say - it's not romance specific (although romantic interests may have more to say).

 

The other two are not necessary at all. I think the Fate Spirit should be skipped unless the mod has already introduced a compelling character for that encounter. If the NPC has few ties outside the party, then they shouldn't have a Fate Spirit encounter. The player needs to care about the NPC involved, or feel their connection to the romantic interest. I've played some romances where the Fate Spirit encounter made no impact on me, while I can think of a couple of Gavin characters that would be perfect (as an example)

 

I think I would list Bodhi-napping as a default include (do it unless there's a compelling reason not to), while the Fate Spirit is a default opt-out (don't do it unless it really serves the NPC's story)

Link to comment

I feel like the Bodhi abduction is pretty over-abused by this point. It worked great as the BioWare plot gimmick (I mean, who didn't freak out the first time playing BG2 when you're suddenly looking at your dead lover - even after putting up with Anomen's crap to that point, I was really upset :blush:) but it's pretty much lost all potency in other romances because it's so (over)used. Unique twists like Angelo's are refreshing, but still the whole ordeal does nothing more than irritate me that I'm down one party member for a while. I also don't like the assumption that <CHARNAME> has been obvious about their love interest. Some of my PCs were very subtle - the only way Bodhi would have realized they were lovers is if she was peeping on them...which is a whole 'nother creepy subject. You could probably easily find just as many people (if not more) who think it is necessary, but I personally don't care for it much. (Of course, the Wraith scene in ToB is just as overused and I'm still doing one for Sarevok...so maybe I shouldn't talk... :blush:)

 

Tree of Life I do like, however. Like Beetle said, it's a gut check, and I think it's fairly necessary. I wouldn't mind seeing something other than the heart-wrenching professions that usually take place, though...something like (*makes no attempt to do Aran's accent*) "You're right...what am I doing here?! Hey, no need to get out your weapon - I'm just kidding!" Especially if the PC is evil - you know how I love those evil options. :)

Link to comment
"Obligatory Save The Romance Interest From Bohdi Wih Abduction And Leeching Quest". I'm not impressed with a repetition of Yoshimo's Heart as a quest, but (just like the Fate Spirit and the Tree of Life Dialogues, they are part of the Way Things Areâ„¢ in BGII-SoA).

 

On the subject of what's an obligatory and expected part of a romance mod, I suppose here's my take on it.

 

I think the Tree of Life is the most "needed" of the three. It's the perfect place for a gut check before the final confrontation. Also, every character has something to say - it's not romance specific (although romantic interests may have more to say).

 

I agree with that. This is an "every single NPC speaks" moment, romance or no.

 

I think I would list Bodhi-napping as a default include (do it unless there's a compelling reason not to), while the Fate Spirit is a default opt-out (don't do it unless it really serves the NPC's story)

 

And this... I'd flip those around. Bodhi-napping if you feel like it, Fate Spirit definitely in a romance. I suppose it also goes back, in my mind, to Aeryn's

I also don't like the assumption that <CHARNAME> has been obvious about their love interest.

 

Bodhi's been busy establishing a guild in Athkatla. While it's true that she and her brother have done their research on Charname, how much of it has been all that recent? The wraiths in the Fate Spirit scene, on the other hand, seem to make more IC sense.

 

What I do like the Bodhi abduction sequence for is that it gives me something to do during Chapter Six, and an in-character excuse to hang around just a bit more and finish quests while elves are dying. Still, though, if it feels forced, then skip it. Also, if you intend Aran to be multiromanceable, then I'd also skip it.

Link to comment

I don't know. I felt cheated when I didn't get the Angelo abduction in one of the earlier versions of Angelo. I was saying "But... but... what's going on here? Angelo didn't get turned into a vampire. What the hells? Bodhi's up on all these things. She *knows* stuff, and she's kidnapped romance interests I've liked far less.

 

I'd say that if it's a committed romance, with no other active romances, then a Bodhi abduction is kind of a yardstick of affection, at least for me. But if there are other romances, assuming you've got checks for them, then it's kind of silly to do a Bodhi abduction unless it's Solaufein (who Bodhi's supposed to be really into, FWIW), or unless there's a compelling character-driven reason for it, like abhorrance of undead and the irony of being turned into one.

 

Fate Spirit... dunno. It's a chance for the ghosts to come out of the closet, for the NPC to get closure, and to move on to a life with the PC free from whatever demons were haunting the romance interest. I look at it as a valuable opportunity to confront the past, conquer it, and move on as the devoted love interest of the PC without the burdens of failed aspirations/wronged ex-lovers/what have you. Has Aran got anybody like that in his life? If not, you probably don't need to do the Fate Spirit.

 

Tree of Life? I'm with everybody else here. You need it, regardless of love interest. Hells, I've got a Tree of Life interjection for Haldamir, and he isn't even romanceable.

Link to comment

I like having the abduction too.

Also it gives the PC an opportunity to rescue Aran and chastise him for getting abducted in the first place! The only thing I hate is when the resurrection requires travelling to the temple and traipsing through that freaking dungeon again. Perhaps a twist on that..*shrugs*.

 

I also don't really care whether there is a fate spirit interjection or not. As berelinde said it would need to be someone significant to Aran. (Perhaps he has mother issues. :blush: )

 

IMHO, there has to be a tree of life interjection. It would seen weird, to me, if Aran was a man of few words at that particular moment.

Link to comment

Archived

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

×
×
  • Create New...