cmorgan Posted September 25, 2008 Share Posted September 25, 2008 The joining dialog is los of fun to create - sets a great mood for the rest of the interactions. We need to accomplish a couple of goals here; tell the game there are some new dialog files, and populate the "I have never been in the party" dialogs. That should include a "first meet" option, a "hey, we talked before" option, a "join up" option, and a "no thanks" option. It also probably should include a "wait a bit, I'll get back to you" option. So, let's try some stuff out. 1. Tell the game we have some new dialogs: /* Initialize Dialogues */ BEGIN ~C-ARAN~ // pre-joining SoA BEGIN ~C-ARANJ~ // joined SoA BEGIN ~C-ARANB~ // banter SoA BEGIN ~C-ARANP~ // post-joined SoA I like separating them out and commenting them right up front. Now that they exist for the game, we get to fill them up. Let's go ahead with the pre-joining dialog, c-aran. First, add the "first meet" option, capitalizing on "numberoftimestalkedto" which the game keeps count of: /* C-ARAN pre joining dialogue */ APPEND ~C-ARAN~ // begin appenending to c-aran.dlg and the talk, IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls END Hey. That's boring. Same dialog every time we start the mod. Let's use random numbers to spice it up a little: IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Just not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were working here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 END That's better - one game, PC gets to chose from ~Perhaps later. Right now, I just want a drink.~~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ ~Fighter and scribe? Do you do magic as well?~ ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ ~Go away, little man.~ The next time, perhaps ~Perhaps later. Right now, I just want a drink.~~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ ~Fighter and scribe? Do you do magic as well?~ ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ ~I was just checking to see if you were working here.~ Let's add another set of responses, too, so that if PC is picking up Aran later in the game the whole "find Imoen" thing is resolved nicely: IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~I am not sure that I can use you right now. But perhaps you might be able to help me. I am looking for a mage named Irenicus. Have you heard of him?~ GOTO c-firstmeetaraniren IF ~GlobalGT("Chapter","GLOBAL",2)~ THEN REPLY ~I sure could have used you awhile ago. Now I am not so sure. What can you do for me?~ GOTO c-firstmeetaranlate Integrated into the talk, IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~I am not sure that I can use you right now. But perhaps you might be able to help me. I am looking for a mage named Irenicus. Have you heard of him?~ GOTO c-firstmeetaraniren IF ~GlobalGT("Chapter","GLOBAL",2)~ THEN REPLY ~I sure could have used you awhile ago. Now I am not so sure. What can you do for me?~ GOTO c-firstmeetaranlate IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Just not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were working here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 END We could have more fun with this, but we don't want to get too carried away - too many choices is just as bad as too few. And right now PC has 6 different responses - more than enough. Link to comment
cmorgan Posted September 25, 2008 Author Share Posted September 25, 2008 So on to the "Hey, we met before". We could actually use the first dialog over again, which would be more efficient - set up the following... IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN GOTO c-araninitial END IF ~NumTimesTalkedToGT(0)~ THEN BEGIN c-nextmeetaran SAY ~Changed your mind? I can fight, write, an' cook a mean curry.~ [C-ARAN01] IF ~~ THEN GOTO c-araninitial END IF ~~ THEN BEGIN c-araninitial SAY ~Interested?~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~I am not sure that I can use you right now. But perhaps you might be able to help me. I am looking for a mage named Irenicus. Have you heard of him?~ GOTO c-firstmeetaraniren IF ~GlobalGT("Chapter","GLOBAL",2)~ THEN REPLY ~I sure could have used you awhile ago. Now I am not so sure. What can you do for me?~ GOTO c-firstmeetaranlate IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Just not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were working here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 END But I want to make the responses different on the second meeting, so similar outcomes but new lines for PC: IF ~NumTimesTalkedToGT(0)~ THEN BEGIN c-nextmeetaran SAY ~Changed your mind? I can fight, write, an' cook a mean curry.~ [C-ARAN01] IF ~~ THEN REPLY ~Why are you looking for work?~ GOTO c-aranjobproblem IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Stand aside, citizen. You are between me and the bar. Not a safe place to be.~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were still here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~What is it you can do for me again?~ GOTO c-aranuseful IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Not right now. I will let you know if we change our mind.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~Hire on with us, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ GOTO c-aranjoined END Now, we fill in those GOTOs, so the conversations proceed. IF ~~ THEN BEGIN c-firstmeetarandenied SAY ~Are you sure? It looks like you could use me. And I am tired of just sittin' around.~ [C-ARAN01] IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~This conversation is over.~ EXIT IF ~~ THEN REPLY ~What is it you can do for me again?~ GOTO c-aranuseful IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Look, you are cute and all, but really - ask me again and I will simply have to have you thrown out of this establishment.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Not right now. I will let you know if we change our mind.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~Hire on with me, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Why are you looking for work?~ GOTO c-aranjobproblem END Too many options on this one - players will probably get stunned by the WOT. So we may revisit. Unfortunately, RandNum stacking in the same dialog doesn't work so well. There is a way out of it, breaking them out into blocks, but unless it looks like the final dialog is overpowering, for now let's see where it takes us. The good news is that instead of always seeing the same "exit" line, the player sees one of 5 random ones, possibly a different one each time. IF ~~ THEN BEGIN c-firstmeetaraniren SAY ~No, can't say as I have. I came in last month from the Sword Coast, an' I have been actin' as cook and accountant here ever since. I don't get much chance to catch up on stuff around here.~ IF ~~ THEN REPLY ~Why are you looking for work, then? It sounds like you have a good job here.~ GOTO c-aranjobproblem IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were still here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Sorry, we don't need you.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~What is it you can do for me?~ GOTO c-aranuseful IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Not right now. I will let you know if we change our mind.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~Hire on with me, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ GOTO c-aranjoined END IF ~~ THEN BEGIN c-aranrefused1 SAY ~Bugger all, you are a tough one to convince. If you change your mind, I'll be here.~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-aranrefused2 SAY ~Ilmater's Blood, I had my hopes up. Look, when you need me, I'll be at the bar.~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-aranrefused3 SAY ~I'd rather be workin' with you than sittin' around here on my arse. Come back when you need a good fighter.~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-aranrefused4 SAY ~Sune's Bosom. I might have to take that tradeship job to Calimport after all. I'll be here a few more days, if you change your mind.~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-aranrefused5 SAY ~Elminster's Left Buttock. More sittin' around.~ IF ~~ THEN REPLY ~You know Elminster?~ GOTO c-aranelminster END IF ~~ THEN BEGIN c-aranelminster SAY ~Are you kidding me? If I did, I wouldn't be sittin' around here looking for my next contract, now would I.~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-firstmeetarancoin SAY ~Then I am your man. I can keep account o' what you have built up. Tell you what - I'll even go in for shares, instead of coin. That way I get whatever the rest of the group gets.~ IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~This conversation is over.~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Look, you are cute and all, but really - ask me again and I will simply have to have you thrown out of this establishment.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~So you can fight, and you can do accounts. What else can you do for me?~ GOTO c-aranuseful IF ~~ THEN REPLY ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ GOTO c-aranalmostjoined IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined END IF ~~ THEN BEGIN c-firstmeetaranmagic SAY ~No, can't say as I can do magic. Though I wouldn't mind studyin' it, if that's what you are after. My usual scribing is trade work, not scrolls, but I can help craft some scrolls if I work closely with a mage.~ IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Forget it. I don't need your services..~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Look, you are cute and all, but really - ask me again and I will simply have to have you thrown out of this establishment.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~I need a fighter who can write contracts like the Sword Coast needs gibberlings. Get lost.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~What else can you do?.~ GOTO c-aranuseful IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ END IF ~~ THEN BEGIN c-firstmeetaranscrolls SAY ~Aye, can't say as I can do the work alone, but with a mage I can do some minor scroll work. My usual scribing is trade work, not scrolls.~ IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~This conversation is over.~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Look, you are cute and all, but really - ask me again and I will simply have to have you thrown out of this establishment.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~What else can you do?.~ GOTO c-aranuseful IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ GOTO c-aranjoined END IF ~~ THEN BEGIN c-aranuseful SAY ~Like I said, I can fight. Got three campaigns under my belt, an' a ton of more informal fightin'. I have Guild membership in both Trader's Guild an' Scribe's Guild, so I can help with some scroll preparation, do basic contracts, an' keep accounts. I'm always on the lookout for new opportunities, so I can add a trade if you want. An' I love cookin'. Curry, 'specially.~ IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~No thanks.~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~We really don't need your services right now.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~Perhaps later.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ GOTO c-aranjoined IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined END IF ~~ THEN BEGIN c-aranjoined SAY ~Fine by me. I'll take up a contract with you. I'll grab my gear.~ DO ~SetGlobal("c-aranjoined","GLOBAL",1) JoinParty()~ EXIT IF ~~ THEN EXIT END IF ~~ THEN BEGIN c-firstmeetaranlate SAY ~Well, I'm here now. I can fight, write, an' cook a mean curry.~ [C-ARAN01] IF ~~ THEN REPLY ~Why are you looking for work?~ GOTO c-aranjobproblem IF ~~ THEN REPLY ~Sounds good enough. Join up, then.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Stand aside, citizen. You are between me and the bar. Not a safe place to be.~ EXIT IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Still not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were still here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~What is it you can do for me again?~ GOTO c-aranuseful IF ~~ THEN REPLY ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined IF ~~ THEN REPLY ~Not right now. I will let you know if we change our mind.~ GOTO c-aranrefused5 IF ~~ THEN REPLY ~Hire on with us, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ GOTO c-aranjoined END END // of APPEND to c-aran There is a conscious choice to have a bunch of player options for each pathway, but still ave it negotiable in just a few clicks. And sometimes, you might be forced to railroad a players response - IF ~~ THEN BEGIN c-aranrefused5 SAY ~Elminster's Left Buttock. More sittin' around.~ IF ~~ THEN REPLY ~You know Elminster?~ GOTO c-aranelminster END IF ~~ THEN BEGIN c-aranelminster SAY ~Are you kidding me? If I did, I wouldn't be sittin' around here looking for my next contract, now would I.~ IF ~~ THEN EXIT END takes all player choice out of it. But it will be a tough response to trigger in the first place; another "hidden easteregg" thing, really, not a plot point or anything. Still, a trap for me to avoid if possible - snappy banters are fun on the NPC>NPC front. Not so great on the PC>NPC front, because we don't want to script the player if at all possible,. We want the player to make choices, and be a pat of things, not forced into the chair and force-fed our dialog. No Clockwork Orange, if you please. Now, the original snippet of Aran having a "job problem" was pretty straightforward. IF ~~ c-aranjobproblem SAY ~Well, let's just say there's a certain difference of opinion on what is proper behavior with th' cook's daughter. No harm, I can tell you that, an' no foul, but she sweared on Ilmater's Blood that she'd seen sixteen years, an' she wore the flower in the correct ear signallin' interest. But Gerris didn't see it that way, seein' as she's not of age to make her own mind.~ ++ ~I can see that would be a problem. Can you keep your hands to yourself while adventuring?~ EXTERN ~C-ARAN~ c-aranhandstoself + ~RandomNum(5,1)~ + ~Go away, little man.~ + c-aranrefused1 + ~RandomNum(5,2)~ + ~Nope. Still not interested.~ + c-aranrefused2 + ~RandomNum(5,3)~ + ~I was just checking to see if you were still here.~ + c-aranrefused3 + ~RandomNum(5,4)~ + ~Sorry, we don't need you.~ + c-aranrefused4 + ~RandomNum(5,5)~ + ~No. But I sure could use a drink. Buy me one?~ + c-aranrefused5 ++ ~What is it you can do for me?~ + c-aranuseful ++ ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ + c-aranjoined ++ ~Not right now. I will let you know if we change our mind.~ + c-aranrefused5 ++ ~Hire on with me, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ + c-aranjoined END IF ~~ c-aranhandstoself SAY ~Experience is a hard teacher. So's Gerris. He trained with the Old Order. Wish he was a monk who followed the Sun Soul path, as Sune would have had him winkin' one eye at her brazenness, but no, he had to be one o' the orders what frown on that sort o' thing. I can keep to myself an' concentrate on the work.~ ++ ~Sounds good enough. Join up, then.~ GOTO c-aranjoined ++ ~No thanks.~ EXIT + ~RandomNum(5,1)~ + ~Go away, little man.~ GOTO c-aranrefused1 + ~RandomNum(5,2)~ + ~Nope. Still not interested.~ GOTO c-aranrefused2 + ~RandomNum(5,3)~ + ~What part of 'go away' do you not understand?~ GOTO c-aranrefused3 + ~RandomNum(5,4)~ + ~We really don't need your services right now.~ GOTO c-aranrefused4 + ~RandomNum(5,5)~ + ~Perhaps later.~ GOTO c-aranrefused5 ++ ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ GOTO c-aranjoined ++ ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ GOTO c-aranjoined END I switched over to shorthand, with ++ for IF ~~ THEN REPLY and + for GOTO, and + ~condition~ + instead of IF ~condition~ THEN REPLY. But really, this is way too much fror party members to not comment on. Heck, the dude is going to join the party, and there is a perfect opportunity for NPCs to weigh in and see what they might say. So, let's recode these puppies as CHAIN, putting them after the APPEND block above: I find this usually to be the most efficient way of getting a bunch of folks who *might* be in the party, or *might not* be in the party, to comment - if I code up a CHAIN ~C-ARAN~ c-aranjobproblem ~Well, let's just say there's a certain difference of opinion on what is proper behavior with th' cook's daughter. No harm, I can tell you that, an' no foul, but she sweared on Ilmater's Blood that she'd seen sixteen years, an' she wore the flower in the correct ear signallin' interest. But Gerris didn't see it that way, seein' as she's not of age to make her own mind.~ == ~CERNDJ~ IF ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID)~ THEN ~[CERND] Wearing the flower is but one part of the ritual. You must have seen her age, yet your base nature continued to possess you.~ == ~EDWINJ~ IF ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID)~ THEN ~[EDWIN] More ridiculous foreign customs. The trollop should be punished, or sold into slavery. <CHARNAME>, dismiss this overgrown ape and let us continue.~ == ~HAERDAJ~ IF ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID)~ THEN ~[HAERDALIS] Ah, my eagle, the stories we could swap...~ == ~JAHEIRAJ~ IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] A grown man should know a child from a woman. He should also know that children like to play adult long before they are ready for true partnership.~ == ~JANJ~ IF ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID)~ THEN ~[JAN] Well, now, that is an entirely different matter. My Uncle Matthias always said that females were trouble. They were, too; every time he said it, Aunt Petunia hit him with a frying pan.~ == ~KELDORJ~ IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] There are reasons for the ritual, but it takes common sense and a willingness to look carefully at the situation before accepting.~ == ~KORGANJ~ IF ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID)~ THEN ~[KORGAN] Aye, good on ye. If she wants ter play wi' th' big boys, then it's her own business. Next time, though, you'd be better served takin' the trade, so a few coins saves ye th' trouble.~ == ~YOSHJ~ IF ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID)~ THEN ~[YOSHIMO] A custom of flowers behind the ears denoting availability? Interesting.~ == ~AERIEJ~ IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] Oh, that poor girl. Oh, you poor man. I have seen the flowers used and misused in the crowds surrounding the circus. You should have asked her father, first, though.~ == ~ANOMENJ~ IF ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID)~ THEN ~[ANOMEN] <CHARNAME>, come away from this baseborn scum. He seems unable to handle his sword after all.~ END ++ ~I can see that would be a problem. Can you keep your hands to yourself while adventuring?~ EXTERN ~C-ARAN~ c-aranhandstoself ++ ~What is it you can do for me?~ EXTERN ~C-ARAN~ c-aranuseful ++ ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ EXTERN ~C-ARAN~ c-aranjoined ++ ~Not right now. I will let you know if we change our mind.~ EXTERN ~C-ARAN~ c-aranrefused5 ++ ~Hire on with me, then. Follow my instructions, and you will be welcome. Cross me, and things could get unpleasant for you.~ EXTERN ~C-ARAN~ c-aranjoined CHAIN ~C-ARAN~ c-aranhandstoself ~Experience is a hard teacher. So's Gerris. He trained with the Old Order. Wish he was a monk who followed the Sun Soul path, as Sune would have had him winkin' one eye at her brazenness, but no, he had to be one o' the orders what frown on that sort o' thing. I can keep to myself an' concentrate on the work.~ == ~CERNDJ~ IF ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID)~ THEN ~[CERND] Experience teaches us many things. Bruises teach us many more.~ == ~EDWINJ~ IF ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID)~ THEN ~[EDWIN] So you think to accept a fool who cannot control his animal lusts. Perhaps he will be useful as a decoy. Or an arrow holder.~ == ~HAERDAJ~ IF ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID)~ THEN ~[HAERDALIS] No, no, my fine friend, you should embrace the moment! <CHARNAME>, take pity on this poor man, and allow him his nature.~ == ~JAHEIRAJ~ IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] The sword might be useful, as well as the pen. If you join, learn how to handle all of your equipment with equal discretion.~ == ~KORGANJ~ IF ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID)~ THEN ~[KORGAN] Another blighted mouth to feed. Ain't my show, <CHARNAME>. You wanna deal wi' him, deal wi' him. I'm goin' off ter get drunk.~ == ~YOSHJ~ IF ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID)~ THEN ~[YOSHIMO] We might be able to use a fighter. And I am intrigued to learn more of this scribing. I have seen penmanship as art for most of my life.~ == ~AERIEJ~ IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] I would love to work on some scrolls with him. He is.. he is very interesting, <CHARNAME>.~ == ~ANOMENJ~ IF ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID)~ THEN ~[ANOMEN] We do not need this sellsword. Come away, <CHARNAME>.~ END ++ ~Sounds good enough. Join up, then.~ EXTERN ~C-ARAN~ c-aranjoined ++ ~No thanks.~ EXIT ++ ~Not right now. I will let you know if we change our mind.~ EXTERN ~C-ARAN~ c-aranrefused5 ++ ~The rest of the group shares what I choose to share, and they are glad to get that much. Do you have a problem with that?~ EXTERN ~C-ARAN~ c-aranjoined ++ ~Yes. I could use your services. But shares only, no hiring fees, and you join us as a partner.~ EXTERN ~C-ARAN~ c-aranjoined What more could we do to spice up the starting dialog? Have to think on that a bit, but we don't want a ton of extraneous stuff interfering with the pre-joining dialog. Either folks want him, or they want him later, or they don't want him at all this run, and we have that covered. We could play with him a bit later, if PC comes back several times, tossing on random lines, but I'd rather save the ideas and energy for joined dialogs or post-joined dialogs than the initial "heya". Link to comment
Guest -Anonymous- Posted September 27, 2008 Share Posted September 27, 2008 Where exactly is Aran going to spawn anyhow? Link to comment
cmorgan Posted March 23, 2009 Author Share Posted March 23, 2009 Taking ideas for spawn points - as befits a Companion Mod, it could be malleable (chosen on install, it is just a simple area script extension so it can go anywhere). So far, the obvious ones are Promenade (Den of 7 Veils, hitting on Sheri and drinking with Laran, but the place is pretty crowded) or Trademeet (hitting on Tashia, but *that* is a little crowded too). Looking for good pickup/dropoff points from different player's perspectives. I have added Brynlaw to the list, if he were stranded there. Me, I'd pick him up on the Promenade or any of the immediate city districts, but I want him around for the whole game. Most folks seem to do the pickup and dropoff routine nowadays. And since he is a multi-romance-neutral dude with a player starting/stopping LT/Flirt setup, he is pretty amenable to that king of utility usage. Part of his charm, you know. Link to comment
berelinde Posted March 23, 2009 Share Posted March 23, 2009 Delosar's in the Bridge District, avoiding Captain What's-his-name? Laran's in the Mithrest. It's Jolun that's in the Den of the Seven Vales. But Nathaniel goes to the Mithrest if you don't pick him up right away and the general go-to-point for the G3 Anniversary Mod is there. The inns are all getting pretty crowded, really. Or maybe he could be in the docks, looking at the ships, or in the Slums, getting thrown out of the Copper Coronet. Link to comment
Guest Guest-RadiantFoxx Posted March 24, 2009 Share Posted March 24, 2009 Crooked crane, or however that is spelt, in the Gate part of Athkatla is fairly empty if my memory of it is correct, which it probably isn't since it's so late here. The adventurer's mart could be another option - could be annoying Ribald for something to do? Technically I guess having a lot of NPC's in the same inn is good is some ways - means the PC has a choice of who to choose to join the party, but sooner or later those inns are bound to run out of ale, so maybe the less crowded the better Link to comment
Aeryn Posted March 24, 2009 Share Posted March 24, 2009 Maybe being screamed at and/or thrown out of the Seven Vales by the portly, man-hating owner. That lady scares me. Almost all the inns are terribly crowded now that I think about it. Link to comment
berelinde Posted March 24, 2009 Share Posted March 24, 2009 The Crooked Crane presents spawining challenges because of script assignment complications, but there's no reason Aran couldn't be spawned in the Gates and use his own override script to move him to the Crooked Crane once he's spawned. That's what I had to do with the various NPCs associated with Gavin. Because the Beregost area script is so packed, I didn't want to add more stuff to it, so I spawned everybody with the Temple area script and then moved them. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.