Jump to content

Eirik: NPC Skald


EiriktheScald

Skald Abilities  

18 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

I'm presently working on dialogs from the inital meeting to arrival in Nashkel. After that, things start to get interesting, so I thought I would give you more insight on where this is heading. :p

 

**Spoiler**

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Essentially the idea is to involve a Male PC in a classic love triangle, one in which Branwen is torn between two suitors of radically contrasting personalities; one of a nice guy type (Eirik), and the other as a physically attractive but potentially dangerous person (PC -- Bhaalspawn).

 

From Branwen's romance mod, we know that she loves the PC. Eirik will either 1) come to terms with his feelings, claiming that he could not love Branwen as much as his rival does; 2) be written out of the love equation entirely by falling in love with someone else or 3) being killed off or otherwise eliminated -- I always liked a good tragedy. :p

 

The PC romance is largely up to, well, the PC. If the PC chooses not to romance her, a romance between Eirik and Branwen might blossom. If the PC falls head-over-heels in love with Branwen, not only will this cause some friction between the PC and Eirik, her relationship with Eirik remains strictly platonic. Her angst would be attraction to PC, who has a questionable heritage, and a long-time friend who deeply cares about her.

 

If done well, this story can provide insight into the complexity of love and what is best to pursue in a romantic relationship.

Link to comment

I understand what you are saying, and I agree that it makes for a great story.

 

As a modder, though, you have no control over what happens to your NPC once someone downloads it. They may elect to SK him to chaotic evil, tell him to kill every chicken, rat, and squirrel along the Sword Coast, and wear a tutu. Well, maybe not the tutu. I don't think *that* item mod has been written, thank goodness. But there is the girdle of gender-bender to think about...

 

Anyway, my point is that you cannot write the mod assuming that someone is going to play it in the way you envision. You can try to anticipate things that would ruin the mood, like pickpocketing Zeke's scroll before Eirik gets a crack at him, but you can't say with 100% certainty that the person pointing and clicking Player1, the Bhaalspawn, will always be the one pointing and clicking Eirik. In this case, you can still do it by having Zeke talk to Player1, but there might be times when there is no logical reason to assume that <CHARNAME> is necessarily a part of the discussion, unless you plan to write <CHARNAME> response into each and every dialog with Eirik.

 

This is what my boyfriend would say if he were running Player1 (he wouldn't be romancing Branwen or anyone else--he doesn't like NPC interaction much): "Hey! Some guy is talking to Eirik on my screen. You've got Eirik, don't you, hon? Why am I seeing his dialog?" And then he'd want to switch computers until they were done talking.

Link to comment

Then I wouldn't recommend your b/f install this mod. :p As with most mods, the user will have the option to install each of the components. If you just want a skald in your party who doesn't say a word the whole game, that's fine. But if you install everything, then why wouldn't you play along with the story?

Link to comment

Happily, Zeke's sales pitch is easily adaptable to a variety of situations. If it were me, I would leave it alone and have Eirik interject.

 

This is Zeke's sales pitch:

Come one, come all! Take a look at the stone warrior maiden. How long has she been trapped in this petrified form, no one knows! Be the first to learn, for the mere price of 500 gold. For that small amount of money, I shall give you a magic scroll, and with this scroll you can release the maiden from her stone prison. Think of the gratitude she would feel to her saviors. Perhaps she's a princess from some far off land, or maybe a powerful sorceress in search of a concubine. You can't afford not to know! Buy the scroll!

 

You can go 2 ways from there. You can have Eirik interject but leave the pc responses unaltered, or you can hijack the conversation and take the decision out of the pc's hands. I would be very careful about the second option.

 

For one thing, Jaheira does just that. The mod installed last gets priority when it comes to interjections.

 

If you were going to go the regular interjection route, you'll be stomped out by Jaheria. But this is what you'd do:

 

INTERJECT_COPY_TRANS ~_ZEKE~ 0 ESEirikZekeEasyDoesIt
== ~ESEirikJ~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~<CHARNAME>, if you value my friendship, please buy that scroll!~
== ~_ZEKE~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~Listen to the blighter, <PRO_SIRMAAM>!~
END

 

Note that it is important to finish with the original speaker, so any actions get transferred back to Zeke.

 

If you were going to go the "hijack the conversation" route, this is what you would do:

 

INTERJECT ~_ZEKE~ 0 ESEirikZeke1
== ~ESEirikJ~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~You had better give me that scroll this instant, or I shall personally rip you limb from limb!~
== ~_ZEKE~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~Are you serious?~
== ~ESEirikJ~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~Do I look serious?!~
== ~_ZEKE~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1)~ ~All right, already! Keep your trews on! Here's the damned scroll. Just get the hells away from me with that runic sword of yours!~
DO ~GiveItemCreate("_SCRLPET","ESEirik",0,0,0)~
END

 

If you wanted, you could go with something that is a little trickier, a lot sneakier, but avoids stomping on anyone else's mod.

 

INTERJECT ~_ZEKE~ 0 ESEirikZeke1
== ~ESEirikJ~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1) OR(3) !InParty("jaheira") !InMyArea("jaheira") StateCheck("jaheira",CD_STATE_NOTVALID)~ ~You had better give me that scroll this instant, or I shall personally rip you limb from limb!~
== ~_ZEKE~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1) OR(3) !InParty("jaheira") !InMyArea("jaheira") StateCheck("jaheira",CD_STATE_NOTVALID)~ ~Are you serious?~
== ~ESEirikJ~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1) OR(3) !InParty("jaheira") !InMyArea("jaheira") StateCheck("jaheira",CD_STATE_NOTVALID)~ ~Do I look serious?!~
== ~_ZEKE~ IF ~InParty("ESEirik") InMyArea("ESEirik") !StateCheck("ESEirik",CD_STATE_NOTVALID) Global("ESEirikSawStatue","GLOBAL",1) OR(3) !InParty("jaheira") !InMyArea("jaheira") StateCheck("jaheira",CD_STATE_NOTVALID)~ ~All right, already! Keep your trews on! Here's the damned scroll. Just get the hells away from me with that runic sword of yours!~
DO ~GiveItemCreate("_SCRLPET","ESEirik",0,0,0) SetGlobal("ESEirikSawStatue","GLOBAL",2)~
END

ADD_TRANS_ACTION ~_ZEKE~ BEGIN 0 END BEGIN END
~SetGlobal("ESEirikZeke","GLOBAL",1)~ /* Note that if BG1 NPC is installed after Eirik and if Jaheira, Branwen, Garrick, or Viconia are in the party, this is never going to be set, so we're going to try to come up with a work-around. */

APPEND ~ESEirikJ~

IF ~Global("ESEirikComplain","GLOBAL",1)~ THEN BEGIN ESBuyScrollDammit
SAY ~My beloved is petrified! Can you not find it in your heart to buy the scroll that will free her?~
+ ~PartyGoldGT(499)~ + ~Sure, if it means that much to you.~ DO ~SetGlobal("ESEirikComplain","GLOBAL",2)~ + ESBuyScrollDammit1
+ ~PartyGoldGT(499)~ + ~No. I'm not going to buy it because I'm a jerk.~ DO ~SetGlobal("ESEirikComplain","GLOBAL",2)~ + ESBuyScrollDammit2
+ ~PartyGoldLT(500)~ + ~I'm sorry, Eirik, but we just don't have the gold. I wish we did, but we don't.~ DO ~SetGlobal("ESEirikComplain","GLOBAL",2)~ + ESBuyScrollDammit3
END

IF ~~ THEN BEGIN ESBuyScrollDammit1
SAY ~You're a good <PRO_MANWOMAN>.~
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN ESBuyScrollDammit2
SAY ~Then I am forced to take matters into my own hands!~
IF ~~ THEN DO ~LeaveParty() Enemy()~
EXIT
END

IF ~~ THEN BEGIN ESBuyScrollDammit3
SAY ~Then I am afraid there is no way this can end without bloodshed.~
IF ~~ THEN DO ~Attack("zeke")~
EXIT
END

 

I am especially unsure if the last block, ESBuyScrollDammit3 will work.

 

Then, in Eirik's BAF

 

IF
 InParty(Myself)
 !InParty("branwen")
 OR(3)
 InParty("jaheira")
 InParty("garrick")
 InParty("viconia")
 Global("ESEirikSawStatue","GLOBAL",1) /* Sent you the PM about setting that one, remember? */
 See("zeke") /*you are lucky that Zeke has a DV */
 OR(2)
 Global("ESEirikZeke","GLOBAL",1)  /* trans action has been added */
 !Global("ESEirikSawStatue","GLOBAL",2) /*Eirik's interjection never happened */
 Global("ESEirikSeeZeke","GLOBAL",0) 
THEN
 RESPONSE #100
SetGlobal("ESEirikSeeZeke","GLOBAL",1)
RealSetGlobalTimer("ESGetScroll","GLOBAL",120) /* sets a timer to give the party time to buy the scroll */
END

IF
 InParty(Myself)
 !InParty("branwen")
 !PartyHasItem("_SCRLPET")
 !Global("ESEirikSawStatue","GLOBAL",2)
 Global("ESEirikComplain","GLOBAL",0)
 RealTimerExpired("ESGetScroll","GLOBAL")
THEN
 RESPONSE #100
SetGlobal("ESEirikComplain","GLOBAL",1)
StartDialogNoSet(Player1)
END

Link to comment

Archived

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

×
×
  • Create New...