Jump to content

Search the Community

Showing results for tags 'aran whitehand'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • Crossmod Banter Pack (IWD)
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • Grey the Dog
    • Glam's NPC Pack
    • Icewind Dale Mod Roundup
    • Icewind Dale in Baldur's Gate II
    • Imoen 4 Ever
    • Item Randomiser
    • Item Revisions
    • IWD2 NPC Project
    • IWDification
    • Keeping Yoshimo
    • Kivan and Deheriana Companions for BG2
    • Level One NPCs
    • Mur'Neth
    • NPC Kitpack
    • NPC Strongholds
    • NPC Tweak for BG2
    • Oversight
    • Romantic Encounters (BG)
    • Romantic Encounters (BG2)
    • Sarah
    • SoD to BG2EE Item Upgrade
    • Song and Silence
    • Spell Revisions
    • Sword and Fist
    • Sword Coast Stratagems
    • Tweaks Anthology Forum
    • Tyris Flare
    • Wheels of Prophecy
    • Yoshimo's Remorse
  • Unreleased Projects
    • Aklon
    • Balduran's Seatower
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms

Categories

  • NPCs
  • Quests and Others
  • Tweaks & Fixes
  • Items/Kits/Spells
  • Portrait Packs
  • Mini Mods
  • Tools
  • In Progress

Categories

  • Fixes
  • Items
  • Kits
  • NPCs
  • Quests
  • Spells
  • Tweaks
  • Other
  • Tools

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 76 results

  1. OK, letters sidestory. One of the things that makes characters interesting is *not* knowing everything up front. With Aran, that is accomplished a few ways - primarily by the use of RandomNum() as a way of making things a little different every time you try the same talk, or at least giving a chance to have that happen. The second way is "backstory", filled out via some dialog, some storytelling (if asked) and through the possibility of being a born thief and rummaging through his stuff. For male PCs, the letter thing is very short, with some fun after three letters. No need for tons of stuff, as it is unlikely a guy would do more than peruse some letters, figure out Aran isn't spying on him, and let it go. Unfortunately or fortunately, from a storytelling standpoint, I once had a girlfriend who snooped into everything. Natural curiosity combined with a jealous nature combined with low self-image... let's just say, never date proto-sopranos or proto-ballerinas unless you are fully aware of just how far personal lines can be crossed. Luckily, in a story, we don't have to worry about it - if the Heroine™ doesn't 'accidentally' read a letter, someone sends it to her, or (like Downton Abbey) the rumor mill reaches her. With our PC, we can even allow for some roleplay, where she (or he) can play the search any way s/he wants... "I was just cleaning up your stuff. Didn't mean to see it." "So, who is this Elena chick you are writing to? Should I be jealous?' "Who do you think you are, a dirty version of Volo?" There are a few other implementations dropping into these states, but a2913 summarizes this pretty straightforwardly. Dudes see the general letters, and if a female PC is a persistent little stalker, she can get a view of some of the things Aran is thinking about her "behind the scenes" in the form of letters to his sister. CODE IF ~~ a2913 SAY ~[ARAN] (The normal clutter of tools and gear, neatly rolled and folded clothing in oilskins, and the occasional odd trinket catch your eye, but there is little of interest you have not already seen. The scraps of parchment, though, show signs of use.)~ + ~Global("c-pcletter","LOCALS",0)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",1)~ + c-aranletter1 + ~Global("c-pcletter","LOCALS",1)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",2)~ + c-aranletter2 + ~Global("c-pcletter","LOCALS",2)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",3)~ + c-aranletter3 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",3)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",4)~ + c-aranletter4 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",4)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",5)~ + c-aranletter5 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",5)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",6)~ + c-aranletter6 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",6)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",7)~ + c-aranletter7 + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",3)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",4)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",4)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",5)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",5)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",6)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",6)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",7)~ + c-aranletterblocked + ~Gender(Player1,MALE) GlobalGT("c-pcletter","LOCALS",2)~ + ~[PC] (You take advantage of the opportunity to rummage through his pack. There are any number of odd scraps of writing and sketches to shuffle through.)~ + c-aranletterallgone IF ~Gender(Player1,FEMALE) GlobalGT("c-pcletter","LOCALS",6)~ THEN GOTO c-aranletterallgone END IF ~~ c-aranletterallgone SAY ~[ARAN] (The scraps contain notes and ideas for a story of sorts, but not one that would be given a place at a family gathering. They read...)~ IF ~RandomNum(4,5)~ THEN GOTO c-aranstoryscrap1 IF ~RandomNum(4,4)~ THEN GOTO c-aranstoryscrap2 IF ~RandomNum(4,3)~ THEN GOTO c-aranstoryscrap3 IF ~RandomNum(4,2)~ THEN GOTO c-aranstoryscrap4 IF ~RandomNum(4,1)~ THEN GOTO c-aranstoryscrap5 END IF ~~ c-aranstoryscrap1 SAY ~[ARAN] 'Deborah sighed gustily as she looked out across the valley. She could not forget the sight of his chest, bronzed and muscular, glistening with sweat as he worked the forge. She knew it was wrong to have such feelings for a commoner of the Dales, but she could not help herself. The blush of wanton desire spread across her cheeks as she imagined him working her, rather than the forge, his hammer rising and falling to the beat of her pulse and the racing of her heart.'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap2 SAY ~[ARAN] "No, no!" Deborah's broken pleas slipped from her lips, even as they pressed themselves to him. "I can not! I have never..." His strong hands held her poised above him, ready to go where no man had gone before. His desire was palpable. Note: where no man had gone before? Where no man had explored? To drive into the unknown?~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap3 SAY ~[ARAN] 'There were no words as Deborah created crafted crufted crinfalled There were no sonunds there were scratch this. Note: look for good descriptors that can translate to Dwarven without taking on the wrong meanings. Pradeep of Westhaven might buy this thing if I can just get the writing open for gnomish and dwarven translation. Second Note: remember that dwarves find beards appealing on both women and men. May have to rewrite. Third note, get a good proofreader before I send anything.'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap4 SAY ~[ARAN] 'She flung herself in front of him, begging to be taken, begging to be his. Buck sat stone-faced, unmoving. "Do you think that a commoner has no feelings? I share everything with you, and you sleep with him. My forge may take on many projects, but only one heart commands it. Who's heart commands your forge, Deborah?'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap4 SAY ~[ARAN] 'Buck's bronzed form glistened in the lamplight, his dark beard covering everything. Deborah could not help herself. Her eyes dropped lower, lower. Her face burned in the darkness, a beacon in the stone cave. "It is glowing", she whispered. "Aye." he answered.'~ IF ~~ THEN EXIT END /* Letter Responses */ IF ~~ c-aranletter1 /* aran letter #1 (everyone, c-alttr8.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] Mae Govannen Mae govannen. An lema? Amin naa lle nai. I'narr en gothrim glinuva nuin I'anor. Ohtar hanwa edan yesta sii'lle vakha. Amin tengwa Naug, i'lambe tel' Eldalie. Dwarven, Elven, and Common Trade Language spoken and written, contracts translated, copywork accepted. Experienced Caravan Guard and Scrivner. Reasonable rates. Inquire at Ten Veils Public House for Whitehand. Have Sword, Will Travel. No Job Too Small. No Dragons. Experienced Caravan Guard, Scrivner, OutRider, Oarsman. Trade Contracts and Copywork Drawn. Reasonable Rates. Inquire at Public House for Whitehand.~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT // c-alttr2.itm ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter2 /* aran letter #2 (everyone, c-alttr2.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] My Dearest Elena, I read your message with great happiness. Congratulations on your being advanced to choice! By the time you read this there will only be a few more months and you will be in your final year of apprenticeship. And Mystra is a good Goddess to serve, I hear. I always thought you would lean towards The Wise One, Oghma, and go with the Estelmer family nobility as benefactors, but you know your own heart. If your calling is to Mystra, then I guess you couldn't do any better than to Eltorchul family. There are some stories about a few of them, but they generally get written about as good people, for nobles and wands. Good but not lockstep; some of them are pretty wild, if trail stories and news broadsides talk about the same family. The Thunderstaffs follow Mystra, but from my end - plenty of warmages from that family, that is for sure! I was pretty sure you wouldn't end up following them, anyways. I am really glad your benefactor was happy, too. I thought it was like a trade apprenticeship, and you would be with The Lady Mage all the way. I guess I didn't understand about the schools, and how you work your way up. I love the emerald, and I will figure out what you mean about saying the inscriptions in private once we are on the trail. I hope this isn't one of your practical jokes, though. That is too fine a gem just to put a joke on. And the colors were beautiful. It lasted a full thirty seconds before dissolving into smoke, and it was a deep, shiny green with gold and silver and sky blue. Plus, it only erased a little bit of the parchament, so I got to read most of the message. That is so much better than the one where you tried the acid-flowers, and it burned through the whole letter. I know you want to have each message destroy itself, though I do not understand why all mages seem to need such secrecy. I do have some news. I have started working with a new group. There is not much to say yet, but it is not a regular mercenary group. <CHARNAME>, the one who leads, is different. I will have more to say later, I am sure. In the meantime, keep up your studies, and I will try to send you some of the spell components you asked about as best I can. Judging by the look of things, I may be able to get some very rare components for you just by keeping my eyes open and wits sharp. Yours Faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter3 /* aran letter #3 (everyone, c-alttr3.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] My Dearest Elena, I am writing from the trail, so please excuse the occasional blot or crease staining the writing. There is so much to report, but most of it is not to be trusted to letters. When I next see you, remind me to tell you about <PLAYER1>. Things are working out well enough on so far. Well as well as can be expected given our challenges. I have not had as much combat in so short a timeframe since the pitched battles back near Baldur's Gate. Even in the Axes, there were months with no combat, and now it seems to happen every day. I am glad to hear that your roommate is not making your life easy. I know that sounds unsupportive, and I am sure you don't appreciate it, but from my standpoint it means you are telling me things and not hiding the challenges and problems. You are smart enough to get past this. Just don't do what you did to Kimili when she called you those names. I bet now that you have some real training, it would not be a few curls set on fire... you might accidentally incinerate her head. I did hear from Nathan the other day, and his letter asked after you. I told him you were away in the Dale lands, rather than the truth. I know you think that he is cute, but I know him. He is not a nice person. I may sound overprotective, but he has done some things you just do not want to know about. Well, I must close, as I am out of room, and low on supplies. Time to mix up some more ink, too. As always. Yours Faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter4 /* aran letter #4 (rom, c-alttr4.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope that all is well with you. For me, I am sorely in need of your guidance. I know we have written about this several times, but I need to clear my head and think and you are always good at helping me do that. I cannot stop thinking about her. I cannot stop watching her. It has me off balance, even worse than when I fell for that half-elven bard you warned me against. I simply do not understand how I could be pulled so far under her spell in such a short time. I know I am not an apprentice, but I certainly feel like one. I know I wrote to you of my feelings, and I know we joked about the difficulties of falling for one's employer, but now I am serious. I do not know if you would like her, or not. But do not believe the stories that must be floating around about what we are doing. All I can say is that she has captivated my attention in a way no other woman has. Yes, even more than SilverEyes. I just have difficulties seeing what I can offer her in return. I have no wealth or title, no real prospects, and I do not even know if she truly would have me. But that is how serious my situation seems to have become. For Sune's Blessing and for the love of your brother, help me. I need to know what a woman of power really wants. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter5 /* aran letter #5 (rom, c-alttr5.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope that all is well with you, and with your pet lizard (yes, I know he is a pseudodragon, but someone has to put her in her place!). I am happy your work in runescribing is coming along, but please remember about spell duration. Half of your last message burned through your last three letters to me, and nearly turned my pack into a bonfire. I know you prefer secrecy, but surely I can keep one or two of your missives? There are many things going on right now, and I am not at liberty to write much about them. Our goals are being met, though the victories seem very costly. Perhaps it is more that I have made a stronger commitment to this quest than I have before. Your advice was appreciated. I am happy you see me that way, but I am pretty sure that you did not really mean "just kiss her and keep kissing her until she either kills you or professes her love". I understand what you are saying about power being of many kinds, and that sometimes just being yourself is what she might need. I do not know the best way to proceed right now, but I will take your advice under advisement and continue as best I can. In the meantime, I will be enclosing a small packet of wildspeare flowers for your component pouch when I get a chance to send this. I hope that it helps your studies. Please try not to turn Jill into a flowerpot again. I know that the polymorph spell usually results in squirrels, berrygobblers, or chipmunks rather than inanimate objects, so study hard and next time it might go better. Yours faithfully, Aran.~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter6 /* aran letter #6 (rom, c-alttr6.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, Congratulations on winning your competition! I had no idea that things were so competitive at the academy, and I am very glad that the Priests of Ilmater were there when that boy got caught in the fireball. I am so happy you won, and you even gave me ideas for a new set of tactics to use. I doubt I will often be able to spread oil or grease before a battle, but the use of multiple layers of magic is not something I have studied very much. The way things are going around here, we may need all the tactical advantages I can come up with. As for your enquiries, she is holding her own against the power of her blood. I do not have any real answers for you as to whether she sees me as someone who she could be with forever, or just someone she can use temporarily. I hear her words, and I see her responses, but I often am not quite sure where she really is coming from. She may be shouting her truth at me all the time, for all I know, but I am simply not sure if I am hearing reality or something I have constructed all in my head. You know as well as I do that I have done that before, and the results have been less than positive. There will be time enough to write more later. I will be enclosing a few odds and ends gleaned from our last few combats, but I am unsure as to how to stop them from breaking when transported to you. If the letter you are holding is a bright black on one corner, then I would seek out the Priests for healing immediately. I am never sure why you want me to send you these things, as my training has been in writing, not herbalism, but you know that I would do anything for you. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter7 /* aran letter #7 (rom, c-alttr7.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope my letter finds you in good health and spirits. I will get straight to the point and remind you that you are too special and to smart to fall into any traps. Be careful. I do not know anything about Court and have never really seen a Masked Lord or even an un-masked one, but I have been around long enough to be suspicious of anyone who makes bold passes at you. I wish I were there, so that he would know that you have a protector. I know you can take care of yourself, but it still worries me. If you need proof, remember how I have acted around Giselle and Rani, and how you had to send a spark at me to stop me from behaving badly with your friends. Yes, I know I have a double standard, but I have always been very interested in all of this romantic sparking, while you have avoided it like the plague. And our situations are not as similar as you made it sound. <CHARNAME> is more complicated than what we are talking about. If it were just for fun, that would be one thing, but I seem to have developed some attachments that make things more painful for me if I do things that she might not like. I always try to fit what she seems to want, but it is hard sometimes. In fact, it seems almost impossible at times. But I trust in Tymora, and She will make the coin toss. What is meant to be, is meant to be. In your case, though, your benefactor might not take kindly to that particular young man. Do not take this the wrong way, but you have to ask yourself if he is really interested in you, or if he wants information. I trust you to make the right choice for you, of course. I would send for you to join us for a little bit, so you could get away and think, but I am afraid things here have gotten very difficult. Our adversaries are the stiff of legends and folktales, only they turn out to be real. Usually, they also turn out to be able to crush me into goo. No matter what is going on there, things are worse here. Do not worry for me, though. I have always had an eye out for trouble, and I think I enjoy feeling part of something that will make a difference. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletterblocked SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] (Unfortunately, Aran has begun writing in a language or cipher you cannot understand. You will have to ask him to read the letter to you.)~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ DO ~SetGlobal("c-aranletterblocked","LOCALS",1)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-arlettertake","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END /* add bcs block to trigger, Global("c-arannosecrets","GLOBAL",1) */ IF ~Global("c-arannosecrets","GLOBAL",1)~ THEN BEGIN a2908 SAY ~[ARAN] Hey, there, I got a question for you. Do you mind if I rummage about in your undergarments a bit, an' poke through your stuff? Mayhap I can ink up some o' your gear, random like?~ [c-aws107] ++ ~[PC] I meant no harm. You scribble and scrawl all the time, and I was just curious. I want to know what is going on.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] I want to know if any member of this party is discussing anything with the outside world. Even little things.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] Don't keep any secrets from me. I will not be happy if you hide anything, anything at all.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] Well, perhaps I went a little overboard. But I don't like to be kept in the dark, and it seems like you are writing things I should know about.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] I hold the coin for the party. I want to know how you are using it, and to what purpose.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 END IF ~~ a2909 SAY ~[ARAN] Right, then. I blighted well thought a letter to my sister were naught buy my own business. You want somethin' translated, I'll do it. I don't give a rat's arse if you want to poke an' pry, but th' inference be that you don't trust me. Lovitar's Lash, that hurts a lad.~ IF ~~ THEN EXIT END /* add bcs block to trigger, ("c-arlettertake","GLOBAL",1) */ IF ~Global("c-arlettertake","GLOBAL",1)~ THEN BEGIN a2910 SAY ~[ARAN] Hey, there, I got a question for you. Do you know who has been messin' about in my pack, smudgin' up my writin' space?~ [c-aws108] ++ ~[PC] Yes, I do. I did. What are these letters you keep writing all about?~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ EXIT ++ ~[PC] No, I don't.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ EXIT ++ ~[PC] You must be mistaken. I did not leave a single smudge or telltale sign of my browsing.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ + a2909 ++ ~[PC] Search me.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ + a2911 END IF ~~ a2911 SAY ~[ARAN] I would, but other than rufflin' my feathers, there be no real harm done. There be precious little what be private in a group like this. If you want to know what I be writin' to my sister, you don't have to poke about. You could just ask, eh?~ IF ~~ THEN EXIT END Note to anyone looking for a good editor - jEdit rocks. Very configurable, free, and even I can manage lots of project files cross-platform. Serious editor for serious folks... I am barely touching its possibilities.
  2. Discussion started from Aran Whitehand development - Synopsis: AreaCheck() does not cover mod added areas without specific addition AreaType() does not cover mod added areas without specific addition AreaType(CITY) was intended to cover city outdoor areas Looking for a way of getting all areas, vanilla and modded, to be able to be checked for being in a city and an inn, so that the appropriate movie can be triggered and content can be tailored and still make sense Suggestions so far: Worse: Research and create mass "MYAREA" script extensions for all such areas Better: Create and identify new AreaType()s and set them up as community resources [-cmorgan AreaType() checks fail. Keep that in mind. You will need a more robust check than AreaType(CITY) to determine where the party is sleeping and cue the appropriate cutscene. You may need to do an extensive OR() block area check for this. Just saying. I've got the code up elsewhere and can post it here if you need it.
  3. CODE /* ToB Plot Talk 1: Saradush */ IF ~Global("c-aransaradsush","GLOBAL",1)~ THEN BEGIN c_saradush_is_a_mess SAY ~[ARAN] That were an ugly sight, for sure. Th' whole city sacked. Enough to give anyone a right nasty set o' dreams.~ ++ ~[PC] I couldn't close my eyes at all. I kept seeing the city of Saradush... burning.~ + c_sard_ar1 ++ ~[PC] I slept well enough, though I do have sympathy for those hurt because of my kind.~ + c_sard_ar3 ++ ~[PC] What? Did I miss something? I slept like the dead.~ + c_sard_ar4 + ~Global("c-aranrom"GLOBAL",2)~ + ~[PC] I had you as a distraction. I slept well enough.~ + c_sard_ar7 ++ ~[PC] I have seen worse. Sardush is not the first time I have experienced full-scale slaughter of innocents.~ + c_sard_ar8 ++ ~[PC] I... I do not want to talk about it.~ + c_sard_ar9 END IF ~~ c_sard_ar1 SAY ~[ARAN] I feel th' same. I worried a mite bit that you would feel distant. I went through that, for a time. It... well, it didn't turn out to be th' best way to handle things.~ IF ~~ THEN GOTO c_sard_ar2 END IF ~~ c_sard_ar2 SAY ~[ARAN] <CHARNAME>, you have a depth to you what makes th' difference between those what rise to power at every cost an' those who pick an' choose th' costs. That marks you as different from most wi' th' kind o' power you wield.~ ++ ~[PC] I am not sure you are correct, but I share your concern. I will see to it that this kind of thing cannot happen again.~ + c_sard_ar6 ++ ~[PC] I don't choose. War is like any other large force, like wind, or lightning. We can seek to control part of it, but unless we are gods, we can only change a very small portion. We only have so much power to change things.~ + c_sard_ar4 ++ ~[PC] I know, and I am tired of the choices others are making. I will be noticed. I will be a power to be reckoned with.~ + c_sard_ar4 ++ ~[PC] I am sick of having so much power, but no way to change things for the better. I don't think I can handle this.~ + c_sard_ar12 ++ ~[PC] I don't want to talk about this.~ + c_sard_ar9 END IF ~~ c_sard_ar3 SAY ~[ARAN] Those o' your... blighted hells, <PRO_MANWOMAN>, what exactly be "your kind"? I be hopin' you haven't lost your senses. We done already seen that 'Bhaalspawn' be varied just like any other race - if you can call it such.~ IF ~~ THEN GOTO c_sard_ar2 END IF ~~ c_sard_ar4 SAY ~[ARAN] War an' power go hand in hand, true enough. Th' expense o' the fallen in Saradush - if you look at th' pain an' sufferin', it be wrong. If you look at th' waste o' useful lives, even potential slaves, it be wrong. If you look at th' loss o' goods an' services, it be wrong. Hells, even if you be a soul-eatin' demonic Drow-child, this be just plain useless to anyone's plans.~ = ~[ARAN] There be only two ways this makes sense; one, someone tryin' to create a legion o' undead, or two, someone who revels in chaos an' sufferin'.~ ++ ~[PC] Either way, the chaos will to be my advantage. I will use this as an excuse to eradicate every power which refuses to follow my wishes.~ + c_sard_ar5 ++ ~[PC] It does not matter. I will make sure things like this never happen again.~ + c_sard_ar4 ++ ~[PC] War and power may go hand in hand, but love can bind those hands and still them.~ + c_sard_ar10 ++ ~[PC] You are forgetting the true cost. This means all of the Prophecies are coming true. There will be no refuge or allies for us, anywhere. We will be hunted like animals.~ + c_sard_ar11 ++ ~[PC] Pain. Suffering. Waste. These are just symptoms. Someone has to wipe out war itself.~ + c_sard_ar6 ++ ~[PC] I look at things like this, and I just want to turn back time. I want to go back to Candlekeep, and hide somewhere in the stacks, locked away, protected from all this madness and death.~ + c_sard_ar16 END IF ~~ c_sard_ar7 SAY ~[ARAN] Distraction may be nice, but a thing like this will scar any man or woman what sees it.~ ++ ~[PC] I keep seeing the city of Saradush... burning. It is not a pleasant sight.~ + c_sard_ar1 ++ ~[PC] I slept well enough, though I do have sympathy for those hurt because of my kind.~ + c_sard_ar3 ++ ~[PC] I have seen worse. Sardush is not the first time I have experienced full-scale slaughter of innocents.~ + c_sard_ar8 ++ ~[PC] I... I do not want to talk about it.~ + c_sard_ar9 END IF ~~ c_sard_ar8 SAY ~[ARAN] Me niether. But I never got so callous as not to feel anythin'. Th' waste, th' ugliness...~ ++ ~[PC] It is beautiful, isn't it? The raw power, loosed untamed and unfettered, drenching everything in blood and meaningless death...~ + c_sard_ar5 ++ ~[PC] It is sickening.~ + c_sard_ar1 ++ ~[PC] I want revenge. I want the... things. The things that did this. I want them to suffer.~ + c_sard_ar1 ++ ~[PC] None of this is our concern. We did the best we could to save the city.~ + c_sard_ar2 END IF ~~ c_sard_ar9 SAY ~[ARAN] No bein' in their right mind does. But you will sleep better if you do.~ ++ ~[PC] What is there to say? The weak get killed by the strong. War has a power of its own. There is nothing I can do about it.~ + c_sard_ar4 ++ ~[PC] It is my fault. I should have split the party, leaving behind someone to help.~ + c_sard_ar14 ++ ~[PC] I said I don't want to talk about it. Be quiet, or I will make sure you can't speak for a whole day.~ + c_sard_ar11 ++ ~[PC] You have been in war. What do you do with the feelings of guilt?~ + c_sard_ar13 ++ ~[PC] I sleep just fine, thank you. I understand that some things are beyond my power to control.~ + c_sard_ar4 ++ ~[PC] If I ever get a chance, I am going to put a stop to all this bloodshed.~ + c_sard_ar10 END IF ~~ c_sard_ar5 SAY ~[ARAN] <CHARNAME>, I think this be not th' first time I have mentioned that you scare th' livin' crap out o' me.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar6 SAY ~[ARAN] Impossible. Unless you eradicate every creature on this plane o' existence, an' mayhap beyond, you won't stop somethin' as ugly, wasteful, an' horrible from happenin' again, even if you were Ao incarnate. But I sure as Helm's Ever-Seein' Eyes will back you tryin' to make sure it don't happen very often.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar10 SAY ~[ARAN] That be a nice sentiment. I don't think it be practical, but then again, if you say it... mayhap it will come true.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar11 SAY ~[ARAN] Now, that be an awful thought.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar12 SAY ~[ARAN] No sane one o' us could. But you have a right bit o' depth to you, <CHARNAME>. You can handle this, an' more. Just remember, right or wrong, good or bad, I'd rather have you makin' th' choices rather than th' bastards what would slaughter everyone for no reason at all. I have faith. You will prevail.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar13 SAY ~[ARAN] Before I met you, I tried to forget. I drank, I caroused, I swore, I did anythin' what made me feel like I had some control over a small portion o' my life.~ = ~[ARAN] Now that I have met you, I put those feelin's into a task, an' an idea. Basically, you be th' reason I can deal wi' everythin'. For right or wrong, when I be at your side, I have a place an' a purpose. That be enough for me.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar14 SAY ~[ARAN] Th' end result would have been worse. One o' us tryin' to take on an entire army might have delayed things an hour or so. But even th' avatar of a god can be taken down when th' odds are thousands to one.~ ++ ~[PC] Does saying that make you feel better?~ + c_sard_ar15 ++ ~[PC] I guess you are right. I just keep feeling that this is so wrong, so utterly wrong. I can't get it out of my mind.~ + c_sard_ar12 END IF ~~ c_sard_ar15 SAY ~[ARAN] No. But it be a good thing to remind any o' us mere mortals that we are not th' center o' everythin'. An' we can look at this an' let it fuel our revenge, on account o' th' perpetrators o' this atrocity needs be hunted down an' slain like th' beasts they be.~ IF ~~ THEN EXIT END IF ~~ c_sard_ar16 SAY ~[ARAN] That be a nice sentiment. I don't think it be practical, but then again, sometimes I make myself a little space in my head an' go there, all by myself, just to remember what I be fightin' for. Just... just don't be stayin' there too long, eh?~ = ~[ARAN] Th' problem wi' hidin' away in your head is that your head be attached to th' mortal world. An' hidin' for a little mayhap gives some respite, but it does naught for actually changin' things or protectin' us from bein' th' next target o' this bloodshed.~ IF ~~ THEN EXIT END
  4. Bogstandard BioWare™ copying for the setup, but then we go slightly off the usual track for the cutscene and talk. For your own research, check LOVEDONE .d's, and HGWRA01's jumping around between all the possibles. CODE /* Master Wraith Talk. */ /* At top of c-arantobdialog.d, */ BEGIN C-ARWRTH Reminder to self - beg/bribe Peachplums for another picture... spectral fighter. CODE /* In .tp2, creature C-ARWRTH */ COPY ~aranw/portraits/peachplums_deadman.bmp~ ~override/c-aw01p3.bmp~ // Dead Mercenary portrait (Peachplums) COPY_EXISTING ~kpchap01.cre~ ~override/c-aw01p3.cre~ SAY NAME1 ~Stedd~ SAY NAME2 ~Stedd~ LAUNCH_PATCH_MACRO ~support_cre_cleanup~ */ in c-arantobdialog.d, CODE /* break in and set up the talk if in a romance */ EXTEND_BOTTOM HGWRA01 18 IF ~Global("c-aranrom","GLOBAL",2) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN DO ~SetGlobal("c-aranlovedone","GLOBAL",6)~ EXTERN HGWRA01 c_wraith_trashtalk END /* Create the EXTERN, as we want only one of these to play */ CHAIN HGWRA01 c_wraith_trashtalk ~What of the inevitable pain you must cause to the one you love? This man, the one whom you call "Aran".~ == C-ARN25J ~[ARAN] What in Cyric's Blighted Breath do this windbag be talkin' about? You be in control o' th' bloodurges...~ EXTERN HGWRA01 24 /* draw off the romance-triggered sob stories to a new one */ EXTEND_BOTTOM HGWRA01 24 IF ~Global("c-aranrom","GLOBAL",2)~ DO ~ClearAllActions() StartCutSceneMode() StartCutScene("C-ACT218")~ EXIT END /* start the waterworks */ CHAIN IF ~NumTimesTalkedTo(0)~ THEN C-ARWRTH c_start_wraith_talk ~[C-ARWRTH] Aran? Whitehand, light a torch or somethin'. It is as dark as hells here...~ [C-ARW001] == C-ARN25J ~[ARAN] What in th' nine hells... you be dead an' buried. Someone get me some holy water right quick, eh? You were no good when you was alive, an' I don't rightly want to see you now you be dead.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] You have come up in th' world. Who is th' wench?~ [C-ARW002] == C-ARN25J ~[ARAN] Keep a guard on your tongue, bastard.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Oho, a new lover? Stedd sees all now, Whitehand. You sorry weakling, you actually think you can keep her? Does she know?~ [C-ARW003] == C-ARN25J ~[ARAN] Shut your filthy mouth.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Hah! She doesn't know! You remember, don't you? Th' smell of flesh burnin', th' screams of th' children...~ [C-ARW004] == C-ARN25J ~[ARAN] I did what you ordered. Bane Blight your soul, I didn't know.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] You lie, you piece of dung. You acted so high an' mighty, and then you go blindly followin' without a care or thought in th' world. Th' blood's on your hands, and those screams will haunt you past death's door. Think you will keep her precious lips close to you now, mercenary?~ [C-ARW005] == C-ARN25J ~[ARAN] Gods...~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Murderers all, we happy few. And you with th' weak stomach cryin' like a baby, battin' at the flames while your comrades died. Twice murderous, bastard. Charred flesh was not about to rise, an' we died because you had no stomach for th' collateral damage. Are you cryin' now?~ [C-ARW006] END ++ ~[PC] Don't say those things to Aran! He did what he had to!~ EXTERN HGWRA01 25 ++ ~[PC] I... I knew you had done some difficult things in your past, but you never told me about this, Aran.~ EXTERN C-ARN25J c_wraith_below_belt ++ ~[PC] Stop tormenting Aran, spirit! ~ EXTERN HGWRA01 25 ++ ~[PC] Gorion, stop this! I won't let this go any further!~ EXTERN HGWRA01 25 + ~CheckStatGT(Player1,16,WIS)~ + ~[PC] Aran, this isn't real. Don't listen to it!~ EXTERN C-ARN25J c_wraith_below_belt APPEND C-ARN25J IF ~~ c_wraith_below_belt SAY ~[ARAN] By Ilmater's Tears, that don't help th' feelin's this bastard be slappin' me with. For th' sake o' mercy, can we shut him th' blighted hells up?~ IF ~~ THEN EXTERN HGWRA01 25 END END in c-arn25.baf [code] /* Master Wraith Post-Traumatic Stress Disorder Amelioration Talk */ IF Global("c-aranpostwraith","GLOBAL",0) GlobalGT("WraithPunish","GLOBAL",0) Global("c-aranlovedone","GLOBAL",6) InParty(Myself) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY]) THEN RESPONSE #100 SetGlobal("c-aranpostwraith","GLOBAL",1) END IF Global("c-aranpostwraith","GLOBAL",1) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 PlaySong(0) PlaySound("C-ARANS") StartDialogueNoSet(Player1) END in c-arantobdialog.d, in APPEND to C-ARN25J, CODE /* ToB Plot Talk : Post Wraith Talk™ */ IF ~Global("c-aranpostwraith","GLOBAL",1)~ c_post_wraith_talk_starts SAY ~[ARAN] Gods.~ ++ ~[PC] They had a little to do with it, I think. But not much. We survived through our own strength.~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_survived_it ++ ~[PC] Was... was what that ...thing... said. Was it true?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_was_it_true ++ ~[PC] Are you crying?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_arms_wrap ++ ~[PC] (Throw yourself into his arms and press your face against his chest.)~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_arms_wrap ++ ~[PC] I don't know what to say.~ + c_survived_it ++ ~[PC] So, a little history lesson for both of us?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_survived_it END IF ~~ c_arms_wrap SAY ~[ARAN] (His arms crush you close, his face hidden from your sight.)~ IF ~~ THEN GOTO c_survived_it END IF ~~ c_survived_it SAY ~[ARAN] That thing... it might have been only a powerful spirit, a reflection. But... It spoke o' things we have not talked about.~ ++ ~[PC] It spoke twisted lies to hurt and confuse us, and to separate us.~ + c_tell_the_truth ++ ~[PC] I don't want to hear any more. The past is the past. For both of us, the past is the past.~ + c_tell_the_truth + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] Aran, look at me... Look into my eyes. I love you.~ + c_tell_the_truth ++ ~[PC] You heard a twisted view of my life. I heard a twisted view of yours. It is over, and I never want to discuss it ever again. We need to move on, now. Pick up your gear, and help me get things back in order.~ + c_aye_can_do END IF ~~ c_tell_the_truth SAY ~[ARAN] Truth be th' only way to really clear this burden. What that abomination said, it were true, to a point.~ = ~[ARAN] There be times when you know an order be just plain wrong, an' you have to make a choice. I chose to follow.~ = ~[ARAN] Th' details don't rightly matter, but th' result be an ugly truth. Good men can do horrible evil, just by followin' instead o' thinkin'.~ + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] Then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] I don't want to hear any more. The past is the past. For both of us, the past is the past.~ + c_tell_the_truth ++ ~[PC] You really burned innocent children alive, and broke down in battle?~ + c_can_you_handle_the_truth END IF ~~ c_can_you_handle_the_truth SAY ~[ARAN] I'd say it different. I'd say I followed th' orders to set th' village afire. I'd say I thought there might be some innocents there, an' mayhap th' enemy was shieldin' themselves. I'd say that when I saw th' sight an' heard th' screams, I ran to see if I could undo what had been done...~ = ~[ARAN] What I had done.~ = ~[ARAN] But when it be th' truth between my soul an' you, yes. I did.~ ++ ~[PC] Get. away. from. me.~ + c_no_longer_welcome + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] Then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] You had no choice. An order is an order. You could not have been sure. It was not your place to make that choice.~ + c_we_all_have_choices ++ ~[PC] Why have you not told me this before now?~ + c_how_can_you_tell ++ ~[PC] I could say that everything that has happened to us is my fault. That would not be truth. It would be self-pity.~ + c_self_pity END IF ~~ c_self_pity SAY ~[ARAN] You could say that it be self pity. But there be a difference in my case. You didn't choose your blood or th' things what followed. Me, I could say I had no choices...~ IF ~~ THEN GOTO c_we_all_have_choices END IF ~~ c_evil_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would see this as an opportunity, a weakness in your character that I could exploit. You held it from me, even while showing me how much you care for me. That kind of inner strength, I can respect. Can you understand that?~ + c_aye_can_do ++ ~[PC] You followed orders, even when you felt that they were wrong. You may have regretted doing so, but you followed. I know now that you will do anything for me, even if it goes against your very soul to do so. That is the kind of control I crave. Can you understand that?~ + c_aye_can_do ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] You knew even I have limits on what I am willing to do to further my own ends, and you sought to hide something I would never condone so that you could be with me. I don't like that, but I respect that. Can you understand that?~ + c_aye_can_do ++ ~[PC] You risked everything to tell me the truth. If that is not love, then I do not know what love really is. Can you understand that?~ + c_aye_can_do END IF ~~ c_good_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would not be able to handle the burden of your feelings and my own guilt and frustration. You held this burden away from me. That takes strength.~ + c_mayhap_stronger ++ ~[PC] You risked everything to tell me the truth. If that is not love, then I do not know what love really is. Do you understand what I am saying to you?~ + c_aye_can_do ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] I try to do the right thing. But my hands are stained with innocent blood too; there can be no mortal way of stopping the consequences of violent action. But the pain you feel, the guilt, shows a strong conscience. I can love a man who takes responsibility for his actions.~ + c_mayhap_stronger ++ ~[PC] You managed to lie to me every day that we have known each other. You know, I do not need your twisting and hiding the truth. You should leave.~ + c_no_longer_welcome END IF ~~ c_neutral_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would not be able to handle the burden of your feelings and my own guilt and frustration. You held this burden away from me. That takes strength.~ + c_mayhap_stronger ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] There is no right or wrong in these things, Aran. The same hand that sweeps away a Tyrant kills innocents. Balance, chaos, order... all of those are a part of life on Faerun. We just have to make sense of this for ourselves, and remember we are just passengers on this plane of existence. Do you understand?~ + c_mayhap_stronger ++ ~[PC] Strength of character. You decided when to tell me what you are capable of. I can love a man who shows that kind of restraint.~ + c_mayhap_stronger ++ ~[PC] You managed to lie to me every day that we have known each other. You know, I do not need your twisting and hiding the truth. You should leave.~ + c_no_longer_welcome END IF ~~ c_we_all_have_choices SAY ~[ARAN] That be a lie. We all have choices, every second o' every day. An' when we make th' wrong ones, we with death in our hands an' blood in our hearts... we kill people. We make that choice.~ ++ ~[PC] Would you ever have told me?~ + c_ever_told ++ ~[PC] Then I am making a choice right now. I think you should leave.~ + c_no_longer_welcome ++ ~[PC] Then I make a choice every minute of every day. I chose to love you.~ + c_i_love_you ++ ~[PC] Aran... You and I know you are not the only person in my life. But I keep choosing to be with you. That should tell you that I can handle both the good and the bad in you. I love you.~ + c_i_love_you ++ ~[PC] I have done worse things than you could ever imagine. War claims all in its path as victims. As I see it, you have no more need of self-recrimination than I need apologize for being the child of a dead god. I can live with that. Can you?~ + c_aye_can_do END IF ~~ c_how_can_you_tell SAY ~[ARAN] I have told no one. Never. Until now.~ ++ ~[PC] Would you ever have told me?~ + c_ever_told ++ ~[PC] And you say you love me. You really think I am that weak.~ + c_that_weak ++ ~[PC] Thank you for telling me the truth. I understand... there are things in all of our pasts that we want buried forever. Do you love me?~ + c_of_course_i_do ++ ~[PC] Aran... You and I know you are not the only person in my life. But I keep choosing to be with you. That should tell you that I can handle both the good and the bad in you. I love you.~ + c_i_love_you END IF ~~ c_that_weak SAY ~[ARAN] Now, hold on, I was tryin' to keep th' guilt off of...~ ++ ~[PC] I can handle guilt. I can handle blood. I was born to it. What I can't handle is someone who claims to love me, but will hide things from me. You should leave. Now.~ + c_no_longer_welcome ++ ~[PC] I... I understand. You did not think I was strong enough. I don't think you realize how strong a woman can be for the man she loves.~ + c_mayhap_stronger ++ ~[PC] Don't you love me?~ + c_of_course_i_do ++ ~[PC] I have held things back from you, too. Did you know that I envied Imoen? That I hated Gorion for keeping me away from a life outside the library? That I have killed without remorse, tricked and lied my way through life, and that in spite of it all I can't stop loving a silly do-gooder who can't seem to see exactly how wrong I am for him? Love stinks, doesn't it.~ + c_mayhap_stronger ++ ~[PC] No, you misunderstand me. I am that weak. I... I can see myself, and I hate that woman. I needed to think you were different. Perhaps it is time I grew up, and realized that we all carry burdens. I... I just need your help, sharing the weight between the two of us.~ + c_mayhap_stronger END IF ~~ c_ever_told SAY ~[ARAN] Told you wi' out all this? On th' truth an' respect I have for you... no. I would not.~ ++ ~[PC] Don't you love me?~ + c_of_course_i_do ++ ~[PC] You were wise. I can't have the blood and guilt you bring added to my burdens. You need to find your own path.~ + c_no_longer_welcome ++ ~[PC] I can handle guilt. I can handle blood. I was born to it. What I can't handle is someone who claims to love me, but will hide things from me. You should leave. Now.~ + c_no_longer_welcome ++ ~[PC] I... I understand. You did not think I was strong enough. I don't think you realize how strong a woman can be for the man she loves.~ + c_mayhap_stronger ++ ~[PC] I have held things back from you, too. Did you know that I envied Imoen? That I hated Gorion for keeping me away from a life outside the library? That I have killed without remorse, tricked and lied my way through life, and that in spite of it all I can't stop loving a silly do-gooder who can't seem to see exactly how wrong I am for him? Love stinks, doesn't it.~ + c_mayhap_stronger END IF ~~ c_of_course_i_do SAY ~[ARAN] O' course I do.~ ++ ~[PC] Then trust me. No secrets. I am a Child of Murder. If I can handle that truth, then I can handle your truth.~ + c_mayhap_stronger ++ ~[PC] Then say no more about this. What is past is past, and we have a future to plan. Don't let old blood drown a new life together.~ + c_mayhap_stronger ++ ~[PC] Then... I need you to leave. I have the weight of my own guilt to carry. I can't handle both yours and mine.~ + c_no_longer_welcome ++ ~[PC] Then kiss me, and forget the past. We have to focus on what is ahead of us, not what is behind us.~ + c_mayhap_stronger END IF ~~ c_no_longer_welcome SAY ~[ARAN] I... ~ = ~[ARAN] ... ~ IF ~~ THEN DO ~SetGlobal("c-aranrom","GLOBAL",3) GivePartyAllEquipment() LeaveParty() EscapeAreaDestroy()~ EXIT END IF ~~ c_mayhap_stronger SAY ~[ARAN] Mayhap you be right. I learn somethin' new about you almost every day.~ IF ~~ THEN GOTO c_i_love_you END IF ~~ c_i_love_you SAY ~[ARAN] I don't think I say this right strong enough, or often enough.~ = ~[ARAN] I love you.~ IF ~~ THEN EXIT END IF ~~ c_aye_can_do SAY ~[ARAN] Aye.~ IF ~~ THEN EXIT END As always, commentary welcome!
  5. Set up here with inlined just for reporting here - the related .baf is an independent file. CODE ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB dialog file COMPILE ~aranw/dialog/c-arantobdialog.d~ // USING ~aranw/dialog/%s/setup.tra~ /* ToB Scripts */ COMPILE ~aranw/baf/c-aranx.baf~ COMPILE ~aranw/baf/c-arn25.baf~ // USING ~aranw/dialog/%s/setup.tra~ /* Epilogues : Script */ <<<<<ar6200_epilog_ext.baf /* Epilogue: PC Refused Godhood, Low Rep, regardless of friendship or romance status */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") !Global("PlayerChoseEssence","GLOBAL",1) ReputationLT(Player1,10) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE0") SmallWait(1) Continue() END /* PC Refused Godhood, Friendship */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") ReputationGT(Player1,9) !Global("PlayerChoseEssence","GLOBAL",1) !Global("c-aranrom","GLOBAL",2) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE2") SmallWait(1) Continue() END /* PC Refused Godhood, Romance */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") ReputationGT(Player1,9) !Global("PlayerChoseEssence","GLOBAL",1) Global("c-aranrom","GLOBAL",2) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE3") SmallWait(1) Continue() END /* PC Became God, Friendship */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") ReputationGT(Player1,9) Global("PlayerChoseEssence","GLOBAL",1) !Global("c-aranrom","GLOBAL",2) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE2") SmallWait(1) Continue() END /* PC Accepted Godhood, Romance, Good or Neutral */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") Global("PlayerChoseEssence","GLOBAL",1) !GlobalGT("PPEvilChoices","GLOBAL",2) Global("c-aranrom","GLOBAL",2) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE4") SmallWait(1) Continue() END /* PC Accepted Godhood, Romance, Evil */ IF Global("StartEndBios","AR6200",1) InPartyAllowDead("c-aran") Global("PlayerChoseEssence","GLOBAL",1) GlobalGT("PPEvilChoices","GLOBAL",2) Global("c-aranrom","GLOBAL",2) Global("c-aranbio","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranbio","GLOBAL",1) TextScreen("C-ARANE5") SmallWait(1) Continue() END >>>>> EXTEND_TOP ~AR6200.bcs~ ~aranw/baf/ar6200_epilog_ext.baf~ /* Epilogue 1: Low Rep, regardless of friendship or romance status */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE0.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~The years of following in <CHARNAME>'s shadow took their toll on Aran, though not a single instance of him complaining is recorded. After a time, he withdrew from <PRO_HISHER> side, claiming injury, and set out for the wild coast of Maztican. Rejoining the Flaming Fist there gave him one last brush with glory - his name still graces the List of Brotherhood in the Flaming Fist training facilities there. Discovering new love with a Cleric of Sune Firehair, his sons and daughters grew up listening to bard's tales of the adventures of <CHARNAME> and <PRO_HISHER> followers, but their persistence in trying to get Aran to speak of those days went unanswered. Of <CHARNAME> <PRO_HIMHER>self, Aran refused to speak.~ /* PC Refused Godhood, Friendship */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE1.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~There are few places in history for followers and companions, and Aran was no exception. He traveled the breadth and depth of Toril in service to <CHARNAME>, often dispatched to assist other companions and causes dear to <CHARNAME>'s heart. Discovering new love with a Cleric of Sune Firehair, his sons and daughters grew up listening to bard's tales of the adventures of <CHARNAME> and <PRO_HISHER> followers. As Aran tells it, the greatest moment in Aran's life came when his eldest daughter took up the way of the sword and pledged herself to <CHARNAME>'s protection. The second best moment was when his new wife finally managed to teach him to speak with correct pronunciation (though she never did erase his swearing completely).~ /* PC Became God, Friendship */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE2.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~There are few places in history for followers and companions, and Aran was no exception. He traveled the breadth and depth of Toril in service to <CHARNAME>, often dispatched to assist other companions and causes dear to <CHARNAME>'s heart. Discovering new love with a Cleric of Sune Firehair, his sons and daughters grew up listening to bard's tales of the adventures of <CHARNAME> and <PRO_HISHER> followers. Though he never claimed worship of <CHARNAME>, his children relate that the new oaths and blasphemies used when they did something particularly right or particularly wrong seemed to indicate he was profoundly aware of <CHARNAME>'s godhood.~ /* PC Refused Godhood, Romance */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE3.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~Aran's depth of devotion to <CHARNAME> continued to grow, serving for the following years without question or complaint. Though the histories never indicate precisely the nature of their romance, there is no question of his loyalty. His final act of devotion came giving up his life in order to protect her. There are no reliable sources, but bard's tales say that his last words were "Blighted hells, <CHARNAME>... did we have to come Planewalkin' here?"~ /* PC Accepted Godhood, Romance, Good or Neutral */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE4.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~Aran's depth of devotion to <CHARNAME> continued to grow, serving as Her right hand on Faerun. His constant work furthering her causes helped develop a respectable following, and his willingness to travel anywhere in Her name led others to regard him as some sort of high priest... a notion that often was dispelled in a barrage of blasphemy and cursing. As the histories recount, his last days on this mortal plane were spent comfortably on Evermeet, attempting to arrange a joint project between the followers of <CHARNAME> and Hanali Celanil's Order of the Ruby Rose to commemorate what would have been <CHARNAME>'s eightieth mortal birth-day celebration.~ /* PC Accepted Godhood, Romance, Evil */ COPY ~aranw/media/blankepilogue.2da~ ~override/C-ARANE5.2da~ REPLACE_TEXTUALLY ~PORTRAIT~ ~C-ARANWL~ REPLACE 99999 ~Aran's depth of devotion to <CHARNAME> continued to grow, serving for the following years without question or complaint. His constant work furthering her causes eventually corrupted him completely, though later writings indicate growing fear and desolation as his mortality left him increasingly unable to serve <CHARNAME> in the manner she wished. It is a mark of their love that when a Paladin of Helm finally ended Aran's life, <CHARNAME> herself personally blasted the woman into nothingness, causing a minor skirmish in the wars of the gods.~ END /* of ToB installation */
  6. In <<this thread>> we were tracing ways of adding in install choices for players. in the meantime, the bigg has come up with some new WeiDU possibilities that allow some interesting ways of "swinging" code into separate branches based on setting/reading variables and matching against their values. Basically, the same kind of thinking that PATCH_IF statements use, but on a larger scale. Never one to do something and let it just sit, let's recast the player choices on install using this new method. He has a bunch of these new commands that might be interesting to heavy coders, but for gadabouts like me, ACTION_MATCH is the simplest to understand and shows basically what he is allowing in various forms by supporting this kind of code behavior. note: Doing this is fun for me, but in this particular case it is hitting a fly with an ICBM. I suspect other code which relies on massive internal checking and patching based on a whole series of variables could be cleaned up using this kind of construction, done better - the code below is very clunky and linear, and does not take advantage of the heaviest potential gains, where separate 'building blocks" could be swapped in based on multiple matches or "guarding conditions" or whatever the big Boyz and Girlz use for terminology. Basically, stuff like IF (A) AND (NOT B) AND © AND (D) AND (NOT E) IF (NOT A) AND (NOT B) AND © AND (D) AND (NOT E) IF (NOT A) AND (B) AND © AND (NOT D) AND (NOT E) etc. etc. can be set up with a series of individual matched blocks of code, and put into play that way rather than creating a whole series of individual 'cases'. The end Result of This As Applied To Aran CODE BEGIN ~Aran Whitehand, "No Choices Wanted" (Fighter)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 5 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Mage Dual-Class stats configuration (Tinker)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 1 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Cleric Dual-Class stats configuration (Tailor)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 2 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Fighter stats configuration (Soldier)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 3 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Thief Dual-Class stats configuration (Spy)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 4 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END For an "allow me to choose" subcomponent, or we let players just skip all the crap: ACTION_READLN and Other Macros as Building Blocks Instead of the code in the previous thread, first we pull everything we can out into discreet blocks and turn them into "get information from the user" macros and "work on the .cre" macros. That allows us to individualize the class choice ones, change the order, and most of all get everything set up, then copy the .cre once and apply all the changes in one swoop. CODE DEFINE_ACTION_MACRO aran_wealth_selection BEGIN OUTER_FOR( aran_wealth = 0; ~%aran_wealth%~ STRING_COMPARE_REGEXP ~^[123]$~; )BEGIN PRINT ~Please choose from the following choices to modify starting armor and weapons available to him: [1] Aran is down-and-out poor and has sold off most of his good equipment. [2] Aran has kept most of his good gear. [3] Aran has kept the best gear available to a successful mercenary. Please select 1, 2, or 3 and press enter.~ ACTION_READLN aran_wealth END END DEFINE_ACTION_MACRO aran_armor_choice BEGIN OUTER_FOR( aran_armor_choice = 0; ~%aran_armor_choice%~ STRING_COMPARE_REGEXP ~^[12345]$~; )BEGIN PRINT ~Please choose from the following starting armor choices for Aran: [1] Leather [2] Studded Leather [3] Chain [4] Splint [5] Plate Please select 1, 2, 3, 4, or 5 and press enter.~ ACTION_READLN aran_armor_choice END END DEFINE_ACTION_MACRO aran_mage_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[123]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran to Mage. He currently has proficiencies as follows: ** Long Sword ** Quarterstaff ** Dagger Please choose from the following starting weapon choices and press enter: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Quarterstaff [3] Long Sword, Shield, Potions of healing~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_cleric_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[1234]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran to Cleric. He currently has proficiencies as follows: * Long Sword * Hammer * Mace * Flail ** Sword and Shield Style Please choose from the following starting weapon choices: [1] Long Sword, Shield, Mace [2] Long Sword, Shield, Quarterstaff [3] Long Sword, Shield, Hammer [4] Long Sword, Shield, Flail~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_fighter_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[123456]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to leave Aran as a fighter. He currently has proficiencies as follows: ** Long Sword ** Bastard Sword * Long Bow * Sword and Shield Please choose from the following starting weapon choices: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Long Bow [3] Long Sword, Shield, Potions of healing [4] Bastard Sword, Shield, Dagger [5] Bastard Sword, Shield, Long Bow [6] Long Sword, Shield, Hammer~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_thief_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[12345]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran as a Thief. He currently has proficiencies as follows: ** Long Sword ** Short Sword * Dagger * Crossbow Please choose from the following starting weapon choices: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Crossbow [3] Long Sword, Shield, Potions of healing [4] Short Sword, Shield, Dagger [5] Short Sword, Shield, Crossbow~ ACTION_READLN ~weapon_choices~ END END Now, we have user choices defined, and we can apply them in a new macro, customized_cre_choice. Here, we are looking to "swing" the code into different branches based on the class, chosen, because we are working with two unique building blocks. While wealth and armor are the same for each, we need to bring a different base .cre into play, and the proficiency set (and weapons choices) vary by the base .cre chosen. So we need to a. look at what the player chose, b. swing a block of code temporarily down an alternate track based on that c. remind the player what they chose (and list it in the .DEBUG for troubleshooting) d. then bring everything back to order. So, CODE ACTION_MATCH ~var~ WITH 1 BEGIN <<do case 1 >> END 2 BEGIN <<or else do case 2 >> END DEFAULT <<or if neither 11 nor 2, then do case 3/default actions >> END In Aran's implementation (tested and works; horribly clumsy though), instead of talking I commented stuff: CODE /* Installing one of the 5 forced subcomponents does OUTER_SET class_choice = 1 or 2 or 3 or 4 or 5 (5 = no player choices wanted). */ DEFINE_ACTION_MACRO customized_cre_choice BEGIN // define the instruction set to be called in other places ACTION_MATCH ~%class_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 // the first check. If %class_choice% = 1, the next stuff will work, else check the next BEGIN /* mage dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_mage_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END /* we are using READLN values to set a variable - the mod range of possible combos is 1 to 15 inclusive, so we can't just read it directly */ ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, so 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 2 // Long Sword, Shield, Quarterstaff PRINT ~Long Sword, Shield, Quarterstaff~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of Healing~ PRINT ~~ END DEFAULT // this should never run, but as an emergency fallback OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow PRINT ~Long Sword, Shield, Long Bow~ PRINT ~~ END COPY ~aranw/cre/c-arnmge.cre~ ~override/c-aran7.cre~ // copy the base .cre into the game, and LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-mage swing 2 // the second check. If %class_choice% = 2, the next stuff will work, else check the next BEGIN /* cleric dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_cleric_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 4 // Long Sword, Shield, Mace PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 2 // Long Sword, Shield, Quarterstaff PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 12 // Long Sword, Shield, Hammer PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END DEFAULT // this will run on 4, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 5 // Long Sword, Shield, Flail PRINT ~Long Sword, Shield, Flail~ PRINT ~~ END COPY ~aranw/media/c-arnclr.cre~ ~override/c-aran7.cre~ // the cleric stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-cleric swing 3 // the third check. If %class_choice% = 3, the next stuff will work, else check the next BEGIN /* fighter single-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_fighter_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow PRINT ~Long Sword, Shield, Long Bow~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of healing~ PRINT ~~ END 4 BEGIN OUTER_SET ~aran_weapon_set~ = 7 // Bastard Sword, Shield, Dagger PRINT ~Bastard Sword, Shield, Dagger~ PRINT ~~ END 5 BEGIN OUTER_SET ~aran_weapon_set~ = 8 // Bastard Sword, Shield, Long Bow PRINT ~Bastard Sword, Shield, Long Bow~ PRINT ~~ END DEFAULT // this will run on 6, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 12 // Long Sword, Shield, Hammer PRINT ~Long Sword, Shield, Hammer~ PRINT ~~ END COPY ~aranw/cre/c-arnftr.cre~ ~override/c-aran7.cre~ // the fighter stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of just-a-fighter swing 4 // the second check. If %class_choice% = 4, the next stuff will work, else check the next BEGIN /* thief dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_thief_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 9 // Long Sword, Shield, Crossbow PRINT ~Long Sword, Shield, Crossbow~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of healing~ PRINT ~~ END 4 BEGIN OUTER_SET ~aran_weapon_set~ = 10 // Short Sword, Shield, Dagger PRINT ~Short Sword, Shield, Dagger~ PRINT ~~ END DEFAULT // this will run on 5, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 11 // Short Sword, Shield, Crossbow PRINT ~Short Sword, Shield, Crossbow~ PRINT ~~ END COPY ~aranw/cre/c-arnthf.cre~ ~override/c-aran7.cre~ // the thief stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-thief swing DEFAULT // the fall-through check. If %class_choice% was not 1, 2, 3, or 4, the default code will run PRINT ~No class choice was chosen... installing Aran's Default (Fighter, moderate wealth, long sword and bow)~ /* Set up the variables for a default .cre so BWP folks don't have to deal with READLN */ OUTER_SET ~aran_wealth~ = 2 // experienced mercenary with some resources OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow OUTER_SET ~aran_armor_choice~ = 4 // splint COPY ~aranw/cre/c-arnftr.cre~ ~override/c-aran7.cre~ // the fighter stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of default swing END // of define action macro This usage is interesting to me in that it shows how you can nest both macros and ACTION_MATCH WITH . It is a criminal waste of space to use this for just PRINT materials the way I have; the better usage would be to fully convert the various PATCH_IF statements and that whole pyramid of materials found in aran_cre_setup into a better/tighter logic chain, so that i could do away with SUBCOMPONENT entirely. Using this idea, the whole thing could be built into one component, and we could ask "Default, or choice?" and then if a person chose choice, they could run everything through a single run of code that asked and adjusted for responses. To do this, instead of using LAUNCH_PATCH_MACRO ~aran_cre_setup~ the currently unchanged contents of aran_cre_setup's PATCH_IF statements would be integrated into the above.
  7. WARNING. WoT™ ( Wall of Text - n., Infinity Engine modder and forum slang, meaning long expository writing in a forum post that makes the reader's eyes glaze over and may result in said player loading up Oblivion, because bad eye-candy is better than semi-literate expository grandstanding by pseudo-intellectual wannabe posers. For examples visit any form and look at anything dealing with inter-community flamewars. ) I like to think about stuff like this, but just in case the WoT™ looks like I am taking this all a little too seriously, don't worry - I have not gone any farther off of the deep end than I usually do - just thinking about stuff and playing with ideas, just this time sparked by other folk's analysis and suggestions on what works and doesn't work for them in this mod. SYNOPSIS: Mods might be like FanFics, but they have significantly more flexibility, allowing interactivity. So far, Aran has been built with a "reply net", focusing more on player voice than on his own. range = "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities" Leaning so far to "player-constructed fanfic" can break down, resulting in characterization loopholes and inconsistencies. One suggested way out of this is to build parallel storylines through use of defined player psychologies. Examples given from existing mods and schematics and potential implementation in Aran given. To cut to the chase and skip all the talk, just getting to the new content, skip forward to <<this post>>. Fanfic construction vs. Mod construction A mod as an interactive fanfic. As a global idea, this seems sound - both are playing with other people's created worlds, and injecting the author's ideas and point of view into that already created world. I think that most mods follow varying degrees of this, from the point of view of the NPC and his or her story. On the other hand, mods allow something a fanfic cannot. Instead of the constrained story, I think a game 'story' can be built out of the freedoms given to a player. The question is, can I do it without losing focus and a sense of the NPC's personality? Can a mod allow the player to construct the story (whether intentionally or unintentionally) through direct interaction and choice, with minimal pre-scribing of player intent? Basically, if we give the player enough of a "net" of interactive possibilities that remain true to an NPC's personality, can the player construct the level of hijack/secondary plot-line they want? The range I am thinking about is "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities". Aran started out as a fun little experiment as a 'Companion' mod, with a single immutable plot-point - PC and Aran will be together for the entire game, if PC wants, regardless of choices (OK, except when PC has a reputation of 1, or sends him away specifically saying "never return", and/or kills him outright). This means the challenge is to allow players enough options to be able to explore why a character so obviously fascinated with PC will do this, regardless of player actions. Can he keep his personality, and tell a great side-story, and enrich the main storyline, while pretty much existing as window dressing and exploration of background material? He is a sidekick, not a hero, so his "story" is supposed to be the interaction between him and PC and the relationship they develop.Here, the player and player's motives/personality is unknown. That, by its very nature, has an opposite focus from a traditional fanfic. So What? Big deal. Who cares - a mod is a mod, and people want to play the game with some fun new content. Except... in this case, the materials I am working on have an odd point of view. When most modders write, they think in terms of the character they are writing (duh). So, an action comes up, and NPC talks about how they see the thing happening. But Aran has been written from the opposite point of view - what would PC say? What would he do? Coming up with Aran's stuff has been very easy. Coming up with what PCs reactions are and what a player would really like to be able to say has been very, very difficult. In essence, writing a construction set of possibilities and handing them to a player is an inside-out mod. Applying This To Aran: Strengths and Weaknesses As the mod has moved along, my focus has been on reply states that allow multiple types of PCs to have something interesting to have as a response. Game limitations and writing time limitations restrict what is possible; having 100 separate replies for each line is obviously a bad way to go (just imagining reading each one would be an instant "uninstall this POS and fire up Tashia and play again" for me). Early on, constraints were reputation-driven or good/evil/neutral driven, then loosened up to a blanket of no more than 6 undefined (malleable) replies that often branched out the way RL dialogs do (not always really returning to the topic). In PID's, we explored a bunch of ways of customizing to the player; in most materials, we have side branches in talks for specific kits, classes, and even ones for folks who have changed Aran into other class/kit types. Berelinde's 'Bennet Rubric' came into play in later stages, as she explored some great and intricate possibilities for dialog construction in Gavin (and we often trade ideas and work on implementations and recheck with each other, as two sets of modder eyes on the same code can sometimes catch things better than just one). But my focus, frankly, has been less about PC and Aran and more about Player Choices. And it has brought up an interesting point - how does this reconcile with storytelling, where we expect PC to have a consistent voice (because we wrote all her lines and fed them to him or her)? More importantly, are we (am I) making the Aran a player creates internally consistent enough that he doesn't sound insane? At first glance, way way back in the initial brainstorming for the mod, I passed on the idea of determining one single set of PC assumptions to respond to. I felt that CODE A [ARAN] I want to be talkin' about th' weather, now. [PC - EVIL] [PC - NEUTRAL] [PC - GOOD] [PC - EXIT] is very BioWare™. Not bad - just not where I wanted to play about. In one respect, I now understand why BioWare™ limits their dialog to this king of pathing - and why DA2 will have less possibilities even than DA:O (they have chosen 6 maximum possible, too, which makes me feel kind of good to have figured out a good boundary). This kind of dialog structure means they can use things very cleanly: CODE A [ARAN] I want to be talkin' about th' weather, now. [PC - EVIL] + B [PC - NEUTRAL] + B [PC - GOOD] + B [PC - EXIT] EXIT B [ARAN] I want to be talkin' about your response th' weather in a general way. [PC - EVIL] EXIT [PC - NETUTRAL] EXIT [PC - GOOD] EXIT This is incredibly simplified, and of course there are plenty of examples of where they went further, but the basic schematic is JCompton's "Looping Lovetalk Branch" technique. To be blunt, I figured that having a "net" or "cloud" of PC replies would be enough to cover all bases, especially as I wanted to allow players to roleplay chaotic as well as lawful characters. So, the inherent silliness that could result by purposefully choosing contracting and opposite reactions would be covered by a chaotic PC getting chaos in return - a talk where things didn't work out the way you would expect could be ignored, because it fit not choosing the expected pathway for the roleplayer. To put this more clearly, I figured without face-to-face human contact and all of the visual, auditory, etc. cues and social mannerisms, I can write CODE [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? and then I as a modder am free to re-purpose this statement based on where the player comes from and to: CODE [PC] I think you need a bath. You smell like a... well, you stink. [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] No. Get in there, and Korgan will be in with you in a minute with a stiff scrub brush. I'll heal you when you get out, if you have any skin left. [PC] I think I love you... I know Kivan is getting very fond of me, but... do you want to kiss me? [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] Of course you do. I just thought you might... you might want to kiss me. [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] No. I told you I would prefer to resolve things peaceably, but imprisoning a nymph is just wrong. Razzefelow needs to die. Stop thinking like a tactician, and start using your heart. In some respects, this works well. I can cross over between states in certain places, making content play out in many different ways, and avoid some state duplication. And having not specifically set out to create individual streams of thought (trying to make sure most if not all dialog states have responses that deal with as many possible player personalities as can be written for/imagined), many times the resulting play-through creates fun byplay more similar to RL conversation, where the results are sometimes not the way the player intended, because when PC says X, Aran can hear Y. Most of the feedback on allowing interesting and more involved player choices has been very positive; giving a player more potential options (even if they end up all leading back to the same end state) definitely works. What I didn't think all the way through is while many different ways a single statement may be taken can be a powerful weapon when crafting code, it can be a mess when it comes to storytelling - and it is a very sharp two-edged sword indeed. CODE [PC] (Kiss him gently under the chin) + [ARAN_RESPONDS] Did PC just ask him to sleep with her? Did PC just back him down from trying to make out with her by reducing the pace of the action? Did PC just nonverbally say "Hey, I like you a lot, but let's slow down" or was it "I like you a lot - you can go further" or "Hey, you like all this physical stuff, but I am ambivalent... why don't we play cards instead" or was it "Hmmm... I think if he lifts that jugular vein a little, I am going to get a good fresh meal out of this. Boy am I glad Valen made me into a vampire..." ? When I wrote it, I intended only one outcome - an escalation of physical contact by PC = "I want more action". It turns out that the flexibility given has some serous drawbacks. So now I have to figure out how to address this possible disconnect. I have plenty of options - I can ignore it completely, I can institute an "Aran Likes This" counter as several other mods do and use that to constrain possible outcomes,etc. But to explore the concept, let's take the complete opposite tack from what Aran started out with. Let's see what creating a follow-through between dialogs for player intent might look like.
  8. WARNING: some mature content might leak in - I'm having trouble screening out what is and isn't, so there may occasionally be RL swearwords or soem stuff. And I print the word "sex". That means it may or may not be cool for young kids in your household. Just a friendly reminder, just in case. The followup posts in this thread go for the "pre-joined, just summoned, but we have to catch up the NPC and Player" ToB initial dialog. I borrowed standard BioWare™ naming conventions, so C-ARN25A. But before that, as I am short on time (and my lunch time is rapidly disappearing), two preliminary constructs to play with. /* Added ToB "PID Started by another NPC" calls. In ToB, I am sticking with the Canonical BioWare™ and a standard "IsGabber/<TOKEN>" block to cover any of the others, but Sarevok might be fun to play with: */ CHAIN ~C-ARN25J~ a2676 ~[ARAN] What do you want, Sarevok?~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",0)~ THEN ~[ARAN] I'd be right happy to lend you a dagger. You could slit your gods-blighted throat, an' make us all a great deal happier.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",1)~ THEN ~[ARAN] You have no ability to make children, right? On account o' I think Faerun has blighted well had enough wi' just one o' you.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",2)~ THEN ~[ARAN] I want nothin' out o' you but breathin'. Strike that... I meant to say, I want you to quit breathin'.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",3)~ THEN ~[ARAN] Why don't you die already, an' go take over some nice corner o' th' nine hells, like a good little bastard? Wait... done forgot. You tried that, an' failed.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",4)~ THEN ~[ARAN] You got yourself a strikin' face, there. Hold still, an' I'd be right happy to strike it. Mayhap I might even stop after a bit.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",5)~ THEN ~[ARAN] Look, you stinkin' power-hungry evil bastard, I only put up wi' you on account o' <CHARNAME>'s wishes. Don't sleep too sound, or I might forget what <PRO_HESHE> done said, an' rid us all o' your unnatural presence.~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",0)~ THEN ~[sAREVOK] You would be more amusing, sellsword, if you were not so weak.~ DO ~SetGlobal("c-aransarspar","GLOBAL",1)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",1)~ THEN ~[sAREVOK] The barking of stray dogs does not bother me, sellsword.~ DO ~SetGlobal("c-aransarspar","GLOBAL",2)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",2)~ THEN ~[sAREVOK] Ah, the breaking of wind. The sellsword must be talking again.~ DO ~SetGlobal("c-aransarspar","GLOBAL",3)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",3)~ THEN ~[sAREVOK] If you wish to act in <CHARNAME>'s best interest, fall on your sword now. Take care not to place it near your head, though, as it might not do enough damage on so hard a rock as that.~ DO ~SetGlobal("c-aransarspar","GLOBAL",4)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",4)~ THEN ~[sAREVOK] Ah, the mewling of an infant who realizes he will never be a powerful force to be reckoned with.~ DO ~SetGlobal("c-aransarspar","GLOBAL",5)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",5)~ THEN ~[sAREVOK] I merely wished to see if you had become more inventive in your invective. Sadly, you have the wit of a dull dagger.~ EXIT /* OK, then came the little matter of ToB Joining dialog, and how to set things for Romance. For male PCs, this really doesn't matter. Aran can pick up and run with it. But for female PCs, the same problem Berelinde had with going between BG1 and BG2 with Gavin gets into play here. We have three "Fate Spirit" summons for female PC's, allowing declaration of "friend", "lover", and "former lover", setting the romance variable to 0, 2, or 3. But with the in-depth content in play in BG2, it makes it difficult to follow further whether they have had an on-again off-again relationship, or what they have done together. Plus... I might just back that off to two - and let players 'configure' Aran, the way Mass Effect 2 does for non-saved-game-import games. I don't know if this is better served by having someone else have the conversation, but since I can't be sure that it isn't just PC and Aran going it alone, it seems like i am stuck with either a "Dear Diary" talking object approach, where PC talks to herself (which I am not so fond of) and PC directly checking and controlling Aran through dialog. There is another consideration - testing. Basically, after each opportunity to flirt or lovetalk or whatever, I want an easy way of determining the status of the relationship without always having to type in the CLUAConsole (because I sink at typing). And a very common player post is about how to set or change the romance variables, or check on them. So, an opportunity that is more in-depth than the standard PID "breakup, flirt, no flirt" options... something that during joining, rejoining, and regular play the player can use to check on (and perhaps change) the status. If playtesters dislike it, we can always drop it - it does mean that a player can "change history" on the fly the way it is currently coded. That might be useful for testing, but might not be so cool in play. Copies go in pre-joined ToB, Joined ToB, Post-Joined ToB, Post-Joined SoA, and Joined SoA. Initiating links could loop in anywhere, but this probably is best set up as a PID option "status check". Still to integrate: c-aranfirstsex = 1 : self-identified no experience (no need to look for whether or not RE content, etc. is in play - leaves the option for play as a manipulative PC "Oh, I have never done this before" is something that could be said many many ways) idea presented by Autumn Bard - mirrors some of the close tracking of progress in Berelinde's Gavin and Jastey's Ajantis. c-aransex = 0 : no intimacy c-aransex = 1 : kissing c-aransex = 2 : touching + kissing c-aransex = 3 : heavy innuendo touching ("petting") c-aransex = 4 : full physical intimacy So, a dialog for checking ++ ~[PC] Before we go any further, Aran... what do you think our "relationship" is?~ + tob_a2699 */ /* Aran... what do you think our "relationship" is? Resetting for players for ToB, but might double as a recheck via PID on both SoA and ToB. Useful for testing, anyways. */ CHAIN C-ARN25A a2694 ~[ARAN] Well now, let me think a bit... our relationship. Put a lad on th' spot, eh?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-aranfight","GLOBAL",0)~ THEN ~[ARAN] Currently, we be fightin' mad at eachother, or so it seems.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-silencearan","GLOBAL",0)~ THEN ~[ARAN] You done told me to quit makin' all sorts o' random comments.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-aanoconflict","GLOBAL",0)~ THEN ~[ARAN] You done told me I should be leavin' Anomen alone an' not fightin' wi' him.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? I think even be friends. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? You done told me no sellsword has th' right to be called "freind". Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",1)~ THEN ~[ARAN] You haven't told me to not try a bit o' sparkin' from time to time. Then again, You done got a huge amount to think about lately. I think we be friends, more's th' pity. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",0)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into a kiss or two someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",1)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into more than a kiss or two someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",2)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into somethin' more than kissin' an' touchin' someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",3)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. I can rightly say I live for th' times when we get physical wi' eachother. Mayhap someday we will take that final step. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",4)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. An' I won't never forget spendin' time wi' you all tangled up, explorin' everythin'... why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",3)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? I think we even be friends. We could have a bit more, but I guess things didn't work out th' way you wanted. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,MALE) !HasItemEquiped("belt05",Player1) Global("c-apcdeclaresellsword","GLOBAL",0)~ THEN ~[ARAN] You haven't told me to bugger off permanent, though you do seem a trifle short wi' me from time to time. Then again, You done got a huge amount to think about lately. I think we be friends. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,MALE) !HasItemEquiped("belt05",Player1) Global("c-apcdeclaresellsword","GLOBAL",1)~ THEN ~[ARAN] You told me to not try to confuse things by bein' friends, so we be supposed to keep to th' professional side. You command, I follow. Then you pay me. Why do you be askin'?~ == C-ARN25A IF ~HasItemEquiped("belt05",Player1)~ THEN ~[ARAN] Hey... you know, I be havin' one hells o' a blighted time figurin' out just what I think o' our relationship. I mean, that belt... it confuses me right proper, it do.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] I was just wondering.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] Oh, I just thought you might realize that I depend on you as one of my closest friends. I may not treat you exactly the way you would like, but I count on you..~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] No sellsword ever has the right to call me "friend".~ DO ~SetGlobal("c-apcdeclaresellsword","GLOBAL",1)~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1) !HasItemEquiped("belt05",Player1)~ + ~[PC] It is good to know that you know your place.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1) !HasItemEquiped("belt05",Player1)~ + ~[PC] In your case, I will make an exception. I think we are friends.~ DO ~SetGlobal("c-apcdeclaresellsword","GLOBAL",0)~ EXIT + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think we have headed down the wrong path, Aran. Let's just be friends.~ DO ~SetGlobal("c-aranrom","GLOBAL",3)~ + a2661 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think I am... very interested in you. Romantically speaking.~ DO ~SetGlobal("c-aranrom","GLOBAL",2)~ + a2698 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think we could be together, if you were discreet. I have other lovers who are much less forgiving than you. Play by my rules, and we might just see what happens...~ DO ~SetGlobal("c-aransummoned","GLOBAL",2)~ + a2652 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think I am... interested in you. But I don't like things to move so fast. Perhaps we should be friends, and explore becoming more?~ DO ~SetGlobal("c-aranrom","GLOBAL",1)~ + a2697 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I can't believe you have forgotten all of the passion. You are so physical, but you can't remember with whom?~ EXTERN C-ARN25A a2695 + ~HasItemEquiped("belt05",Player1)~ + ~[PC] Just checking.~ EXIT APPEND C-ARN25A IF ~~ a2695 SAY ~[ARAN] Mayhap I have been knoocked on th' head, but I am sure I would remember anythin' to do with you, <CHARNAME>. I... why, what do you know that I don't?~ ++ ~[PC] You remember it corrrectly, Aran. I was just teasing you.~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except.. well, I thought we had a few stray glances, and the way your eyes look at me, I think you want more than just a little friendship. Nothing has really happened.~ DO ~SetGlobal("c-aransex","GLOBAL",0)~ + a2697 ++ ~[PC] Shall I jog your memory, and describe some of the things we have done together?~ + a2696 ++ ~[PC] No. I think you have it just the way I want it. Thank the gods for memory lapses.~ + a2697 END IF ~~ a2696 SAY ~[ARAN] I would love that.~ ++ ~[PC] You remember it corrrectly, Aran. I was just teasing you.~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except the stray glances, whispers, and the way you look at me. It is like you are hungry, but not for food.~ DO ~SetGlobal("c-aransex","GLOBAL",0)~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except the bold glances, whispered converstaions, and some very deep kisses.~ DO ~SetGlobal("c-aransex","GLOBAL",1)~ + a2698 ++ ~[PC] You remember it corrrectly, Aran. All except the stolen whispered converstaions, the feel of your fingers tracing runes my body, the feel of the bare skin of your chest under my palms... and kisses that set us both on fire.~ DO ~SetGlobal("c-aransex","GLOBAL",2)~ + a2698 ++ ~[PC] Aran... we have spent so much time together, the only thing we haven't done is... ~ DO ~SetGlobal("c-aransex","GLOBAL",3)~ + a2698 ++ ~[PC] Aran... I know the touch of you, the feel of all you, and that little strained look you get just before you... ~ DO ~SetGlobal("c-aransex","GLOBAL",4)~ + a2698 ++ ~[PC] No. I think you have it just the way I want it. Thank the gods for memory lapses.~ + a2697 END IF ~~ a2697 SAY ~[ARAN] Well, you had me off balance, there. I be right happy we both agree. I was worried, mayhap because any time a woman asks about 'relationship status', there be a powerful lot o' pitfalls an' traps a lad can fall into, eh?~ IF ~~ THEN EXIT END IF ~~ a2698 SAY ~[ARAN] I can stop you right there, with a kiss. I can't rightly forget anythin' about us, but it sure does feel good to hear you speakin' o' us like this. I was just a mite off balance, is all. Mayhap because any time a woman asks about 'relationship status', there be a powerful lot o' pitfalls an' traps a lad can fall into, eh?~ IF ~~ THEN EXIT END END // of APPEND
  9. We have found out in other threads that some "awareness" of things presented in mod-added content can be scripted directly into your mod without any troubles. For example, Aran can reference any existing DV, so !Inparty("mynpc") checks will not fail on install, and the strings referenced will be available if the mod-added NPC shows up in-game later on, regardless of install order. This works with globals, too, so in other threads progress to certain points in other mods allows "side talk" - not directly bantering with an NPC or using an item, but acknowledging their presence, either by use of <PLAYER3> tokens in dialog, or with direct checks for globals and DVs. Any way we cut this, we are still talking about having Aran (or your NPC) having some of his talks and paths refer to outside events created by other mods, and being able to install that content as part of Aran's mod. The presence of the global variable or DV being active in a game then "activates" that content passively - no need for messing about with other folk's files, etc. We have taken this a step further with looking at player responses by mod-added kit, in the thread regarding "what happens when..."; here, we found that when Divine Remix was not installed and we wanted to reference the kits added, we had a problem. Compiling a reference to a non-pre-existing kit left the engine with only one choice, "0". Which caused all sorts of problems if DR was not installed, and even worse had no "repair" effect on installed files - unlike GTIMES.IDS or other "engine lookup by handle" things, KIT.IDS references have to be built *after* the kits have been placed on an install, because of the way the files are created and referenced. We get around that by creating an independent "patch", ARAN_AWARE, which so far just swaps "dummy" variables that will compile at install but never be triggered (a very old idea in terms of shutting down content, the equivalent of adding False() to a trigger so a dialog will never play, except reversing a False() is a PITA, whereas setting a never-reached variable to 1 is a much more compatibility - friendly way of coding it - a SetGlobal, and the original block plays.) with the wanted content using good old fashioned REPLACE_TEXTUALLY operation: /* HEARTWARDER OF SUNE - Sune Firehair, Lady Firehair : Global("c-heartwarder","GLOBAL",1) */ ACTION_IF FILE_EXISTS_IN_GAME nmsune.2da BEGIN ACTION_FOR_EACH ~dialog_file~ IN ~c-aranj.dlg~ ~c-aranp.dlg~ ~c-arn25j.dlg~ ~c-arn25a.dlg~ BEGIN ACTION_IF FILE_EXISTS_IN_GAME ~%dialog_file%~ THEN BEGIN COPY_EXISTING ~%dialog_file%~ ~override~ DECOMPILE_DLG_TO_D REPLACE_TEXTUALLY ~Global("c-heartwarder","GLOBAL",1)~ ~Kit(Player1,NMSUNE) OR(6) Class(Player1,CLERIC) Class(Player1,FIGHTER_CLERIC) Class(Player1,CLERIC_MAGE) Class(Player1,CLERIC_THIEF) Class(Player1,FIGHTER_MAGE_CLERIC) Class(Player1,CLERIC_RANGER)~ REPLACE_TEXTUALLY ~Global("c-aranheartwarder","GLOBAL",1)~ ~Kit("c-aran",NMSUNE) OR(6) Class("c-aran",CLERIC) Class("c-aran",FIGHTER_CLERIC) Class("c-aran",CLERIC_MAGE) Class("c-aran",CLERIC_THIEF) Class("c-aran",FIGHTER_MAGE_CLERIC) Class("c-aran",CLERIC_RANGER)~ COMPILE_D_TO_DLG BUT_ONLY_IF_IT_CHANGES END END END So far so good. We know that using this after Divine Remix is installed means that the correct reference gets swapped into Aran's files. If a player installs the "patch" mod, the new content is activated. If they don't their game still works, and there is no problem. So, what else would need this kind of handling?
  10. One fun thing about RP that BG2 blows completely out of the water is equipment choice, level, and relative wealth. Well, OK, so there are many areas where it differs from a P&P AD&D game, but there are lots of mods out there to fix some of this... but for Aran, let's give the players some choice. From a RP perspective, it is silly for a L7 fighter to not have a decent magical weapon, good armor, and perhaps even some supplies. I have never been a mercenary, but I would assume that they are like musicians in one respect - a horn player will eat nothing but crackers for days/weeks/months/years before giving up his horn. After all, how are you going to work your way out of debt if you have a garbage old beat-up single Conn, and everyone else is showing up with pro equipment, well maintained and well rehearsed in its strengths and weaknesses in relation to your playing style? And that is not a matter of life and death, like a good shield or sword might be. So we can mess about with helping Aran have gear. We can even let players decide: Is Aran down-and-out poor, having sold off his best gear? Is Aran treasure-poor but equipped with decent L7 equipment? Is Aran equipped with the best equipment possible, because I am going to dual-class him and take his gear so I can be L33T and overpowered, at least up until I run into the first SCSII-enhanced gibberling? Heck, we can take that one step farther. We can set up those four choices of stats with appropriate proficiencies, and give players choice over what gear he has. That could be modified by what RP option was chosen about his relative equipment wealth; if he is poor and down-and-out, he might have a regular mundane long sword, but if he is average that will be a +1 long sword, and if he has been successful he may be starving but he won't stop gripping the pommel of that +2 long sword until he is forced to. OK, lots of fun - lots of choice; that brings up two additional considerations. Q. Why not give the player full choice of everything? A. I've watched Nythrun, and I'm no Nythrun. Between eric, miloch, and Nythrun, Level1NPCs will eventually allow people to completely respec Aran any way they want. I'm counting on that - why else would I be adding dialog options that check to see if Aran is CLERIC_ALL, or MAGE_ALL, or KIT:HEARTWARDER_OF_SUNE and such? Plus, there is a defining of character that can take place. If Aran is setting up to Dual to Cleric, my take is that he would be messing around with many different cleric-able weapons, but not specializing in any of them. After all, his primary start is sword and board, and he is not driven to excel in one specific focused area. Aran as a Kensai? Have you heard him talk? The level of precision and self-control necessary for Bushido does not seem likely to be something Aran would be able to handle. So from a RP standpoint, keeping within character, I can set up some baselines that fit his personality, confident that eventually folks will get to L1NPC him into that magical Kensai->Mage dual class for their power-gaming run. Q. What about the confusing raft of choices? I just want to play - worse, I have a BWP install, and I don't understand all the custom install templates. Why can't I just install him and be done with it? A. Good point. BWP has solved user input at install through scripting, but it can be a huge job to understand what is going on. So, a 'default' configuration needs to be available, so the user does not have to make tons of choices if they don't want to. OK, so on to implementing this mess of choices. MARCO-ME (ok, ok, pun intended. Macrame. Feeble humor, but that's what I got.) Before we get started on implementing this, though, let's mess around with a fancy thing called DEFINE_PATCH_MACRO. Say I have 4 or 5 .cres (or even more) that have the same stuff done to them, with very minor variations. The regular way is to declare everything out front - 5, or 6 variations on CODE /* Area C-AW01 Entry Point - Bouncer on Promenade */ COPY_EXISTING ~kpgrd01.cre~ ~override/c-aw01ep.cre~ SAY NAME1 ~Manson~ SAY NAME2 ~Manson~ REMOVE_CRE_ITEM ~rndtre02~ WRITE_LONG INITIAL_MEETING (BNOT 0x0) WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0) WRITE_LONG MORALE (BNOT 0x0) WRITE_LONG HAPPY (BNOT 0x0) WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0) WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0) WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0) WRITE_LONG LEADER (BNOT 0x0) WRITE_LONG TIRED (BNOT 0x0) WRITE_LONG BORED (BNOT 0x0) WRITE_LONG BATTLE_CRY1 (BNOT 0x0) WRITE_LONG BATTLE_CRY2 (BNOT 0x0) WRITE_LONG BATTLE_CRY3 (BNOT 0x0) WRITE_LONG BATTLE_CRY4 (BNOT 0x0) WRITE_LONG BATTLE_CRY5 (BNOT 0x0) WRITE_LONG HURT (BNOT 0x0) WRITE_LONG AREA_FOREST (BNOT 0x0) WRITE_LONG AREA_CITY (BNOT 0x0) WRITE_LONG AREA_DUNGEON (BNOT 0x0) WRITE_LONG AREA_DAY (BNOT 0x0) WRITE_LONG AREA_NIGHT (BNOT 0x0) WRITE_LONG SELECT_COMMON1 (BNOT 0x0) WRITE_LONG SELECT_COMMON2 (BNOT 0x0) WRITE_LONG SELECT_COMMON3 (BNOT 0x0) WRITE_LONG SELECT_COMMON4 (BNOT 0x0) WRITE_LONG SELECT_COMMON5 (BNOT 0x0) WRITE_LONG SELECT_COMMON6 (BNOT 0x0) WRITE_LONG SELECT_ACTION1 (BNOT 0x0) WRITE_LONG SELECT_ACTION2 (BNOT 0x0) WRITE_LONG SELECT_ACTION3 (BNOT 0x0) WRITE_LONG SELECT_ACTION4 (BNOT 0x0) WRITE_LONG SELECT_ACTION5 (BNOT 0x0) WRITE_LONG SELECT_ACTION6 (BNOT 0x0) WRITE_LONG SELECT_ACTION7 (BNOT 0x0) WRITE_LONG SELECT_RARE1 (BNOT 0x0) WRITE_LONG SELECT_RARE2 (BNOT 0x0) WRITE_LONG CRITICAL_HIT (BNOT 0x0) WRITE_LONG CRITICAL_MISS (BNOT 0x0) WRITE_LONG TARGET_IMMUNE (BNOT 0x0) WRITE_LONG INVENTORY_FULL (BNOT 0x0) WRITE_LONG PICKED_POCKET (BNOT 0x0) WRITE_LONG HIDDEN_IN_SHADOWS (BNOT 0x0) WRITE_LONG SPELL_DISRUPTED (BNOT 0x0) WRITE_LONG SET_A_TRAP (BNOT 0x0) WRITE_LONG BIO (BNOT 0x0) WRITE_EVALUATED_ASCII 0x34 ~%DEST_RES%~ #8 /* small portrait */ WRITE_ASCII 0x248 ~None~ #8 /* override AI script */ WRITE_ASCII 0x250 ~None~ #8 /* disable class AI script */ WRITE_ASCII 0x258 ~None~ #8 /* disable race AI script */ WRITE_ASCII 0x260 ~None~ #8 /* disable general AI script */ WRITE_ASCII 0x268 ~None~ #8 /* disable default AI script */ WRITE_EVALUATED_ASCII 0x2cc ~%DEST_RES%~ #8 /* dialogue */ WRITE_EVALUATED_ASCII 0x280 ~%DEST_RES%~ #32 /* death variable */ But what if I could work this out with just one line, instead of everything? I can... CODE COPY_EXISTING ~kpgrd01.cre~ ~override/c-aw01ep.cre~ /* Area C-AW01 Entry Point - Bouncer on Promenade */ SAY NAME1 ~Manson~ SAY NAME2 ~Manson~ REMOVE_CRE_ITEM ~rndtre02~ LAUNCH_PATCH_MACRO ~support_cre_cleanup~ ... if I set up what I want to happen in a macro, like this... CODE DEFINE_PATCH_MACRO ~support_cre_cleanup~ BEGIN WRITE_LONG INITIAL_MEETING (BNOT 0x0) WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0) WRITE_LONG MORALE (BNOT 0x0) WRITE_LONG HAPPY (BNOT 0x0) WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0) WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0) WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0) WRITE_LONG LEADER (BNOT 0x0) WRITE_LONG TIRED (BNOT 0x0) WRITE_LONG BORED (BNOT 0x0) WRITE_LONG BATTLE_CRY1 (BNOT 0x0) WRITE_LONG BATTLE_CRY2 (BNOT 0x0) WRITE_LONG BATTLE_CRY3 (BNOT 0x0) WRITE_LONG BATTLE_CRY4 (BNOT 0x0) WRITE_LONG BATTLE_CRY5 (BNOT 0x0) WRITE_LONG HURT (BNOT 0x0) WRITE_LONG AREA_FOREST (BNOT 0x0) WRITE_LONG AREA_CITY (BNOT 0x0) WRITE_LONG AREA_DUNGEON (BNOT 0x0) WRITE_LONG AREA_DAY (BNOT 0x0) WRITE_LONG AREA_NIGHT (BNOT 0x0) WRITE_LONG SELECT_COMMON1 (BNOT 0x0) WRITE_LONG SELECT_COMMON2 (BNOT 0x0) WRITE_LONG SELECT_COMMON3 (BNOT 0x0) WRITE_LONG SELECT_COMMON4 (BNOT 0x0) WRITE_LONG SELECT_COMMON5 (BNOT 0x0) WRITE_LONG SELECT_COMMON6 (BNOT 0x0) WRITE_LONG SELECT_ACTION1 (BNOT 0x0) WRITE_LONG SELECT_ACTION2 (BNOT 0x0) WRITE_LONG SELECT_ACTION3 (BNOT 0x0) WRITE_LONG SELECT_ACTION4 (BNOT 0x0) WRITE_LONG SELECT_ACTION5 (BNOT 0x0) WRITE_LONG SELECT_ACTION6 (BNOT 0x0) WRITE_LONG SELECT_ACTION7 (BNOT 0x0) WRITE_LONG SELECT_RARE1 (BNOT 0x0) WRITE_LONG SELECT_RARE2 (BNOT 0x0) WRITE_LONG CRITICAL_HIT (BNOT 0x0) WRITE_LONG CRITICAL_MISS (BNOT 0x0) WRITE_LONG TARGET_IMMUNE (BNOT 0x0) WRITE_LONG INVENTORY_FULL (BNOT 0x0) WRITE_LONG PICKED_POCKET (BNOT 0x0) WRITE_LONG HIDDEN_IN_SHADOWS (BNOT 0x0) WRITE_LONG SPELL_DISRUPTED (BNOT 0x0) WRITE_LONG SET_A_TRAP (BNOT 0x0) WRITE_LONG BIO (BNOT 0x0) WRITE_EVALUATED_ASCII 0x34 ~%DEST_RES%~ #8 /* small portrait */ WRITE_ASCII 0x248 ~None~ #8 /* override AI script */ WRITE_ASCII 0x250 ~None~ #8 /* disable class AI script */ WRITE_ASCII 0x258 ~None~ #8 /* disable race AI script */ WRITE_ASCII 0x260 ~None~ #8 /* disable general AI script */ WRITE_ASCII 0x268 ~None~ #8 /* disable default AI script */ WRITE_EVALUATED_ASCII 0x2cc ~%DEST_RES%~ #8 /* dialogue */ WRITE_EVALUATED_ASCII 0x280 ~%DEST_RES%~ #32 /* death variable */ END Easy, huh? With this predefined snippet of code I can slap most of the .cre silent, set the portrait and dialog and dv and anything else I want to the name of the .cre, disabled the scripts I don't want - everything in one swoop. DEFINE_PATCH_MACRO basically says "here is a list of things I want to do within a patching operation". Putting it at the top of your mod or component means later on, instead of writing it all out or copying and pasting blocks, you can refer to it buy using LAUNCH_PATCH_MACRO. Now, how can we leverage this a bit more, to make life easier? We have to come up with a way to set some of the choices above to "variables", so we can... duh... vary them. We actually already have, because we have leveraged the bigg's WeiDU variables, %DEST_RES%, which equals the name of the resource being worked on by the code at the moment (See Mike1072's post below for a clearer explanation of this). Let's play with this idea for Aran. First off, we want 4 basic choices, as we have said before - Tinker, Tailor, Soldier, Spy (Dual-Classable stats for Ftr->Mage, Ftr->Cleric, Fighter, Ftr->Thief). We would also like to be able to choose some basic equipment and armor, and perhaps roleplay the level of gear he has. We also need a "yeah, whatever - stop messing about and just install the damned NPC and let's get on with it" option. But we can make it much more far-reaching than that. We can let the user choose some of the input.
  11. OK, I have set up 12 friendtalks that are light in mood and discussion, working within FR, and set up as the fun sort of trail talk. I have 5 Underdark talks that focus on the feelings engendered by being underground. But for both SoA and Tob content, I am puzzling over how to do something fresh, new, and fun with a few more talks, this time more directed and personal. Except - I don't want to cover the same old territory, done well in other mods. things like "Hey, how do you feel about me?" "What was it like in Candlekeep?", "Gorion was a cool dude, wasn't he?" What I want to have some fun with is showing more friendly intimacy like a long-term comapnion and friend would, on topics that are less discussed. I'll take any brainstorms possible, and will post with my own tomorrow. But here is your chance to suggest something you always wished an NPC wuld bring up with your PC.
  12. As of 10/30/2010 Idea followups Ideas from PM from folks reading the forums, plus stuff I need to remember to recheck on throughout the mod to make sure that they are not single instances of "concept demo code', but actually integrated as part of the content in a way that makes sense and furthers the characterization. This could also be the "hey, make sure to check this list against current content and be organized about settling in and finishing the writing, so that the mod doesn not take another 5 years to actually get into player hands". FRIENDSHIP: Revisit interjection points in both SoA and ToB. Almost all are covered - double-check to see what is purposefully skipped, and log it. FRIENDSHIP: Current SoA 10 talks are fun, but probably need extension of at least 2 more to cover SoA. Canonical Bioware have far less - modern mods have as many as double that amount. No need to pad - but look for a topic/friendship discussion that makes sense to be having that might be fun to play around with. The current timing at 1 hour has 11 hours of playing before the friendtalk sequence is finished, and from then on, it is interjections, PID, quest/area related, and chapter-driven talks. Look for ways of having Aramn realistically engage in a discussion that avoids all the materials other mods have covered well, and in deatail - avoid the following: how did you get here? What are your feelings about being (potentially) a god? What was candlekeep like when you were a kid? why are you doing this? is Aerie sleeping with you now, or just leading you on? So, that Noober guy... does he have a sister, becuse she might be just my cup of tea... Gorion - daddy figure or kind uncle? Hey, those Shadow Thief outfits for the ladies... wow. Cool tattoos, and lots of skin. I wonder how they stay warm in winter... ...looking for fun, interesting, "friends chatting" stuff. May have to relook at StarGate:SG1, Buffy, SportsNight, Firefly, et. al, for inspiration. Need to avoid angsty pathos, as there will be some of hat at the end of the romance. And if I am playing with an NPC dude who is supposed to be watching my back as a friend, and he goes all gushy emo goth dark unhappy, well... I have no complaints about it. But when it comes time for combat, I'm like "hey, get a frackin' life. We have enough troubles - let's show this biatch how we do things downtown, and then we can go get you laid and improve your mood." FRIENDSHIP: Check timers and look for ways of making a bigger opportunity to save after a boattle if a talk has become active. This mod relies ofn replayability, but some folks play and experiment from saves. It won't help them if they can't save before a dialog, so they can try the different options. ALL AREAS; CODING SUGGESTION: Look for ways of accomplishing independent replies that are more writer-efficient. Sample schematics for inspiration: 1 interested 2 not interested 3 vamping, or teasing 4 aggressive 5 cruel/shutdown (may need one additional, of STFU) 1 interested/aggressive 2 teasing/seductive with or without any intention of following through 3 tender/shy 4 not interested 5 cruel Berelinde's "Benett Rubric" PC reply 1 (Lydia/Kitty): narcissistic, attempt to turn the conversation toward the PC PC reply 2 (Jane): all compassion PC reply 3 (Elisabeth): practical, full of advice PC reply 4 (Mary): inappropriate, sometimes wildly so PC reply 5: exit the dialogue FREINDSHIP AND ROMANCE: Recheck of action dialog sequences. Multiple sources, but Jastey put it best - ..(watch out for)...the amount of "tell PC what she is doing / feeling", as it is at the side of too much for my taste. ...not too fond of description texts that descripbe the whole action to the end without the PC having the chance to interact again. Check for places where I am not describing the setting/surroundings/physicality, but am trying to script a player's response to that description (unfortunately most of these are in adult land). Ideas from Berelinde to curb this on rewrites: limit Aran's lines to Aran's words or actions. If it has [ARAN] in front of it, you can only say what Aran is saying or doing. ...second way is to include a sense of delay... Preference is for the first, but in some instances I am going to have to follow the principle of "pc response is actually Aran acting, but player chooses his response. I need to go back and reread what went into Renal Bloodscalp and Sheri in RE to regain thsi - getting too much like a short story, and this is an interactive computer game. FRIENDSHIP AND ROMANCE: recheck for purple prose that turmns out to be more of a dirty yellow or green. KathStoneDog has the best examples to watch for similar "logic disjuncts" - IF ~~ a1111 I do not think I can do this. In fact, I know I can't. I should leave.~ + unfulfilledexitstate Again, it's her room! IF ~~ a1113 (Roll quickly on top of him, your hips questing to bring you both as close together as the cloth barrier allows.) OK! I'll admit ignorance. How do hips quest? Before this hits playtesting, center in on states and make sure that things like "eyes grab", "legs swallow", "nose searches". It is going to be hard enough for translators to deal with colloquialism (both FR and english) - no need to make them fight through purply oxymoronic descriptors that confuse and mix metaphor, too! FRIENDSHIP: Check for consitent application of the opportunities templated in dealing with events. Samples to follow up on - story pool IF ~~ a1671 SAY ~[ARAN] I can do that. Just remember, my bardic days be relatively new, so I don't have them all embellished an' prettified, wi' proper pronunciation an' projection. Sorry about that spittle, there. Somethin' about 'p' words, eh?~ = ~[ARAN] Let me see...~ IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO a1433 IF ~Global("c-arancalimport","LOCALS",0)~ GOTO a1432 IF ~Global("c-arangerris","LOCALS",0)~ GOTO a1674 IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO a1675 IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO a1676 IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO a1678 IF ~Global("c-arankravitchstory","LOCALS",0)~ GOTO a1677 IF ~Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",3)~ GOTO a1685 END + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] A joker, eh? Two can play that game. I have always wanted <PLAYER2> instead, but you will have to do...~ + a1844 + ~Gender(Player3,MALE) !Name("c-aran",Player2)~ + ~[PC] A joker, eh? Two can play that game. I have always wanted <PLAYER3> instead, but you will have to do...~ + a1844 + ~Gender(Player4,MALE) !Name("c-aran",Player2)~ + ~[PC] A joker, eh? Two can play that game. I have always wanted <PLAYER4> instead, but you will have to do...~ + a1844 + ~Gender(Player5,MALE) !Name("c-aran",Player2)~ + ~[PC] A joker, eh? Two can play that game. I have always wanted <PLAYER5> instead, but you will have to do...~ + a1844 + ~Gender(Player6,MALE) !Name("c-aran",Player2)~ + ~[PC] A joker, eh? Two can play that game. I have always wanted <PLAYER6> instead, but you will have to do...~ + a1844 Global("c-arangift","GLOBAL",1) -> 5 followup /* LEAT21 // Human Flesh +5 evil armor equipped complaints */ IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",0)~ THEN GOTO a1799 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",1) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN GOTO a1798 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",2) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN GOTO a1797 Global("c-pcstalker","LOCALS",0) -> 5 SetGlobal("c-aranREinn","GLOBAL",1), moon, stars, etc. /* big not-followed-through thing: */ ++ ~[PC] I am not beautiful.~ DO ~IncrementGlobal("c-aranpc_nsc","LOCALS",1)~ + a289 OTHER MODS: Several sources, several suggestions made about holding off on adding more of the 'awareness of other mods" and materials, from a time and energy standoint - the suggestion I need to hold myself to is creation of as many of the vanilla NPC materials as i can manage with a single pass, with the understanding that I will be able to go back and add more to those CHAINs and such later. Sidecheck - RE responses. Most written and integrated; make sure all are appropriate to both non-romance and romance folks, and perhaps add one or two that are romance-specific (if teh romance or the pghysical side of hthings has progressed far enough). c.f. commentary built into "Stone heads and Stone Hearts" materials for folks who get the Fighter Stronghold, and side commentary to Chanelles materials if RE variables for her are set. ROMANCE: ...an attempt to play a character who was raised in a cloister and kept from the world who is now out-and-about within it, with all the terrors and overwhelming busyness, who has had no romance whatsoever in the vanilla BG to then have it suddenly, err, thrust upon her and to not have that acknowledged, seems a bit rough of a transition. Revisit and recheck "innocent" options. Some given, but not consistently - need to make sure Berelinde's Bennet Rubric gets a workout. I have found a bunch of states which *look* like they give tons of options, but they favor bold brassy and not shy introverted. Some people play Emma, some people play Buffy, some people play Guenevire, and some people play the ingenue (the lyric soprano part; cosette, etc.). I may be leaving out options to play the latter. ROMANCE: That thought leads me into my next suggestion of making it clear to the player where Aran's and the PC's relationship stands... ...I don't know if you are planning on Aran and the PC having one of the many "the talk" talks, but as a player it might be a useful dialogue to have. And considering the relationship may be more 'open' for the first while, another "the talk" about "we seem to be getting more serious" may be necessary for the player to know for certain what is going on. Recheck the progress of "check-in" talks, and make sure that I have not relied solely on PID and romance conflict talks to bring this up. Some of this is covered in regular talks and recations, but mame sure that while players can be as waffly and chaotic as they want, if they want to committ they can actually have that discussion, and set up the issue. Right now, the way I read it, the player who wants an on-again off-again romance can have it, but someone who wants him to settle down only has physical options. There is a lack of "the big C talk". That is a mistake that needs to be corrected. I suspect it was left on the cutting room floor early on, and no replacement was craeted - this is a serious loophole. FRIENDSHIP AND ROMANCE: recheck timing and stretching psychological imntimacy to cover most of the game - choice of crisis to be in SoA or ToB needs finalization and writing. Crosschek with other materials for coverage of BWP long, slow, completionist play vs. Speedrun play. Crosscheck for glaring inconsitencies between Friendtalk progression and lovetalk progression. FRIENDSHIP AND ROMANCE: timing and allowing more "silly/gentle/supportive" options. The checkpoint here is that players have plenty of options to tease, chide, or be mean to Aran. Need to check to amke sure that I don't consitently "gentle teasing" as a "good' option, therefore not allowing players who want to be supportive/loving to have options. ROMANCE: little people vs big people, and differing racial options for roleplaying, in a non-specific way. [ADULT REFERENT] ROMANCE: Adult Materials - roleplay options that allow/account for choice of chastity - roleplay options that reflect in other dialogs rather than ignoring them - concept of "action progression" that reflects in other materials, so that there is not a fierce disconnect. Idea to play with: c-aranfirstsex = 1 : self-identified no experience (no need to look for whether or not RE content, etc. is in play - leaves the option for play as a manipulative PC "Oh, I have never done this before" is something that could be said many many ways, including being the truth) c-aransex = 0 : no intimacy c-aransex = 1 : kissing c-aransex = 2 : touching c-aransex = 3 : heavy innuendo touching ("petting") c-aransex = 4 : full physical intimacy ToDo list for standard materials: revisit/rewrite ToB Banters. Write ToB friendtalks and lovetalks. determine crisis point for "big C" and place those final lovetalks (4 I think) in either SoA or ToB content. Tackle and finish/simplify adult materials in romance, and clone similar states into ToB. Finish Teldra's first and second quest materials and retest vs. current mini-quests. Look at how gender checks and wild surges interact, and determine feasibility of adding comedic/pathos with friend or romantic partner suddenly switching teams. investigate idea of the "single playthrough encounter", where a different encounter might be available based on .bcs evaluation of party composition, class, etc. So a bard PC might get something related to FR lore about bards, a cleric might get an 'opposte alignment' encounter... remembering the biggs comments on this, because creating one-off encounters like this may be prohibitively costly in terms of development and testing time versus the amout of time players get to see the content. Search all files for "capped off" states, where an idea that was more efficiently tied in to other content being developed in other files got forgotten/sidelined. Example: c-fidpcbath; c-arantalkstomuch, etc. Repair these states (hopefully) with links to existing content, or (if no option) into relevant templated states, so that players get more of the content on a single playthrough (and it doesn't take another year of tinkering closing off states like ~[PC] Hey! You never said you had visited Windspeare Hills before!~ + c-where_the_hell_was_i_going_with_this_idea). Build valid "tinker, tailor, spy" variants of the .cre file, and decide if the distribution will be one blank .cre copied and patched to match install cjoice, or four .cres valid for the chosen stat distribution. Decision already made on the "build your own at install" option - I am leaving full rebuilds to Level1 NPCs. 4 base stats configurations are fine - and the player already gets the choice left up to them as to when to dual-class. He will start with 7 levels of fighter, and then folks can dual-class him into whatever they like. The references to Class('c-aran",PALADIN_ALL) should cover the Level1 NPC-ing him into strange and wonderful new lifestyles... check with SHS big-world folks on the area insertion (currently replacing an info-trigger with an area travel trigger on the Promenade) for any possible conflicts. Journal entries. Journal entries. Damn it, Journal entries. Recheck and add. So far, there are very few. Recheck Petals&Thorns suggestions on romance to see how current materials measure up to their suggestions. Ad as necessary. Recheck 'bromance' materials for dudes who want a good friend, paying attention to potential opportunities like the Swordfight routine. Same encounter, but the boyz shoot hoops, while the girlz can move from shooting hoops to flirting a bit (or more). Integrate and recheck MoveToArea(), LeaveAreaLua(), and Wait at An Inn materials; finalize whether or not there will be any place besides Aran's custom inn where he can spawn.... or if I have to actually follow up on the thread about where to put him and allow him to spawn in a few different areas, as player choice.
  13. OK, not a lot of activity on the boards, because what free time I do have is being invested in writing/rewriting. Plus, the nature of lots of small files built over five minutes here, ten minutes there... let's just say that the first alpha was notable only in the fact that it installed. In fact, it installed only due to triage, where sections that will eventually be linked were capped off with a temporary state easy to find and replace: IF ~~ PLACEHOLDER SAY ~[CMORGAN] PLACEHOLDER~ IF ~~ THEN EXIT END I should have written that as IF ~~ PLACEHOLDER SAY ~[CMORGAN] YO, IDIOT... FINISH THIS BEFORE 2020 AD. OR THE HEAT DEATH OF THE UNIVERSE.~ IF ~~ THEN EXIT END But, since I have only a few minutes here before work once again swarms over me, here is some work in progress dealing with both quest materials and areea dialog for the new tavern Berelinde has graciously created for me. I thought I had quest stuff up here, but can't take the time to search right now, so if i am overlapping myself, so be it. he first question I think was answered elsewhere - Q: Does Aran have a quest? A: Hells, no. What could possibly be the point of adding yet another friend to be rescued, ex-lover to exact revenge upon, or "I must do this or leave you FOREVAR"? It makes sense for some of the other NPCs out there. For example, Gavin not resolving family issues before potentially being removed from the very weave of existence would be just plain stupid. Decent dads don't say "Yo, might be hideously imprisoned in the depths of hell for the next two centuries, because that's how <CHARNAME> is rolling these days. There's a PB&J on the table, Lanie. If I am not back in two days, go find someone else to take care of you." Some other NPCs I have less understanding of why it is so important that they deal with the quests, but that is actually true in the game, too... Watcher's Keep is a nice little dungeon, but it never made in-game sense to me in terms of the plot. "Hey, the world is falling apart, and you are dealing with all sorts of bhaalspawn opponents... take a load off, and visit the Temple of doom. All the experience and loot you can gather, for a low, low price. Act now! Limited time offer!". Q: Does having Aran in the party add more quest content? A: Hells yes. An established mercenary will be on the lookout for contacts, job opportunities, adventures to join in, loot to gather, all the normal stuff that makes coin. It just is likely to be a little more mundane and simple stuff. Your average merc deals with trivial stuff, for very low pay. You know - "Stand here and look tough. Oh, and did i mention, though your pay is only a few copper coins a day, i never actually paid off the Thieve's Guild, so there might be an attack today?" Or worse... "Lady Kinsa needs a package taken over to lord so and so, and she really wants it delivered without anyone looking into it. Go take care of that". So, what can we come up with? Contact 1: Orrin, tavern keeper and Jeweler(*cough* fence). Simple FedEx quest, the meat of any regular life. Pick up critical tax paperwork, make sure it gets into the right hands, return with rec't. The equivalent of being a Brinks Truck, only for paperwork. Contact 2; Teldra, mercenary recruiter. This one is trickier. What makes sense in-game? Her usual gig would be to send them to Maztica, or assign the party to one of the many Bhaalspawn armies ad such recruiting during game events. That takes the party out of play, which is silly. So, lots of allusions to potential work, but not much in the way of useful stuff... but there are two loopholes that spring to mind. 1. magic is bad, banned, and deviant. But Cowlies will let anyone purchase a license, no questions asked. So what happens when a sage has limited book study of magic, and has logically worked through all the things needed for a cute little research project "on paper", concerning a certain set of writings about this malevolent being? I could subtitle this "Holmes on Homes", or "Why You Need A Licensed Electrician To Install That New Lighting". I. Sage's Guild supports a research project, and Teldra contracts the party to go over there "just in case" something happens. Cute little project, simple enough - make sure some fool doesn't disturb me, oh big thug-like sellswords I know what I am doing - I graduated top of my class at Harvard, and that silly Oxford set really doesn't know what they are talking about. Besides, they talk with funny accents... Only it turns out the "research" involves someone with magical or bardic skill (or a decent amount of reading time in fantasy literature) might recognize as a scroll of summoning, or a book protected by a minor demon. Hilarity ensues, leaving the party with an interesting set of choices: a. if trouble realized, pursuade the researcher to stop; contract over, minor payoff, crisis averted, Miller Time™. b. if trouble realized, have a minor "accident", wherin said researcher accidentally falls head first into his vat of ink, after having somehow bound himself tightly and fallen head-first out of a third-story window. Twice. c. do the job right, allowing research to continue, and be faced with a new set of quandries: Run. Screw this gig - a few gold coins to face *THAT*? I am breaking this contract, and quick! Negotiate. Heya, big fellow - answer a few questions, and we will let you take this silly researcher as a prize. It is a win - win scenario, and we all go home happy! So, this place they call 'Spellhold'... any idea where it is? Fight. Back, foul fiend! Though I am armed with but a paper mache sword and a few rotting clubs, I shall defend this poor researcher unto the death! (Hey, i never said i was smart. Just dedicated. A job's a job, right?). negotiate with winning charm and insider knowledge, and/or the wisdom of Soloman (because hey, this is FR, and anything might be possible) [available to high charisma/intelligence/wisdom PCs] - find a win-win situation where the researcher gets his information, the protector/demon gets something he wants, and the party gets a contract completed without 92% casualty rate and the use of every spell and item available to them, just for a measly little 20gp a day rate. Well if they complete that, that might be a fun boss battle opportunity, or a fun roleplay opportunity. So what else might a happy headhunter do with someone who made an impossible situation right? Well, how about hand them a politically suicidal hot-button issue that noone else wants to touch? We could subtiltle this "Help, Help! I'm Being Repressed!" II. The Army doesn't want it. the Council wants nothing to do with it. The various Guilds have no real skin in the game... but this stupid guy has managed to tick off his tenants to the point that they are threatening to revolt. Well, techincally, as most of them have never really bathed and have the table manners of a Kobold, they are a little revolting already, but now they want to kick the idiot who rules their section out. Ordinarily, this would be the work of a few good regiments of the army, or perhaps a couple of Shadow Thief enforcers making some "suggestions".... but the idiot kid trying to make his mark as a lord is well connected, and the peasants are reasonably well Guild-connected themselves. So, enter the Contract Mercenary - Heads Bashed, Solutions Enforced. Have Mace, Will Travel. Options for resolution: Convince the kid to negotiate with the unwashed hordes, resolving the dispute and making everyone breath a great sigh of relief. A lousy payday and no loot, but job well done is its own reward, right? Just another day as a contract merc, unthanked, and underpaid, ready for a nice stiff drink and a good grousing session on why the world should be ruled by mercs, because civilians just don't understand how to solve problems. Convince the peasants that being unwashed is just fine, compared to being unwashed and pushing up daisies from underneath. Convince the kid that washing the peasants and perhaps even letting them eat once a week might improve profits - especially as it is hard to take any profit from them when a wannabe-landlord is explaining the sword run through his forehead to Kelemvor, who has heard it all before. The truly and uniquely mercenary option - get a contract from the noble to clobber the peasants, and one from the peasants to do away with the noble, and then confront them both. Now a merc is not an assassin, but perhaps if you play your cards right, both sides will be so upset that you had the audacity to do such a thing that they ignore the whole point of doing this (allowing a settlement to be enforced, as you have a valid contract from each side, so they can negotiate together or else), and they both join up together and attack you - wherin you get a contract finished, you get the experience, and you get to sell all their various body parts to the highest bidder. Hey, the contract said settle the dispute - it said nothing about keeping anyone out of harm's way! This set of ideas provides some fun, a battle (or not), some loot and experience (or not), and does not interrupt the flow of the game. Do these, or not - completely immaterial to the main plot, or Aran sticking around. Of course, if Aran isn't around, you did pay your union dues, didn't you? You didn't? Golly, gee... Teldra can contract with Aran, but if he is not around, she just can't pay off the party, now, can she?
  14. This talk is a mini-micro-quest, setup to leverage Aran's skills for a reward in a way that makes in-game sense. The original interlude is set using C-ARAND.BCS, the "dreamscript" that is checked at rest, so if the player avoids resting in the Keep after attaining it, they don't get it. It has checks for romantic Encounters' Chanelle in the .bcs, and is set up so it could make sense for visits other than the first time (though it stretches it a bit. I am banking on player behavior being to rest when a party member is wounded or when they get to a destination/leave one). The follow up shpws up only if the player pursues gain; you gotta love having a corporate raider do some dirty work, for those evil players out there. The mini-micro quest manipulates the revolt value from vanilla. Notes to self: the .bcs block needs compatability check/adjustment for D'Arnese (Jcompton, PPG) and states a2208 and a2209 need an evil response. I thought the + ~!Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2210 + ~Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2211 was enough, but I think it is too subtle for the players who would go "wtf, give me an option where I can suggest that is EXACTLY what I want, right up front! Subtlety is for people who have not figured out everything can be solved by the suitable application of blunt force trauma!" Cleanup and integration of materials from http://forums.gibberlings3.net/index.php?s...st&p=166974 /* Stone Walls, Stone Hearts, Stone Heads : Dream Script, De'Arnise Keep (Stronghold) Dialog */ /* Set from C-ARAND after keep is owned */ IF ~Global("c-arandreamstone","GLOBAL",1) TimeOfDay(DAY)~ a2194 SAY ~[ARAN] There you are. I thought you might be off tryin' to get some sleep. Hells, there be a shortage o' candles in this place, eh? It be daylight outside, but in here it be gloomier than a one legged man at a dancin' contest. Anyways, I needed to bend your ear a mite.~ IF ~~ THEN DO ~SetGlobal("c-arandreamstone","GLOBAL",2)~ GOTO a2196 END IF ~Global("c-arandreamstone","GLOBAL",1) TimeOfDay(NIGHT)~ a2195 SAY ~[ARAN] There you are. I thought you might be off tryin' to get some sleep. Hells, there be a shortage o' candles in this place, eh? It be night outside so you'd think they would run out some good lanterns or a spell or two an' brighten th' place up, but in here it be gloomier than a one legged man at a dancin' contest. Anyways, I needed to bend your ear a mite.~ IF ~~ THEN DO ~SetGlobal("c-arandreamstone","GLOBAL",2)~ GOTO a2196 END IF ~~ a2196 SAY ~[ARAN] Now that you have a solid defensible position, mayhap you want to gather an army, an' get settled a mite before takin' on th' rest of the world, eh? Not that you have to listen to me, tryin' to tell you what to do. I just keep these lips flappin' way too much.~ + ~Gender(Player1,FEMALE)~ + ~[PC] Actually, I had some other ideas for those lips of yours. I think I need a respite from all this heavy responsibility.~ + a2202 + ~Gender(Player1,FEMALE)~ + ~[PC] I agreed to help Nalia because it was in my best interests. We will wait for as long as it takes me to figure out how to best profit from all of this.~ + a2208 ++ ~[PC] We have to make sure that the Keep is secured, and things are settled. But we need to move on as quickly as we can, too. I am debating whether to take Nalia along, or leave her here to make sure things get reorganized.~ + a2214 ++ ~[PC] You have no idea what you are talking about, and even if you did, what makes you think I want to hear it from you?~ + a2199 ++ ~[PC] Aran. Shut up. Go away. Now.~ + c-aranshutup39 + ~!HPPercentLT(Player1,30)~ + ~[PC] I think we had better move on quickly. I do not think we can afford to wait.~ + a2200 + ~HPPercentLT(Player1,30)~ + ~[PC] I think we had better move on quickly. I do not think we can afford to wait.~ + a2201 + ~Gender(Player1,MALE)~ + ~[PC] I agreed to help Nalia because it was in my best interests. We will wait for as long as it takes me to figure out how to best profit from all of this.~ + a2209 + ~Gender(Player1,MALE) Global("RE_ChanelleFlirt","GLOBAL",1) !Global("RE_ChanelleSex","GLOBAL",1)~ + ~[PC] Actually, I was thinking of taking a bath. I think there is a set of washtubs in the master suite.~ + a2198 + ~Gender(Player1,MALE) !Global("RE_ChanelleFlirt","GLOBAL",1) Global("RE_ChanelleSex","GLOBAL",1)~ + ~[PC] Actually, I was thinking of taking a bath. I think there is a set of washtubs in the master suite.~ + a2198 + ~Gender(Player1,MALE) !Global("RE_ChanelleFlirt","GLOBAL",1) !Global("RE_ChanelleSex","GLOBAL",1)~ + ~[PC] Actually, I was thinking of taking a bath. I think there is a set of washtubs in the master suite.~ + a2197 END IF ~~ a2197 SAY ~[ARAN] That sounds like a right nice idea. Just so you know, though, one o' th' maids was askin' about you, for some odd chore or somethin'. I'd duck in an' out o' there right quick, so you don't get no more things to handle tonight. But about my questions, do you have some time, or not?~ IF ~~ THEN GOTO a2205 END IF ~~ a2198 SAY ~[ARAN] Riiiight. A bath. Got it. Just be a mite bit more careful when you get in that water, eh? There were a powerful lot o' screamin' an' laughin' last time, an' I think some o' th' servants are beginnin' to talk. But before you go dippin' your various parts into various things, do you have that mite bit o' time?~ IF ~~ THEN GOTO a2205 END IF ~~ a2199 /* 7 replies possible, down to 5 if non-edwin/minsc */ SAY ~[ARAN] What are you blighted well talkin' about? This be my forte, eh? I thought you'd be wantin' some help gettin' this place in order.~ ++ ~[PC] I can handle things myself. Just go get some sleep, and I'll give you orders in the morning.~ + a2217 + ~InParty("edwin") !InParty("minsc") !Global("c-aranrom","GLOBAL",1) !Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Edwin to run things for me. Even he would give better advice than you.~ + a2217 + ~!InParty("edwin") InParty("minsc") !Global("c-aranrom","GLOBAL",1) !Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Minsc to run things for me. Even he would give better advice than you.~ + a2217 + ~InParty("edwin") InParty("minsc") !Global("c-aranrom","GLOBAL",1) !Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Minsc or Edwin to run things for me. Both would give better advice than you.~ + a2217 ++ ~[PC] I appreciate the input, but I have too much on my hands right now. How about we have a good night's sleep, and then you draft up some plans on how you would go about defending this place. We can have a meeting some other time to go over it, ok?~ + a2225 + ~InParty("edwin") !InParty("minsc") OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Edwin to run things for me. Even he would give better advice than you.~ + a2218 + ~!InParty("edwin") InParty("minsc") OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Minsc to run things for me. Even he would give better advice than you.~ + a2218 + ~InParty("edwin") InParty("minsc") OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2)~ + ~[PC] If I wanted some unwashed idiot spouting orders about how to do things, I would have asked Minsc or Edwin to run things for me. Both would give better advice than you.~ + a2218 + ~Gender(Player1,FEMALE)~ + ~[PC] Hey, don't get upset. You get all cute and kissable when you are upset, and I might be too tired to resist your charms.~ + a2202 + ~Gender(Player1,MALE)~ + ~[PC] Hey, don't get upset. I am just too tired to think about this right now. We are all heroes, here - why don't you go relax by flirting with one of the cute chambermaids? They probably won't be able to resist your charms.~ + a2225 ++ ~[PC] Well, talk, then. But make it quick.~ + a2205 ++ ~[PC] I'm sorry. That was a little short. Blame it on the lack of sleep, and this whole "save the world every day" thing we seem to have going.~ + a2205 END IF ~~ a2200 SAY ~[ARAN] Well fine. But there be some good tactical thought behind stayin' put for awhile. These lands have had th' crap kicked out o' 'em, and mayhap seein' you around a couple more times will give them a morale boost. Plus, give us a mite bit o' a rest to build up some scrolls an' supplies before movin' on.~ IF ~~ THEN GOTO a2205 END IF ~~ a2201 SAY ~[ARAN] Bloody hells, <CHARNAME>... look at you! There be half an inch o' you what hasn't been ripped, torn, or otherwise mauled. You need a good solid rest, some magical healin', an' mayhap an armorsmith to put th' party gear back in operation. An' there be some good tactical thought behind stayin' put for awhile. These lands have had th' crap kicked out o' 'em, and mayhap seein' you around a couple more times will give them a morale boost. Plus, give us a mite bit o' a rest to build up some scrolls an' supplies before movin' on.~ IF ~~ THEN GOTO a2205 END IF ~~ a2202 /* only attainable by Gender(Player1,FEMALE) */ SAY ~[ARAN] Now, hold on one second. Do you think I be so easy you can just have your way wi' me any time you want?~ ++ ~[PC] Well, seeing as you are not really complaining while I am currently wrapping my arms around your neck and brushing your cheek with my eyelashes, yes.~ + a2204 ++ ~[PC] Judging by how close you are holding me, and how your lips keep grazing my ear, yes.~ + a2204 ++ ~[PC] Look, all that grabbing at my waist with your hands is very much unwanted. Go find someone else, because I am just not interested.~ + a2205 ++ ~[PC] On second thought, I don't know if this is the time and place, Aran. I'm not even sure I want this kind of attention from you.~ + a2203 + ~Global("c-aranflirtstop","GLOBAL",0)~ + ~[PC] I let you flirt because it keeps you in line, but I am very much in love with someone else. I am not sure we should be sneaking around, even if it is fun.~ + a2203 + ~Global("c-aranflirtstop","GLOBAL",1)~ + ~[PC] You are so easy to tease. Forget it, Aran. I told you I did not want you to flirt with me. I just wanted to see what you would say.~ + a2203 ++ ~[PC] Yes.~ + a2203 END IF ~~ a2203 SAY ~[ARAN] Now, I'm not rightly goin' to argue wi' you. A little kissin' never hurt nobody, an' there be naught else we can do in just a stolen moment, eh? So do you want to kiss, or not?~ ++ ~[PC] Judging by how close you are holding me, and how your lips keep grazing my ear, yes.~ + a2204 ++ ~[PC] Well, seeing as you are not really complaining while I am currently wrapping my arms around your neck and brushing your cheek with my eyelashes, yes.~ + a2204 ++ ~[PC] Nope. Tactical distraction. Works every time. Now, why don't you say what it is you were trying to say?~ + a2205 ++ ~[PC] I was joking, Aran. The thought of kissing you actually is quite disgusting. What is it you are annoying me with now?~ + a2205 ++ ~[PC] You are easily misdirected with the mere offer of affection. That is a tactical weakness that I do so enjoy exploiting. One day, it will kill you.~ + a2205 END IF ~~ a2204 SAY ~[ARAN] Well, I did have me some ideas for th' security an' defense o' this place, but I have naught in th' way o' resistance to your womanly wiles, eh?~ IF ~~ THEN GOTO a2215 END IF ~~ a2205 SAY ~[ARAN] I was just offerin' some help, is all. I done found some o' th' architectural drawin's, an' land levies for militia service. I wanted to get a word in wi' you on how to proceed.~ + ~HPPercentLT(Player1,40) Gender(Player1,MALE)~ + ~[PC] No time like the present, though I wish I could have rested first. I think I will drip blood all over this parchment. Let's see... yes. Go ahead and call up these militia for at least one tenday service, until we can get everything covered with professionals.~ + a2225 + ~HPPercentLT(Player1,40) Gender(Player1,MALE)~ + ~[PC] I think I will sit down for a minute, seeing as most of my body hurts. Let's see... yes. Go ahead and pull what you need from manpower and supplies to block off that section. Less to defend means more attention on rebuilding.~ + a2225 + ~!HPPercentLT(Player1,40)~ + ~[PC] Hmmm. Yes, this makes sense. Go ahead and pull what you need from manpower and supplies to block off that section. Less to defend means more attention on rebuilding.~ + a2225 + ~!HPPercentLT(Player1,40)~ + ~[PC] No time like the present, though I wish I could have rested first. Let's see... yes. Go ahead and call up these militia for at least one tenday service, until we can get everything covered with professionals.~ + a2225 + ~HPPercentLT(Player1,40) !Gender(Player1,MALE)~ + ~[PC] No time like the present, though I wish I could have rested first. I think I will drip blood all over this parchment. Let's see... yes. Go ahead and call up these militia for at least one tenday service, until we can get everything covered with professionals.~ + a2216 + ~HPPercentLT(Player1,40) !Gender(Player1,MALE)~ + ~[PC] I think I will sit down for a minute, seeing as most of my body hurts. Let's see... yes. Go ahead and pull what you need from manpower and supplies to block off that section. Less to defend means more attention on rebuilding.~ + a2216 ++ ~[PC] I will take a look at this information tomorrow, Aran. But if you are all fired up about working, you could go over the tax levies, and draw up a short list of those we could extort for more money.~ + a2206 ++ ~[PC] Why are you bothering me with all of this? I want your skills focused on finding how much there is left in the treasury, and how much we have to help with the rebuilding.~ + a2206 ++ ~[PC] Why are you bothering me with all of this? I want your skills focused on finding how much there is left in the treasury, and how much we can raise taxes.~ + a2206 + ~Class(Player1,FIGHTER_ALL)~ + ~[PC] I am well versed in fighting. All we need is the strength to hold this place for awhile. You are too interested in the details.~ + a2224 + ~Class(Player1,MAGE_ALL)~ + ~[PC] If you think it will help, go bother with all that petty detail. All I am really interested is wandering the library, and checking for spell components.~ + a2224 + ~OR(2) Class(Player1,CLERIC_ALL) Class(Player1,PALADIN_ALL)~ + ~[PC] I am sure you mean well, but I don't have time to concentrate on the details. What I really need is time to pray to my god and gather my strength.~ + a2224 + ~Class(Player1,THIEF_ALL)~ + ~[PC All we need is the illusion of strength to hold this place for awhile. Being pinned down to a fortress is not my idea of being subtle. Do I really need to be bothered with all these details?~ + a2224 + ~Class(Player1,BARD_ALL)~ + ~[PC] I am more interested in the stories, songs, and poetry that our conquest of this place will inspire. I need some time and space to sit down and concentrate. Do I really need to be bothered with all these details?~ + a2224 END IF ~~ a2206 SAY ~[ARAN] Sure thing. Inventory, check what be left o' th' raided treasury an' what can be built back up, check into th' land leases, th' whole audit.~ ++ ~[PC] And Aran... find every single way you can to get us more coin.~ + a2208 + ~Gender(Player1,FEMALE) Global("c-aranrom","GLOBAL",2)~ + ~And Aran... don't you dare leave this room without kissing me.~ + a2207 ++ ~[PC] And Aran... send me some food up from the kitchen. No dogmeat. Just real food.~ + a2219 ++ ~[PC] You have your orders, so now will you please just let me go to sleep?~ + a2220 END IF ~~ a2207 SAY ~[ARAN] Now that be an order I can't rightly refuse. An' why would I want to, anyhow?~ IF ~~ THEN GOTO a2215 END IF ~~ a2208 SAY ~[ARAN] Whoa, now, I misread you right solid, I did. If this be a hostile takeover, you'd better let me know right quick, so I can set up a second set o' books.~ + ~!Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2210 + ~Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2211 ++ ~[PC] That's right, make a joke about these poor people and what they have sufered through. Do you really think I want you to do that?~ + a2211 ++ ~[PC] Look, forget I said anything. I am tired and short-tempered. I just want to be left alone so I can go to sleep.~ + a2220 END IF ~~ a2209 SAY ~[ARAN] Whoa, now, I misread you right solid, I did. I thought you were givin' her a hand on account o' she be quite easy on th' eyes, an' everyone knows a hero has more of a chance with beddin' th' fair maid. If this be a hostile takeover, you'd better let me know right quick, so I can set up a second set o' books.~ + ~!Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2210 + ~Class("c-aran",PALADIN_ALL)~ + ~[PC] You would do that? Cheat these people?~ + a2211 ++ ~[PC] That's right, make a joke about these poor people and what they have sufered through. Do you really think I want you to do that?~ + a2211 ++ ~[PC] Look, forget I said anything. I am tired and short-tempered. I just want to be left alone so I can go to sleep.~ + a2220 END IF ~~ a2211 SAY ~[ARAN] Me? Hells, no. Just wanted to see your face when I said it, eh? I guess it weren't that funny.~ IF ~~ THEN GOTO a2205 END IF ~~ a2210 SAY ~[ARAN] Me? Hells, no. I'd be out gettin' these people on th' road to recovery, an' mayhap makin' it less likely that they get cheated out o' their hard work. But I work for you. An' I have done things what would curdle th' blood in th' name o' "good". So it would be you doin' th' cheatin', not me.~ ++ ~[PC] You are spineless, aren't you.~ + a2212 ++ ~[PC] With that attitude, you will serve me very well.~ + a2213 ++ ~[PC] Perhaps one day I will have to test the limits of your loyalty. just how far would you go to serve me?~ + a2221 END IF ~~ a2212 SAY ~[ARAN] Not spineless. Just blighted flexible when it comes to absolute morality. You have a mission, an' when there be a priority mission, normal rules don't rightly apply. Neverwinter has some great readin' materials on this, if you ever visit up there. Sometimes th' ends justify th' means.~ ++ ~[PC] The ends never justify the means. There is an absolute good, and an absolute bad. So no more talk about cheating these people.~ + a2225 ++ ~[PC] Well said. The ends sometimes do justify the means. But in this case, I think we can afford to help these people.~ + a2225 ++ ~[PC] You almost had it right, Aran. My goals are attained by any means necessary. Go do whatever you have to do to get me coin.~ + a2222 END IF ~~ a2213 SAY ~[ARAN] Well, given th' powers you have, it be a matter o' percentages, eh? I'm not spineless, just blighted flexible when it comes to absolute morality. You have a mission, an' when there be a priority mission, normal rules don't rightly apply. Neverwinter has some great readin' materials on this, if you ever visit up there. Sometimes th' ends justify th' means.~ ++ ~[PC] The ends never justify the means. There is an absolute good, and an absolute bad. So no more talk about cheating these people.~ + a2225 ++ ~[PC] Well said. The ends sometimes do justify the means. But in this case, I think we can afford to help these people.~ + a2225 ++ ~[PC] You almost had it right, Aran. My goals are attained by any means necessary. Go do whatever you have to do to get me coin.~ + a2222 END IF ~~ a2214 SAY ~[ARAN] On that point, I know better than to give no opinion. She could be a right passible party member, but she were born wi' a silver spoon in her mouth. Might be trouble. I'm right glad you have to make that decision, not me. Now, do you have a bit o' time, or should I go make myself useful elsewhere?~ ++ ~[PC] Sure. What is it you want?~ + a2205 ++ ~[PC] All people do is wander up and talk to me all day and night. They prod me, poke me, question me... so no. Go away, and let me have a moment of peace and quiet all to myself.~ + a2220 END IF ~~ a2215 SAY ~[ARAN] (His kisses are ferocious, demanding yours with rising passion. His hands hold your face, cupping you to his lips like a man driven by desperate thirst.)~ = ~[ARAN] (Only the gentle knocking on the door reminds you that you have duties and appointments waiting before you can sleep, and you hastily compose yourself before Aran slips out of the door. The Captain of the Guard raises one eyebrow while requesting orders, but he is far too professional to inquire. When you catch a glimpse in the mirror, you see that your cheeks and lips are not quite as calm and composed as the Protector of the Keep might be expected to be.)~ IF ~~ THEN DO ~RealSetGlobalTimer("RE_DreamTimer","GLOBAL",100) RestParty()~ EXIT END /* HPPercentLT(Player1,30) , Female */ IF ~~ a2216 SAY ~[ARAN] Now, that be a nice image, there. I can see why I know you will be a great leader. An' why I might just be fallin' for you, too.~ IF ~~ THEN DO ~RealSetGlobalTimer("RE_DreamTimer","GLOBAL",100) RestParty()~ EXIT END IF ~~ a2217 /* males */ SAY ~[ARAN] By Th' Red Knight's Sword, you are a sorry pain in th' arse. I thought I know where I stood wi' you. I guess I was wrong. Apparently, I stand somewhere south o' th' dungheap out by th' Keep's privy.~ IF ~~ THEN DO ~RestParty()~ EXIT END IF ~~ a2218 /* females */ SAY ~[ARAN] By Th' Red Knight's Sword, you are a sorry pain in th' arse. I thought I know where I stood wi' you. I guess I was wrong. Apparently, I stand somewhere south o' th' dungheap out by th' Keep's privy.~ IF ~~ THEN DO ~SetGlobalTimer("c-aranismad","GLOBAL",ONE_DAY) RealSetGlobalTimer("RE_DreamTimer","GLOBAL",100) RestParty()~ EXIT END IF ~~ a2219 SAY ~[ARAN] Aye, then. No curry... err... Right. I'll be sendin' somethin' up quick as a flash.~ IF ~~ THEN DO ~RestParty()~ EXIT END IF ~~ a2220 SAY ~[ARAN] Right, then. I'll be leavin' you alone. Have a good night.~ IF ~~ THEN DO ~RestParty()~ EXIT END IF ~~ a2221 SAY ~[ARAN] I don't rightly know. Slavery, now, that be a deal killer. But short o' that, I guess we just have to see.~ ++ ~[PC] And what will you do if I ever cross that unknown line?~ + a2223 ++ ~[PC] That is what I like about you. Always so vague and indecisive, and easy to manipulate.~ + a2220 ++ ~[PC] That is what I hate about you. You keep letting me push you around.~ + a2220 ++ ~[PC] Sorry. should not have asked that question. I am in a foul mood tonight. I had better get some rest.~ + a2220 END IF ~~ a2222 SAY ~[ARAN] Right. I'll let you get on wi' your work, an' mayhap I can come up wi' some extra coin somewhere. It might take a few days, mayhap even a tenday. I'll be lettin' you know.~ IF ~~ THEN DO ~SetGlobal("c-aranextort","LOCALS",1) SetGlobalTimer("c-aranextorttalk","GLOBAL",TEN_DAYS) RestParty()~ EXIT /* ten game days for research */ END IF ~~ a2223 SAY ~[ARAN] I don't rightly know. I never did run out on no contract. But I suppose we all have a breakin' point somewhere, eh? Probably just leave. Mayhap fight you, mayhap just kill you. Fair warnin', an' all. But I suspect you will know long before I do. No sense thinkin' about it until it happens, on account o' I'm not blighted well likely to survive th' experience, eh?~ IF ~~ THEN DO ~RestParty()~ EXIT END IF ~~ a2224 SAY ~[ARAN] Details matter. It be a labor o' love what creates a solid foundation, an' th' details be what shows you are doin' more than just th' work o' a hired sword. They be what shows you really care about th' people in your charge, an' provides 'em a sense o' your leadership. But I can see you be busy, so mayhap I will come bother you some other time.~ IF ~~ THEN DO ~RestParty()~ EXIT END IF ~~ a2225 SAY ~[ARAN] Now, that be a nice idea, there. I can see why I think you will be a great leader, someday. Well, mayhap already.~ IF ~~ THEN DO ~RealSetGlobalTimer("RE_DreamTimer","GLOBAL",100) RestParty()~ EXIT END /* from C-ARAN.BCS */ IF ~Global("c-aranextort","LOCALS",2)~ THEN BEGIN a2226 SAY ~[ARAN] Hey, I found some way o' gainin' a mite bit o' extra coin out o' that Keep, just like you asked. There be some options open. You just tell me which one to chose, an' I can get it done right quick.~ = ~[ARAN] First off, there be some outstandin' debts on th' part o' th' Merchant's Guild, on account o' we provide some protection. We could force collection, makin' them pay for "protection" on a regular basis, instead o' just when they need it, an' get a tidy sum. But turnin' th Guild against you means some serious penalties... merchants talk to everyone, an' a little bad blood can get to be a problem right quick.~ = ~[ARAN] Second off, we could sell off some o' th' land what's able to be repossessed. It be a matter o' movin' families off farms they been workin' for generations, but th' law be th' law. Might piss people off a mite bit, though.~ = ~[ARAN] Third, we could cut a deal wi' th' Trade Guild. Right now, there be two representatives vyin' for th' rights. Th' sorry bastard what's tryin' to get th' concession be a right mean bastard, but he has coin to spend, an' he'll give us some to approve him as th' representative next season.~ = ~[ARAN] So, you want to collect on th' Guild, sell some land, or take a bribe for th' representative choice? Or none o' these?~ ++ ~[PC] I don't like any of these options.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2227 ++ ~[PC] Do all three.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2228 ++ ~[PC] Force the Guild, and take the bribe. Then our "representative" can clean things up for us over time.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2231 ++ ~[PC] I don't want to mess with the Guild directly. There could be problems. So just kick those families off my land, and sell it.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2232 ++ ~[PC] I don't want to mess with the Guild directly, and I don't need disgruntled tenants causing trouble. Just take the bribe. If the "representative" doesn't serve us well, then we can always make adjustments later.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2232 ++ ~[PC] Force the Guild, and throw those people off of my land. But don't bother with taking the bribe. We can probably do better with an honest representative. They tend to actually follow rules, which puts them at a disadvantage.~ DO ~SetSetGlobal("c-aranextort","GLOBAL",3)~ + a2231 END IF ~~ a2227 SAY ~[ARAN] Look, th' truth be there is naught in th' way o' new coin to be had just by squeezin' th' books. I don't rightly recommend doin' any o' these things, but if you want th' coin, that's what I was able to find. Personally, I say give th' whole blighted idea up, an' let's go find somethin' to kill an' loot. Except for dragons. No dragons. They are a pain in th' arse.~ = ~[ARAN] So, what be your orders?~ ++ ~[PC] Forget the whole thing. It is just not worth it.~ + a2233 ++ ~[PC] Do all three.~ + a2228 ++ ~[PC] Force the Guild, and take the bribe. Then our "representative" can clean things up for us over time.~ + a2231 ++ ~[PC] I don't want to mess with the Guild directly. There could be problems. So just kick those families off my land, and sell it.~ + a2232 ++ ~[PC] I don't want to mess with the Guild directly, and I don't need disgruntled tenants causing trouble. Just take the bribe. If the "representative" doesn't serve us well, then we can always make adjustments later.~ + a2232 END IF ~~ a2228 SAY ~[ARAN] Grumbar's Clay Fist, do you want a blighted revolt on your head? That might get us 3000 gold, but you would be askin' for a revolt. You sure you want to do that?~ ++ ~[PC] Yes. We need the money. And revolts can be put down. What are they going to do, talk me to death?~ + a2230 ++ ~[PC] No. Forget the whole idea.~ + a2233 ++ ~[PC] What are my options again?~ + a2227 ++ ~[PC] You are so unimaginative. What about falsifying documents and having people driven of their land so I can sell it? What about adding a tax for anyone who speaks Chondathan in public? I expected more out of you, Aran.~ + a2229 END IF ~~ a2229 SAY ~[ARAN] Cyric's Black Balls, there be limits. Corruption, kickin' out people on th' street, an' shakin' down th' guild for "protection" didn't go far enough for you? Forget it. I'm bloody well destroyin' this right now, an' to th' nine hells wi' you. Go find your own way o' dealin' wi' this. I got my limits.~ IF ~~ THEN EXIT END IF ~~ a2230 SAY ~[ARAN] Xvim's Spit, you be... right. Just a job. Consider it done. An' me, I will go lookin' for somethin' to shield th' spittle that folks will send our direction every time they see us.~ IF ~~ THEN DO ~GiveGoldForce(3000) IncrementGlobal("KPRevolt","GLOBAL",-4)~ EXIT END IF ~~ a2231 SAY ~[ARAN] That I can do. Not exactly th' nicest thing in th' world, but it works. It means there will be some disgruntled people, but you don't make no omlette wi' out breakin' eggs.~ IF ~~ THEN DO ~GiveGoldForce(2000) IncrementGlobal("KPRevolt","GLOBAL",-2)~ EXIT END IF ~~ a2232 SAY ~[ARAN] That I can do. Not exactly th' nicest thing in th' world, but it works. It means there will be some disgruntled people, but you don't make no omlette wi' out breakin' eggs.~ IF ~~ THEN DO ~GiveGoldForce(1000) IncrementGlobal("KPRevolt","GLOBAL",-1)~ EXIT END IF ~~ a2233 SAY ~[ARAN] Good idea. Sometimes, th' best thing to do is to let well enough alone, eh? We'll get th' gold some other way.~ IF ~~ THEN EXIT END
  15. Separate talks, as friendtalks are suspended in Underdark - like the flirts, separation and the PID separation, the whole "party in disguise" thing and the environment itself leads to conceptual problems dealing with growth of a friendship and sequencing. So, a set of 5 talks that are more 'psychology and scenery' than friendship evolution. People talk, even under (or especially under) high stress. /* SoA UnderDark FriendTalks */ /* SoA UnderDark FriendTalk 1 */ IF ~Global("c-aranfriendud","GLOBAL",1)~ THEN BEGIN a1689 SAY ~[ARAN] Do you think we could move this along a little? This place be my idea o' a nightmare wrapped up in one o' those tales told to scare children.~ ++ ~[PC] We are moving along as best we can. Calm down, take a big breath, and get yourself under control. The Underdark may be legendary, but then again, so are we.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2040 ++ ~[PC] Oh, shut up. What a big baby. You talk about being a tough military man, yet go all weak-kneed at a little fungus and some Drow?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2041 ++ ~[PC] It is bothering me, too, Aran. But complaining about it will not get us any further.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2042 + ~RandomNum(3,1)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1909 /* c-aranshutup3 */ + ~RandomNum(3,3)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */ + ~InParty("aerie") InMyArea("aerie") Global("c-aranaerieud","LOCALS",0)~ + ~[PC] You sound like Aerie.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1687 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 + ~InParty("ADANGEL") InMyArea("ADANGEL") !StateCheck("ADANGEL",CD_STATE_NOTVALID) Global("c-aran2103","GLOBAL",0)~ + ~[PC] Angelo seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2103 + ~InParty("Anishai") InMyArea("Anishai") !StateCheck("Anishai",CD_STATE_NOTVALID) Global("c-aran2104","GLOBAL",0)~ + ~[PC] Anishai seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2104 + ~InParty("Azure") InMyArea("Azure") !StateCheck("Azure",CD_STATE_NOTVALID) Global("c-aran2105","GLOBAL",0)~ + ~[PC] Azure seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2105 + ~InParty("B!Gavin2") InMyArea("B!Gavin2") !StateCheck("B!Gavin2",CD_STATE_NOTVALID) Global("c-aran2106","GLOBAL",0)~ + ~[PC] Gavin seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2106 + ~InParty("b!haldamir") InMyArea("b!haldamir") !StateCheck("b!haldamir",CD_STATE_NOTVALID) Global("c-aran2107","GLOBAL",0)~ + ~[PC] Haldamir seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2107 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",0)~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1788 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",1) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1789 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",2) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1790 END IF ~~ a2040 SAY ~[ARAN] Aye, I be a legend in my own mind, eh?~ + ~RandomNum(3,1)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ + a1909 /* c-aranshutup3 */ + ~RandomNum(3,3)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ + a1911 /* c-aranshutup5 */ + ~InParty("BIDDE") InMyArea("BIDDE") !StateCheck("BIDDE",CD_STATE_NOTVALID) Global("c-aran2108","GLOBAL",0)~ + ~[PC] Biddekorak seems to be handling this better than you are.~ + a2108 + ~InParty("BWTOUCHX") InMyArea("BWTOUCHX") !StateCheck("BWTOUCHX",CD_STATE_NOTVALID) Global("c-aran2109","GLOBAL",0)~ + ~[PC] Touchstone seems to be handling this better than you are.~ + a2109 + ~InParty("CALLISTO") InMyArea("CALLISTO") !StateCheck("CALLISTO",CD_STATE_NOTVALID) Global("c-aran2110","GLOBAL",0)~ + ~[PC] Callisto seems to be handling this better than you are.~ + a2110 + ~InParty("WILLYB") InMyArea("WILLYB") !StateCheck("WILLYB",CD_STATE_NOTVALID) Global("c-aran2111","GLOBAL",0)~ + ~[PC] Bruce seems to be handling this better than you are.~ + a2111 + ~InParty("WLBRAN") InMyArea("WLBRAN") !StateCheck("WLBRAN",CD_STATE_NOTVALID) Global("c-aran2112","GLOBAL",0)~ + ~[PC] Bruce seems to be handling this better than you are.~ + a2112 + ~InParty("Skooter") InMyArea("Skooter") !StateCheck("Skooter",CD_STATE_NOTVALID) Global("c-aran2173","GLOBAL",0)~ + ~[PC] Skooter seems to be handling this better than you are.~ + a2173 + ~InParty("SOLAUFEIN") InMyArea("SOLAUFEIN") !StateCheck("SOLAUFEIN",CD_STATE_NOTVALID) Global("c-aran2174","GLOBAL",0)~ + ~[PC] Solaufein seems to be handling this better than you are.~ + a2174 + ~InParty("xulaye") InMyArea("xulaye") !StateCheck("xulaye",CD_STATE_NOTVALID) Global("c-aran2175","GLOBAL",0)~ + ~[PC] Xulaye seems to be handling this better than you are.~ + a2175 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 ++ ~[PC] You know you are interrupting our travels with random comments, right?~ + a2052 ++ ~[PC] Oh, more than one person thinks you are legendary. There are probably entire books on the famous Inedible Whitehand Curry.~ + a2053 ++ ~[PC] Stop worrying, Aran. You are letting things get to you.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go find something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END IF ~~ a2041 SAY ~[ARAN] I do be reservin' th' right to be scared out o' my skin, on account o we be wanderin' th' worst collection o' fungus, mold, slime, an' evil anywhere. It's not th' hordes o' Drow that get me, though. It be th' creepin' fungus what covers everythin'. I keep wakin' up expectin' to find I have been half digested.~ + ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID) Global("c-aran2176","GLOBAL",0)~ + ~[PC] Minsc seems to be handling this better than you are.~ + a2176 + ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID) Global("c-aran2177","GLOBAL",0)~ + ~[PC] Korgan seems to be handling this better than you are.~ + a2177 + ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) Global("c-aran2178","GLOBAL",0)~ + ~[PC] Keldorn seems to be handling this better than you are.~ + a2178 + ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID) Global("c-aran2179","GLOBAL",0)~ + ~[PC] Valygar seems to be handling this better than you are.~ + a2179 + ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID) Global("c-aran2180","GLOBAL",0)~ + ~[PC] Viconia seems to be handling this better than you are.~ + a2180 + ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) Global("c-aran2181","GLOBAL",0)~ + ~[PC] Nalia seems to be handling this better than you are.~ + a2181 + ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) Global("c-aran2182","GLOBAL",0)~ + ~[PC] Mazzy seems to be handling this better than you are.~ + a2182 + ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) Global("c-aran2183","GLOBAL",0)~ + ~[PC] Jaheira seems to be handling this better than you are.~ + a2183 + ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID) Global("c-aran2184","GLOBAL",0)~ + ~[PC] Jan seems to be handling this better than you are.~ + a2184 + ~InParty("Imoen2") InMyArea("Imoen2") !StateCheck("Imoen2",CD_STATE_NOTVALID) Global("c-aran2185","GLOBAL",0)~ + ~[PC] Imoen seems to be handling this better than you are.~ + a2185 + ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID) Global("c-aran2186","GLOBAL",0)~ + ~[PC] HaerDalis seems to be handling this better than you are.~ + a2186 + ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) Global("c-aran2187","GLOBAL",0)~ + ~[PC] Edwin seems to be handling this better than you are.~ + a2187 + ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID) Global("c-aran2188","GLOBAL",0)~ + ~[PC] Anomen seems to be handling this better than you are.~ + a2188 + ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID) Global("c-aran2189","GLOBAL",0)~ + ~[PC] Cernd seems to be handling this better than you are.~ + a2189 + ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID) Global("c-aran2190","GLOBAL",0)~ + ~[PC] Yoshimo seems to be handling this better than you are.~ + a2190 ++ ~[PC] We should be keeping our eyes open and not wasting time with all of this talk, you know.~ + a2052 ++ ~[PC] And here I thought it would be more uncomfortable to wake up and find yourself fully digested.~ + a2053 ++ ~[PC] You should stop worrying so much about everything, and concentrate on your duties.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go find something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END IF ~~ a2042 SAY ~[ARAN] Mayhap not. But it be a soldier's right to complain, an' it sure beats runnin' around screamin' "We're all goin' to die! We're all goin' to die!"~ + ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID) Global("c-aran2176","GLOBAL",0)~ + ~[PC] Minsc seems to be handling this better than you are.~ + a2176 + ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID) Global("c-aran2177","GLOBAL",0)~ + ~[PC] Korgan seems to be handling this better than you are.~ + a2177 + ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) Global("c-aran2178","GLOBAL",0)~ + ~[PC] Keldorn seems to be handling this better than you are.~ + a2178 + ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID) Global("c-aran2179","GLOBAL",0)~ + ~[PC] Valygar seems to be handling this better than you are.~ + a2179 + ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID) Global("c-aran2180","GLOBAL",0)~ + ~[PC] Viconia seems to be handling this better than you are.~ + a2180 + ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) Global("c-aran2181","GLOBAL",0)~ + ~[PC] Nalia seems to be handling this better than you are.~ + a2181 + ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) Global("c-aran2182","GLOBAL",0)~ + ~[PC] Mazzy seems to be handling this better than you are.~ + a2182 + ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) Global("c-aran2183","GLOBAL",0)~ + ~[PC] Jaheira seems to be handling this better than you are.~ + a2183 + ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID) Global("c-aran2184","GLOBAL",0)~ + ~[PC] Jan seems to be handling this better than you are.~ + a2184 + ~InParty("Imoen2") InMyArea("Imoen2") !StateCheck("Imoen2",CD_STATE_NOTVALID) Global("c-aran2185","GLOBAL",0)~ + ~[PC] Imoen seems to be handling this better than you are.~ + a2185 + ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID) Global("c-aran2186","GLOBAL",0)~ + ~[PC] HaerDalis seems to be handling this better than you are.~ + a2186 + ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) Global("c-aran2187","GLOBAL",0)~ + ~[PC] Edwin seems to be handling this better than you are.~ + a2187 + ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID) Global("c-aran2188","GLOBAL",0)~ + ~[PC] Anomen seems to be handling this better than you are.~ + a2188 + ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID) Global("c-aran2189","GLOBAL",0)~ + ~[PC] Cernd seems to be handling this better than you are.~ + a2189 + ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID) Global("c-aran2190","GLOBAL",0)~ + ~[PC] Yoshimo seems to be handling this better than you are.~ + a2190 ++ ~[PC] We should be keeping our eyes open and not wasting time with all of this talk, you know.~ + a2052 ++ ~[PC] Now that I would pay to see. I'll even give you a skirt to wear while doing it.~ + a2053 ++ ~[PC] You should stop worrying so much about everything, and concentrate on your duties.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go find something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END IF ~~ a1788 SAY ~[ARAN] Hey, your armor be all wrong. I know you be th' scourge o' Faerun, but you don't have to wear your heart on your sleeve, eh? In this case, someone else's, by th' look. Not a great morale boostin' thing, by my account.~ IF ~~ THEN DO ~SetGlobal("c-arskinarm","LOCALS",1) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ GOTO a1791 END IF ~~ a1791 SAY ~[ARAN] But there be more botherin' me than that bundle o' leathered human skin you be wearin'. Do you think we could move this along a little? This whole Underdark be my idea o' a nightmare wrapped up in one o' those tales told to scare children.~ ++ ~[PC] We are moving along as best we can. Calm down, take a big breath, and get yourself under control. The Underdark may be legendary, but then again, so are we.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2040 ++ ~[PC] Oh, shut up. What a big baby. You talk about being a tough military man, yet go all weak-kneed at a little fungus and some Drow?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2041 ++ ~[PC] It is bothering me, too, Aran. But complaining about it will not get us any further.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2042 + ~RandomNum(3,1)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1909 /* c-aranshutup3 */ + ~RandomNum(3,3)~ + ~[PC] It is not a great time to talk right now, Aran. If you want this over with quickly, stop wasting time with smalltalk.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */ + ~InParty("aerie") InMyArea("aerie") Global("c-aranaerieud","LOCALS",0)~ + ~[PC] You sound like Aerie.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1687 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",2) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 END IF ~~ a1789 SAY ~[ARAN] You stll be wearin' that Grumbar-lovin' Cyric-blighted armor? Gives me th' chills, it does.~ ++ ~[PC] If it bothers you that much, I will take it off.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1791 ++ ~[PC] I think it has a great effect on our opponents' morale. You are just going to have to get used to it.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1791 ++ ~[PC] If I wanted you opinion, I would have asked.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1791 ++ ~[PC] Shut up, or your ears will add decoration to it.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1791 END IF ~~ a1790 SAY ~[ARAN] Look, I do a good bit around here, an' I know you be th' leader. I'm just sayin', that armor makes it blighted hard for me to do my job. Th' smell be only part o' it. Shar's Kiss, get rid o' it, eh?~ ++ ~[PC] Or you will run crying like a weakling child, break your contract, and leave?~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1793 ++ ~[PC] Shut up, Aran. I heard you the first two times. I will use what tools I see fit to advance my goals.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1793 ++ ~[PC] Are you volunteering to add more skin to this armor? Speak again, and I will ~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1793 ++ ~[PC] I may very well take it off. You are useful. But then again, I might put it back on. You will have to get used to it, or leave.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1793 ++ ~[PC] You do very little, and I am tired of your whining. That is the lasty warning you will get.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1793 END IF ~~ a1793 SAY ~[ARAN] Hey, I don't go around second guessin' you. So if I be sayin' it, you know there be one hells of a lot more people who have noticed. Might fit your ideas, but it be bad tactics to give away your position that way.~ IF ~~ THEN GOTO a1791 END IF ~~ a1794 SAY ~[ARAN] Cyric's Black Heart, I don't run out on contracts. But you smell worse than a charnelhouse. If I throw up, you will be knowin' why.~ IF ~~ THEN GOTO a1791 END /* SoA UnderDark FriendTalk 2 */ IF ~Global("c-aranfriendud","GLOBAL",3)~ THEN BEGIN a1690 SAY ~[ARAN] This place be like a great huge weight on me, pushin' down. I done heard o' bein' in th' bowels o' th' earth, but I never did think to be there myself.~ ++ ~[PC] Why do I think you are about to make some horrible childish intestine joke?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2043 + ~RandomNum(3,1)~ + ~[PC] It is not a great time to talk right now, Aran. In fact, it is a lousy time, so shut up.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] It is not a great time to talk right now, Aran. In fact, it is a lousy time, so shut up.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1909 /* c-aranshutup3 */ + ~RandomNum(3,3)~ + ~[PC] It is not a great time to talk right now, Aran. In fact, it is a lousy time, so shut up.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */ ++ ~[PC] I was wondering what that smell was. I just assumed it was you.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2044 + ~InParty("aerie") InMyArea("aerie") Global("c-aranaerieud","LOCALS",0)~ + ~[PC] You keep that depressing talk up, and we will have to do something to calm Aerie down.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1687 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 + ~InParty("WxJon") InMyArea("WxJon") !StateCheck("WxJon",CD_STATE_NOTVALID) Global("c-aran2113","GLOBAL",0)~ + ~[PC] Jonathan seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2113 + ~InParty("CHLOE") InMyArea("CHLOE") !StateCheck("CHLOE",CD_STATE_NOTVALID) Global("c-aran2114","GLOBAL",0)~ + ~[PC] Chloe seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2114 + ~InParty("RCHLOE") InMyArea("RCHLOE") !StateCheck("RCHLOE",CD_STATE_NOTVALID) Global("c-aran2115","GLOBAL",0)~ + ~[PC] Chloe seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2115 + ~InParty("CMALORA") InMyArea("CMALORA") !StateCheck("CMALORA",CD_STATE_NOTVALID) Global("c-aran2116","GLOBAL",0)~ + ~[PC] Alora seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2116 + ~InParty("CMGMIRIAM") InMyArea("CMGMIRIAM") !StateCheck("CMGMIRIAM",CD_STATE_NOTVALID) Global("c-aran2117","GLOBAL",0)~ + ~[PC] Mirriam seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",4) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2117 END IF ~~ a2043 SAY ~[ARAN] You know me so well, oh great leader. Unfortunately, there be little enough to joke about when th' smell down here be worse than anythin' I ever did smell.~ + ~InParty("DL#BWN") InMyArea("DL#BWN") !StateCheck("DL#BWN",CD_STATE_NOTVALID) Global("c-aran2123","GLOBAL",0)~ + ~[PC] Branwen seems to be handling this better than you are.~ + a2123 + ~InParty("DYNAHEIR") InMyArea("DYNAHEIR") !StateCheck("DYNAHEIR",CD_STATE_NOTVALID) Global("c-aran2124","GLOBAL",0)~ + ~[PC] Dynaheir seems to be handling this better than you are.~ + a2124 + ~InParty("E3Fade") InMyArea("E3Fade") !StateCheck("E3Fade",CD_STATE_NOTVALID) Global("c-aran2125","GLOBAL",0)~ + ~[PC] Fade seems to be handling this better than you are.~ + a2125 + ~InParty("FHLAND") InMyArea("FHLAND") !StateCheck("FHLAND",CD_STATE_NOTVALID) Global("c-aran2126","GLOBAL",0)~ + ~[PC] Andrei seems to be handling this better than you are.~ + a2126 + ~InParty("FHLSEB") InMyArea("FHLSEB") !StateCheck("FHLSEB",CD_STATE_NOTVALID) Global("c-aran2127","GLOBAL",0)~ + ~[PC] Sebastian seems to be handling this better than you are.~ + a2127 + ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID) Global("c-aran2176","GLOBAL",0)~ + ~[PC] Minsc seems to be handling this better than you are.~ + a2176 + ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID) Global("c-aran2177","GLOBAL",0)~ + ~[PC] Korgan seems to be handling this better than you are.~ + a2177 + ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) Global("c-aran2178","GLOBAL",0)~ + ~[PC] Keldorn seems to be handling this better than you are.~ + a2178 + ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID) Global("c-aran2179","GLOBAL",0)~ + ~[PC] Valygar seems to be handling this better than you are.~ + a2179 + ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID) Global("c-aran2180","GLOBAL",0)~ + ~[PC] Viconia seems to be handling this better than you are.~ + a2180 + ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) Global("c-aran2181","GLOBAL",0)~ + ~[PC] Nalia seems to be handling this better than you are.~ + a2181 + ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) Global("c-aran2182","GLOBAL",0)~ + ~[PC] Mazzy seems to be handling this better than you are.~ + a2182 + ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) Global("c-aran2183","GLOBAL",0)~ + ~[PC] Jaheira seems to be handling this better than you are.~ + a2183 + ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID) Global("c-aran2184","GLOBAL",0)~ + ~[PC] Jan seems to be handling this better than you are.~ + a2184 + ~InParty("Imoen2") InMyArea("Imoen2") !StateCheck("Imoen2",CD_STATE_NOTVALID) Global("c-aran2185","GLOBAL",0)~ + ~[PC] Imoen seems to be handling this better than you are.~ + a2185 + ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID) Global("c-aran2186","GLOBAL",0)~ + ~[PC] HaerDalis seems to be handling this better than you are.~ + a2186 + ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) Global("c-aran2187","GLOBAL",0)~ + ~[PC] Edwin seems to be handling this better than you are.~ + a2187 + ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID) Global("c-aran2188","GLOBAL",0)~ + ~[PC] Anomen seems to be handling this better than you are.~ + a2188 + ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID) Global("c-aran2189","GLOBAL",0)~ + ~[PC] Cernd seems to be handling this better than you are.~ + a2189 + ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID) Global("c-aran2190","GLOBAL",0)~ + ~[PC] Yoshimo seems to be handling this better than you are.~ + a2190 ++ ~[PC] We should be keeping our eyes open and not wasting time with all of this talk, you know.~ + a2052 ++ ~[PC] And here I thought you had experienced everything worth experiencing, oh teller of tall tales. Just think of the stories you will be able to tell your children. If any woman can get past the permanent stench, that is.~ + a2053 ++ ~[PC] You should stop worrying so much about everything, and concentrate on your duties.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go find something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END IF ~~ a2044 SAY ~[ARAN] Now there be no call for that kind o' talk. I don't smell that bad, not on my worst day ever! An' it never lets up. At least topside you can get a breeze an' some relief.~ + ~InParty("FINIREN") InMyArea("FINIREN") !StateCheck("FINIREN",CD_STATE_NOTVALID) Global("c-aran2128","GLOBAL",0)~ + ~[PC] Irenicus seems to be handling this better than you are.~ + a2128 + ~InParty("FWGhareth") InMyArea("FWGhareth") !StateCheck("FWGhareth",CD_STATE_NOTVALID) Global("c-aran2129","GLOBAL",0)~ + ~[PC] Ghareth seems to be handling this better than you are.~ + a2129 + ~InParty("GOZALOTH") InMyArea("GOZALOTH") !StateCheck("GOZALOTH",CD_STATE_NOTVALID) Global("c-aran2130","GLOBAL",0)~ + ~[PC] Goo seems to be handling this better than you are.~ + a2130 + ~InParty("Horace") InMyArea("Horace") !StateCheck("Horace",CD_STATE_NOTVALID) Global("c-aran2131","GLOBAL",0)~ + ~[PC] Horace seems to be handling this better than you are.~ + a2131 + ~InParty("Hubelpot") InMyArea("Hubelpot") !StateCheck("Hubelpot",CD_STATE_NOTVALID) Global("c-aran2132","GLOBAL",0)~ + ~[PC] Hubelpot seems to be handling this better than you are.~ + a2132 + ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID) Global("c-aran2176","GLOBAL",0)~ + ~[PC] Minsc seems to be handling this better than you are.~ + a2176 + ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID) Global("c-aran2177","GLOBAL",0)~ + ~[PC] Korgan seems to be handling this better than you are.~ + a2177 + ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) Global("c-aran2178","GLOBAL",0)~ + ~[PC] Keldorn seems to be handling this better than you are.~ + a2178 + ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID) Global("c-aran2179","GLOBAL",0)~ + ~[PC] Valygar seems to be handling this better than you are.~ + a2179 + ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID) Global("c-aran2180","GLOBAL",0)~ + ~[PC] Viconia seems to be handling this better than you are.~ + a2180 + ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) Global("c-aran2181","GLOBAL",0)~ + ~[PC] Nalia seems to be handling this better than you are.~ + a2181 + ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) Global("c-aran2182","GLOBAL",0)~ + ~[PC] Mazzy seems to be handling this better than you are.~ + a2182 + ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) Global("c-aran2183","GLOBAL",0)~ + ~[PC] Jaheira seems to be handling this better than you are.~ + a2183 + ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID) Global("c-aran2184","GLOBAL",0)~ + ~[PC] Jan seems to be handling this better than you are.~ + a2184 + ~InParty("Imoen2") InMyArea("Imoen2") !StateCheck("Imoen2",CD_STATE_NOTVALID) Global("c-aran2185","GLOBAL",0)~ + ~[PC] Imoen seems to be handling this better than you are.~ + a2185 + ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID) Global("c-aran2186","GLOBAL",0)~ + ~[PC] HaerDalis seems to be handling this better than you are.~ + a2186 + ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) Global("c-aran2187","GLOBAL",0)~ + ~[PC] Edwin seems to be handling this better than you are.~ + a2187 + ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID) Global("c-aran2188","GLOBAL",0)~ + ~[PC] Anomen seems to be handling this better than you are.~ + a2188 + ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID) Global("c-aran2189","GLOBAL",0)~ + ~[PC] Cernd seems to be handling this better than you are.~ + a2189 + ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID) Global("c-aran2190","GLOBAL",0)~ + ~[PC] Yoshimo seems to be handling this better than you are.~ + a2190 ++ ~[PC] We should be keeping our eyes open and not wasting time with all of this talk, you know.~ + a2052 ++ ~[PC] Unless, of course, you are downwind of a certain Aran Whitehand... at which point the stream of gas is almost constant.~ + a2053 ++ ~[PC] You should stop worrying so much about everything, and concentrate on your duties.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go find something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END IF ~~ a1687 SAY ~[ARAN] Aye, I be a mite worried about that girl. Girl? Woman? Don't rightly know which to call her, nohow. On th' one hand, she can blow th' crap out o' a fight wi' a well placed spell, but on th' other hand she seems right innocent for a circus follower. This whole underground warren o' evil be th' wrong place for her, for sure.~ ++ ~[PC] You seem to be spending a good deal of time looking over at her.~ + a1695 ++ ~[PC] You let me worry about Aerie. I think you have enough trouble just keeping up with your own problems.~ + a1704 END IF ~~ a1695 SAY ~[ARAN] Look, I'm not about to lie to you. Aerie, she tugs at my heartstrings, an' a bit at my loins too. I'd not be a man if I didn't see her as a might bit attractive.~ IF ~Gender(Player1,MALE)~ DO ~SetGlobal("c-aranaerieud","LOCALS",1)~ GOTO a1696 IF ~Gender(Player1,FEMALE) !Global("c-aranrom","GLOBAL",2)~ DO ~SetGlobal("c-aranaerieud","LOCALS",1)~ GOTO a1697 IF ~Gender(Player1,FEMALE) Global("c-aranrom","GLOBAL",2)~ DO ~SetGlobal("c-aranaerieud","LOCALS",1)~ GOTO a1698 END IF ~~ a1696 SAY ~[ARAN] Man to man, though, an' no offense intended, but she's way too high maintenance for me. I'd not bed her, for fear o' hurtin' her. She don't need no romp. She needs someone what can give her th' support, patience, an' true love what will heal her. Me, I'm not rightly that man. You might be, though...~ IF ~~ THEN EXIT END IF ~~ a1697 SAY ~[ARAN] Friend to friend, though, an' no offense intended, but she's a might too high maintenance for me. I'd not kick her out o' my bedroll if she came callin' lookin' for comfort, but I'm not lookin' to tie myself down for a long term contract. An' I think she probably won't be up for anythin' short of a lifetime commitment.~ ++ ~[PC] Is that what you say about me behind my back, too?~ + a1699 + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] That didn't stop you from having some fun with me, if I recall correctly.~ + a1700 END IF ~~ a1698 SAY ~[ARAN] But <CHARNAME>, no offense intended... I am not sure why you think I'd prefer her over you. You are beautiful, special, an' make me feel... well, you make me feel. Why would I go throw that away on a high maintenance Avariel what needs protectin', comfortin', an' hand-holdin' just to get out o' bed in th' morning? I think I have been pretty clear on what I want. An' that be you.~ IF ~~ THEN EXIT END IF ~~ a1699 SAY ~[ARAN] No way, no how, naught. I know to keep my mouth shut on that subject. Though I do think I probably wouldn't kick you out o' my bedroll if you came a-callin', either.~ ++ ~[PC] Why do I get the feeling that very few women would ever be refused your "comfort"?~ + a1702 ++ ~[PC] How does a rough, ill-mannered, uppity, vagabond sellsword like yourself get away with being so free in his manner with women?~ + a1702 ++ ~[PC] You just don't know where friendly joking ends and rude pushy stupidity begins, do you.~ + a1701 + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are so.... so... Why did I ever let you sleep with me?~ + a1700 END IF ~~ a1700 SAY ~[ARAN] Well, now, if I do be recallin' correctly in return, that was mutual attraction. Plus a mite bit o' stress. An' a good deal o' "Oh, gods, Aran, gods...", which do a man's ego a huge boost, it does.~ = ~[ARAN] But wi' you, there is a big difference. Even when you don't know your own mind, you have a presence, a way o' bein' there that be right different than Aerie. Or mayhap... mayhap I think o' you in a completely different way, eh?~ IF ~~ THEN EXIT END IF ~~ a1701 SAY ~[ARAN] You mean to say there be a line between th' two? Heh. That explains why so many women seem to think my cheeks make good slappin' targets.~ IF ~~ THEN EXIT END IF ~~ a1702 SAY ~[ARAN] Well, my mother done taught me right. If a lady needs somethin', don't talk back - just do what she be askin'. Saves a heap o' trouble, it does. Except that time when I done what th' lady asked, only to find out there should have been a mite bit more communication with her husband...~ IF ~~ THEN EXIT END IF ~~ a1703 SAY ~[ARAN] Well, when you put it that way, I suspect you be right.~ IF ~~ THEN EXIT END IF ~~ a1704 SAY ~[ARAN] An' what, pray tell, be my problems?~ ++ ~[PC] Besides always smelling like a badly burned pot of beans or decomposing swamp gas about an hour after eating curry?~ + a1703 ++ ~[PC] You mean in addition to never being able to shut up?~ + a1703 + ~Gender(Player1,FEMALE)~ + ~[PC] Do I have to mention the whole "oh, I just accidentally walked around the bushes and saw you with no clothes on, <CHARNAME>, don't mind me" incident?~ + a1703 + ~Gender(Player2,FEMALE) !Name("c-aran",Player2)~ + ~[PC] Do I have to mention the whole "oh, sorry, <PLAYER3>, don't mind me. I am just checking to see if your bust will fit into this here Drow armor" incident?~ + a1703 + ~Gender(Player3,FEMALE) !Name("c-aran",Player3)~ + ~[PC] Do I have to mention the whole "oh, I just accidentally tripped and grabbed your buttocks, <PLAYER3>, don't mind me" incident?~ + a1703 + ~Gender(Player4,FEMALE) !Name("c-aran",Player4)~ + ~[PC] Do I have to mention the whole "<PLAYER4> might need some help stuffing her bottom into that Drow outfit" incident?~ + a1703 + ~Gender(Player5,FEMALE) !Name("c-aran",Player5)~ + ~[PC] Do I have to mention the whole "<PLAYER5>, just let me tighten that strap for you" incident?~ + a1703 + ~Gender(Player6,FEMALE) !Name("c-aran",Player6) !Name("viconia",Player6)~ + ~[PC] Do I have to mention the whole "<PLAYER6>, you have something on your chest, let me brush it off" incident?~ + a1703 ++ ~[PC] Oh, you don't *have* problems. You just *cause* problems.~ + a1703 ++ ~[PC] Let me see... Swearing at every opportunity, check. Being crude, check. Being offensive, check. Being drunk... check, check, check, and check. Hardly ever picking up the check, check.~ + a1703 END /* SoA UnderDark FriendTalk 3 */ IF ~Global("c-aranfriendud","GLOBAL",5)~ THEN BEGIN a1691 SAY ~[ARAN] So, you doin' anythin' fun tonight? I figure we could use some distraction from all this grimness an' darkness.~ ++ ~[PC] Err... Aran... look around. Do you really think this is a place with a nice corner pub we can go visit?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2045 ++ ~[PC] Actually, I thought I would go for a nice walk. Do you want to come along?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2046 ++ ~[PC] Oh, no you don't. I am not falling for that again. Last time, we ended up in a dice game that cost me dearly.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2047 ++ ~[PC] I think a cooking contest is in order. The secret ingredient will be... fungus!~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2048 + ~RandomNum(3,1)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1943 /* c-aranshutup37 */ + ~RandomNum(3,3)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */ + ~InParty("aerie") InMyArea("aerie") Global("c-aranaerieud","LOCALS",0)~ + ~[PC] We should do something to perk up Aerie. She seems to be very upset about being down here.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1687 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 + ~InParty("CMNIKITA") InMyArea("CMNIKITA") !StateCheck("CMNIKITA",CD_STATE_NOTVALID) Global("c-aran2118","GLOBAL",0)~ + ~[PC] Nikita seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2118 + ~InParty("CMNINAF") InMyArea("CMNINAF") !StateCheck("CMNINAF",CD_STATE_NOTVALID) Global("c-aran2119","GLOBAL",0)~ + ~[PC] Ninafer seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2119 + ~InParty("CORAN") InMyArea("CORAN") !StateCheck("CORAN",CD_STATE_NOTVALID) Global("c-aran2120","GLOBAL",0)~ + ~[PC] Coran seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2120 + ~InParty("D#Silver") InMyArea("D#Silver") !StateCheck("D#Silver",CD_STATE_NOTVALID) Global("c-aran2121","GLOBAL",0)~ + ~[PC] SilverStar seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2121 + ~InParty("D0Alassa") InMyArea("D0Alassa") !StateCheck("D0Alassa",CD_STATE_NOTVALID) Global("c-aran2122","GLOBAL",0)~ + ~[PC] Alassa seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2122 + ~InParty("Rylorn") InMyArea("Rylorn") !StateCheck("Rylorn",CD_STATE_NOTVALID) Global("c-aran2168","GLOBAL",0)~ + ~[PC] Rylorn seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2168 + ~InParty("SAERILETH") InMyArea("SAERILETH") !StateCheck("SAERILETH",CD_STATE_NOTVALID) Global("c-aran2169","GLOBAL",0)~ + ~[PC] Sarileth seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2169 + ~InParty("SIME") InMyArea("SIME") !StateCheck("SIME",CD_STATE_NOTVALID) Global("c-aran2171","GLOBAL",0)~ + ~[PC] Sime seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2171 + ~InParty("SUBRU") InMyArea("SUBRU") !StateCheck("SUBRU",CD_STATE_NOTVALID) Global("c-aran2170","GLOBAL",0)~ + ~[PC] Bruce seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2170 + ~InParty("SK#NEHT") InMyArea("SK#NEHT") !StateCheck("SK#NEHT",CD_STATE_NOTVALID) Global("c-aran2172","GLOBAL",0)~ + ~[PC] Neh'taniel seems to be handling this better than you are.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2172 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",0)~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1783 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",1) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1784 IF ~HasItemEquiped("LEAT21",Player1) Global("c-arskinarm","LOCALS",2) GlobalTimerExpired("c-aranskin","GLOBAL")~ THEN DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ GOTO a1785 END IF ~~ a1783 SAY ~[ARAN] Hey, your armor be all wrong. I know you be th' scourge o' Faerun, but you don't have to wear your heart on your sleeve, eh? In this case, someone else's, by th' look. Not a great morale boostin' thing, by my account.~ IF ~~ THEN DO ~SetGlobal("c-arskinarm","LOCALS",1) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ GOTO a1792 END IF ~~ a1792 SAY ~[ARAN] But there be more botherin' me than that bundle o' leathered human skin you be wearin'. There has to be somethin' fun around here to do. I figure we could use some distraction from all this grimness an' darkness.~ ++ ~[PC] Err... Aran... look around. Do you really think this is a place with a nice corner pub we can go visit?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2045 ++ ~[PC] Actually, I thought I would go for a nice walk. Do you want to come along?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2046 ++ ~[PC] Oh, no you don't. I am not falling for that again. Last time, we ended up in a dice game that cost me dearly.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2047 ++ ~[PC] I think a cooking contest is in order. The secret ingredient will be... fungus!~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a2048 + ~RandomNum(3,1)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1907 /* c-aranshutup1 */ + ~RandomNum(3,2)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1943 /* c-aranshutup37 */ + ~RandomNum(3,3)~ + ~[PC] Do I look like I am in the mood for talk of any kind?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */ + ~InParty("aerie") InMyArea("aerie") Global("c-aranaerieud","LOCALS",0)~ + ~[PC] We should do something to perk up Aerie. She seems to be very upset about being down here.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1687 + ~!Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1672 + ~Class("c-aran",BARD_ALL)~ + ~[PC] Well, take your mind off of it. Tell me a story to distract from all this oppressive darkness.~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1671 + ~OR(7) Global("c-arankravitchstory","LOCALS",1) Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) GlobalGT("c-aranmoonfight","LOCALS",0)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ DO ~SetGlobal("c-aranfriendud","GLOBAL",6) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1673 END IF ~~ a1784 SAY ~[ARAN] You stll be wearin' that Grumbar-lovin' Cyric-blighted armor? Gives me th' chills, it does.~ ++ ~[PC] If it bothers you that much, I will take it off.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1786 ++ ~[PC] I think it has a great effect on our opponents' morale. You are just going to have to get used to it.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1786 ++ ~[PC] If I wanted you opinion, I would have asked.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1786 ++ ~[PC] Shut up, or your ears will add decoration to it.~ DO ~SetGlobal("c-arskinarm","LOCALS",2) SetGlobalTimer("c-aranskin","GLOBAL",FOUR_DAYS)~ + a1786 END IF ~~ a1785 SAY ~[ARAN] Look, I do a good bit around here, an' I know you be th' leader. I'm just sayin', that armor makes it blighted hard for me to do my job. Th' smell be only part o' it. Shar's Kiss, get rid o' it, eh?~ ++ ~[PC] Or you will run crying like a weakling child, break your contract, and leave?~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1787 ++ ~[PC] Shut up, Aran. I heard you the first two times. I will use what tools I see fit to advance my goals.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1787 ++ ~[PC] Are you volunteering to add more skin to this armor? Speak again, and I will consider you have volunteered.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1787 ++ ~[PC] I may very well take it off. You are useful. But then again, I might put it back on. You will have to get used to it, or leave.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1787 ++ ~[PC] You do very little, and I am tired of your whining. That is the lasty warning you will get.~ DO ~SetGlobal("c-arskinarm","LOCALS",3)~ + a1787 END IF ~~ a1786 SAY ~[ARAN] Hey, I don't go around second guessin' you. So if I be sayin' it, you know there be one hells of a lot more people who have noticed. Might fit your ideas, but it be bad tactics to give away your position that way.~ IF ~~ THEN GOTO a1792 END IF ~~ a1787 SAY ~[ARAN] Cyric's Black Heart, I don't run out on contracts. But you smell worse than a charnelhouse. If I throw up, you will be knowin' why.~ IF ~~ THEN GOTO a1792 END IF ~~ a2045 SAY ~[ARAN] You have a good point there. Th' only pub I might find around here probably serves our blood up as an appetizer, an' our fingers an' toes as side dishes.~ + ~InParty("IYLOS") InMyArea("IYLOS") !StateCheck("IYLOS",CD_STATE_NOTVALID) Global("c-aran2133","GLOBAL",0)~ + ~[PC] Ilyos seems to be handling this better than you are.~ + a2133 + ~InParty("xulaye") InMyArea("xulaye") !StateCheck("xulaye",CD_STATE_NOTVALID) Global("c-aran2134","GLOBAL",0)~ + ~[PC] Xulae seems to be handling this better than you are.~ + a2134 + ~InParty("YASRAENA") InMyArea("YASRAENA") !StateCheck("YASRAENA",CD_STATE_NOTVALID) Global("c-aran2135","GLOBAL",0)~ + ~[PC] Yasraena seems to be handling this better than you are.~ + a2135 + ~InParty("ZAIYA") InMyArea("ZAIYA") !StateCheck("ZAIYA",CD_STATE_NOTVALID) Global("c-aran2136","GLOBAL",0)~ + ~[PC] Zaia seems to be handling this better than you are.~ + a2136 + ~InParty("J#Kelsey") InMyArea("J#Kelsey") !StateCheck("J#Kelsey",CD_STATE_NOTVALID) Global("c-aran2137","GLOBAL",0)~ + ~[PC] Kelsey seems to be handling this better than you are.~ + a2137 + ~InParty("O#XAN") InMyArea("O#XAN") !StateCheck("O#XAN",CD_STATE_NOTVALID) Global("c-aran2163","GLOBAL",0)~ + ~[PC] Xan seems to be handling this better than you are.~ + a2163 + ~InParty("P#DEHER") InMyArea("P#DEHER") !StateCheck("P#DEHER",CD_STATE_NOTVALID) Global("c-aran2164","GLOBAL",0)~ + ~[PC] Xan seems to be handling this better than you are.~ + a2164 + ~InParty("P#KIVAN") InMyArea("P#KIVAN") !StateCheck("P#KIVAN",CD_STATE_NOTVALID) Global("c-aran2165","GLOBAL",0)~ + ~[PC] Kivan seems to be handling this better than you are.~ + a2165 + ~InParty("R#ALLIS") InMyArea("R#ALLIS") !StateCheck("R#ALLIS",CD_STATE_NOTVALID) Global("c-aran2166","GLOBAL",0)~ + ~[PC] Allison seems to be handling this better than you are.~ + a2166 + ~InParty("R#Kitanya") InMyArea("R#Kitanya") !StateCheck("R#Kitanya",CD_STATE_NOTVALID) Global("c-aran2167","GLOBAL",0)~ + ~[PC] Kitanya seems to be handling this better than you are.~ + a2167 + ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID) Global("c-aran2176","GLOBAL",0)~ + ~[PC] Minsc seems to be handling this better than you are.~ + a2176 + ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID) Global("c-aran2177","GLOBAL",0)~ + ~[PC] Korgan seems to be handling this better than you are.~ + a2177 + ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) Global("c-aran2178","GLOBAL",0)~ + ~[PC] Keldorn seems to be handling this better than you are.~ + a2178 + ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID) Global("c-aran2179","GLOBAL",0)~ + ~[PC] Valygar seems to be handling this better than you are.~ + a2179 + ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID) Global("c-aran2180","GLOBAL",0)~ + ~[PC] Viconia seems to be handling this better than you are.~ + a2180 + ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) Global("c-aran2181","GLOBAL",0)~ + ~[PC] Nalia seems to be handling this better than you are.~ + a2181 + ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) Global("c-aran2182","GLOBAL",0)~ + ~[PC] Mazzy seems to be handling this better than you are.~ + a2182 + ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) Global("c-aran2183","GLOBAL",0)~ + ~[PC] Jaheira seems to be handling this better than you are.~ + a2183 + ~InParty("Jan") InMyArea("Jan") !StateCheck("Jan",CD_STATE_NOTVALID) Global("c-aran2184","GLOBAL",0)~ + ~[PC] Jan seems to be handling this better than you are.~ + a2184 + ~InParty("Imoen2") InMyArea("Imoen2") !StateCheck("Imoen2",CD_STATE_NOTVALID) Global("c-aran2185","GLOBAL",0)~ + ~[PC] Imoen seems to be handling this better than you are.~ + a2185 + ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID) Global("c-aran2186","GLOBAL",0)~ + ~[PC] HaerDalis seems to be handling this better than you are.~ + a2186 + ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) Global("c-aran2187","GLOBAL",0)~ + ~[PC] Edwin seems to be handling this better than you are.~ + a2187 + ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID) Global("c-aran2188","GLOBAL",0)~ + ~[PC] Anomen seems to be handling this better than you are.~ + a2188 + ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID) Global("c-aran2189","GLOBAL",0)~ + ~[PC] Cernd seems to be handling this better than you are.~ + a2189 + ~InParty("Yoshimo") InMyArea("Yoshimo") !StateCheck("Yoshimo",CD_STATE_NOTVALID) Global("c-aran2190","GLOBAL",0)~ + ~[PC] Yoshimo seems to be handling this better than you are.~ + a2190 ++ ~[PC] We should be keeping our eyes open and not wasting time with all of this talk, you know.~ + a2052 ++ ~[PC] I'll take a side order of Aran Toes, but go light on the fungus.~ + a2053 ++ ~[PC] I think you are doing well, Aran. You should stop worrying so much.~ + a2054 ++ ~[PC] You could help move things along down here if you would actually hit something once in awhile. I thought you were a soldier, not a recruit.~ + a2055 ++ ~[PC] Hey, we can spice things up. Why don't we go fid something really disgusting, and slowly torture it to death, just to hear it scream!~ + a2056 END
  16. The topic title pretty much explains itself, that's the question I'd like to ask, since I saw mention of July in one of these previous posts, and since July has come and gone, I'm just curious...
  17. There are a few states not fully fleshed out left over in the PID "I am in an inn and have decided to try to talk to ARAN" - sample code: /* female in an inn, cyclical */ IF ~Gender(Player1,FEMALE) RealGlobalTimerExpired("c-aranflirttimer","GLOBAL") Global("c-innflirts","GLOBAL",0) OR(12) AreaCheck("AR0313") AreaCheck("AR0406") AreaCheck("AR0509") AreaCheck("AR0522") AreaCheck("AR0704") AreaCheck("AR1105") AreaCheck("AR1602") AreaCheck("AR2010") AreaCheck("AR0709") AreaCheck("AR0513") AreaCheck("AR0021") AreaCheck("AR1602")~ THEN BEGIN a762 SAY ~[PC] (The musicians have struck up a lively dance tune, and Aran is sitting at the bar.)~ ++ ~[PC] (You go over to him.)~ DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-innflirts","GLOBAL",1) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",500)~ + a796 ++ ~[PC] (You decide you have had enough him for right now, and carry on about your business.)~ EXIT ++ ~[PC] (You take the opportunity to check through his belongings.)~ DO ~SetGlobal("c-araninncheck","GLOBAL",1)~ + c_aran_lettercheck_f ++ ~[PC] (You sit quietly, observing him, but not making eye contact.)~ DO ~IncrementGlobal("c-pcstalker","LOCALS",1)~ EXIT ++ ~[PC] (You flirt shamelessly with several patrons, occasionally glancing over at him.)~ DO ~IncrementGlobal("c-pcstalker","LOCALS",1)~ EXIT END /* Inn #1 */ IF ~~ a796 SAY ~[ARAN] Aye now, you are a sight for sore eyes.~ ++ ~[PC] So you like this dress? I was getting a bit tired of wearing the same functional clothing all the time.~ + a797 ++ ~[PC] I should have known you would be here. I suppose you have already chosen your evening's entertainment?~ + a799 ++ ~[PC] Dance with me.~ + a807 ++ ~[PC] Like I care what you think.~ + a811 ++ ~[PC] (Walk over and grab his chin, kissing him solidly on the lips).~ + a805 + ~RandomNum(2,1)~ + ~[PC] I want a bath. Do you know where they are?~ + a1808 + ~RandomNum(2,2)~ + ~[PC] Teach me to scribe something new.~ + a2057 + ~RandomNum(2,1)~ + ~[PC] I want a bath, and some time to relax. Come on, show me where they are around here.~ + c_2_aran_bathflirt + ~RandomNum(2,2)~ + ~[PC] Teach me to scribe something new.~ + a2057 END There are three of these, and they cycle with a timer, so the first PID attempt in an inn gets one and then the timer blocks it and regular PID happens. This gives the PC a shot at partying a bit or not, as she or he sees fit. They cycle - every thrid time, a set of two random things become available - either the "teach me to scribe" or In this case, it is the female "teach me to scribe something new" state that gets the full treatment. So, the good news is that if a player wants to repeat the same kinds of interaction, they get 3 different cycle sets, each with a random pair of entries, each with several possible outcomes - by the time we follow this all the way, you could replay the same state a very large number of times and get different interactions each time. This is actually an exercise in futility from a design standpoint. The reason folks stick with the "Looping Lovetalk" or branches that have A > [123] > B [123] > C EXIT is that creating this level of detail is hugely difficult and time consuming, can obscure the plot/point of the discussion, and can delay completion of the mod for a long, long time. In this case, since I am having fun pushing all sorts of boundaries and playing with ideas, I can go ahead and do it - but I don't have to have a huge storyline or plot develop. In a Companion mod, the whole story is the interaction between the PC and his/her companion. Outside events have some impact, of course. This week's work, untested, and un-typo hunted, and un-spellchecked. The main alpha file has had the first bathing scene integrated and state-labeled, installed, and decompiled for recheck - but not tested. WARNING. NC-17. I don't think anything posted here beats daytime soap operas, but just in case, you have been warned. 5 states are pulled ( /* Inn Flirts: [PC] "Teach me to scribe something new" - Starts with PC and Aran on chair, PC on his lap */ // state hidden in Adult land - not written yet: c_take_it_off // state hidden in Adult land: bath1 // state hidden in Adult land: bath2 // state hidden in Adult land: - not written yet: possible encounter set by: Global("c-aranREinn","GLOBAL",1) // state hidden in Adult land: - not written yet: possible encounter set by: Global("c-aranREmoon","GLOBAL",1) IF ~~ a2057 /* Idea from Berelinde's Gavin BG2 - check for armor. Must make sure it can't e accessed from the PC responses where PC is showing off a dress, so needs some tidying before integration. */ SAY ~[ARAN] Aye, there be a bit more to it than first appears, eh? Here, let me help. Now, take th' quill, like this... dip it here. No, not that far down. We want naught in th' way o' splatter, just a fine line's worth. Good. Now, let me take your hand... an' then it be a circular motion, like this...~ = ~[ARAN] (His breath whispers warmth on your neck as he leans against your back, guiding your hand over the rough parchment.)~ IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,1)~ THEN GOTO c_1_aran_armor_noaccess_thigh IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,2)~ THEN GOTO c_2_aran_armor_noaccess_thigh IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,3)~ THEN GOTO c_3_aran_armor_noaccess_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,1)~ THEN GOTO c_1_aran_robe_access_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,2)~ THEN GOTO c_2_aran_robe_access_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,3)~ THEN GOTO c_3_aran_robe_access_thigh END IF ~~ c_1_aran_robe_access_thigh SAY ~[ARAN] (His other hand seems much more interested in other pursuits, as it gently parts your robe higher than the knee, and begins exploring.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his fingertips trace a copy of your motions on your inner thigh.)~ + c_trace_access ++ ~[PC] (You firmly move his hand to your waist, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied ++ ~[PC] Aran. Your hand. Move it or lose it.~ + c_move_it_lose_it ++ ~[PC] (You shift slightly and cover his hand with yours, guiding his motions.)~ + c_pc_access_granted ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting END IF ~~ c_2_aran_robe_access_thigh SAY ~[ARAN] (His other hand absently strokes your waist, running idle fingers up and down your hip.)~ ++ ~[PC] (You shift slightly on his lap, your robe parting to reveal most of your leg.)~ + c_trace_access ++ ~[PC] (You firmly move his hand to your waist, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting ++ ~[PC] Aran. Your hand. Move it or lose it.~ + c_move_it_lose_it ++ ~[PC] (You shift slightly and cover his hand with yours, holding his arm close around you in a gentle hug.)~ + c_task_under_hand ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt END IF ~~ c_3_aran_robe_access_thigh SAY ~[ARAN] (His other hand absently rests gently on your shoulder. By the warmth of his breath you can tell his eyes are not on the page, but very definitely looking down your front...)~ + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I need a bit of private tutoring.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I need a bit of private tutoring.~ + c_pc_arranges_another_meeting ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page and nestling deeper into his lap.)~ + c_shoulder_access ++ ~[PC] (You firmly adjust your robe to preserve modesty, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied ++ ~[PC] Aran. Pay attention to the work, not the scenery.~ + c_cough_and_redirect ++ ~[PC] (You shift slightly, and idly rub your hands along the outside of his leg, right below where your legs rest comfortably on him.)~ + c_pc_outside_leg ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt END IF ~~ c_1_aran_armor_noaccess_thigh SAY ~[ARAN] (His other hand seems much more interested in other pursuits, as it gently begins exploring your thigh. Fortunately or unfortunately, the armor makes this more an exercise in futility on his part, and he begins idly toying with your belt.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect ++ ~[PC] (You firmly move his free hand to your waist, while the quill scratches along the parchment. You sit comfortably wrapped in his arm.)~ + c_cough_and_redirect ++ ~[PC] Well, that was three minutes of my life wasted.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] You could get that belt off if we were all alone, you know.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You could get that belt off if we were all alone, you know.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better END IF ~~ c_2_aran_armor_noaccess_thigh SAY ~[ARAN] (Your armor protects you from the daring explorations of his other hand, but Aran's persistence pays off. Your belt loosens slightly under his ministrations.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect ++ ~[PC] (You firmly move his free hand to your waist, while the quill scratches along the parchment. You sit comfortably wrapped in his arm.)~ + c_cough_and_redirect ++ ~[PC] Hey, back off, sellsword. If I wanted my armor loosened, I would have done it myself.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better END IF ~~ c_3_aran_armor_noaccess_thigh SAY ~[ARAN] (His free arm sneaks around your waist, holding you tighly. Your armor protects you from the pressure of his grip, but you can feel his intensity as your arm drops to cover his.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect + ~Global("c-aranbathf1","LOCALS",1) Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + c_new_nobath + ~!Global("c-aranbathf1","LOCALS",1) Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + c_new_nobath + ~Global("c-aranbathf1","LOCALS",1) !Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + // hidden in Adult land: bath2 + ~!Global("c-aranbathf1","LOCALS",1) !Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + a1808 // hidden in Adult land: bath1 ++ ~[PC] Hey, back off, sellsword. If I wanted my armor loosened, I would have done it myself.~ + c_stop_flirt + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] This is niice. But I think I want us to have a little more privacy.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] This is niice. But I think I want us to have a little more privacy.~ + c_pc_arranges_another_meeting END IF ~~ c_new_nobath SAY ~[ARAN] Aye, there is a right fine idea. Come on, I have just th' place...~ = ~[ARAN] (He guides you to your room, trading a few copper coins for a hot washbasin as he passes the innkeeper. A small lantern flares, sending highlights and shadow across the ink smears along your wrist and armor. He pauses amid preparations, looking up with a grin...)~ = ~[ARAN] I guess th' question be, do you want me to help wash this while all that armor be on, or off?~ ++ ~[PC] (The sound of metal hitting the floor echoes in your ears as you undo each lace and belt slowly, savoring his reaction.) Does this answer your question?~ + // hidden in Adult land: c_take_it_off ++ ~[PC] Just wash the ink off of the armor, Aran. No amorous advances, thank you.~ + c_just_business ++ ~[PC] You know, you talk too much, and you take way to many liberties. You should leave. Now.~ + a1963 /* c-aranshutup57 */ ++ ~[PC] Do you ever think about anything but sex?~ + c_am_i_male END IF ~~ c_am_i_male SAY ~[ARAN] Last time I checked, I was male. Does that answer th' question?~ ++ ~[PC] Yes. (The sound of metal hitting the floor echoes in your ears as you undo each lace and belt protecting you slowly, savoring his reaction.)~ + // hidden in Adult land: c_take_it_off ++ ~[PC] Just wash the ink off of the armor, Aran. No amorous advances, thank you.~ + c_just_business ++ ~[PC] You know, you talk too much, and you take way to many liberties. You should leave. Now.~ + IF ~~ a1962 /* c-aranshutup56 */ ++ ~[PC] Last time I checked, I was female. And we ladies appreaciate a more refined approach, rather than having a dog sniff around constantly trying to bed us.~ + c_ok_ok END IF ~~ c_shoulder_access SAY ~[ARAN] (His breath quickens against your skin, and his distraction wavers enough that the line you are drawing together begins to wander.)~ ++ ~[PC] So, do you like what you see?~ + c_cough_and_redirect + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] You could offer me a drink, you kow. In my room. Upstairs. If... if you wanted to.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You could offer me a drink, you kow. In my room. Upstairs. If... if you wanted to.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better ++ ~[PC] Hey, your breath. That tickles... and I think you should stop.~ + c_stop_flirt ++ ~[PC] I was being sarcastic. Keep your eyes on the page. This is not a show put on for your benefit.~ + c_stop_flirt ++ ~[PC] Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch END IF ~~ pc_offended_scratch SAY ~[ARAN] Cyric's Crutch! That blighted well hurt. Hey, are we goin' to work on your scribin', or are you goin' to sit on my lap an' find ways to cause me pain?~ ++ ~[PC] Keep your eyes and your hands where they belong, and I am happy to have a friendly lesson. Next time your eyes wander, I will use a dagger instead of my fingernails.~ + c_cough_and_redirect ++ ~[PC] Sorry, did that hurt? What about this?~ + c_pc_chin_hit + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] I say we cut through all of this silly pretending, and we find out exactly how much pain you can handle. In private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] I say we cut through all of this silly pretending, and we find out exactly how much pain you can handle. In private.~ + c_pc_arranges_another_meeting ++ ~[PC] Sorry... that was not quite what I intended to have happen.~ + c_accidents_will_happen ++ ~[PC] Now that is entertaining. Look at the poor little boy, all sullen and crying for his mommy. What is the matter, can't you take a little scratch?~ + c_that_is_dangerous END IF ~~ c_pc_chin_hit SAY ~[ARAN] BANE'S BLOOD! I think I bit my lip on that one... warn a lad when you be about to straighten up, eh? Up, off, get up, an' let me get somethin' to stop th' bleedin'.~ ++ ~[PC] It serves you right for being frisky when all I wanted was a friendly lesson.~ + a1933 /* c-aranshutup27 */ ++ ~[PC] Oh, you poor poor thing... let me kiss it better.~ + c_thank_you ++ ~[PC] Oh, you poor poor thing... let me make it all better. A good slap across the face will distract you, like this...~ + c_bugger_off_that_hurt ++ ~[PC] (Giggle helplessly as he stands up, rolling you onto the floor.) + c_help_up ++ ~[PC] Sorry... that was not quite what I intended to have happen.~ + c_accidents_will_happen END IF ~~ c_pc_outside_leg SAY ~[ARAN] Hey, now, this be a mite bit public, an' you seem to be inetrested in things o' a more personal nature.~ ++ ~[PC] No one can see anything, Aran. Just relax and help me concentrate on the task at hand.~ c_task_under_hand ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] I... hey,. friends can just cuddle, right? I mean.... there is no harm in just working together. I mean, petting your leg like this is no more than petting a dog, right?~ + c_whatever_you_say_girl + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better ++ ~[PC] Hey. I do what I want, but you can't. I didn't say you could touch me like that. Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch ++ ~[PC] Sorry. I will stop.~ + c_now_i_didnt_say_that END IF ~~ c_task_under_hand SAY ~[ARAN] I'd blighted well be able to concentrate better if your hand weren't so warm. Somehow, this be less than relaxin'.~ ++ ~[PC] I... hey, friends can just cuddle, right? I mean.... there is no harm in just working together. I mean, petting your leg like this is no more than petting a dog, right?~ + c_lucky_dog ++ ~[PC] This is good. Well, this far is good, and no more.~ + c_finis_calm ++ ~[PC] I am having trouble concentrating, too. But this is nice.~ + c_finis_calm ++ ~[PC] You could kiss my neck. I wouldn't mind.~ + c_kiss_my_neck ++ ~[PC] I don't want you relaxed. I want you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished END IF ~~ c_whatever_you_say_girl SAY ~[ARAN] Friends do a mite bit more than that at times, too. But somehow I get th' feelin' this is leadin' down a path you have some doubts on. That be my cue to stop, eh?~ ++ ~[PC] Why are you running away from me? I just am not sure I know what I want.~ + c_that_is_dangerous ++ ~[PC] You are such a coward. you could press the issue, and you might find I was interested in more than just sitting on your lap.~ + c_that_is_dangerous ++ ~[PC] I didn't say you could leave.~ + c_that_is_dangerous ++ ~[PC] You are right. You should stop. I should stop.~ + c_that_is_dangerous ++ ~[PC] Are you still here? Sorry. I was distracted by that handsome young thing over there. Get out of here, quickly, and I might just be able to convince him I am free for the evening.~ + c_that_is_dangerous END IF ~~ c_trace_access SAY ~[ARAN] You feel like velvet, you know. Only a mite bit warmer, an' just a little bit like th' feelin' when a lightnin' bolt arcs close by. Excitin'. I can hear your breath movin' faster, too.~ ++ ~[PC] It is a pity we have so many clothes in the way, or this could feel so much better...~ + c_pc_forward ++ ~[PC] Stop talking. You are making me blush. You know how awkward I feel about all this. You could just touch me, and not talk about it.~ + c_this_is_much_better ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] Forward is good. Well, this far forward, and no more.~ + c_finis_calm ++ ~[PC] Hey. I do what I want when I want, but you can't. I didn't say you could touch me like that. Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch END IF ~~ c_kiss_my_neck SAY ~[ARAN] I think I just did. An' there... yep, I did it again. I can feel your pulse race a mite bit, too. Or am I wrong?~ ++ ~[PC] Shut up and kiss me.~ + c_mam_yes_mam ++ ~[PC] Completely wrong. My pulse is not racing, and I am definitely not kissing your cheek right now. And the whole caressing your hands as they run along my body... not happening.~ + c_never_had_so_much_fun ++ ~[PC] Actually, it is kind of just... icky. Stop.~ + c_move_it_lose_it ++ ~[PC] The speeding up of my breath has more to do with me getting angry than excited. You are frustrating me, in so many ways. I think I have had enough of this.~ + c_that_is_dangerous + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_another_meeting END IF ~~ c_help_up SAY ~[ARAN] Here, have a hand up, eh? All that gigglin' makes th' pain a bit more worthwhile. Your eyes sparkle when you laugh, you know. You want somethin' from the bar?~ ++ ~[PC] Actually, I was hoping you would take me in your arms, lead me back over into that dark corner over there, and we could practice some scribing with our lips.~ + c_go_makeout ++ ~[PC] I think I have had enough excitement for now. You go on, though. And put something cold on that lip, before it swells!~ + c_good_idea_there ++ ~[PC] No, I want you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished ++ ~[PC] It might be nice if someone were to dance with me.~ + c_go_makeout END IF ~~ c_pc_access_granted SAY ~[ARAN] Mayhap I be a bit forward, but you smell right nice, all cuddlin' up wi' me. This feels good.~ ++ ~[PC] Yes, it does. It is a pity we have so many clothes in the way, or this could feel so much better...~ + c_pc_forward + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_another_meeting ++ ~[PC] It might be nice if someone were to take a little walk with me, and perhaps warm my lips up a little. They feels so cold right now.~ + c_go_makeout ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] Forward is good. Well, this far forward, and no more.~ + c_finis_calm END IF ~~ c_pc_arranges_meeting SAY ~[ARAN] Now what be your meanin', here? What did you want?~ ++ ~[PC] I said I wanted a private tutoring sesion. I would love to play with your quill.~ + c_pickup_line ++ ~[PC] I was hoping you would ask me to your room to see your sketches.~ c_pickup_line ++ ~[PC] I asked for help scribing, someplace where I could feel more comfortable. ~ + c_not_pickup_line ++ ~[PC] Err... I said I wanted a private tutoring session in penmanship?~ + c_not_pickup_line ++ ~[PC] I asked you to teach me, not make eyes at me, or try to touch me, or anything else. But on second thought, I don't know if being alone with you is such a good idea. You might get the wrong idea. I should say, you will definitely get the wrong idea.~ + c_move_it_lose_it END IF ~~ c_pc_arranges_another_meeting SAY ~[ARAN] I know that look. You get that hungry look in your eyes right before... err... well, I know that look. If you be meanin' what I think you be meanin', I am ready an' willin'.~ ++ ~[PC] I said I wanted a private tutoring sesion. I would love to play with your quill.~ + c_pickup_line ++ ~[PC] I was hoping you would ask me to your room to see your sketches.~ c_pickup_line ++ ~[PC] I was asking for help scribing, someplace where I could feel more comfortable. ~ + c_not_pickup_line ++ ~[PC] Err... I said I wanted a private tutoring session in penmanship? What look are you talking about?~ + c_not_pickup_line ++ ~[PC] I asked you to teach me, not make eyes at me, or try to touch me, or anything else. But on second thought, I don't know if being alone with you is such a good idea. You might get the wrong idea. I should say, you will definitely get the wrong idea.~ + c_move_it_lose_it END c_pickup_line SAY ~[ARAN] Now that be a pickup line if I ever did here one. I am only happy to oblige. Just tell me when an' where, an' I will do my best to please you.~ ++ ~[PC] Ooooh, goody. Meet me at the gates of hell, when it freezes solid.~ + c_that_is_dangerous ++ ~[PC] I could happen to leave my door unlatched tonight...~ + DO ~SetGlobal("c-aranREinn","GLOBAL",1)~ + c_go_makeout ++ ~[PC] I was thinking of taking a walk outside this evening, in the moonlight. Perhaps we could walk together.~ + DO ~SetGlobal("c-aranREmoon","GLOBAL",1)~ + c_go_makeout ++ ~[PC] Right now. Right here. I can't wait.~ + c_pda_not_good ++ ~[PC] Oh, great. I forgot I was supposed to... I can't do this. I am sorry. I was about to make an excuse, but you deserve the truth. I just can't do this with you.~ + c_that_is_dangerous END IF ~~ c_not_pickup_line SAY ~[ARAN] Now, I must o' heard somethin' wrong, or jumped to some conclusion or other, on account o' I thought you were givin' me th' go ahead to get right personal wi' you.~ ++ ~[PC] You heard wrong.~ + c_that_is_dangerous ++ ~[PC] You heard correctly, but I changed my mind.~ + c_that_is_dangerous ++ ~[PC] Look, I am not good at all of this. I just don't know what I want.~ + c_that_is_dangerous ++ ~[PC] Aran, I want romance, not someopne who tris to jump me every chance he gets.~ + c_that_is_dangerous ++ ~[PC] You should stop listening to my words, and start watching my reactions. I think I lowered my head to one side, smiled, and batted my eyelashes at you. And my hand resting on your arm should tell you I am saying one thing and meaning another.~ + c_set_up_encounter END IF ~~ c_now_i_didnt_say_that SAY ~[ARAN] Now, I didn't say that. I like it just fine. I was just wonderin' what your intentions be, an' all.~ ++ ~[PC] Why, are you committed to a 'no touching before I am married' rule?~ ++ ~[PC] I don't intend anything. I am just sitting here with my good friend Aran. Friends do that, don't they?~ + c_whatever_you_say_girl ++ ~[PC] I intend you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished END IF ~~ c_pda_not_good SAY ~[ARAN] I think th' public doesn't need that kind o' entertainment. But we can be upstairs in two seconds flat, an' by th' gods I will carry you if you slow down or falter one bit.~ IF ~~ THEN DO ~SetGlobal("c-aranREinn","GLOBAL",1)~ EXIT END IF ~~ c_that_is_dangerous SAY ~[ARAN] You know, you have some troubles wi' th' whole male an' female thing, I think. Gods know I do, too. But wi' you... if I make a mistake, in word or behavior, I don't rightly know if you will be fine wi' it, or if you will just smash me like a blighted eggshell. You don't realize just how powerful you are. Or how dangerous to my whole soul. You surely confuse me.~ = ~[ARAN] I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both. I will see you later, <CHARNAME>.~ IF ~~ THEN EXIT END IF ~~ c_good_idea_there SAY ~[ARAN] You havbe a right fine idea, there. Mayhap a bit o' somethin' from th' bar will ease my sufferin'!~ IF ~~ THEN EXIT END IF ~~ c_just_business SAY ~[ARAN] Grumbar's Clay Fist, I have never had som much trouble readin' when it be business an' when it be pleasure. You got me thinkin' all sorts o' things, an' I can't rightly get my head on straight. Sorry about that. Just business, I get it. Mayhap someday I will figure you out. But I'm not rightly goin' to hold my breath on that one.~ IF ~~ THEN EXIT END IF ~~ c_stop_flirt SAY ~[ARAN] Right. Hey, you be a mite bit heavy on my lap, an' mayhap I need a bit more to drink. Why don't I go get somethin' nice for both o' us, an' you keep practicin' here? I'll go get us somethin'.~ IF ~~ THEN EXIT END IF ~~ c_ok_ok SAY ~[ARAN] Shar's Kiss... well, I be right sorry I said anythin'. Here, let me help wi' some o' this washin' an' then I will clear out right quick.~ = ~[ARAN] There. All cleaned up, as much as can be done. No harm, no foul. Sorry I misread you. I'll head back downstairs.~ END IF ~~ c_this_is_much_better SAY ~[ARAN] Aye, I do know. But where be th' fun in that. Workin' together, my chin on your shoulder, now that be a fine way to scribe.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_pc_access_denied SAY ~[ARAN] Mayhap I be a bit too forward at times. Sorry. This does feel nice, though.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_move_it_lose_it SAY ~[ARAN] Ma'am, yes ma'am! Sorry, I done read you wrong again. I'll just concentrate on helpin' you scribe. ~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_mission_accomplished SAY ~[ARAN] Well, m'Lady, mission accomplished. You can add happy, interested, aroused, an' thoroughly uncomfortable to that list if you want, too. But I'd best be helpin' you wi' scribin', on account o' we might be attractin' a few looks here an' there.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_lucky_dog SAY ~[ARAN] An' here I thought my wayward charm was workin' its magic, an' sparkin' wi' you. Serves me right. But I do say I'm right fine wi' this. I'd consider myself on hells of a lucky dog if you were just to sit wi' me like this for a bit.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_finis_calm SAY ~[ARAN] (You work together for a time, his strong hands guiding yours over copywork again and again, shaping and moving words and figures, until at last the ink is spent.)~ IF ~~ THEN EXIT END IF ~~ c_accidents_will_happen SAY ~[ARAN] Accidents do happen, they do. Right now, though, I think I might be a bit better off if you practice a bit. An' me, I... well, I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both.~ IF ~~ THEN EXIT END IF ~~ c_thank_you SAY ~[ARAN] Well, thank you right kindly. It were a mite bit small for so large a healin' touch, but I do appreciate it. I think I needs best be gettin' a good drink, or mayhap a bit o' cold water to slow th' swellin'. Hey, no gigglin'!~ IF ~~ THEN EXIT END IF ~~ c_go_makeout SAY ~[ARAN] It would be rude not to oblige, m'lady. I think I can assist you wi' that.~ IF ~~ THEN EXIT END IF ~~ c_never_had_so_much_fun SAY ~[ARAN] I never did have so much fun doin' absolutely nothin'. Just be careful, eh? On account o' you are completely intoxicatin'.~ IF ~~ THEN EXIT END IF ~~ c_bugger_off_that_hurt SAY ~[ARAN] Shar's Spite an' Spit, you do like harmin' a lad, don't you. Fine. I got better things to be doin' than this.~ IF ~~ THEN DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c_cough_and_redirect SAY ~[ARAN] *cough* Oh, now, what did I be talkin' about? Right, I do remember. That line was just fine. Now you need to just practice a bit. An' me, I... well, I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both.~ IF ~~ THEN EXIT END The good news is this is fun. The bad news is this level of nested detail is bloody well killing me - I need to actively seek ways of rewrapping things into more linear dialog, or the mod will be finished in 2050. I think there si a compromise way of doing some of this, by creating some 'filter states' using CHAIN and variables to make things that are similar in nature pass through without running down every last permutation directly. Like the swordfight materials, I think the 'make-out session" and RE-style things can be safely manipulated this way.
  18. Banter Rough Drafts, for checking with authors later (if/when they are available). For some of these, there will be no banter pack in which these are acceptable, as my interpretation of the permissions set governing G3 CrossMod really expects 2-way communication between authors (or at least approval) and both SHS's IEP Banters and PPG's Banterpack are designed around Canon BioWare™ NPC Joinables. Some retired mod authors have given a "green light" for new content, and some have not stated their wishes. But, tucking these ideas here gives time for feedback and recheck, and an easy place to link to when seeking permissions. Maybe eventually they will find a home. Since we are writing lines for other folk's characters, this gets to be tricky. No BioWare™ author has shown up and posted "you are destroying my characterization of Minsc!". But as we are all amateurs (there is no paid professional market for i.e. mod authoring), we can accidentally make someone else's character look bad - and that is just wrong. In light of that, the basic approach for this writing is simple - 1. Don't knock someone else's character. So, no below-the belt digs at a characterization. If a player is playing the other mod, they probably like it; why mess with their chosen mod? Player1 is supposed to be #1. NPCs exist only for their enjoyment. 2. The author is probably not going to be active, so when possible build NPC responses out of minor modification of existing strings in the relevant mod (writing in someone else's style can accidentally end up being parody, and could be seen as a direct insult, which breaks point #1.) 3. Since there is no direct opportunity for feedback, if there is a potential conflict, the other mod NPC wins. No "last words" or zingers for Aran. That inevitably means that materials where another author is no longer available will be weaker. C'est la vie. This is all just for fun, after all! 4. If at all possible, beg/bribe/coerce the other mod author to participate. It saves time, energy, and makes your job so much easier. Plus the characterization is correct from the get-go! So, a first try at this idea. Sillara is sometimes active, and I have played Saerileth before, so the possibility for inclusion is good. Let's try two banters, an underdark commentary, and a friendly "what in th' nine hells are you thinkin' goin' out wi' a 15 year old Chosen o' Tyr who can be makin' googly-eyes an' drawin' kittens an hearts on your palm to smitin' Demogorgons in th' blink o' an eye" talk. SAERILETH (Sillara/Nethrin, CoM hosted, retired) Puzzle Pieces: @20 = ~Thou sharest in thy father's taint. I will leave thee and disturb thee no more.~ @27 = ~Thou art satisfied? Thy trust is freely given. I thank thee for it. As long as thou dost tread the path of good, I will sojourn with thee.~ @28 = ~I do. Wilt thou have me by thy side or no?~ @53 = ~Forgive me. My zeal oft overcomes my discretion. In this matter, I bow to thy judgement.~ @28 = ~Nay, <PRO_LADYLORD> <CHARNAME>. We must not! Their peril is more than thou knowest: their souls are in danger of damnation!~ @111 = ~'Twould be false in me to deny that this place doth trouble me. (Saerileth sighs and slowly sits up. She leans over you, tracing your profile with her fingers.)~ @201 = ~Our mortal lives do oft seem full of injustice, but if our lots are here unjust, we may rest assured that the Maimed Tyr will not deny us justice when he doth judge us.~ @418 = ~Aye, so it doth, <CHARNAME>. And I pray Tyr that thou hast the strength to meet it.~ [sAERI412] @431 = ~(Saerileth shakes her head.) Nay, sweet my lord. I am a Chosen of Tyr. When that I do become His Proxy, then mayhap I shall be granted the life of a deva.~ [sAERI390] @432 = ~And if I do remain a mortal Proxy, as some do, still the stuff of my life will alter. I do not think that thou wilt be left alone, even should I die. For at my death I do but return to the realm of Mertion, where thou mayest find me again.~ @546 = ~My life is, and hath ever been, Tyr's only. I shall follow his will so long as I have breath.~ @979 = ~Thou art most skilled for one who had no formal instruction.~ @995 = ~Modesty would better become thee, <CHARNAME>.~ @1033 = ~Tell me, why dost thou serve as a paladin a god who places the law above the good?~ @1040 = ~Which wilt thou choose when the choice must be made: goodness or order?~ @1043 = ~Like me, thou hast heard the call of thy god. Thou art blessed.~ @1061 = ~Thou art most fortunate, and the grace of the Morninglord doth rest upon thee.~ @1102 = ~(Saerileth's eyes are soft as she looks at you.) I do pity thee that thou knowest not yet thy lord.~ @1165 = ~Thy jesting is misplaced, and I am not amused. Art thou indeed a mere brigand and cutpurse?~ @1451 = ~Why dost thou reject the gods?~ @1498 = ~Beast! Foul-mouthed, blasphemous fiend! Thy life is forfeit!~ @1164 = ~Then I shall watch thy actions. Do not fall into evil, <CHARNAME>.~ CODE /* SoA Aran-Saerileth */ CHAIN IF ~InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-AranSaerBanter1","GLOBAL",0)~ THEN ~C-ARANB~ AranSaerSoABanter ~[ARAN] Lady Paladin, I'd be a might happier if you would take th' time to answer me a question, beggin' my impertinence.~ DO ~SetGlobal("C-AranSaerBanter1","GLOBAL",1)~ == ~BSAERILE~ ~[sAERILETH] Speak on, Aran.~ == ~C-ARANB~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[ARAN] <CHARNAME>'s rightly leader here, an' I expect has reason to have so young a lass on th' front lines. I was workin' trade costers m'self at your age, so I got no problem wi' that. But you seem a bit more focused on what be right an' wrong than what be practical.~ == ~C-ARANB~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[ARAN] <CHARNAME>'s rightly leader here, an' I expect has reason to have so young a lass on th' front lines. I was workin' trade costers m'self at your age, so I got no problem wi' that. But you both seem a mite bit more than just comrades in arms.~ == ~BSAERILE~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] Which would thou choose when the choice must be made: goodness or utility? There is but one answer.~ == ~BSAERILE~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] I am his love, and he is mine own.~ == ~C-ARANB~ ~[ARAN] An' this answer serves Tyr, on account o' you bein' his Chosen an' all?~ == ~BSAERILE~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] My life is, and hath ever been, Tyr's only. I shall follow his will so long as I have breath.~ == ~BSAERILE~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] My life is, and hath ever been, Tyr's. I shall follow his will so long as I have breath. <CHARNAME> knows this. He will understand the depth of my faith.~ == ~C-ARANB~ ~[ARAN] I'm not sure I understand that kind o' faith, is all. I never did.~ EXIT /* SoA Saerileth-Aran */ CHAIN IF ~InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("Saerileth") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-SaerAranBanter1","GLOBAL",0)~ THEN ~BSAERILE~ SaerAranSoABanter ~[sAERILETH] Why dost thou reject the gods? The foul-mouthed oaths thou dost speak do disservice to all.~ DO ~SetGlobal("C-SaerAranBanter1","GLOBAL",1)~ == ~C-ARANB~ ~[ARAN] Come, now, Saerileth. There must o' been a time when you were not so tight-ar... err... no, I suppose you never did let your hair down, so to speak. You haven't had enough time in life yet.~ == ~BSAERILE~ ~[sAERILETH] Thy jesting is misplaced, and I am not amused.~ == ~C-ARANB~ ~[ARAN] Now, don't you be gettin' all offended, lass. There be a place for a harmless bit o' language, sometimes. An' Tymora seems to be fine wi' me playin' fast an' loose.~ == ~C-ARANB~ IF ~OR(2) Class("c-aran",PALADIN_ALL) Class("c-aran",CLERIC_ALL)~ THEN ~[ARAN] How about we not get our respective gods into no minor squabble just on account o' my blasphemin', eh?~ == ~C-ARANB~ IF ~!Class("c-aran",PALADIN_ALL) !Class("c-aran",CLERIC_ALL)~ THEN ~[ARAN] I know I am no champion o' virtue. I done lost that in a card game when I... never you mind that. But I try to back <CHARNAME>, an' you back <CHARNAME>, so that has to count for somethin', eh?~ == ~BSAERILE~ IF ~OR(2) Class("c-aran",PALADIN_ALL) Class("c-aran",CLERIC_ALL)~ THEN ~[sAERILETH] I do pity thee that thou knowest not yet the wishes of thy god. Foul-mouthed blasphemy will forfeit the good will of all of the gods.~ == ~BSAERILE~ IF ~!Class("c-aran",PALADIN_ALL) !Class("c-aran",CLERIC_ALL)~ THEN ~[sAERILETH] I do pity thee that thou knowest not yet the power of worshiping one god above all others. Foul-mouthed blasphemy will forfeit the good will of all of the gods.~ == ~C-ARANB~ ~[ARAN] Is this somethin' where you are likely to raise a sword against me if I curse a mite here an' there?~ == ~BSAERILE~ ~[sAERILETH] As long as thou dost tread the path of good, I will sojourn with thee. But I warn thee... curb thy language.~ == ~C-ARANB~ ~[ARAN] You know, hearin' those words from a little slip o' a girl not even out o' apprentice age might be laughable in some circumstances. But seein' as you can hold your own in combat an' healin', I will take you right serious. At least, as far as I can. Hard to break old habits.~ EXIT /* UD Aran-Saerileth */ CHAIN IF ~Global("c-drow","GLOBAL",1) InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-AranSaerBanter2","GLOBAL",0)~ THEN ~C-ARANB~ AranSaerUDBanter ~[ARAN] I know I don't rightly take you serious all th' time. You be a fine companion, though a mite bit stubborn an' mayhap a bit fanatical. But here, I can see why a lad might follow in your footsteps a mite. This place deserves to be eradicated.~ DO ~SetGlobal("C-AranSaerBanter2","GLOBAL",1)~ == ~BSAERILE~ ~[sAERILETH] 'Twould be false in me to deny that the continued existence of this place doth trouble me.~ == ~C-ARANB~ ~[ARAN] I'd think it be time to call forth a holy crusade, an' clear 'em off out o' here. Mayhap destroy evey last one o' them.~ == ~BSAERILE~ ~[sAERILETH] Our mortal lives do oft seem full of injustice, but if our lots are here unjust, we may rest assured that the Maimed Tyr will not deny us justice when he doth judge us. But all of these creatures have chosen to serve evil. Their judgment hath been wrought, their lot decided, and eventually they shall fall to the power of Tyr.~ == ~C-ARANB~ ~[ARAN] I don't suppose there be some who might follow a good cause down here, eh? Mayhap one or two redeemed souls, trapped alongside all this scurryin' evil?~ == ~BSAERILE~ ~[sAERILETH] Forgive me. My zeal oft overcomes my discretion. In this matter, I spoke hastily; Tyr is the Judge, and I am his Champion. Perhaps there are a few souls the Maimed One would have me spare. It is not my decision to make.~ == ~C-ARANB~ ~[ARAN] Well, now you done got me worried. Usually, you be th' one takin' things to extremes. I was about to suggest we just send 'em all Tyr's way, an' let him figure out who goes where. I think down here, I be a might bit more comfortable wi' "guilt by association".~ EXIT /* are you sure about this romance? : BCS */ IF InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("SaerilethRomanceActive","GLOBAL",2) Global("c-aranpcsaerrom","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranpcsaerrom","GLOBAL",1) %arand_friend_song% StartDialogNoSet(Player1) END /* are you sure about this romance? : DLG */ IF ~Global("c-aranpcsaerrom","GLOBAL",1)~ THEN BEGIN aranpcsaerrom SAY ~[ARAN] Now, this be naught in th' way o' my business. But I have to ask... are you an' Saerileth gettin' serious?~ ++ ~[PC] Of course not. That is a ridiculous suggestion.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + have_you_seen_how_she_looks_at_you ++ ~[PC] What do you think?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Yes.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + are_you_kidding ++ ~[PC] Are we holding hands and kissing occasionally? Yes, I think we are. Are we getting serious? I am not sure.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + are_you_kidding ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Speak of this to me again, and you will be looking for a new line of work. And perhaps searching for your missing head.~ + c-aranshutup32 EXIT IF ~~ are_you_kidding SAY ~[ARAN] Do you be kiddin' wi' me? A lass what has seen less than sixteen winters? Give her a year to come o' age a' make her own chices, an' mayhap I wouldn't kick her out o' my b... err... well, she is pretty an' all, I guess. But she don't know squat about livin', let alone havin' a serious relationship. Tyr's Blasted Buttocks, don't send a child to do adult's work, <CHARNAME>. Love isn't just for play.~ ++ ~[PC] Take one look into her eyes, and tell me that she does not love me.~ + she_does_at_that ++ ~[PC] She is the Chosen of Tyr. She is strong enough, wise enough, and driven enough to know her own mind. Do you really think we would be together if she was not set on having it that way?~ + no_guess_not_kid ++ ~[PC] What, are you jealous? I did not know you were in love with her too.~ + hells_no_cute_but_crazy ++ ~[PC] It is a passing crush, and I intend to have as much fun with her as her religious views will allow.~ + watch_out_boy_shell_chew_you_up ++ ~[PC] So now you are an expert on serious relationships? That is a laugh. You don't even remember the barmaid's name the next morning.~ + my_own_business END IF ~~ have_you_seen_how_she_looks_at_you SAY ~[ARAN] You must be blighted blind, then. Th' lass looks at you wi' th' intensity o' first love, an' th' passions o' a full grown woman. You'd best be careful around her, on account o' she might get th' wrong idea - or worse, th' right one.~ ++ ~[PC] I don't really need to be careful. I think I am falling for her.~ + are_you_kidding ++ ~[PC] Are we holding hands and kissing occasionally? Yes, I think we are. Are we getting serious? I am not sure.~+ watch_out_boy_shell_chew_you_up ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Speak of this to me again, and you will be looking for a new line of work. And perhaps searching for your missing head.~ + c-aranshutup33 END IF ~~ my_own_business SAY ~[ARAN] Look, <CHARNAME>, I love th' way women move, th' way they speak, th' way they smell, th' way they smile... hells, I just love women. But me an' someone what wears th' flower be a mite different than what you are talkin' about. First off, we all have th' age o' consent. Second off, if I tick off th' lady in question, she may box my ears, kick me, get me thrown into th' street, or mayhap carve me up a little, as be her choice. With Saerileth...~ IF ~~ THEN GOTO watch_out_boy_shell_chew_you_up END IF ~~ she_does_at_that SAY ~[ARAN] Aye, she does. That be even more dangerous.~ IF ~~ THEN GOTO love_women_but END IF ~~ no_guess_not_kid SAY ~[ARAN] Mayhap you are right. Mayhap she be older than her years, an' wiser than a sage; mayhap she be mature enough to understand that relationships be work as well as fun. But all that wisdom an' such be packed into a body what be still growin' an' changin'.~ IF ~~ THEN GOTO love_women_but END IF ~~ hells_no_cute_but_crazy SAY ~[ARAN] Jealous? No possibility o' that, boyo. She scares me half to death.~ IF ~~ THEN GOTO love_women_but END IF ~~ love_women_but SAY ~[ARAN] Look, <CHARNAME>, I love th' way women move, th' way they speak, th' way they smell, th' way they smile... hells, I just love women. But me an' someone what wears th' flower be a mite different than what you are talkin' about. First off, we all have th' age o' consent, meanin' we can make our own choices. Second off, if I tick off th' lady in question, she may box my ears, kick me, get me thrown into th' street, or mayhap carve me up a little, as be her choice. With Saerileth...~ IF ~~ THEN GOTO watch_out_boy_shell_chew_you_up END IF ~~ watch_out_boy_shell_chew_you_up SAY ~[ARAN] You know how 'hell hath no fury like a woman scorned'? Well, take one look at her an' all you see is slim little hips, curves to die for, an' lips beggin' to be kissed - not one bit o' th' hells about her. Take a look in her eyes, though, an' you see an intensity an' a devotion that be downright scary. Now picture her if you hurt her. There won't be any place on any o' th' Planes where you could hide from her wrath. She'll rip you in half wi' her bare hands, then heal you up just so she can do it again.~ ++ ~[PC] You are taking this too seriously. I am much more powerful than she is. She will never be able to defeat me.~ + I_warned_you ++ ~[PC] I don't intend to hurt her. I think she may be my soulmate.~ + I_warned_you ++ ~[PC] She's a bunny rabbit. What's she going to do, nibble my bum?~ + I_warned_you // heh - Monty Python is fun. But this one might be a good one to lose. ++ ~[PC] This is my business, not yours. Keep out of it.~ + I_warned_you END IF ~~ I_warned_you SAY ~[ARAN] None o' my business, anyways. You think you can handle it. But I have been on th' receivin' end o' a regular woman what feels she has been wronged, an' it were a mite painful. Breakin' th' heart o' someone with th' feelin's o' adolescent first love who just happens to be an accomplished fighter an' th Chosen o' Tyr... that's bloody suicide.~ IF ~~ THEN EXIT END
  19. When it is set up to run on a townsperson/guard with a designated dialog file, and that file is all RandomNumber() and all states use simple IF ~~ THEN EXIT triggers. Luckily, following an exact copy and rebuild of BioWare™'s coding works great. Extend the dialogs with a RandomNum(2,1) and don't fill ot the second condition so that it has a 50% chance of firing, and then have at it... APPEND DMTOWN1 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1774 SAY ~By Helm... yer outfitted for battle. I'd give my right arm for some o' that gear.~ IF ~~ THEN DO ~SetGlobal("dmtown1aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1771 // chain END END APPEND DMTOWN2 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1773 SAY ~Ay, now... you looks like a sword for hire, you does. You lookin' for some work?~ IF ~~ THEN DO ~SetGlobal("dmtown2aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1772 // chain END END APPEND GMTOWN01 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1775 SAY ~Is that spitting really becessary? This is not the slums, you know.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1779 // join END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1776 SAY ~Mmm...I haven't been to one of the spa tubs in ages. It's the only luxury we, here, in the city really have.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1780 // chain END END APPEND GMTOWN02 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1777 SAY ~You, there! You look like the fighting type! Are you in the army? Can I join through you?~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1781 END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1778 SAY ~I am here to join the glorious army of Amn! There are victories to be had and both coin and women to earn!~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1782 END END APPEND ~C-ARANJ~ IF ~~ a1779 SAY ~[ARAN] I don't rightly think a little bit o' moisture is goin' to hurt anythin' around here. An' dust be dust, city or country. But I take your point, it were blighted rude o' me.~ IF ~~ THEN EXIT END IF ~~ a1782 SAY ~[ARAN] Ah, that be th' call o' th' Wild Recruiter. "Join th' Army! Coin, Wine, Women, Song, Travel!" I'd be changin' that around, a mite. "Join th' Army! Lice! Weeks Of Tedious Boredom Punctuated By Moments O' Sheer Terror An' Mortal Danger! All th' Ditches you can Dig! Travel to New Places, Meet New People, Then Kill 'Em! Wine, Women, an' Song subject to your own coin, an' we don't pay for none o' th' problems what result." Then again, it probably wouldn't bring in young idiots what think duty in a far-flung colony be a walk in th' park.~ IF ~~ THEN EXIT END END CHAIN ~C-ARANJ~ a1771 ~[ARAN] They say th' gear don't make th' man. But it do help, eh?~ == DMTOWN1 ~[DMTOWN1] Take it from one who spent a little time in Maztica. Good gear saves lives.~ == ~C-ARANJ~ ~[ARAN] Brother, I hear you. You spend a long time?~ == DMTOWN1 ~[DMTOWN1] Two years before I came to my senses and went back to civilian life. I'll take my chances with the dangerous nightlife around here. At least that I can predict.~ == ~C-ARANJ~ ~[ARAN] Well, good luck to you. I don't think i could take th' quiet life for too long, but it seems to have agreed wi' you.~ == DMTOWN1 ~[DMTOWN1] Good luck and a pearl to you.~ EXIT CHAIN ~C-ARANJ~ a1772 ~[ARAN] Why, do you know o' any?~ == DMTOWN2 ~[DMTOWN2] Well, there's always some hirin' o' watchmen, and sometimes they need a bouncer at some inns.~ == ~C-ARANJ~ ~[ARAN] So, long story short, you got nothin'.~ == DMTOWN2 ~[DMTOWN2] Hey, don't get touchy. We were just makin' conversation!~ == ~C-ARANJ~ ~[ARAN] Civilians. Can't live with 'em, can't live wi' out 'em. An' if you take 'em out back to beat some sense into 'em, you end up wi' a tenday in jail an' a stiff fine.~ EXIT CHAIN ~C-ARANJ~ a1781 ~[ARAN] Why, sure thing. I can help you out right quick. You ever heard o' th' Jerva's Jerkins? They be th' toughest, most fierce company Amn has to be offerin'. An' I can get you an introduction, for only 5 gold.~ == GMTOWN02 ~[GMTOWN02] I don't have that much. What will 3 gold get me?~ == ~C-ARANJ~ ~[ARAN] Well, I could hook you up wi' a lad what served in th' regulars in Maztica...~ == GMTOWN02 ~[GMTOWN02] I really don't have more than 3 copper pieces to spare. What will that get me?~ == ~C-ARANJ~ ~[ARAN] For 3 coppers, I can start your hazin' ritual right away, by takin' your coin an' tossin' both you an' your bloody coin in th' nearest latrine.~ EXIT CHAIN ~C-ARANJ~ a1780 ~[ARAN] Now that be true enough. Though I doubt there be anythin' around here like those in Calimport, eh?~ == GMTOWN01 ~We have a much more civilized approach to bathing here in Amn. Although it does not appear that you are familiar with the concept of bathing.~ == ~C-ARANJ~ ~[ARAN] Bane's... right. Don't suppose it would do us much good if I respond. Shuttin' up an' soldierin'.~ EXIT
  20. Lots of tutorials out there, I think, on DreamTalks, hassles with Dream Timers, and all sorts of stuff, so this will probably be more of a "post the talks and be done with it". The easiest - a straightforward "on waking, outside, after Underdark". .bcs, .dlg, and PartyRested(). No need t=for the DreamScript, C-ARAJD, as that script only runs at rest - and since there is no before-rest | after-rest pairing, this one is a straightforward one. c-aran.baf addition: /* On waking banter, after Underdark : bcs */ IF InParty(Myself) Global("c-aranwakeup","LOCALS",0) Global("Chapter","GLOBAL",6) CombatCounter(0) !StateCheck(Myself,CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) PartyRested() // this one makes it immediately after rest !RealGlobalTimerNotExpired("c-aransmalltalk","GLOBAL") // not while smalltalk timer is still running, so we don't load up OR(2) AreaType(OUTDOOR) AreaType(FOREST) !AreaType(DUNGEON) THEN RESPONSE #100 SetGlobal("c-aranwakeup","LOCALS",1) RealSetGlobalTimer("c-aransmalltalk","GLOBAL",300) PlaySong(0) PlaySound("c-aranft") StartDialogNoSet(Player1) END c-aranj.d addition, two possibilities - waking up during day, or waking up during night /* On waking banter, after Underdark : dlg */ IF ~Global("c-aranwakeup","LOCALS",1) TimeOfDay(DAY)~ c_nice_to_see_day SAY ~[ARAN] Birds. Daylight. Sunrise. Blighted hells, it be nice to stretch out after a real sleep, an' see th' sky...~ IF ~~ THEN DO ~SetGlobal("c-aranwakeup","LOCALS",2)~ GOTO c_we_made_it END IF ~Global("c-aranwakeup","LOCALS",1) TimeOfDay(NIGHT)~ c_nice_to_see_night SAY ~[ARAN] Stars. Breezes. Selune Herself, shinin' down. Blighted hells, it be nice to stretch out after a real sleep, an' see th' sky...~ IF ~~ THEN DO ~SetGlobal("c-aranwakeup","LOCALS",2)~ GOTO c_we_made_it END IF ~~ c_we_made_it SAY ~[ARAN] for awhile there, I thought we might never get topside again. I did not relish th' thought o' endin' up stuck down in th' Underdark permanent-like.~ ++ ~[PC] Oh, it wasn't so bad. At least we knew almost everything we met was just waiting for a chance to kill us.~ + c_like_they_arent_now ++ ~[PC] The classic Whitehand juxtaposition - say something nice, but add a swear word or two strong enough to blister the ears of young children.~ + c_beautiful_words ++ ~[PC] Good, you are up. Get some food going, fast. I am starving!~ + c_and_not_fungus + ~Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",1)~ + ~[PC] Hey, I am not done with you yet. I still have some unattended romantic business to finish...~ + c_going_to_kill_me ++ ~[PC] Shhh. Not so loud. I am going back to sleep for awhile.~ + c_get_up END IF ~~ c_like_they_arent_now SAY ~[ARAN] We don't have to be in Underdark for that to be true, eh? If danger be th' spice o' life, then I think you be cayenne, paprikea, an' burnin' oil all rolled into one!~ IF ~~ THEN GOTO c_get_up END IF ~~ c_beautiful_words SAY ~[ARAN] Fervent feelin's fill foul phrases full, eh? I guess I should o' said "Mystra's Tears", or "Lathander's Smile", or some such.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_and_not_fungus SAY ~[ARAN] Praise be to th' gods, we don't have to worry about no strange creatures showin' up in th' food, an' there be not a mushroom or fungus in sight. Real meal, an' open air.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_going_to_kill_me SAY ~[ARAN] Good gods, woman. You are like to kill me. We can always stop for a mite later, but we'd best be movin' on.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_get_up SAY ~[ARAN] Now, pop right out o' that there bedroll, <CHARNAME>... my cookin' muscles have been all cramped down underground. I can feel a first-class meal comin' on. An' I be in th' mood for a right fine <DAYNIGHT> o' travel an' adventure!~ IF ~~ THEN EXIT END Taking ideas for expansion, but sometimes short and sweet is all the scenery dialog you need. Reminders to self - Classic Modder Mixups to recheck in main files - Posible Mismatches: SCOPE. we set a timer on each fun talk and flirt that tries to space out potential scenery dialog/ fun talks so that you don't end up with several becoming evaluated true at the same time. Some places that tend to load up include the start of every major area, and every chapter, so there is a talk-fest and then not so much. But, is it consistent in its usage? we need to recheck RealSetGlobalTimer("c-aransmalltalk","GLOBAL",300) <-> !RealGlobalTimerNotExpired("c-aransmalltalk","GLOBAL") as a pairing, because if we use the game time timers on either side of this in other code, it will not do what we want it to do. Same with variables - edited above code just now because I set a LOCALS and closed a GLOBAL, which will not work quite as intended... Global("c-aranwakeup","LOCALS",0) <-> SetGlobal("c-aranwakeup","LOCALS",1)
  21. Well, I started awhile ago on this, asking folks for input, and got some, so it is probably time to figure out where he really goes. Synopsis We want to tell the game where Aran is supposed to meet the party - where he "spawns" in-game. To do that, we use WeiDU to add him in, first having researched area, x.y coordinates, and extended that area's script with the instructions to do so. In addition, we want to allow players to choose where he goes, but they have to choose one area out of the pool of choices, and the instructions must be run out (can' be skipped or uninstalled without replacement, or he will never spawn for players). Starting at Providing Choices In The .tp2 There are some cool ways of getting player input, including very customizable things like ACTION_READLN and setting up multiple components. There are some advantages to READLN we have already discussed, so let's go to a simple way of adding a player choice to an install - SUBCOMPONENT and FORCED_SUBCOMPONENT. Regular WeiDU installation Choices; Simple. Effective. And They Can Roll Back. In our regular WeiDU installation, the easiest way to let things work is to create a separate component and let players choose what they want to install, like this: BEGIN ~This is the first component in my mod.~ BEGIN ~This is the second component in my mod.~ Simple enough, though sometimes it feels odd to do a BEGIN without an END, but don't complain to the bigg - that is way way legacy stuff that can't be changed without messing up about everything out there already coded. He didn't write it like that - it came that way from back in the day, and we need it to say how the game will play. Darn - almost made that work, but it got confusing. Basically, if we want to be able to use older mods, we need backwards compatibility, and the bigg has to stick within certain constraints, this being one of them. With this example above, all we are saying is "WeiDU, do this first set of instructions." "WeiDU, do this second set of instructions." So, a mod .tp2 might have something like BEGIN ~This is the first coponent in my mod. Aran is starting in Candlekeep.~ EXTEND_BOTTOM ~CANDLEKEEP.ARE~ ~aranw/baf/starting_area.baf~ BEGIN ~This is the second coponent in my mod. Aran is starting in East Timbuktoo~ EXTEND_BOTTOM ~EAST_TIMBUKTOO.ARE~ ~aranw/baf/starting_area.baf~ This lets the player choose to install component 1, Candlekeep start, or to install component 2, African Safari start, and we have accomplished our mission. Except... under this configuration, the player could choose 1 AND 2. They could choose 1 OR 2.They could choose 1. They could choose 2. Or they could skip both. Worst of all from a mod author's standpoint, they could choose both, then uninstall them both, and then come complaining when Aran doesn't show up in the game... so we probably do not want to do the installation choice this way. HEY - why don't we use READLN? I mean, it is simple enough - the code is out there, and wee have already gone through it in another post - why would we *not* use that fancy way of creating choice for the player in this instance? Two words... Weidu. Log. When WeiDU puts out the central log of everything, it sees components that are installed. The .DEBUG created from your mod install has lots of cool information for troubleshooting, but standard practice for troubleshooting is to get the big, obvious text file in the game folder named "weidu.log" and use it to determine if things have gone right or wrong in a player's game. Those entries are *only* mod components installed, not the READLN choices, because the WeiDU.log serves a cool purpose - it helps weidu operate. Cluttering it up with inner actions of a component would mess it up, as will PRINT and other commands within your .tp2. Basically, it is an index of mod components, not a listing of every single change to your game in great detail. Here is a sample entry in the weidu.log after installation: Now, I can go with a "list every component approach, like Fixpack: but we just figured out I don't want that approach, because with Fixpack we want players to be able to install and uninstall various things as they choose. With the spawining area, this is not such a good idea. Not only do we want players to choose one, we want them to be required to choose one of several choices, or have the mod pull itself out - because if you can't spawn him, it is just as bad if you have him popping up in a dozen areas, all coming up to various versions of himself like in Multiplicity, saying "Hey, you look familiar - what a handsome dude you are. You got any work?" And READLN doesn't leave a clue in the weidu.log as to which choice the player has made, so 3/4 of the way through a Mega-BGT-BP, when a player is completely confsed, and wants to go pick up Aran, We can't go "gee... do you remember where you told him to spawn, three months ago, while you were spending hours staring at your computer screen willing the installation to move faster?" So we want 1. a way that weidu will ask the player to choose from a panel of choices 2. allow weidu the ability to report which choice was made 3. require/demand/insist/not proceed until the player chooses one of the panel of choices. Enter the world of SUBCOMPONENT | FORCED_SUBCOMPONENT (tadaa!) Let's go back to Grim Squeaker's Tyris Flare mod for a second. I only posted a portion of the Weidu.log. The full entry for Tyris looks like this: Now, that is pretty cool. Grim Squeaker has a second component, that allows players to choose an alternate portrait. Let's look at how it got coded: BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate1/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate1/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate1/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 2~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate2/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate2/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate2/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 3~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate3/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate3/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate3/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 4~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate4/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate4/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate4/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ The initial DESIGNATED 101 is a way of telling weidu that the modder wants this component to be labled 101, even if it is component 2 of 2. Ordinarily, Weidu decides component numbers on the fly, based on what it sees - a component can get swapped around in install order over the course of development, etc. This DESIGNATED locks the component number. You might want to do this if you are making sure things remain available to check for over time by other modders, so that if they put something like line 2, REQUIRE_COMPONENT, or FORBID_COMPONNT, or anything else in that series of choices, the numbering is right. Here, an example. Pretend I made a mod that Grim Squeaker had contributed to that already had Tyris' portarit choice in it. Because he put DESIGNATED 101, I can use that number to avoid duplication - FORBID_COMPONENT ~Setup-TyrisFlare.tp2~ ~101~ ~Tyris Flare's Alternate Portraits are already installed, therefore skipping alternate Tyris portraits...~ and he he could add [FORBID_COMPONENT ~setup-cmorgans_massive_portrait_pack.tp2~ ~27~ ~Sorry, you already chose Tyris' portrait, therefore skipping alternate portraits...~ Of course, if I did not use DESIGNATED 27, and I added another component, it would become component 28, and then Grim is messed up bad - so usig DESIGNATED can help with things like this. Why not just do it Old Skool, and go with BEGIN ~Alternate Portrait 1~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Well... becuse players dont want to be bothered with picking and choosing components for every mod. Some folks would just install everything. Under that setup, Tyris would have her original portrait. Then Alternate 1 would be added. Then Alternate 2, then 3, then 4, each overwriting the last. And the end result would be that most installs of Tyris Flare would use Alternate Portrait v4, and there would be a bunch of extra lines in the weidu.log, and it would be silly. So, putting these into So, next line is already covered. He has 4 components, BEGIN ~Alternate Portrait 1~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Why not just do it Old Skool, and go with this as is? Well... because players don't want to be bothered with picking and choosing components for every mod. Or reading README's and figuring out that they are installing something that does exactly the same thing over the top of what they just chose. Some folks would just install everything. Under that setup, Tyris would have her original portrait. Then Alternate 1 would be added. Then Alternate 2, then 3, then 4, each overwriting the last. And the end result would be that most installs of Tyris Flare would use Alternate Portrait v4, and there would be a bunch of extra lines in the weidu.log, and it would be silly. So, putting these into a new format wuill avoid this. As a side note, he has made them all dependent on Tyris being installed, which is generally a good thing for mod-specific content changes. You don't want players adding stuff that has no use in-game, or worse - if this component had tried to edit Tyris' .cre, the mod component would fail and stop installation with an error message about missing the .cre. So, a line that requires that the central component of Tyris Flare be installed, looking for component ~0~. Adding this line back into our deconstruction - BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Now things get fancy. He makes each of these components into be a subset of another component, so that what we originally had as four separate install choices become one of a small group of choices: BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 2~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 3~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 4~ SUBCOMPONENT ~Alternate Tyris Portraits~ So far, beautiful. I can adapt the same idea, and go crazy! Except... why SUBCOMPONENT? What happened to the FORCED_ ? Well, Grim Squeaker sent Tyris Flare out into the world with an existing portrait. No player *has* to install *any* of the alternate portrait choices. So under this configuration, the player can choose to skip the whole thing, or choose one of the portraits. I can't do that for Aran's spawning - I only want one of him, and I insist that the player choose one. So, simple enough edit - with Tyris, all I would have to do to make a player not be able to complete the install without the choice being made, is change that SUBCOMPONENT into FORCED_SUBCOMPONENT. Logical, huh.
  22. Commentary to follow, but basics - taking suggestions for better pathways/responses. /* APOLOGY: PC approaches ARAN while TIMERNOTEXPIRED - PC is seeking him out for an apology, either given or rec'd */ /* Aran Is Mad PID Responses (4 random) */ IF ~~ c-aranmad1 SAY ~[ARAN] (Aran glares at you, his face sullen and unresponsive. He moves away.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad2 SAY ~[ARAN] Hey, you be a mite pushy there. I'm not rightly happy. So leave me alone, unless it be business.~ ++ ~[PC] Fine. Be that way. I don't care.~ + a1232 ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] I'm sorry. I did not mean to make you angry.~ + c_pc_apology ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c-aranmad3 SAY ~[ARAN] (Aran studiously ignores you, stepping away and avoiding your eyes, his jaw set stubbornly.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad4 SAY ~[ARAN] We got nothin' to say to one another right now, <CHARNAME>. We got things to discuss, but now is not rightly the time.~ ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] (Burst into tears.)~ + c_pc_tears ++ ~[PC] Sulking? Oh, that is *so* adult.~ + a1232 ++ ~[PC] Fine. Be that way. I don't care.~ + c-aranmad1 END IF ~~ c_aran_is_still_mad SAY ~[ARAN] Look, I done got close enough to you to be able to be hurt. Don't you be thinkin' I am some toy what to screw with. A man's got some pride, though blighted little be left him after th' gods an' womenfolk done had their ways. Just leave me be for awhile.~ IF ~~ THEN EXIT END IF ~~ c_pc_tears SAY ~[ARAN] Hey, that be no fair. Hey... now, stop th' waterworks... you done hurt me a good bit there. I just need a mite bit o' space...~ ++ ~[PC] Fine. Be that way. I don't care. I hate you!~ + a1232 ++ ~[PC] I... I just wanted to apologise. I'm sorry if I hurt you. I didn't mean to.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are a moody, ridiculous egotistical brat, and I am beginning to think you will never grace my bed again.~ + c_aran_is_still_mad ++ ~[PC] A few tears, and you cave like an apprentice in his first year. Do you have any spine, or should I give you sometime to grow one?~ + c_aran_offended ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair ++ ~[PC] (Keep sobbing, burying your face in his shoulder)~ + c_you_dont_play_fair ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c_aran_offended SAY ~[ARAN] You ruddy hurtfull little vindictive... get away from me.~ ++ ~[PC] Look, this is coming out all wrong. I... I wanted to apologise.~ + c_pc_apology ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] Still sulking? Oh, that is *so* adult.~ + c-aranmad1 ++ ~[PC] So, you have a little spine. Good. When you come and apologise to me, just remember that I do not appreciate weaklings.~ + c-aranmad3 // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_pc_apology // PC flatters Aran ++ ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ + c_kiss_palm // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] I can't stand you glowering and silent, Aran. My time with you is too important. You make this all bearable. Please... I am sorry. Can't a handsome, wonderful man like you find it in your heart to fogive me?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. I didn't realize that I could hurt you like that. Will we be able to go bacjk to the way things were?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I apologise for getting you so angry.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] Can you forgive me? Do you think we are fine being with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] I don't know what I did to get you angry, but whatever it is can't really be important. So let's make up, alright?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] I mean, I am sorry you got all upset over nothing. I expected you to have a tougher skin.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_aran_offended + ~RandomNum(3,3)~ + ~[PC] Don't you have something to say to me? like "I'm sorry, <CHARNAME>, for not understanding how you want things to be"?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] I know I am not the best at making apologies, but... I... (begin to cry.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. I didn't mean to hurt you. You are very important to me.~ + c_cry_not_fair END IF ~~ c_kiss_palm SAY ~[ARAN] (He draws your hands to him, holding them close to his chest.)~ = ~[ARAN] Aye, it does answer it right well. An' I be a right happy man.~ IF ~~ THEN EXIT END IF ~~ c_you_dont_play_fair SAY ~[ARAN] <CHARNAME>... You don't rightly play fair, now, do you.~ = ~[ARAN] (He draws you close into his embrace, his lips barely brushing your ear.)~ = ~[ARAN] I don't even rightly remember what it was all about, nohow. Fine. I guess it be a waste o' time to be mad at you anyways, seein' as you done got me, hook, line, an' sinker.~ IF ~~ THEN EXIT END IF ~~ c_pc_i_can_make_it_worth_it SAY ~[ARAN] Fine. I be here, like a good little blighted sellsword.~ ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] I was wrong. I don't believe in words without actions, so I am going to let you kiss me.~ + c_toying_with_me ++ ~[PC] I am sorry. I did not mean to hurt you. Can you forgive me?~ + c_it_was_nothing ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair // stop romance ++ ~[PC] Look... this is just not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. I think it would be best if you left the party for awhile, to go settle your head.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] You are such a pain to deal with. None of this is working the way I want. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_it_was_nothing NOT_YET_BUILT END /* APOLOGY: ARAN approaches PC after TIMEREXPIRED - Aran is seeking PC to give an apology */ /* Remember to remove the GTE to .BCS */ /* Remember to place note in docs: If you make up with Aran after fighting, just like most dudes, he will try to be overly physical in his demostrations immediately post fight. At least that is the rationale I am presenting for why his NPC-Initiated Flirts get set to run, even though a player has told him she doesn't want hem... players will have to tell him to stop flirting again via PID after making up. */ IF ~Global("c-aranfight","GLOBAL",1) GlobalTimerExpired("c-aranismad","GLOBAL")~ THEN BEGIN c-aranmakeup1 SAY ~[ARAN] Hey... I am right sorry.~ IF ~RandomNum(3,1)~ THEN GOTO c-aran_1_makeup IF ~RandomNum(3,2)~ THEN GOTO c-aran_2_makeup IF ~RandomNum(3,3)~ THEN GOTO c-aran_3_makeup END IF ~~ c-aran_1_makeup // 7 to 11 responses SAY ~[ARAN] I know I have been mad, but I should know better. You call th' shots, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] Not really. I should have <PLAYER2> beat you senseless. I would do it, but I think it is beneath my notice.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I can't believe you just walked away angry like that. I should have <PLAYER3> pound some sense into you.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] No. You should be careful, Aran. <PLAYER4> might be convinced that you hurt me, and then where would you be?~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] No. I do not understand why you were so angry. I asked <PLAYER5>, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I accept your apology.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You will have to do better than that as an apology, Aran. Go away until you can apologise properly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_2_makeup // 8 to 12 responses SAY ~[ARAN] I just got so... so mad, I didn't rightly know how to handle it. You mean a good bit to me, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> thinks you are an ass.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I thought we understood each other. <PLAYER3> would have understood me better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't understand why you got so upset. If i were arguing with <PLAYER4>, he would never walk away from me like that.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] You got so angry, over so little. I asked <PLAYER5> if all men were like that, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] Go away, Aran. I don't want to talk to you right now.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] Don't you think I deserve a better apology than that? Perhaps you should be kneeling, or groveling, or something more suitable?~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] You should be crawling to me on your hands and feet. Actually, you should be kissing my feet, and begging me for forgiveness.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Do you really think I will accept such a lackluster performance? No gifts. No flowers. No chocolate. No clue. That isn't an apology - that is an insult.~ + c_3_aran_grovel // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_3_makeup // ok, some fun with girltalk, but don't laugh - my experience with girltalk is a teacher's lounge in primary and secondary eductaion, and from the outside looking in! SAY ~[ARAN] I get so worked up over you sometimes, it jsut seems a bit like I be drownin'. I don't have no hold or call over you, but sometimes I start thinkin' like I do. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> would never turn his back on me, no matter what I did.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] Why don't you go ask <PLAYER3> how a real man apologises. Even he could do better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't know. <PLAYER4> would never treat me like you do.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] Why don't you go off and do manly things with <PLAYER5>. You don't need me around, anyways. After all, I am just a silly little girl who doesn't know how to keep you happy.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] <PLAYER6> says I am too important to be given the silent treatment, but I told him it didn't matter. I am not worth talking to, anyways.~ + c_dont_be_that_way // Another female as foil + ~Gender(Player2,FEMALE) !Name("edwin",Player2) !Name("aerie",Player2) !Name("viconia",Player2) !Name("jaheira",Player2)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) !Name("edwin",Player3) !Name("aerie",Player3) !Name("viconia",Player3) !Name("jaheira",Player3)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) !Name("edwin",Player4) !Name("aerie",Player4) !Name("viconia",Player4) !Name("jaheira",Player4)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) !Name("edwin",Player5) !Name("aerie",Player5) !Name("viconia",Player5) !Name("jaheira",Player5)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) !Name("edwin",Player6) !Name("aerie",Player6) !Name("viconia",Player6) !Name("jaheira",Player6)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("aerie",Player2)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("aerie",Player3)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("aerie",Player4)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("aerie",Player5)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("aerie",Player6)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("viconia",Player2)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("viconia",Player3)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("viconia",Player4)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("viconia",Player5)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("viconia",Player6)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("jaheira",Player2)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("jaheira",Player3)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("jaheira",Player4)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("jaheira",Player5)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("jaheira",Player6)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, or what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_4_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand. Perhaps you should just sulk and stew by yourself for a few days.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] Go away, Aran. You shut me out. I don't care what I did, or what you did... I just don't ever expect to be given the cold shoulder, ever.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] I do not hear anything worth hearing. You can go drown, for all I care.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_dont_be_that_way // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 END IF ~~ c_dont_be_that_way SAY ~[ARAN] Now, don't be that way, eh? I done said I was sorry...~ // make up + ~RandomNum(3,1)~ + ~[PC] No... wait. It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] Yes, you did. And... I guess that I should, too. I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think that is enough torture. Of course we are fine with eachother. In fact, we are more than fine. A little arguement isn't going to kill us.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_4_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand, and don't come to me before you have figured out what you did wrong.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] You never specified what you are sorry about. About the stars being in the sky? About you being an ass? About you not listening to my needs and wants?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] That is not enough. Words are never enough. I mean, you just talk, you don't do anything to back them up. You must hate me.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_I_dont_hate_u // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me by shutting me out.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c_1_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] I have had enough of your crap. Go on... go sulk for awhile. When you decide to grow up, come and talk to me again.~ + c_1_bugger_all END IF ~~ c_3_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] You are so... so... Go on. Go sulk, or pout, or whatever you want to do. I don't want to talk to you anyways! I... I hate you! (burst into tears)~ + c_2_bugger_all END IF ~~ c_1_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_we_are_through SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_you_are_out SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_I_dont_hate_u SAY ~[ARAN] ~ END IF ~~ c_cry_not_fair SAY ~[ARAN] Now, hey, wait... I be right sorry, eh? I just felt you were takin' advantage o' me right an' left, an' I... oh, for Tymora's Smile, stop wi' th' waterworks, eh?~ END
  23. Telling stories. I could go into a long intro here about the psychology and sociology of male and female bonding using storytelling, establishment of social hierarchies and patterns of mutual attraction as shown through trading of backgrounds, etc.... but really, it's just a toy, not a thesis. So, stories... folks like them. Let's let Aran have some more to share. We have some little "reveals" in place, where storytelling has a point, like Anomen vs Aran over swearing and the vignette about stuffing a stuffy officer in the hold of a trading ship bound for Calimport; we have a past/former/chick-is-toast story for the romance, and here and there we have other small reveals that slip little bits of insight into the character within the existing mod dialog. But one thing that people do while camping, hiking, sitting around in the workroom/lounge, etc., is tell stories to entertain and distract. War stories in particular, among people who are friends and 'been there, done that". Like singing, or telling jokes, or discussing things, these stories can serve as a distraction or as a way of opening up; most of the time, they don't involve bragging (though I am sure we all have a friend who drives everyone nuts by telling stories that do brag - or worse, things like "So, this one time, at Band Camp"... no points for the cultural referent, and shame on you for watching teen raunch flicks in the first place ). We have an extensive backstory for Aran already available to mine for ideas, and all of the areas he has visited for more ideas - writing the stories is not the problem. Keeping them short enough, putting them deep enough in the dialog structure so only players who really, really want that deep an engagement with Aran's dialog will see them (we don't want action-oriented players to have to be going "crap, he is talking again.... hit the spacebar 12 times quickly, and maybe we can page through all this and get to the good stuff"). We also want some of them to be scattered about, and some of them to be available via PID or friendtalk as a panel of stories, so if a player is in the mood for a diversion he or she can ask for a few of them in a single sitting. There ends up being three or four simple approaches to this. The first is to write a dialog response that asks or leads directly to the story, and never refer to it again: 1. The Straightforward Single-Shot Story CODE ++ ~[PC] So, Aran, tell me about this lost love of yours. Was she pretty?~ + c-arans_lost_love_story This is simple, allows the PC one crack at hearing the story, and even can be varied by allowing players to reference the information later, as other materials in Aran's workthreads around here have already shown: CODE ++ ~[PC] So, Aran, tell me about this lost love of yours. Was she pretty?~ DO ~SetGlobal("c-arans_lost_love_story_told","GLOBAL",1)~ + c-arans_lost_love_story with later on, CODE + ~Global("c-arans_lost_love_story_told","GLOBAL",1)~ + ~[PC] You would think you would never look at another redhead in your life, after what's-her-name up in Moonshea broke your heart and croaked.~ + c-oh_yeah_I_really_appreciate_being_reminded_you_jackass We can expand this with three other variants, much like Cromwell's or Cespy's materials run, by creating a pool of potential stories and then either creating a list or creating a loop - or running it the way PIDs create more interest, using a Random approach. Lists A simple list just gives the player a set of options. the simplest of these goes like this: CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. What do you be wantin' to hear about?~ /* Pool of Stories to Tell */ ++ ~[PC] Tell me a story about cooking.~ + c-carbonanottold ++ ~[PC] Tell me a story about getting to Calimport the fiorst time you saw it.~ + c-arancalimportnottold ++ ~[PC] Tell me a story about that inn where we picked you up. What was his name... Gerris?~ + c-arangerrisnottold ++ ~[PC] Tell me a story about your childhood.~ + c-arandadtradenottold ++ ~[PC] Tell me a story about how you joined the Flaming Fist.~ + c-aranfistfightnottold ++ ~[PC] Tell me a story about fighting in the Moonshea Isles.~ + c-aranmoonfightnottold ++ ~[PC] On second thought, your stories are not that entertaining. Let's just keep going.~ EXIT END This works well - it can be repeated, or linked back in any number of ways, and is very efficient. If a player wants to hear a specific story again, it is right there. We could get fancy, and make a story unavailable after each one by adding globals, which is the way many folks handle giving information - clear out the talks already taken, so that the remaining ones are left for the player to follow. BUT - real folks don't walk around handing out a menu of available "stories". And sometimes they are in the mood or remember different ones. And very seldom do I find myself saying to a friend "Hey, tell me a story about how you became a musician". So, a more interactive approach would be to use the loop CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. Let's see...~ /* Pool of Stories to Tell */ IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-all_stories_told IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO c-carbonanottold IF ~Global("c-arancalimport","LOCALS",0)~ GOTO c-arancalimportnottold IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerrisnottold IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtradenottold IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfightnottold IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfightnottold END IF ~~ c-carbonanottold SAY ~[ARAN] Well, I could tell you about th' rats an' th' Coster waggon...~ = ~[ARAN] <STORY_GOES_HERE>>~ IF ~~ THEN DO ~SetGlobal("c-arancarbonara","LOCALS",1)~ EXIT END IF ~~ c-all_stories_told SAY ~[ARAN] Well, I already done told you all th' stories I can think of. I'll think on it, but right now I be stumped.~ IF ~~ THEN EXIT END This "loop" is designed so that each time a different state calls to it, the bottom-most story gets "peeled off" - it plays, sets a global, and the next time through the first reply from the bottom is evaluated false and skipped, allowing the second one to play. This construction is good for PIDs and such, or for (in this case up to 6 ) multiple references in several talks, as every time a player asks to hear a story, a new one is played, until all are exhausted. It has some drawbacks, too - you can't repeat a story, so one misplaced click and it is either reload from a previous save or break out NI or DLTCEP or wade through the .tras - it also does not mirror more natural talk patterns, where people can refer to or say "hey, that Moonshea stuff you were talking about... how did that go again?" The Random approach is repeatable as well, with a different focus. Here, only one story is told in the state, and it can be referred to any number of times, but if every story has been told you can still draw the player off of it: CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. Let's see...~ /* Pool of Stories to Tell */ IF ~RandomNum(6,1)~ GOTO c-carbonanottold IF ~RandomNum(6,2)~ GOTO c-arancalimportnottold IF ~RandomNum(6,3)~ GOTO c-arangerrisnottold IF ~RandomNum(6,4)~ GOTO c-arandadtradenottold IF ~RandomNum(6,5)~ GOTO c-aranfistfightnottold IF ~RandomNum(6,6)~ GOTO c-aranmoonfightnottold IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-all_stories_told END IF ~~ c-carbonanottold SAY ~[ARAN] Well, I could tell you about th' rats an' th' Coster waggon...~ = ~[ARAN] <STORY_GOES_HERE>>~ IF ~~ THEN DO ~SetGlobal("c-arancarbonara","LOCALS",1)~ EXIT END IF ~~ c-all_stories_told SAY ~[ARAN] Well, I already done told you all th' stories I can think of. I'll think on it, but right now I be stumped.~ IF ~~ THEN EXIT END This has some fun in that Aran can tell random stories, and even repeat himself, as people often do. After all possible stories are told, the dialog politely lets the player know that no matter how many million times they click, all potential pathways have been taken. But this one, well - let's just say that it is bad enough in RL to hear the story of how Jerry got into Harvard for the 17000th time.... so this one is a little too real for me. So, let's play with the loop variant, add a CHAIN to explore how we might allow a player to get an old story retold, and in general "prettify" the whole concept. Let's see what we can do to extend it to allow some repetiton and more interactivity for the player, too. CODE APPEND ~C-ARANJ~ /* <<WHATEVER_STATE_I_AM_COMING_FROM>> has three replies added- */ + ~!Class("c-aran",BARD_ALL)~ + ~[PC] This is depressing and dark. Come on, Aran, liven things up a bit. Tell me a story.~ + c-aran_tell_untold_story + ~Class("c-aran",BARD_ALL)~ + ~[PC] This is depressing and dark. Come on, Aran, liven things up a bit. Tell me a story.~ + c-aran_tell_untold_story_bard + ~OR(6) ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ + c-aran_tell_told_story /* and then, the reply sequence to the above... */ IF ~~ c-aran_tell_untold_story SAY ~[ARAN] I can do that, though I be no bard. Let me see...~ IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO a1433 IF ~Global("c-arancalimport","LOCALS",0)~ GOTO a1432 IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerrisnottold IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtradenottold IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfightnottold IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfightnottold IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-aran_all_stories_told END IF ~~ c-aran_tell_untold_story_bard SAY ~[ARAN] I can do that. Just remember, my bardic days be relatively new, so I don't have them all embellished an' prettified, wi' proper pronunciation an' projection. Sorry about that spittle, there. Somethin' about 'p' words, eh?~ = ~[ARAN] Let me see...~ IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO a1433 IF ~Global("c-arancalimport","LOCALS",0)~ GOTO a1432 IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerris IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtrade IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfight IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfight IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-aran_all_stories_told END /* (Of course, they could also be split up and added to several states, if wanted - it is likely that in the final implementation there will be more stories, and certainly two on this list will be screened out if the player has already had the friendtalk that tells of Calimport or the romance talk that tells about the trading incident. ) */ IF ~~ c-aran_all_stories_told SAY ~[ARAN] I can think o' naught that I haven't told you already. Mayhap I can tell you one o' them again?~ ++ ~[PC] No thanks. If you are out of stories, then I hope you come up with some riddles or something, or this will be a very long trip through the Underdark.~ + <<exitstate>> ++ ~[PC] That sounds interesting. Go ahead, tell me something you have already told. Your stories are always interesting.~ + c-aran_tell_told_story ++ ~[PC] I think we have had enough talk. Let's move on.~ + <<exitstate>> ++ ~[PC] Thank the gods you have run out. You stink at telling stories anyways. I was getting tired of humoring you~ + c-aranshutup75 ++ ~[PC] Never mind. I was joking, anyways. I'd rather cut my own throat than hear you blater on about things.~ + c-aranshutup74 END END // of append to c-aranj /* here, we play with CHAIN to allow an expandable state. It only gets triggered if one of those inner conditions is met, so it can build a longer conversation each time a story is told. */ CHAIN ~C-ARANJ~ c-aran_tell_told_story ~[ARAN] Sure thing. I can tell you what I be rememberin', anyways. Let's see...~ == ~C-ARANJ~ IF ~Global("c-arancarbonara","LOCALS",1)~ THEN ~[ARAN]I could tell you about th' rats an' th' Coster waggon again...~ == ~C-ARANJ~ IF ~Global("c-arancalimport","LOCALS",1)~ THEN ~[ARAN] I could tell you about th' first time I got myself to Calimport again, if you want.~ == ~C-ARANJ~ IF ~Global("c-arangerris","LOCALS",1)~ THEN ~[ARAN] I do remember tellin' you about Gerris an' me workin' short haul from Neverwinter to th' Moonshea Isles. That be a tale.~ == ~C-ARANJ~ IF ~Global("c-arandadtrade","LOCALS",1)~ THEN ~[ARAN] I done told you about my father gettin' trapped in th' trade contract... you want to be hearin' it again?~ == ~C-ARANJ~ IF ~Global("c-aranfistfight","LOCALS",1)~ THEN ~[ARAN] I think I told you o' th' time we run off those northmen up in th' Isles, unless you want to be hearin' it again.~ == ~C-ARANJ~ IF ~Global("c-aranmoonfight","LOCALS",1)~ THEN ~[ARAN] I told you about gettin' in wi' th' Fist, but do you want to be hearin' it again?~ == ~C-ARANJ~ ~[ARAN] That be all I can remember tellin' you about, anyhow.~ END + ~Global("c-arancarbonara","LOCALS",1)~ + ~[PC] Tell the story about the rats.~ + a1433 + ~Global("c-arancalimport","LOCALS",1)~ + ~[PC] Tell me about Calimport.~ + a1432 + ~Global("c-arangerris","LOCALS",1)~ + ~[PC] That Gerris fellow - the one you talked about when we first met. Tell me that story again.~ + c-arangerris + ~Global("c-arandadtrade","LOCALS",1)~ + ~[PC] Tell me about the trading gone bad.~ + c-arandadtrade + ~Global("c-aranfistfight","LOCALS",1)~ + ~[PC] Tell me how you ended up in the Flaming Fist again.~ + c-aranfistfight + ~Global("c-aranmoonfight","LOCALS",1)~ + ~[PC] Tell me about that battle up in Moonshea again.~ + c-aranmoonfight ++ ~I think we have had enough talk. Let's move on.~ EXIT APPEND ~C-ARANJ~ IF ~~ c-arangerrisstory SAY ~[ARAN] Gerris were a right fine companion, way back at th' start o' th' Moonshea work I did, an' right before th' Iron Throne got busy makin' life miserable for honest folk. He trained wi' the Old Order, though sometimes he acted more Sun Soul than anythin' else... an' I be right sorry his daughter an' I , we made things right complicated. Happy, though, on account o' it put me in your path, eh?~ = ~[ARAN] But a long time ago Gerris an' I were workin' across to Moonshea on one o' them short-haul galleys what ply that route out o' Neverwinter. Gerris, he trained me right proper, too, an th' cookin' front. He had to be right creative, on account o' most o' th' crew were Luskan fisherfolk, an' thought a good meal were dried fish an' small beer.~ = ~[ARAN] Well, one o' th' older oarsmen, he took a dislike to Gerris right off. There was naught Gerris could do to please th' bastard. He tried cookin' just what th' oarsman wanted, an' makin' it as special as he could, on account o' a trade galley be a small place, an' a little bad feelin' gets magnified right large.~ = ~[ARAN] The bugger would have naught in th' way o' reconciliation, though, and kept gettin' into Gerris' face. Finally, Gerris told him that if he didn't shape up, Gerris would put a curse on him.~ = ~[ARAN] O' course, th' oarsman laughed it off, an' punched Gerris right proper. Gerris didn't say naught, just took the punch, then made some sort o' gesture. Th' two stalked off, an' everyone gave 'em both as wide a berth as possible.~ = ~[ARAN] Well, two days later, th' oarsman came runnin' up from th' head... that be th' latrine, on a boat, a bathroom, right? Well, he came up just hollerin' bloody murder, ran past us, an' dove over th' side. We looked downon him, an' lo an' behold, that bastard was passin' flame instead o' gas!~ = ~[ARAN] We fished him out proper, an' soon he was as right as rain, but Gerris, he just shook his head an' sighed, askin' after th' man's health. He made a few passes wi' his hands in th' air, an' from then on, noone messed wi' him nor wi' me.~ = ~[ARAN] Now, I don't rightly think there were no magic in Geris' hands, him followin' monks ways so short a time. So when I saw him back wi' his wife an' daughter when I got to Amn a few years later, I got him right drunk an' asked him how he did it. An' that's how I learned that a small amount o' fireberries be a great spice... but you put too many in a man's portion, you'd best be gettin' a new set o' clothes lined up right quick, an' some healin' salves on hand. ~ IF ~~ THEN DO ~SetGlobal("c-arangerris","LOCALS",1)~ EXIT END IF ~~ c-aranmoonfight // PLACEHOLDER SAY ~[ARAN] ~ = ~[ARAN] ~ IF ~~ THEN DO ~SetGlobal("c-aranmoonfight","LOCALS",1)~ EXIT END /* Boy, I have been playing a little Mount & Blade, i think... */ IF ~~ c-aranfistfight SAY ~[ARAN] Well, I had just come off o' Moonshea, about as down as a lad can be. My ladylove dead, th' Moonshea companies disbandin' on account o' we thrashed th' Iron Throne bastards... well, more like you thrashed Sarevok an' wiped out their command structure, but th' fightin' in the field was still fierce for a bit afterwards. Sometimes it takes awhile for an army to realize that th' war be over.~ = ~[ARAN] Anyways, I was wanderin' around Nashkel, when th' Guildmaster calls me in an' gives me some work punchin' north on th' Trade way. Small caravan, just a full fist, not anythin' big. A tag along, really, as there were a load o' more powerful costers what had hired th' Flamin' Fist to protect some serious tradin' waggons headed up Neverwinter way, an' we were just really for show more than anythin'. But it was work, so I was not goin' to be turnin' it down, eh? We headed out mid-winter, tryin' our luck.~ = ~[ARAN] Well, we made it up into th' hills north o' Nashkel, an' were just south o' Beregost when we ran into a snow squall in th' middle o' a clear day. Me an' Kalavi... she were th' Stave, but she fought well enough, as she had just recently taken up wi' Ilmater and had been a seasoned fighter same as me... we knew there was more to this than just some freak weather, on account o' no snow squall we ever saw had lightnin' accomanyin' it.~ = ~[ARAN] We spurred up ahead straight into th' storm, keepin' our eyes open, her wi' a big staff an' me wi' my trusty sword ready. Th' wind was somethin' fierce, an' we almost wew about to turmn back out when we broke clear into a bubble o' protection o' some sort. We found ourselves suddenly in th' open, at full gallop across a field o' icy cobblestones, runnin' right up th' arse o' two ice trolls an' a whole mess o' orcs.~ = ~[ARAN] Lucky for us Tymora's Coin was spinnin' our direction. They was too busy payin' attention to th' 'Fist in field plate whackin' at 'em, an' th mage what was holdin' off that magical storm wi' some kind o' big bubble shield. Good thing, too, on account o' we coulnd't have stopped short nohow, not at that speed an' wi' all that ice. Kalavi, she started sayin' somethin', some spell I suppose, but thought better o' it fast enough - tryin' to hold a spell while on horseback is way above what most seasoned clerics can do, an' she had no more than four or five spells total granted by her Cryin' God. Me, I don't fight cavalry-style, but beggars can't rightly be choosers, so I leaned forward an' swung wide, hopin' I wasn't about to kill my own mount leavin' me on th' wrong side o' th' shield wall, so to speak.~ = ~[ARAN] Kalavi came in fast an' brought her staff up like some kind o' fancy lance, an' I'll be damned if it didn't do th' trick. She hit at full gallop, nailin' one o' th' ice trolls in th' head an' knockin' it unconscious wi' one hit, an' then her mount leaped clean over th' shield wall, where she could join in on th' fun proper. Took out one o' th' strongest adversaries, did a nice trick, an' it were a pretty sight.~ = ~[ARAN] Me, on th' other hand... well, i hadn't ever fought no ice Trolls before. So I lopped it's head off beautifully, nice clean arc, before i slipped too far forward an' ended up takin' a right fast rollin' tumble off my horse. She jumped th' line an' was safe, but there I was, all th' wind knocked out o' me, actin' as a bowlin' ball in among the orcs. Well, I scared th' crap out o' some o' them, an' they took to their heels... so I thought I was all in th' clear. I rolled right up to my feet, dusted myself off, an' started walkin' forward to th' line. All those Fist an' Kalavi started whoopin' an' hollerin', and so I just sort o' took a bow, thinkin' they was cheerin' me for scatterin' th' whole mob. Just as I did, I feel a whiff o' ice cold air on th' back o' my neck, an' tripped forward flat on my face.~ = ~[ARAN] Well, long story short, I didn't know that ice trolls just grow back if there be no fire nor acid scattered. My lucky little bow an' trip saved me my sorry hide, as there was now two Ice trolls clawin' at me. Th' Fist an' Kalavi clobbered 'em both pincushionin' them wi' arrows an' sling stones spelled wi' fire, savin' my sorry arse. But th' officer in charge o' th' Fist didn't realize it were my own clumsiness an' a twist o' Tymora's Coin what did the trick. She thought I clobbered th' troll, bowled over th' orcs, took a casual bow in front o' th' two trolls, an cool as a cucumber stopped dropped, an' rolled to allow th' rest o' th' unit to take 'em out. She hired us both on th' spot, an' we never told naught about it.~ IF ~~ THEN DO ~SetGlobal("c-aranfistfight","LOCALS",1)~ EXIT END END // of append to c-aranj Now, a little tweaking, and a test in-game to see if the story can be consolidated into less screens, or perhaps tightened up, and we have successfully created a set of stories that can be used as a resource for several talks, with replication only if the palyer requests. Using the variables, we can even add replies into other states that reference the information, just the way we tell our friends things in referent to their personal experiences.... CODE + ~Global("c-aranfistfight","LOCALS",1)~ + ~[PC] Oh no you don't... you stay back here and get those fire arrows ready. You don't want a repeat of that whole Ice troll incident, now do you?~ + c_great_you_used_my_story_against_me_you_bugger + ~Global("c-arangerris","LOCALS",1)~ + ~[PC] Hells no, you are not doing the cooking tonight. You have been fighting with Viconia again, and Gerris taught you way too many ways to get even!~ + c_who_me?_I_would_never_do_such_horrible_things
  24. Scraps of ideas from researching (read that as distracting berelinde from her appointed tasks by poking at her and asking silly questions. Hey, i think I can get a job at Fox research, now...) Edwin/Edwina tranformation. Adding a banter to Edwin's post-transformation banter file, /* Fun with Edwin as a Woman */ Probably will never play, but heck - why not. This is long form built out of Edwin's BEDWINWO.DLG file, acient long-form EXTERN. This could be rebuilt more efficiently as a CHAIN, or just tidied up, but the code part that is most fun about it is the use of SAY #sringnumber I saw used in JCompton's D'Arnise alia Romance, where preexisting game string references can be swapped in: APPEND ~BEDWINWO~ IF ~InParty("C-ARAN") See("C-ARAN") !StateCheck("C-ARAN",CD_STATE_NOTVALID) Global("c-arEdwinW","LOCALS",0)~ THEN BEGIN c-edwiniswoman SAY #8556 /* ~(My condition draws fools like flies to honey). Silence, you idiot! You've a death wish that is larger than your swollen head.~ [EDWINW39] */ IF ~~ THEN DO ~SetGlobal("c-arEdwinW","LOCALS",1)~ EXTERN ~C-ARANB~ woman1 END END APPEND ~C-ARANB~ IF ~~ woman1 SAY ~[ARAN] Hey, now, I weren't saying naught, now, eh? I was just...~ IF ~~ THEN EXTERN ~BEDWINWO~ woman2 END END APPEND ~BEDWINWO~ IF ~~ woman2 SAY ~[EDWIN] Your eyes were practically shouting vile depravity at my feminine form.~ IF ~~ THEN EXTERN ~C-ARANB~ woman3 END END APPEND ~C-ARANB~ IF ~~ woman3 SAY ~[ARAN] Grumbar's Formidable Fists, laddie... err.. m'Lady, I weren't doin' no such thing. It were just that you haven't got used to th' right manner o' walkin in that there body, eh?~ IF ~~ THEN EXTERN ~BEDWINWO~ woman4 END END APPEND ~BEDWINWO~ IF ~~ woman4 SAY #7276 /* ~And exactly WHAT is wrong with my 'manner?'~ [EDWINW49] */ IF ~~ THEN EXTERN ~C-ARANB~ woman5 END END APPEND ~C-ARANB~ IF ~~ woman5 SAY ~[ARAN] Well, for one thing, if you keep slammin' down your heels when you walk like that, you are goin' to jounce those feminine attributes right out o' that there robe.~ IF ~~ THEN EXTERN ~BEDWINWO~ woman6 END END APPEND ~BEDWINWO~ IF ~~ woman6 SAY #7066 /* ~(I will kill ALL of them. Slowly. With...with HOT...pokey things and...and coals and...and prods. Yessssss, prods. Many, many prods.)~ */ IF ~~ THEN EXIT END END So, dv doesn't change, still = "edwin", but the banter file and script in play does. Next step; figure out what consititues a good check for "Edwina" being in play rather than "edwin", so that a banter or talk fits the feminine form. Gender() I think is not the way to go, as my bet is that if they don't change the DV, they must be shell-scripting somehow, so time to look through the decompiled .bcs for clues...
  25. Ideas from Petals And Thorns Folks: /* The Bar Fight - Protect My Honor (whether I instigate it or not). */ // One version of this is hidden away in the PD initiated bar flirts - this one can run from an area script, and can be independent from the other. Will have to choose an inn that does not get as much action. // still needs names ad perhaps tightening up. [NPC1] Well now, here's a pretty sight. One <PRO_RACE> girl, not too bad looking, and here we have all three of us just looking a good time. Get out on the dance floor with NPC2 here, and if you are friendly enough, there might not be no trouble.~ >> [PC] Me? How dare you! Aran, are you going to let these people talk to me like this? [EXTERN A] >> [PC] I do not bother with trivialities and insignificant worms. Aran, go take care of these idiots. [GOTO K] >> [PC] (Hide behind Aran and grip his arm tightly, pushing him towards the group.) [EXTERN K] >> [PC] Aran, I think that you should take care of this situation... [EXTERN D] >> [PC] Out of my way, Aran. I would take their heads off, but it probably would do no harm. I will start with their feet, instead. [EXTERN E] [C-ARANJ] A [ARAN] Well, I thought it might be a bit more subtle-like if... >> [PC] ... you acted like a big coward? [goto K] >> [PC] They are treating me badly! Why won't you stand up for me? [goto K] > ROMANCEACTIVE > [PC] I thought you loved me. [goto K] >> [PC] Aran... they are scaring me a little... [goto B] >> [PC] You. Yes, you... the one with the troll face and the breath that smells like a sewer. Five gold says Aran can take all three of you without breaking a sweat. [EXTERN L] [NPC1] K [NPC1] Oh, come on, girl. You haven't had a good time until you have danced with the three of us. And this piss-ant sellsword couldn't handle me, let alone me and my friends. >> [PC] He can hold his own in a fight. But you should be more worried about me. I tend to get over-excited, and might end up removing that tongue. Or perhaps other parts of your body. [EXTERN G] >> [PC] Insignificant, insolent worm. You are beneath my notice. Aran, kill him slowly. I want to hear him scream for mercy. [EXTERN C] >> [PC] (Hide behind Aran and grip his arm tightly, pushing him towards the group.) [EXTERN C] >> [PC] Aran, I think that you should take care of this situation, quickly. [EXTERN D] >> [PC] Out of my way, Aran. I would take their heads off, but it probably would do no harm. I will start with their feet, instead. [EXTERN E] /* Shy/Wants Aran To Be Protector PC EXIT */ B [ARAN] Right, then. You heard the lady, lads. Do you be wantin' to settle this on arm wrestlin', brawlin', or should we just skip right to it an' see what th' insides o' your guts look like when they be spread over th' wall over there? [EXTERN I] I [NPC1] Look who's a big man, now. Are you looking for a fight? [EXTERN J] J [ARAN] Well, now, laddie... I don't rightly look for fights. But by Bane's Bloody Buttocks, so far there's naught that I have left unfinished. You care to step outside? DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ C [ARAN] Now then, lads, th' lady don't rightly take kindly to...[EXTERN N] /* PC Orders Aran to Handle Things EXIT */ D [ARAN] Who, me,? Aye, then, I guess I could do that. You go on about th' business, an' let me handle 'em. = [ARAN] (Pssst - here, then, lads - a round on me. You wouldn't want to cross her right now, eh? She's a mite more powerful than she looks.) >> [PC] Why didn't you fight for my honor? You acted like a big coward. [goto M] >> [PC] They are treating me badly! Why won't you stand up for me? [goto M] > ROMANCEACTIVE > [PC] I thought you loved me, and would protect me. But you just paid them coin and let them get away with it. [goto M] >> [PC] That was unpleasant. I am glad you found a way to make them go away without spilling their blood. [goto M] >> [PC] Oh, for heaven's sake... You. Yes, you... the one with the troll face and the breath that smells like a sewer. Five gold says Aran can take all three of you without breaking a sweat. [EXTERN L] /* No Bloodshed Exit */ M [ARAN] I was watchin' you close, I was. I figured you didn't want a couple o' drunk buggers to get blood all over your nice clean clothes, so it seemed like a good idea to let 'em down easy. Besides, we have real enemies what to fight. If we go killin' every set o' drunken bastards what act like idiots, we will depopulate Amn. EXIT /* Aggressive PC Exit */ E [ARAN] Now, <CHARNAME>, be easy... they be just little gnats. You might mess up a nail or somethin', an then where's you be? I'll tell you what. You go get a nice cup o' tea, an' sit right there, an' I'll give you a good show. You want one o' their eyes, or mayhap a nose, or do you just want an ear or two to hang next to your collection o' Drow ears an' Dragon's teeth? >> [NPC1] Drow ears? >> [NPC2] Dragon's teeth? >> [NPC3] Err... we were just leaving. Just a few high-spirited remarks, no harm meant. [goto F] F [ARAN] No problem, lads. Only don't be comin' round here much, eh? Me, you might be able to fight to a standstill. Her, she looks like a shrinkin' violet, right up until th' time you realize her hand's holdin' what's left o' your intestines. An' then she starts gettin' mean. EXIT /* Mediation Fails */ [NPC1] So, big protector, eh? I didn't know prostitutes around here had the money for a mercenary escort. You get out of the way, or you will be sorry. [EXTERN O] O [ARAN] I'm goin' to rip your head off an' piss down your neck. DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ EXIT /* PC Protective of Aran or just Fiesty Exit */ G [NPC1] Oh, big man, having her fight your battles for you. [EXTERN H] H [ARAN] Believe me, son, you don't be knowin' her like I do. Last one who ticked her off only lost a few pints o' blood an half his scalp. O' course, that was me, an' she needs me around for to carry stuff an' such. You, not so much. [EXTERN L] L [NPC1] I hear lots of hot air, but you don't look that tough, either of you. Come on, boys... they don't need all that coin. Get 'em. DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ EXIT /////////// You folks have to tell me when things go to far with language and imagery. Evoking strong reactions with language is a fun goal, but I am not interested in evoking the "I am uninstalling this mod and never playing it again" reaction. //////////// /* From P&T - I always wondered why no PC ever really embarrassed themselves with their love interest... with all the packing they must do, it's amazing no PC has accidentally left something private or incriminating out which was then found by another party member. */ /* Umberlee's Undulating Undergarment */ /* Embarrassing Things Aran > PC */ [ARAN] Now, I don't rightly think that this be mine, eh? >> [PC] ARAN! Put that away before someone sees you! [goto A ] >> [PC] No, I think those are mine. Where did you find them? [goto B] >> [PC] No, they are not mine. Do you want to explain why you have another woman's undergarment in your pack? [goto C] >> [PC] I did not realize you liked women's clothes so much. We should put you in some of the 'armor' they make available to us, and see how you like having a chainmail bikini to hide your most intimate parts. [goto D] A [ARAN] What I be tryin' to figure is why all th' fuss over a scrap o' linen. Although I suspect it has a mite to do wi' exactly what that scrap be coverin'. How about next time we do some clothes washin', you check where things be stored? People might get th' wrong idea. EXIT = IF ROMANCE ACTIVE [ARAN] Or worse, they might get the right idea. EXIT B [ARAN] Mixed up in thy' socks an' such in my pack. Last time I did th' party chores, I must o' not sorted so well. Sorry about that. No harm done, eh? >> [PC] Those are some of my most private possessions! Give them to me right now. [goto E ] >> [PC] From now on, I will do my own washing. You stick to things that you are less likely to mess up. [goto E ] > NOROMANCE > [PC] Well... I guess you could keep them... [goto F ] > ROMANCE > [PC] Well... I guess you could keep them... [goto G ] C [ARAN] Well, Sune's Sweet Stomach, if they be not yours, then... [goto CANONICAL_WOMEN_IN_PARTY] CANONICAL_WOMEN_IN_PARTY AERIEJ [AERIE] ARAN! Th... those are mine. [goto H ] NALIAJ [NALIA] That is personal property, and finding quality silk and lacework around here is difficult. Give them to me, please. [goto H ] EDWINA ? [EDWINA] You foul creature! Unhand my undergarments, you moronic baboon. And keep your lusts to yourself. I may be a magnificent looking woman, but I am still Edwin Odesseiron, Red Wizard. Indignities will be met with swift and horrific punishment! [goto H ] JAHEIRAJ [JAHEIRA] Underclothing is functional protection provided for the comfort of the wearer. I reclaim mine now, Aran. [goto I ] VICONIJ [VICONIA] Spidersilk is expensive, rivvil. If a single strand is damaged, I shall carve temporary patches out of your skin. [goto I ] IMOEN2J [iMOEN] Hey! That's mine! Give 'em here! [goto I ] H [ARAN] Bane's Blood, she be blushin' worse than a beet at fall harvest. She damned near glows! I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. I [ARAN] Itishia's Icy Iris, that were one cold glance she just gave me. Gave me th' chills, it did. I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. IF ! AERIE ! NALIA ! EDWINA ! JAHEIRA ! VICONIA ! IMOEN [ARAN] Bane's Blood, I don't rightly know whose this be. But somemone be missin' some right private clothin'. I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. D [ARAN] Just th' though o' that hurts in places not mentionable in polite company, eh? But no, I don't find no excitement in these kinds o' clothin' unless th' owner be showin' em off to me with 'em on. You be sure they are not yours? >> [PC] Those are some of my most private possessions! Give them to me right now. [goto E ] > NOROMANCE > [PC] They are mine. But... I guess you could keep them... [goto F ] > ROMANCE > [PC] They are mine. But... I guess you could keep them... [goto G ] >> [PC] Not mine, oh great washer of clothing. But by all means, keep holding a woman's private undergarments up and waving them about like a flag. It makes you look so masculine. [goto CANONICAL_WOMEN_IN_PARTY] E [ARAN] All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. But here you go. Don't want no one to think I be keepin' your panties as no souvenier or naught like that. Bad for morale, eh? F NOROMANCE [ARAN] No why would I want to be doin' that? It seems a right strange thing to use as a token or favor, an' I be no knightly jouster. All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. Here you go. Otherwise, it might be bad for morale, eh? G ROMANCE [ARAN] Now why would I want to be doin' that? Me, I'm a right simple soul. I'd much rather get rid o' such nonsense an' see you th' way th' gods created you. All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. Here you go. I'll be a mite more careful sortin' next laundry day. /* The Scroll Of Blushing */ /* Embarrassing Things PC > Aran */ [ARAN] Hey! Put that down! That don't rightly belong to you! >> [PC] This little scrap of paper? Here, I did not realize that it was yours. [ A ] >> [PC] Anything left out in public is mine. Why? What is on it? [ B ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] A [ARAN] Thank you right kindly. You didn't read it, now, did you? >> [PC] Unfortunately, yes. The imagery was quite... detailed. one might even say explicit. [ G ] >> [PC] Not yet. But anything left out in public is mine. Why? What is on it? [ B ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] >> [PC] Of course not. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] B [ARAN] Nothin' much. Just some scrapped practice writin'. Nothin' there, no ma'am, nothin' to see. >> [PC] Unfortunately, I just lied to you. I read it. The imagery was quite... graphic. One might even say explicit. And apparently, you are very creative in your approach to spelling. [ G ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] >> [PC] Of course not. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] C [ARAN] Come on, <CHARNAME>... be a good <PRO_MANWOMAN>, a credit to all what call themselves '<PRO_RACE>'. It were a rough draft, and a bad one at that. Just give me th' blasted thing an' forget you ever saw it, eh? >> [PC] "My Dearest Love, how can I count the ways that you excite me, how you arouse my innermost passions and lusts." Hey, Aran, you misspelled 'excite', unless Chondathan somehow borrowed several Rashemite alphabet characters while I was not paying attention. "The way that both your..." not going to read that word... nor that one... "move, bouncing like twin horses tethered in tandem, two terrific trepidacious terrific..." No, you spelled that wrong, too... err... I have never heard that body part described quite that way. Hmmm. So, you are a leg man, too? No, you seem to go on and on about wonderous caves of passion, and something about spelunking, and here you have split an infinitive... 'to boldy go where no man has gone before?' Quite colorful. I think you should go into comedy writing with Volo. [ D ] >> [PC] Of course I will give it to you. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] >> [PC] Of course I will give it to you. Though I did get a glimpse at the salutation. 'My Dearest Love'? Who were you writing to? [ F ] D [ARAN] <CHARNAME>, for th' love o' th' gods, stop readin' that an' give it back, eh? >> [PC] Oh, no. I intend to keep this and read it at our next inn. It should be good for a laugh and a free round of drinks. You couldn't get a professional Bard to write some of this stuff! >> [PC] Only one question... who was this draft intended for? What gracious woman were you intending to reduce to a puddle of laughter with this missive of misplaced words and awkward imagery? [ F ] >> [PC] I had no idea you were so colorful in your writing, Aran. I thought you might parse a love letter "If the party in the foresaid paragraph, to be henceforth referred to as 'The Lover', does agree to a private meeting the time of which to consist of not less than one-half (1/2) hour, as determined by the established Dale Reckoning Sundial, then aforesaid party shall indicate acceptance by..." [ G ] F [ARAN] Wild horses couldn't get that answer out o' me, no way, no how. Oh, Bane's Blood, go on then. Laugh away. I'll be on about my business. G [ARAN] Banes Broken Bones. I should take to eatin' my trail versions just to make sure they don't fall into th' wrong hands. ////////// As always, if someone sees another pathway that should be incorporated, or has suggestions, fire away!
×
×
  • Create New...