Jump to content

Search the Community

Showing results for tags 'NPC'.



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
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • 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
    • 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
    • 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 89 results

  1. Well, he pretty much works - there are several things still to do, but he appears pretty much playable. Every once in awhile, he says "PLACEHOLDER", which is jarring, but hey, the boy was literally born yesterday. (OK, so he is a few years old, but *you* try being a fictional character added to a fantasy game.) Successful integration of most adult materials into general files. So, if you poke, expect to run across some stuff that you might find offensive. Think bad fanfic sex with a decidedly "purple prose" approach. That turned out to be over a year of work just figuring it out - I highly recommend thinking several times before doing much besides "fade to black". Trying to implement player choice without dictating in something as subjective as that? Murder. One sacrificial pre-alpha tester reported problems with weighting in inns, still backtracking. Still to integrate and rework before beta test release: "Send him on to another place" materials need coordinates and coding to actually move him. bath in an inn romance materials (currently marked PLACEHOLDER) several swimming pathways, both male and female, are chopped off short. Quest materials and dialog for Teldra the Recruiter Revamp and integration of adult materials (the "booty call" PID stuff) into ToB ToB friend talks (still on the drawing board - may be very short (3) for the initial beta release.) Definitely not yet under control = marking all pathways with appropriate c-aranintimate registration - right now, there are plenty of places where you can kiss the lad (or do a heckuvu lot more) and it doesn't register to influence other talks. Stuff to ask Beta testers to do when the beta is available: Pathway Check - as a male PC, is there any place where a gender check has been missed, and suddenly a male PC has Aran's hand exploring his pert breasts? As a female PC, is there any place in the friendship talks where there should be options for the female PC to swing the conversation into a flirtation/lovetalk? When does the Girdle of gender-Bender not get checked for and his reaction modified? Female PCs - is there any place where he goes from 0 to 60mph in less than two lines, unasked? [PC] "Heya. How are things" > [ARAN] (His rough cheek presses close to yours.) This is a real concern with ESL, too. Subtlety and language play does not always translate well. Pre-tester reported a good "negative" - some of the wordy back-and-forth banters are too much where they are leading into action with an NPC. Many of them could be controlled for player enjoyment by adding PC responses to the initial Aran statement, so when he gets rolling with several NPCs PC could just say "TO BATTLE!" and the rest of the sequence would be dropped. That would match the "silencer" action of PID. In Adult-Land, the creation of having many different encounters and trying to make them unique used randomness extensively. Are there pathways that have ended up missing the opportunity to just hold hands? just kiss? Say "no"? Vamp him? Jump his bones? Tell him to f*** off? In Friendship-Land, does he react well enough to conditions to maintain interest for PC? Some ideas that will need to wait until after beta release; Traification will help cut codebloat/size dramatically, especially as I will be using the same master ,tra file for SoA and ToB. And help with spellchecking. But I am still tinkering, and don't want to mess with .tra yet. ToB Romance Pathway. I scrapped the whole run, and am starting over. It was all angst, no fun. Life is too short to be constantly depressed. So much detail, yet so many things that could be extended... the problem with being a hack amateur writer is there is no real edit/revision in the proper sense. Less is often more, but here, more is more and more and more.... luckily, I only have myself to please All those ideas about using the new inn as adventure initiation need to be set aside for a bit. resolution talks for romance in SoA (right now there are the standard Tree of life, but I haven't tackled the big "R Y T 1" finale. has to happen before beta, but will definitely need to be revised after feedback. Currently, when you ask him about the relationship, the player can create "revisionist history", changing the variables. This probably will stay in for the beta, so that when a playtester finds something that loops or doesn't like the way things are going, they have an additional way of changing stuff to new settings without using the console. So, backup of current dialog files, decompiled via DLTCEP/WeiDU for troubleshooting/recheck, as of 08.28.2011 deprecated - please follow on www.github.com Notes to file under "never do this" - or at least recheck 1. WeiDU "unterminated comment" is the most frustrating thing ever to recheck - and it is not WeiDU's fault. It is entirely PEBCAK. I have started using both JEdit and NotePad++ auto-completion to make sure ( has ), [ has ], and most of all, there is no /* /* */ */ One useful regexp I found was \/\*.+\/\* very useful for finding where block commenting as taken a turn for the bizzare. I have given up on single line // commenting, finding it too easy for my non-programmer brain to forget that a newline in there is a PITA. 2. I like the use of a simple standard numbering of added states, a.k.a. a1 to a3799, but when working with multiple files make sure you have a master list that you keep up to date. That way you don't end up with a mess when you go back and mass-replace HAVE_A_NEW_BRANCH with a3500, only to find out the master number is already at a3770. With my memory challenges, the conversion serves as a re-check for pathway, making sure that a3770 is actually matching conversational flow, but that only works when you are very careful with your record-keeping. Of course, most NPCs don't require this level of OCD, as weidu accepts MY_YOU_LOOK_GOOD as a state label. In Aran, though, I'd be very likely to write that as a state label multiple times in multiple places. 3. I am now a big fan of the "compile early and often". It has been hard with Aran, as there are so many places where dialog is crosslinked. But I seriously am happy with WeiDU and DLTCEP compilation after every blasted added talk, if necessary, even if it is probably not needed. + +, missing tildes, ~~~, etc. all can be searched and fixed in a good programmer's editor, but something always seems to make it through that process. Nothing more frustrating than having a file that compiles, another file that compiles, merging them into a master file, and then having "unterminated comment" be the bane of your existence for a 4 hour modding session...
  2. No time to type much; will fill in more details later. Short course: Timers are set for FTs, LTs, NPC-Initiated flirts. Staggering content so they don't bunch up is relatively simple... until you give players choices on how long the timers work. Unsolvable problem in the long run, as starting/stopping flirts, starting/stopping romances, and talks that require specific conditions to fire will all throw them off, and the engine itelf seems to like to randomly wait much longer than the actual established timer (observation only, not proven). But, a partial solution, coded and installed in Aran's latest pre-Beta stuff: set everything up using OUTER_SET depending on the player choice. in c-aran.baf CODE /* ROMANCE TALKS */ /* * Romance Match and Initiation (He is not picky...) * One new thing here - Aran is ok if a friend switches genders - * but not so much on the romance side. So, we add a blocking variable * to make sure nothing progresses while that silly Girdle is in place. * He can have some special lines to play during the FT sequence on that. */ IF Global("c-aranmatch","GLOBAL",0) // Not evaluated Gender(Player1,FEMALE) // Player1 is female InParty(Myself) // Aran is here !StateCheck(Myself,CD_STATE_NOTVALID) // Aran is ok !StateCheck(Player1,CD_STATE_NOTVALID) // Player1 is ok !HasItemEquiped("belt05",Player1) // Girdle of sex change not on Player1 THEN RESPONSE #100 // 100% of the time SetGlobal("c-aranmatch","GLOBAL",1) // Matched SetGlobal("c-aranrom","GLOBAL",1) // Aran is interested END /* Berelinde: Please consider staggering your flirts and your dialogues. Flirts are nice when they break up long stretches between LTs. * cmorgan: OK, great idea - let's make it really complicated, and base the first timer on the player's choice of overall speed of progress... */ IF Global("c-aranmatch","GLOBAL",1) // Matched Global("c-aransetupromtimers","GLOBAL",0) // Not evaluated GlobalGT("c-aranfriendbg2","GLOBAL",5) // FT 3 has played Gender(Player1,FEMALE) // Player1 is female InParty(Myself) // Aran is here !StateCheck(Myself,CD_STATE_NOTVALID) // Aran is ok !StateCheck(Player1,CD_STATE_NOTVALID) // Player1 is ok !HasItemEquiped("belt05",Player1) // Girdle of sex change not on Player1 THEN RESPONSE #100 SetGlobal("c-aransetupromtimers","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",%choseninitialrom%) // Minimum Real Time until first LT RealSetGlobalTimer("c-aranflirttimer","GLOBAL",%choseninitialflirt%) // Tee up flirt timer END in setup-aranw.tp2 CODE OUTER_FOR( aran_timer_choice = 0; ~%aran_timer_choice%~ STRING_COMPARE_REGEXP ~^[12]$~; )BEGIN PRINT ~Set Talk and Flirt Timers [1] Install Default Timers [2] Customize Timers Please type 1 or 2 and press enter.~ ACTION_READLN aran_timer_choice END // of O_F ACTION_IF ("aran_timer_choice" = 1) THEN BEGIN /* .ids patching with player choice: set talk timers */ APPEND ~gtimes.ids~ ~3600 ARAN_FTT~ APPEND ~gtimes.ids~ ~3600 ARAN_LTT~ APPEND ~gtimes.ids~ ~3600 ARAN_FLIRT~ PRINT ~Speed: minimum 1 hour real time between dialogues (Default, recommended)~ OUTER_SET choseninitialrom = 2400 PRINT ~Initial Lovetalk offset by 40 minutes~ OUTER_SET choseninitialflirt = 1200 PRINT ~Initial NPC-Initiated Flirt offset by 20 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start hourly FT, NPC Flirt 20 minutes later, and RT 20 minutes after that, then 20 minutes later the next FT fires. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits.~ END ACTION_IF ("aran_timer_choice" = 2) THEN BEGIN PRINT ~Select Aran's Talk timers:~ PRINT ~Please choose one of the following: [1] approximately 1 hour real time minimum between friendship dialogues (recommended, default) [2] approximately 15 minutes real time minimum between friendship dialogues [3] approximately 30 minutes real time minimum between friendship dialogues [4] approximately 45 minutes real time minimum between friendship dialogues [5] approximately 1 hour 30 minutes real time minimum friendship between dialogues [6] approximately 2 hours real time minimum between friendshipdialogues~ OUTER_SPRINT ~friendshiptimer~ ~placeholder_value~ OUTER_WHILE (!(IS_AN_INT ~friendshiptimer~) OR (~friendshiptimer~ > 0x6) OR (~friendshiptimer~ < 0x1)) BEGIN PRINT ~Please type 1, 2, 3, 4, 5 or 6 and press enter.~ ACTION_READLN ~friendshiptimer~ END ACTION_IF ("friendshiptimer" = 1) THEN BEGIN APPEND ~gtimes.ids~ ~3600 ARAN_FTT~ APPEND ~gtimes.ids~ ~3600 ARAN_LTT~ APPEND ~gtimes.ids~ ~3600 ARAN_FLIRT~ PRINT ~Speed: minimum 1 hour real time between dialogues (Default, recommended)~ OUTER_SET choseninitialrom = 2400 PRINT ~Initial Lovetalk offset by 40 minutes~ OUTER_SET choseninitialflirt = 1200 PRINT ~Initial NPC-Initiated Flirt offset by 20 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start hourly FT, NPC Flirt 20 minutes later, and RT 20 minutes after that, then 20 minutes later the next FT fires. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits.~ END ACTION_IF ("friendshiptimer" = 2) THEN BEGIN APPEND ~gtimes.ids~ ~900 ARAN_FTT~ APPEND ~gtimes.ids~ ~900 ARAN_LTT~ APPEND ~gtimes.ids~ ~900 ARAN_FLIRT~ PRINT ~Speed: minimum 15 minutes real time between dialogues~ OUTER_SET choseninitialrom = 600 PRINT ~Initial Lovetalk offset by 10 minutes~ OUTER_SET choseninitialflirt = 300 PRINT ~Initial NPC-Initiated Flirt offset by 5 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start 15 minute FT, NPC-initiated Flirt 5 minutes later, and RT 5 minutes after that, then 5 minutes later the next FT. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits... especially when you run out of timered content!~ END ACTION_IF ("friendshiptimer" = 3) THEN BEGIN APPEND ~gtimes.ids~ ~1800 ARAN_FTT~ APPEND ~gtimes.ids~ ~1800 ARAN_LTT~ APPEND ~gtimes.ids~ ~1800 ARAN_FLIRT~ PRINT ~Speed: minimum 30 minutes real time between dialogues~ OUTER_SET choseninitialrom = 1200 PRINT ~Initial Lovetalk offset by 20 minutes~ OUTER_SET choseninitialflirt = 600 PRINT ~Initial NPC-Initiated Flirt offset by 10 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start 30 minute FT, NPC-initiated Flirt 10 minutes later, and RT 10 minutes after that, then 10 minutes later the next FT. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits... especially when you run out of timered content!~ END ACTION_IF ("friendshiptimer" = 4) THEN BEGIN APPEND ~gtimes.ids~ ~2700 ARAN_FTT~ APPEND ~gtimes.ids~ ~2700 ARAN_LTT~ APPEND ~gtimes.ids~ ~2700 ARAN_FLIRT~ PRINT ~Speed: minimum 45 minutes real time between dialogues~ OUTER_SET choseninitialrom = 1800 PRINT ~Initial Lovetalk offset by 30 minutes~ OUTER_SET choseninitialflirt = 900 PRINT ~Initial NPC-Initiated Flirt offset by 15 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start 45 minute FT, NPC-initiated Flirt 15 minutes later, and RT 15 minutes after that, then 15 minutes later the next FT. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits... especially when you run out of timered content!~ END ACTION_IF ("friendshiptimer" = 5) THEN BEGIN APPEND ~gtimes.ids~ ~5400 ARAN_FTT~ APPEND ~gtimes.ids~ ~5400 ARAN_LTT~ APPEND ~gtimes.ids~ ~5400 ARAN_FLIRT~ PRINT ~Speed: minimum 1 hour 30 minutes real time between dialogues~ OUTER_SET choseninitialrom = 3600 PRINT ~Initial Lovetalk offset by 60 minutes~ OUTER_SET choseninitialflirt = 1800 PRINT ~Initial NPC-Initiated Flirt offset by 30 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start 90 minute FT, NPC-initiated Flirt 30 minutes later, and RT 30 minutes after that, then 30 minutes later the next FT. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits... especially when you run out of timered content!~ END ACTION_IF ("friendshiptimer" = 6) THEN BEGIN APPEND ~gtimes.ids~ ~7200 ARAN_FTT~ APPEND ~gtimes.ids~ ~7200 ARAN_LTT~ APPEND ~gtimes.ids~ ~7200 ARAN_FLIRT~ PRINT ~Speed: minimum 2 hours real time between dialogues~ OUTER_SET choseninitialrom = 4800 PRINT ~Initial Lovetalk offset by 80 minutes~ OUTER_SET choseninitialflirt = 2400 PRINT ~Initial NPC-Initiated Flirt offset by 40 minutes~ PRINT ~So if you are in a romance with him and never stop the romance, after the lovetalks start (after friendship talk 3), the timer sequence will start 120 minute FT, NPC-initiated Flirt 40 minutes later, and RT 40 minutes after that, then 40 minutes later the next FT. Please note that the timers are not exact, and variations within the game may mean bursts of activity followed by long waits... especially when you run out of timered content!~ END END and when compiling the two scripts that have blocks like this in the .tp2, farther down, use CODE COMPILE EVALUATE_BUFFER ~aranw/baf/c-aran.baf~ // override script ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB dialog file PRINT ~Installing ToB scripts...~ COMPILE EVALUATE_BUFFER ~aranw/baf/c-arn25.baf~ // joined ToB script The result of timer choices are hidden in the PRINT stuff, detailed out for anyone who looks at the .DEBUG file.
  3. So, what is this "beta" thing? Officially, a "beta" is a version that has most of the good stuff already in place. According to wikipedia, "Open betas serve the dual purpose of demonstrating a product to potential consumers, and testing among an extremely wide user base likely to bring to light obscure errors that a much smaller testing team may not find." In this case, with the exception of the adult materials in the female romance portion, most of the content prior to tweaking/installation is already on the forums. There are some surprises, too, as installation and pre-alpha and alpha testing sometimes showed places where some tweaking needed to happen. BUT - I am releasing this as a check-up on how successful the code on the forums translates to actual play. The best dreams sometimes don't translate well into reality, and that is what we are going to find out here. What is missing? The major SoA quest is still under construction, and is not implemented. ToB has content, but very few LTs or FT's, and no banters (They stank - I'm redoing them). The LT sequence gets you up close to the Big Question, then drops you cold - there are several ways to make this a successful arc, and I am seeking feedback from the beta test before adding (writing) the final talks. Some of the swimming and bathing responses, both male and female, are currently marked with PLACEHOLDER while I track down better ways of entertaining more by saying less. So, what is in? Rough creature voicing and music for talks. Most of the SoA FT series. Most of the SoA LT series. Flirts, both PC and NPC initiated. (Hundreds. Literally hundreds. Randomized and stratified by your romance level.) Interjections. Lots of them. And the ability to tell him to shut up if he gets too mouthy. SoA Banters with all BioWare Canonical NPCs. Scroll creation. Moonlit Swordfights, male or female. Seduction, and a huge interactive tree of potential nookie in various forms (hopefully only found in female PCs without the girdle of gender-bender). Easter Eggs. The "click on me multiple times and something new probably happens at least twice, and often up to 5 or more times for the same worded reply" kind, not the one that hangs out with chocolate bunnies (Nythrun, i miss you!). Multiple replies to the same question both over time and dependent on area, time, friendship progression and/or lovetalk progression, or just plain asking him for advice in each and every area of SoA and ToB. Sometimes multiple times. Really, a huge amount of the content is PID-driven. A new inn with several interacting characters, and a minor quest if you keep on going back and talking to the bartender. Stories of war, love, and otherwise. Colorful and inventive swearing at inopportune moments. Flexible customization of Aran's stats/role, equipment, etc. ToB includes summoning, unsummoning, and sending him to an inn. You can even send him to Hell. Well, your little pocket corner of it, unless you are killing the dude. I think you can even send him "home" to Amn, though he'd sy home is wherever you are. ToB includes the "important" canonical talks; SoA the same (Tree of Life, Wraith Talk, Etc., Etc.) SoA includes sending him along to somewhere else, or having him stay put where you leave him - without breaking the romance, if you are so inclined. Watcher's Keep materials on both SoA and ToB. Awareness of several mod-added NPCs, whether in dialog or when they try to initiate PID with him instead of PC doing the initiating. Even some awareness and use of kit materials if you add the AranAware sub-mod at the end of your installation. Drunk talks. Multiple. Get him drunk once or twice, perhaps even three times. That is, if you can stand the belching. An occasional odd talk out of the blue, or green, or dark, whatever your current sky looks like. What if I really don't want to read bad purple-prose amateur crappy fanfic 'erotic' depictions? Don't play as a female. Or, play as a female, and shut him down when he tries to flirt - don't romance him. While every step of the romancing talks has exits and "just friends" and such, one of the goals of the beta is to discover places where you expect Aran to hold hands like a good little boy, and instead he starts taking his clothes of (or worse, starts trying to take yours off). That, and letting cmorgan know when the depiction just plain sounds as fun as watching paint dry. The standard lovetalks and flirts are not going to get you into heavy territory unless you have asked to go there through your replies, at least supposedly. The PID is the biggest access point, so if you flirt with him a lot or if you ask him to step around the corner with you, expect that he will have busy hands and a lecherous intent. Of course, you can always say no... sometimes he might get mad and go off in a snit for a day or so, and then you get to have a little spat. Or apologize to him. Or make him apologize to you. But it is darned hard to get through his thick skin enough that he drops the whole thing. Why should I try this out and risk a bug messing up my game? It is darned unlikely that there is a game-breaking bug. That was for the pre-alpha and alpha testing. The most likely scenario is some kind of weighting in an install with other mods, and a worst case scenario might be just kicking him out of the party; the good news with Aran in Beta-Land is that he comes with a PID that allows you to literally change history and reset globals by just talking to him. Running into an annoying stutter in a lovetalk? Break up with him. In a friend talk? Kick him out. Plus, I have a troubleshooting mod ready to go that the bigg came up with and berelinde pioneered, which proved extremely successful at tracking stuff in Gavin. But why try him out now? Well, primarily, feedback. If you see stuff that is just no fun, you get to suggest changes and watch me implement them if I can. Worst-case scenario, you tell him to shut up, and you have a relatively quiet configurable Dual-Classable that can create scrolls. Why would I not want to install this, but wait for the full release? Oh, thousands of reasons. Mod development can break games accidentally, though this one is unlikely to. And installing this on a BWP, well, it has never been done, so... who knows what will really happen? You could not be thrilled with the writing you see on the forums, or decide he isn't worth the hassle of seeing an occasional line where he just says "PLACEHOLDER" or "Blighted hells. Got naught to say. Must be a writer's strike." That can spoil the immersion for some folks - Shed's mods used this idea, and I like it, but not everyone does. You could be happier playing a finished product, and have the patience to wait at least 6 months (probably more realistically 9, or even a full year at next G3 Anniversary) for other people to wade through oddities like "Hey, I said I wanted Aran to kiss me, and he jumped into the sack and had his way with me, and then in the next dialog said he would love to explore more than just a kiss someday... yuch!" and for me to fix them. You could be a happy lurker who is not really into giving feedback, and not want to waste your gaming time when you could be running an All Elven Retrospective Party, with Haldimir, Kivan, Xan, Coran, PC, and Jaheira. (This is a legitimate excuse. For me, it is the ever-wished-for-but-never-attempted Aerie-Imoen-Jaheira-Saerileth-Tashia-PCPaladin runthrough, with multi-romance edits and reverse-engineering of the shutdowns. I am going to try that someday, just so I can write a girl's-gone-wild conflict banter and the ultimate juvenile male fantasy sequence.) You could be so hooked on the upcoming Mass Effect 3 and Skyrim that you just have to read the pre-release info every day instead of trying out a beta f a mod (f course, just remember that when ME3 hits the shelves, this boy right here is going to be definitely unavailable for a few days...) Where can I see if you are actually doing any work, instead of sitting back and watching me mess about? The forums, and actual integration of changes into the master copy at https://github.com/cmorganbg/Aran-Whitehand . Hey - I'm serious. If I just want to know what FriendTalks and Lovetalks are in, why won't you just list them? Here you go: SoA Talkity-talk Talks /* BG2 FriendTalk 1 c-aranfriendbg2 = 1 : Not Just Another Quasi-Invincible Band Of Protagonists */ /* BG2 FriendTalk 2 c-aranfriendbg2 = 3 : "My Pal the Shield Wall", or, merits of Heavy Metal (Whitesnake) vs Alternative (Feist) */ /* BG2 FriendTalk 3 c-aranfriendbg2 = 5 : "The Price of Fame", or, Whoa - *that* <CHARNAME>? Sux to be you, pal. */ /* BG2 FriendTalk 4 c-aranfriendbg2 = 7 : Mongo But Pawn In Great Chess Game of Life? */ /* BG2 FriendTalk 5 c-aranfriendbg2 = 9 : "Irresistible Forces and Immovable Objects", or, is the pen really mightier than the sword, or does he just have a better PR firm? */ /* BG2 FriendTalk 6 c-aranfriendbg2 = 11 : "Creative Culinary Conundrums", or, Whaddaya like to eat, 'cause I make this mean curry... */ /* BG2 FriendTalk 7 c-aranfriendbg2 = 13 : "Alternate Paths to Sun Tsu", or, tactics are fun, but sometimes you just gotta whack 'em. */ /* BG2 FriendTalk 8 c-aranfriendbg2 = 15 : "Warning - Objects Are Closer Than They Appear", or, why you want to check carefully behind your target area before firing that arrow. */ /* BG2 FriendTalk 9 c-aranfriendbg2 = 17 : "Bhallspawn, Shmallspawn. Meh.", or, Gods and Monsters. */ /* BG2 FriendTalk 10 c-aranfriendbg2 = 19 : "Weapons Practice for Fun and Profit", or, never bet with a Sicilian when death is on the line. */ /* BG2 FriendTalk 11 c-aranfriendbg2 = 21 : "Optimists, Pessimists, and Realists, Oh My.", or, the glass is half full, half empty, who cares - as long as it is a glass of good scotch! */ /* BG2 FriendTalk 12 c-aranfriendbg2 = 23 : "What's under all that Armor, Anyways?", or, take it all off, baby - take it all off. Emotionally, dude[ette] - jeeze, get a life. */ /* BG2 FriendTalk 13 c-aranfriendbg2 = 25 : "So once there were three men, sitting around a fire. And one of them got up and said..." TrailTalk, FR style */ /* BG2 FriendTalk 14 c-aranfriendbg2 = 27 : Bonus Round - Simple Word States, Maximum Effect: The Teacher's Workroom. */ FT 10 sets up a "shoot hoops FR-style" for Male PCs (no way of turning it into a romance) and a "moonlit sparring" encounter for female PC's (can end up having a flig with him even if not in a romance, or simply fight him for fun). This is added "scenery' content, and does not reset the FT timer. Perhaps is should? Separate UnderDark Talks: /* SoA UnderDark FriendTalk 1 : Nightmares on Elm Street */ /* SoA UnderDark FriendTalk 2 : Moving Bowels */ /* SoA UnderDark FriendTalk 3 : Don't Look Now, but your Isaiah 2:19 is showing... */ /* SoA UnderDark FriendTalk 4 : Weather forecast for tonight... dark. (George Carlin) */ /* SoA UnderDark FriendTalk 5 : "I believe that forgiving them is God's function. Our job is to arrange the meeting." ("Stormin'" Norman Schwarzkopf)*/ at the 30 minute timer, talks cover 7 hours of SoA outside of underdark and 2 hours 30 minutes in underdark. at the 60 (default), of course, 14 hours outside and 5 hours drow-ing. For the female PC, these play out as well if the PC doesn't shut down the romance: /* BG2 Love Talk 1 : Mary Chapin Carpenter - I Take My Chances : c-aranbg2rom = 1 > 2 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 2 : Dixie Chicks, Ready To Run : c-aranbg2rom = 3 > 4 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 3 : Queen - Somebody To Love, A No-Talk Lovetalk - or an extended Aran-Initiated Flirting Opportunity : c-aranbg2rom = 5 > 6 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 4 : ABBA - Name of the Game : c-aranbg2rom = 7 > 8 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 5 : Billy Joel - You may be Right/We Didn't Start The Fire mixology : c-aranrombg2 = 9 > 10 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 6 : ABBA - Take A Chance On Me : c-aranrombg2 = 11 > 12 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 7 : I want you - do you want me? : c-aranrombg2 = 13 > 14 c-aranromtimer,ARAN_LTT */ /* BG2 Love Talk 8 : Police - Every Little Thing She Does Is Magic : c-aranrombg2 = 15 > 16 c-aranromtimer,ARAN_LTT */ Need to finish romance arc for SoA; with the huge, way-over the top flirting possibilities, the occasional non-sequential scenery talks, the interjections, and the banters, it is a darned good thing much of that can be shut off via PID. The adult materials (including extensions to the streams, baths, garden, Inn, the "booty call through PID in a romance" and "the Romantic Encounters sparked from PC response in FT or LT") are almost finished, though it has been draft after draft and I'm less than thrilled - but hey, I wanted a challenge.
  4. The "post joined", or "You kicked me out already" dialog, run from c-aranp.dlg, is a nice quick file to code and write. It is the easiest of all, mostly because you can pick up anyone's mod and rewrite it as you see fit. The structure is likely to be the same. [state 0] first evaluated, takes precedence over other states. If this one is always true, the rest of the file is meaningless - nothing below this point will get evaluated. Let's copy everyone else and put the most general "on- off" switch for Aran possible, the Alignment Test. We want to put a state in that allows Aran to take off forever if he has been kicked out of the party, and the HAPPY.2da alignment table says his alignment would be disgusted and leave. Aran will stick with the job and remain loyal to PC even in the face of heavy evil, but if PC is not loyal in return he has time to think about things and revise. He can't keep up the internal rationalizations and "I'm just doin' my job" that has allowed normal people to do horrible things; he will have been given a choice to get out of the situation. So the standard "HappinessLT" block at the top of the file, that will kick in if the .2da file says "yuck". For neutral good, from the iesdp, a reputation of 1 gives [(good) -300 | (neutral) -300 | (evil) 80], so basically, this state will fire if Aran is kicked out of the party and the party rep is 1. Perhaps I'll go back later and up that number, but right now let's play with this in place. Of course, there are mods that realign this, including BG2 Tweak Pack, but we don't mind - installing one of the "stay forevar" tweaks will work fine because those modify the HAPPTY.2da table of reactions, so the condition isn't met. IF ~HappinessLT(Myself,-290)~ c-aranrepmismatch SAY ~No contracts with you. Sune's Sweet Buttocks, you are a pain in my arse.~ [C-ARAN01] IF ~~ THEN DO ~EscapeAreaDestroy()~ EXIT END OK, it this triggers, he wanders off to the nearest exit and vanishes in a puff of incandescent logic. Speaking of logic, logic says that if an NPC is in your party, the game thinks he or she is in your party. Funny thing, though - logic also states that teachers have great influence over the future and should therefore be paid well, and that ain't true, so go figure. In the BG2 engine, you "reform" [restructure? downsize?] your party, which kicks the NPC out of your party with no dialog and *then* the NPC comes up to you and has the whole "hey, are we still hangin', or do I need to update my resume?". So the next two states deal with those possibilities - Player just reformed the party and NPC wants directions (either to be let back in, hang out somewhere, or leave FOREVAR to go post on another forum), or 2. The NPC has been hanging out somewhere and the player has wandered back to pick him/her up. Now, there is a more "logical" in-game way of doing the kicking-out, via dialog, but it will have to wait for awhile. You can add states like this to the Player-Initiated-Dialog state, a big long single state with a zillion replies that becomes true when everything else has been ruled out and it is the only thing that can be triggered. That works from the Joined dialog file, so the player clicks on the NPC to talk, and one of the options can be "get lost, you hoser". But PIDs are way cool and crazy and need their own topic, or they start turning the party into the kind where jello shots are de rigeur and folks are swinging from the chandeliers. Besides, these things have to be added to this dialog anyways, for when folks reform their party (it still sounds so ominous, like Bolsheviks 'reforming' the Czar and his family into little teeny fragments... darn. Off-topic again. Let's move on to state 1.)
  5. Still working on some stuff behind the scenes for forum setup and Beta status, but I had some time this week between rehearsals et al., so here is another blog/exploration and the resulting banters for the ToB portion. The banter that inspired the idea CODE /* ToB Banters: Aran > Jaheira and Ajantis) */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) InParty("c#ajantis") Global("c-arntob18b","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob18b1 ~[ARAN] You look a mite pensive, Jaheira. What be draggin' you back down th' distant foggy paths o' memory?~ DO ~SetGlobal("c-arntob18b","GLOBAL",1)~ == BJAHEI25 ~[JAHEIRA] I am simply remembering how this all started. How young <CHARNAME> was, those few short years ago.~ == C-ARN25B ~[ARAN] So, tell me a story, eh? Ajantis never does tell all th' ins an' outs o' what th' glory days were like. You an' he started out early enough to know <PRO_HIMHER> when a few kobolds were a right difficult challenge.~ == BJAHEI25 ~[JAHEIRA] I would not describe them as glorious. But they did have their charm. == C-ARN25B ~[ARAN] I can see it now. <CHARNAME>, all wrapped up in swaddlin' clothes, wavin' <PRO_HISHER> arms wild-like an' bein' chased by a horde o' gibberlings.~ == BJAHEI25 ~[JAHEIRA] The waving of arms, perhaps. But no swaddling clothes. == C-ARN25B IF ~InParty("c#ajantis") Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Well, was there somethin' right special from th' first, or did th' whole romance thing wi' those two spring up just when they be wanderin' around Amn smitin' evil an' generally doin' good?~ == C-ARN25B IF ~InParty("c#ajantis") Global("C#AjantisPCMarriage","GLOBAL",1)~ THEN ~[ARAN] Just wonderin', on account o' it seems a mite fast to get married if they don't have a mite bit more to th' story.~ == BJAHEI25 IF ~InParty("c#ajantis") OR (2) Global("C#AjantisRomanceActive","GLOBAL",2) Global("C#AjantisPCMarriage","GLOBAL",1)~ THEN ~[JAHEIRA] That is their story to tell. Or not to tell, Aran. Not mine.~ == C-ARN25B IF ~InParty("c#ajantis") OR (2) Global("C#AjantisRomanceActive","GLOBAL",2) Global("C#AjantisPCMarriage","GLOBAL",1)~ THEN ~[ARAN] Well, nothin' ventured, nothin' gained, I guess. Don't blame a lad for some simple curiosity.~ == C-ARN25B ~[ARAN] I know it were not all teacups an' roses, but I'd give a blighted fortune to have seen th' whole Iron Throne thing from your perspective, instead o' from th' front lines fightin' Chill an' Blacktalons.~ == BJAHEI25 ~[JAHEIRA] I... I have many memories I would not repeat. But I am glad that I can think back on them, and see where we are now.~ EXIT The way this is written leaves the meanings deliberately open to interpretation. Jaheira does not indicate whether Ajantis was part of things when the party encountered him while dodging ankhegs, or if he was brought in when Chateau Irenicus fell on everyone. Does Jaheira approve? Is she affirming a beautiful friendship that has lasted all the way through the three games, or saying "I should have killed <CHARNAME> while he was younger and less powerful", or if multi-romance cheats are on, is she saying "He's mine, really, but you have to ask him why he spends all that time with Ajantis"? Well, given Jastey's careful coding, that last one is extremely unlikely, but you get the general idea, I think. On Aran's side, he could be just asking about the Glory Days, or he could be scoping out a potential rival, or he could be a little bit bitter that PC and Ajantis are married and he has no chance. Voila - a nice little banter for role-players to have some fun with, just highlighting inter-NPC relationships. I like it. So, how can we play with this idea and make it more situationally aware? How would the same questioning on Aran's part change, and the responses change, if it wasn't Jaheira and Ajantis, but Jaheira and Imoen? Or Jaheira and Gavin, while Gavin is romancing PC? Or better yet, if Jaheira and PC are in a romance, and since Aran was not around for Khalid at all, there is the opportunity for Foot In Mouth™ to strike... Data Gathering: NPCs that make it from BG to ToB I may have missed one or two, but this what I have found for currently available mods that add BG NPCs to SoA/ToB from BG -> BG2 (whether expanding on an existing BioWare™ character dialog or not). Most of these are mute during ToB, but allow a player to bring them along anyways. A few are still working on developing ToB content. And a few actually do go on into ToB. For future-proofing, we will just deal with all of them, so that if someone ends up expanding one of the two Branwen projects, or something similar, acknowledgment is already in place. Jastey's Ajantis = InParty("c#ajantis") WoundedLion's Branwen = InParty("WLBRAN") Lennon's Branwen (Perils of Branwen) = InParty("DL#BWN") Tortured Souls' Coran = InParty("Coran") Kulyok's Coran = InParty("O#Coran") Edwin (+- Laufey's Romance mods of him) = InParty("Edwin") Headbanger's Eldoth = InParty("M#Eldoth") Berelinde's Gavin = InParty("B!Gavin2") Imoen (+- LordM's/TCDale's Imoen Romance) = InParty("Imoen2") Minsc = InParty("Minsc") Lava Del'Vortel's (Aerie-Be-Gone) Quayle = InParty("QUAYLE") Vlad's Shar-Teel (BGTNeJ2) = InParty("Sharteel") darthsabe's Shar-Teel (German-only mod) = InParty("shartel") Lava Del'Vortel's Skie (Polish-only mod) = InParty("Skiedv") Kulyok's Tiax = InParty("O#Tiax") Talon's Xan = InParty("TLXan") Kulyok's Xan = InParty("O#Xan") Domi's Kivan = InParty("P#KIVAN") Viconia = InParty("Viconia") octavian's Yeslick (German-only mod) = InParty("Yesli") Now, for your mod, you may need to go further than just figuring out the DV (and in a few cases the mods are only available in certain languages, which would require some special handling and the services of a good and willing translator), but for my purposes, all I want is to allow a simple reference. I'm not writing lines of dialog for these NPCs here, I am letting the conversation acknowledge the "When I was a Lad in Candlekeep", or "Back in the Day™" references. The advantage to this is we can acknowledge the presence of one of these Cradle-To-Grave or Full Bhaalspawn Saga NPC's without worrying about whether or not the mod in question is installed. Since only the DV is referenced, there is no need to check for the existence of dialog files or .cre; nothing will crash if Branwen is not installed. It will just never run, because the check for InParty() will return false if none of the joined NPCs have that DV. The inspiration is a common enough conversational occurrence, where the "new guy" can ask what it was like back on the Sword Coast. This is a great banter for Jaheira, as she has the mothering/mentoring approach; there is a bonus, too, as the talk could become a little ticklish if she and PC are in a romance. And if any of the other Constant Companions were, well, even better. This kind of conversation could be made into a whole series of talks, but that rapidly becomes very complicated. Theoretically, she is the best character to ask about the long-long term story-arc romances - herself (the changing roles from married mentor/mother figure to widow to lover), Domi's Kivan, Berelinde's Gavin, Jastey's Ajantis, Kulyok's Xan, Laufey's Edwin romance addition, and Viconia. A full treatment of any of these would be an independent set of talks way beyond our purview, mostly because writing that kind of dialog means interpreting events through Jaheira's eyes. I would argue that was next to impossible to do, given that each of these romances can play out in so many different ways, even the BioWare ones. So we leave it open, as a side banter, bringing the subject up and then dropping it, allowing the player's imagination to fill in the backstory and re-interpret the dialog as it fits in their game. Now we have a choice - set up a bunch of independent banters which fire independently, or set it up as one big CHAIN. Individual banters all closed off with the same variable seems safest for folks with multi-romance cheats on. The top true one will play, the rest will be skipped. Or we can simply set up a more general idea in a single CHAIN. To acknowledge their presence as a sideline in another banter is an easy enough thing to do, if we leverage CHAIN to check for their presence as a party member in one fell swoop... CODE == C-ARN25B IF ~InParty("c#ajantis")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("WLBRAN")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("DL#BWN")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Coran")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("O#Coran")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Edwin")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("M#Eldoth")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("B!Gavin2")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Imoen2")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Minsc")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("QUAYLE")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Sharteel")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("shartel")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Skiedv")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("O#Tiax")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("TLXan")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("O#Xan")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("P#KIVAN")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Viconia")~ THEN ~[ARAN] PLACEHOLDER~ == C-ARN25B IF ~InParty("Yesli")~ THEN ~[ARAN] PLACEHOLDER~ On the doubles, like Talon's Xan and Kulyok's Xan, or we don't have to worry. Anyone trying to install both versions of these mods is going to have an odd game anyways. So we can safely assume that players will only install one or the other, and not get double entries from the CHAIN construction presented. At least, we can safely say that they are going to have far worse challenges in their game then getting replicated lines! To screen out all 20 possibles, a code snippet: CODE !InParty("c#ajantis") !InParty("WLBRAN") !InParty("DL#BWN") !InParty("Coran") !InParty("O#Coran") !InParty("Edwin") !InParty("M#Eldoth") !InParty("B!Gavin2") !InParty("QUAYLE") !InParty("Sharteel") !InParty("shartel") !InParty("Skiedv") !InParty("O#Tiax") !InParty("TLXan") !InParty("O#Xan") !InParty("P#KIVAN") !InParty("Yesli") To keep multi-romancer's banters short, we could set up a priority order, first putting the basic banter up. We could use the screen set up just above this to allow the basic banter to play, unless someone else in the party we recognize as coming in from BG content. Then we could follow up with a set of independent banter variants that can play if one of the Romanceables are present, and finally top it off with a catch-all net for the non-romanceables. That means lots and lots of banters. Wait a minute... There has to be a more efficient way. What if we played with CHAIN and EXTERN, instead of writing a ton of independent banters? Some of the elements will be the same, some will be different - let's see if we can break things up and organize them with some common elements delegated to CHAIN snippets. Initial Layout - Jaheira and the Constant Companions CODE /* ToB Banters: Aran > Jaheira Back in The Day : Baseline */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob18b","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob18b1 ~[ARAN] You look a mite pensive, Jaheira. What be draggin' you back down th' distant foggy paths o' memory?~ DO ~SetGlobal("c-arntob18b","GLOBAL",1)~ == BJAHEI25 ~[JAHEIRA] I am simply remembering how this all started. How young <CHARNAME> was, those few short years ago.~ == C-ARN25B ~[ARAN] So, tell me a story, eh? You never do tell all th' ins an' outs o' what th' glory days were like. You started out early enough to know <PRO_HIMHER> when a few kobolds were a right difficult challenge.~ EXTERN BJAHEI25 c-arantobgibberling CODE CHAIN BJAHEI25 c-arantobgibberling ~[JAHEIRA] I would not describe them as glorious. But they did have their charm. == C-ARN25B ~[ARAN] I can see it now. <CHARNAME>, all wrapped up in swaddlin' clothes, wavin' <PRO_HISHER> arms wild-like an' bein' chased by a horde o' gibberlings.~ == BJAHEI25 ~[JAHEIRA] The waving of arms, perhaps. But no swaddling clothes.~ END IF ~Global("JaheiraRomanceActive","GLOBAL",2)~ EXTERN C-ARN25B c-askjaheirarom IF ~!Global("JaheiraRomanceActive","GLOBAL",2)~ EXTERN C-ARN25B c-arantobbanterfinish CODE CHAIN C-ARN25B c-askjaheirarom ~[ARAN] Well, was there somethin' right special from th' first sight o' <PRO_HIMHER>, or did th' whole romance thing wi' you two spring up just when you be wanderin' around Amn smitin' evil an' generally doin' good?~ == BJAHEI25 ~[JAHEIRA] I was deeply in love with Khalid. I am still deeply in love with Khalid. After his death, it... it became complicated.~ == C-ARN25B ~[ARAN] Blighted hells... I done put my foot right in it. Look, I meant no harm. I was just askin' on account o' you an <PRO_HIMHER>, you seem to fit right together. Xvim's Spit, I just stuffed both feet right up my mouth.~ == BJAHEI25 ~[JAHEIRA] A habit which I find I must constantly remind you to curb.~ EXTERN BJAHEI25 c-arantobbanterfinish CODE CHAIN BJAHEI25 c-arantobbanterfinish == C-ARN25B ~[ARAN] Well, nothin' ventured, nothin' gained, I guess. Don't blame a lad for some simple curiosity.~ == C-ARN25B ~[ARAN] I know it were not all teacups an' roses, but I'd give a blighted fortune to have seen th' whole Iron Throne thing from your perspective, instead o' from th' front lines fightin' Chill an' Blacktalons.~ == BJAHEI25 ~[JAHEIRA] I... I have many memories I would not repeat. But I am glad that I can think back on them, and see where we are now.~ EXIT CODE Block 1 > Block 2 > ROM > Block3 > Block 4 > NOROM >>>>>>>>>>^ We broke this up into funny, odd little bits so that we can avoid duplicate states when we start expanding to include the outside references. Basically, we lay out the pastry, and allow the fillings to change based on the party composition. If the romance is active, we have a diversionary block; if not, we skip to the end. Adding Possible Romances; Jaheira with Ajantis, Gavin, Xan, Kivan, Imoen, Viconia, and/or Edwin Setting this up as single banters with only a few possible comments referencing other NPCs, so Multi-Romancers don't get a laundry list of every single active romance variable, is relatively simple. The first one with an active romance fires, the rest are skipped. As a sample of this idea: CODE /* ToB Banters: Aran > Jaheira Back in The Day : Ajantis */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) InParty("c#ajantis") Global("c-arntob18b","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob18b1 ~[ARAN] You look a mite pensive, Jaheira. What be draggin' you back down th' distant foggy paths o' memory?~ DO ~SetGlobal("c-arntob18b","GLOBAL",1)~ == BJAHEI25 ~[JAHEIRA] I am simply remembering how this all started. How young <CHARNAME> was, those few short years ago.~ == C-ARN25B ~[ARAN] So, tell me a story, eh? Ajantis never does tell all th' ins an' outs o' what th' glory days were like. You an' he started out early enough to know <PRO_HIMHER> when a few kobolds were a right difficult challenge.~ == BJAHEI25 ~[JAHEIRA] I would not describe them as glorious. But they did have their charm.~ == C-ARN25B ~[ARAN] I can see it now. <CHARNAME>, all wrapped up in swaddlin' clothes, wavin' <PRO_HISHER> arms wild-like an' bein' chased by a horde o' gibberlings.~ == BJAHEI25 ~[JAHEIRA] The waving of arms, perhaps. But no swaddling clothes.~ == C-ARN25B IF ~InParty("c#ajantis") !Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Well, was Ajantis th' same knightly protector, runnin' around smitin' things an' tellin' <CHARNAME> th' honorable course o' action, no matter how dangerous it be?~ == C-ARN25B IF ~InParty("c#ajantis") Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Well, was there somethin' right special from th' first, or did th' whole romance thing wi' those two spring up just when they be wanderin' around Amn smitin' evil an' generally doin' good?~ == C-ARN25B IF ~InParty("c#ajantis") Global("C#AjantisPCMarriage","GLOBAL",1)~ THEN ~[ARAN] Just wonderin', on account o' it seems a mite fast to get married.~ == BJAHEI25 ~[JAHEIRA] That is their story, Aran. It is not mine to tell.~ EXTERN BJAHEI25 c-arantobbanterfinish But we already have the base banter above. Let's leverage EXTERN and the ability to add transitions from CHAIN states based on variables to make things more efficient, reducing the amount of state duplication: CODE /* ToB Banters: Aran > Jaheira Back in The Day : Baseline */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob18b","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob18b1 ~[ARAN] You look a mite pensive, Jaheira. What be draggin' you back down th' distant foggy paths o' memory?~ DO ~SetGlobal("c-arntob18b","GLOBAL",1)~ == BJAHEI25 ~[JAHEIRA] I am simply remembering how this all started. How young <CHARNAME> was, those few short years ago.~ == C-ARN25B ~[ARAN] So, tell me a story, eh? You never do tell all th' ins an' outs o' what th' glorious days were like. You started out early enough to know <PRO_HIMHER> when a few kobolds were a right difficult challenge.~ END IF ~!InParty("c#ajantis")~ EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("c#ajantis")~ EXTERN C-ARN25B c-arantobajantis CODE APPEND C-ARN25B IF ~~ c-arantobajantis SAY ~[ARAN] Hells, Ajantis be as bad as you. He has naught in th' way o' good juicy gossip, just tales o' honor an' such. I think he were a companion back on th' Trade Way, before you all headed southwest.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE CHAIN BJAHEI25 c-arantobgibberling ~[JAHEIRA] I would not describe them as glorious. But they did have their charm.~ == C-ARN25B ~[ARAN] I can see it now. <CHARNAME>, all wrapped up in swaddlin' clothes, wavin' <PRO_HISHER> arms wild-like an' bein' chased by a horde o' gibberlings.~ == BJAHEI25 ~[JAHEIRA] The waving of arms, perhaps. But no swaddling clothes.~ END IF ~!Global("JaheiraRomanceActive","GLOBAL",2) !Global("C#AjantisRomanceActive","GLOBAL",2)~ EXTERN C-ARN25B c-arantobbanterfinish IF ~Global("JaheiraRomanceActive","GLOBAL",2)~ EXTERN C-ARN25B c-askjaheirarom IF ~Global("C#AjantisRomanceActive","GLOBAL",2)~ EXTERN C-ARN25B c-arantobajanticeromance CODE CHAIN C-ARN25B c-arantobajanticeromance ~[ARAN] I always wanted to know if was there somethin' right special from th' first, or did th' whole romance thing wi' those two spring up just when they be wanderin' around Amn smitin' evil an' generally doin' good?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Ajantis does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot.~ EXTERN C-ARN25B c-arantobbanterfinish CODE CHAIN C-ARN25B c-askjaheirarom ~[ARAN] Well, was there somethin' right special from th' first sight o' <PRO_HIMHER>, or did th' whole romance thing wi' you two spring up just when you be wanderin' around Amn fendin' off challenges to th' Balance?~ == BJAHEI25 ~[JAHEIRA] I was deeply in love with Khalid. I am still deeply in love with Khalid. After his death, it... it became complicated.~ == C-ARN25B ~[ARAN] Blighted hells... I done put my foot right in it. Look, I meant no harm. I was just askin' on account o' you an <PRO_HIMHER>, you seem to fit right together. Xvim's Spit, I just stuffed both feet right up my mouth.~ == BJAHEI25 ~[JAHEIRA] A habit which I find I must constantly remind you to curb.~ EXTERN BJAHEI25 c-arantobbanterfinish CODE CHAIN BJAHEI25 c-arantobbanterfinish == C-ARN25B ~[ARAN] Well, nothin' ventured, nothin' gained, I guess. Don't blame a lad for some simple curiosity.~ == C-ARN25B ~[ARAN] I know it were not all teacups an' roses, but I'd give a blighted fortune to have seen th' whole Iron Throne thing from your perspective, instead o' from th' front lines fightin' Chill an' Blacktalons.~ == BJAHEI25 ~[JAHEIRA] I... I have many memories I would not repeat. But I am glad that I can think back on them, and see where we are now.~ EXIT OK, two swapped-in parts of the conversation. And edits in [CHAIN BJAHEI25 c-arantobgibberling] to make sure that if Ajantis' romance is active, the Jaheira romance commentary is skipped. Even Aran wouldn't poke Jaheira if Ajantis and Jaheira are both in a romance with PC! He would be wondering what kind of crazy person has reverse-engineered the BioWare™ romance and Jastey's extremely detailed coding, and calling his agent for a new gig. So, let's add some more. To save space, let's just build the snippets. I didn't write them this way. Originally, I sketched out all of the banters as individual ones, all variations on the theme. But let's see if we can edit them in: Ajantis CODE /* Add to baseline: !InParty("c#ajantis") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("c#ajantis")~ EXTERN C-ARN25B c-arantobajantis */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Ajantis */ IF ~~ c-arantobajantis SAY ~[ARAN] Hells, Ajantis be as bad as you. He has naught in th' way o' good juicy gossip, just tales o' honor an' such. I think he were a companion back on th' Trade Way, before you all headed southwest.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("c#ajantis") !Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("c#ajantis") Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobajantisromance */ CODE CHAIN C-ARN25B c-arantobajanticeromance ~[ARAN] I always wanted to know if was there somethin' right special from th' first, or did th' whole romance thing wi' those two spring up just when they be wanderin' around Amn smitin' evil an' generally doin' good?~ == C-ARN25B IF ~Global("C#AjantisPCMarriage","GLOBAL",1)~ THEN ~[ARAN] Just wonderin', on account o' it seems they were a mite fast to get married.~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Ajantis does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot.~ EXTERN C-ARN25B c-arantobbanterfinish Imoen CODE /* Add to baseline: !InParty("Imoen2") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("Imoen2")~ EXTERN C-ARN25B c-arantobimoen */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Imoen */ IF ~~ c-arantobimoen SAY ~[ARAN] Imoen must have been a sight to see, an' a blighted tough one to keep up with, back on th' Sword Coast. I can imagine she kept everyone on their toes. Glory, conquest, an' pink accoutrements for all, eh?~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("Imoen2") !Global("ImoenRomanceActive","GLOBAL",1) !Global("ImoenRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("Imoen2") OR(2) Global("ImoenRomanceActive","GLOBAL",1) Global("ImoenRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobimoenromance */ CODE CHAIN C-ARN25B c-arantobimoenromance ~[ARAN] Not to put too fine a point on it, but... well, I don't quite get what th' two o' them have as a relationship. On th' one hand, Imoen be like a sister to <PRO_HIMHER>. On th' other, I done seen how <CHARNAME> looks at Imoen, an' there be little o' sisterlyness, eh? It be hard to hide that they be right close together more'n most folks what be married. Did they always be this way?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Imoen does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot.~ EXTERN C-ARN25B c-arantobbanterfinish Viconia CODE /* Add to baseline: !InParty("Viconia") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("Viconia")~ EXTERN C-ARN25B c-arantobviconia */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Viconia */ IF ~~ c-arantobviconia SAY ~[ARAN] I think Viconia met up wi' you way back, but I'm not blighted likely to get no stories from her. Not that I'd believe them anyways, or listen, or even ask that spiderspawn bitch naught.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("Viconia") !Global("ViconiaRomanceActive","GLOBAL",1) !Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("Viconia") OR(2) Global("ViconiaRomanceActive","GLOBAL",1) Global("ViconiaRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobviconiaromance */ CODE CHAIN C-ARN25B c-arantobviconiaromance ~[ARAN] When did <CHARNAME> get all bent up over th' Shar-kissed drowess, anyways? I mean, were it just animal attraction at first, an' then some kind o' power struggle, or did she set right out to seduce <PRO_HIMHER> right away?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. Given your obvious hatred of Viconia, I would be discreet, and leave them alone.~ EXTERN C-ARN25B c-arantobbanterfinish Edwin CODE /* Add to baseline: IF ~!InParty("Edwin") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("Edwin")~ EXTERN C-ARN25B c-arantobedwin */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Edwin */ IF ~~ c-arantobedwin SAY ~[ARAN] I done heard rumors what put Edwin an' <CHARNAME> together far back on th' Sword Coast. I don't rightly believe anythin' he claims fully, on account o' that overweanin' ego o' his, but I think he claims all th' glories o' old were his doin'.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("Edwin") !Global("EdwinRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("Edwin") Global("EdwinRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobedwinromance */ CODE CHAIN C-ARN25B c-arantobedwinromance ~[ARAN] Th' two o' them, Odesseiron an' <CHARNAME>... were they like to spark right from th' beginnin', or did they decide to become insufferable together later on?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. I do not doubt that Edwin will gladly boast of their relationship.~ EXTERN C-ARN25B c-arantobbanterfinish Gavin CODE /* Add to baseline: !InParty("B!Gavin2") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("B!Gavin2")~ EXTERN C-ARN25B c-arantobgavin */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Gavin */ IF ~~ c-arantobgavin SAY ~[ARAN] Gavin be a right good lad, but I can't get much in th' way o' glory stories out o' him. I think he done met up wi' you early on, eh? That must o' been somethin', wanderin' into dangerous territory wi' a healer what might trip over his own two feet if th' wind blows th' wrong way. ~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("B!Gavin2") !Global("B!GavRA","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("B!Gavin2") Global("B!GavRA","GLOBAL",2)~ THEN EXTERN c-arantobgavinromance */ CODE CHAIN C-ARN25B c-arantobgavinromance ~[ARAN] An' when did Gavin start gettin' so close to <CHARNAME>? Were it gradual, or instant-like? Love at first sight back by th' Temple he says he worked with back near Beregost, or did he have to batter at th' gates, so to speak?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Gavin does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot.~ EXTERN C-ARN25B c-arantobbanterfinish Xan CODE /* Add to baseline: !InParty("O#Xan") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("O#Xan")~ EXTERN C-ARN25B c-arantobxan */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Xan */ IF ~~ c-arantobxan SAY ~[ARAN] You have to help a lad out, here. Xan jut looks at me wi' that morose expression o' his an' shakes his head. A Moonblade weilder, a Harper, an' <CHARNAME>. Hells, that must o' spawned quite a few stoories an' glories.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("O#Xan") !Global("O#XanRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("O#Xan") Global("O#XanRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobxanromance */ CODE CHAIN C-ARN25B c-arantobxanromance ~[ARAN] I don't rightly see what <PRO_HESHE> seen in him, y'know. All that doom an' gloom an' angst. But they spark an' confer like they was attached at th' soul, or somethin'. When did <PRO_HESHE> fall for Xan, anyways?~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Xan does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot.~ EXTERN C-ARN25B c-arantobbanterfinish Kivan CODE /* Add to baseline: !InParty("P#KIVAN") // to the transition leading to EXTERN BJAHEI25 c-arantobgibberling IF ~InParty("P#KIVAN")~ EXTERN C-ARN25B c-arantobkivan */ CODE APPEND C-ARN25B /* ToB Banters: Aran > Jaheira Back in The Day : Kivan */ IF ~~ c-arantobkivan SAY ~[ARAN] Kivan don't say much about those days. He just looks at those hands o' his, flexes them a mite bit, an' gets a far-off look in his eyes. A powerful one like that on your side, you all must o' made quite th' play for glory.~ IF ~~ THEN EXTERN BJAHEI25 c-arantobgibberling END END CODE /* add to BJAHEI25 c-arantobgibberling : IF ~InParty("P#KIVAN") !Global("P#KivanRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobbanterfinish IF ~InParty("P#KIVAN") Global("P#KivanRomanceActive","GLOBAL",2)~ THEN EXTERN c-arantobkivanromance */ CODE CHAIN C-ARN25B c-arantobkivanromance ~[ARAN] Did <PRO_HESHE> fall for th' ohtar right away, or were it more gradual? It seems all a mite bit complicated, it do. Kwentra i'narn, mellonamin.~ == BJAHEI25 ~[JAHEIRA] That is their story to tell, Aran. If Kivan does not wish to tell you, and <CHARNAME> says nothing, then I certainly cannot. And 'ohtar' translates as 'warrior'. Kivan is far more than that.~ EXTERN C-ARN25B c-arantobbanterfinish And there we have it. We'll tuck the integrated product at the end of all this. Secondary Level - Non-Romances; Jaheira with Branwen, Coran, Eldoth, Minsc, Quayle, Shar-Teel, Skie, Tiax, or Yeslick OK, now we have a different challenge to solve. Do we really want this first banter to drag on and on, referencing anyone who might be present, or are we going to be happier with short, targeted choices? There is an additional challenge to that - only one of those romanceables is going to play, and if there is one of them available we want the banter to reference them, not someone who is not seen as quite as important. So let's opt-in the romanceables with the banter above, and then if none of them is InParty, the "just friends" NPCs can get a crack at being included. CODE /* ToB Banters: Aran > Jaheira */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob18b","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(13) InParty("WLBRAN") InParty("DL#BWN") InParty("Coran") InParty("O#Coran") InParty("M#Eldoth") InParty("Minsc") InParty("QUAYLE") InParty("Sharteel") !InParty("shartel") !InParty("Skiedv") InParty("O#Tiax") InParty("TLXan") InParty("Yesli")~ THEN C-ARN25B c-arantob18bmob ~[ARAN] You look a mite pensive, Jaheira. What be draggin' you back down th' distant foggy paths o' memory?~ DO ~SetGlobal("c-arntob18b","GLOBAL",1)~ == BJAHEI25 ~[JAHEIRA] I am simply remembering how this all started. How young <CHARNAME> seemed, those few short years ago.~ == C-ARN25B IF ~InParty("WLBRAN")~ THEN ~[ARAN] Branwen was mutterin' somethin' similar just a bit ago. Judgin' by th' amount o' "Tempus this" an' "Tempus that", she weren't so sure things have gotten better.~ == C-ARN25B IF ~InParty("DL#BWN")~ THEN ~[ARAN] Branwen was mutterin' somethin' similar just a bit ago. Judgin' by th' amount o' "Tempus this" an' "Tempus that", she weren't so sure things have gotten better.~ == C-ARN25B IF ~InParty("Coran")~ THEN ~[ARAN] You Tel'Quessir must be connected somehow. Coran were sayin' somethin' yesterday about th' wondrous Cloakwood, an' how th' more things change th' more things change. Didn't rightly make no sense to me.~ == C-ARN25B IF ~InParty("O#Coran")~ THEN ~[ARAN] You Tel'Quessir must be connected somehow. Coran were sayin' somethin' yesterday about th' wondrous Cloakwood, an' how th' more things change th' more things change. Didn't rightly make no sense to me.~ == C-ARN25B IF ~InParty("M#Eldoth")~ THEN ~[ARAN] I don't rightly trust that Eldoth fellow to tell th' tales. For a bard, he be a mite bit on th' silent side. But I suppose he might have seen a fair bit.~ == C-ARN25B IF ~InParty("Minsc")~ THEN ~[ARAN] My bet be Minsc has not changed much.~ == C-ARN25B IF ~InParty("QUAYLE")~ THEN ~[ARAN] I'd ask Quayle about th' old days, but somehow I suspect I'd be listenin' to a blighted hells o' a long story. I just want some o' th' juicy bits.~ == C-ARN25B IF ~InParty("Sharteel")~ THEN ~[ARAN] Shar-Teel were around back then, I think, but she don't seem to like me much. Comes wi' havin' to wear a codpiece, I guess.~ == C-ARN25B IF ~InParty("shartel")~ THEN ~[ARAN] Shar-Teel were around back then, I think, but she don't seem to like me much. Comes wi' havin' to wear a codpiece, I guess.~ == C-ARN25B IF ~InParty("Skiedv") !InParty("M#Eldoth")~ THEN ~[ARAN] I'd ask Skie, on account o' she loves a good piece o' gossip, but then I'd have to get through all th' chatter about silks, an' that bastard Elfred, or Eddoth, or whatever th' bard what she moans about were named.~ == C-ARN25B IF ~InParty("Skiedv") InParty("M#Eldoth")~ THEN ~[ARAN] I'd ask Skie, on account o' she loves a good piece o' gossip, but then I'd have to get through all th' chatter about silks, an' that bastard Eldoth treated her right bad, but she just loves him anyways. Or hates him. Guess it depends on th' day.~ == C-ARN25B IF ~InParty("O#Tiax")~ THEN ~[ARAN] Somehow I think th' conversation wi' Tiax would be about how he solved th' whole Iron Throne crisis in spite o' havin' all o' you along, eh?~ == C-ARN25B IF ~InParty("Yesli")~ THEN ~[ARAN] Yeslick has one hells o' a hollow leg, but no matter how much he drinks he don't spill naught in th' way o' good stories.~ == C-ARN25B ~[ARAN] An' you, you be th' worst o' all. You never do tell all th' ins an' outs. My boon companions, startin' out early enough to know <PRO_HIMHER> when a few kobolds were a right difficult challenge, an' you hold back on th' tales o' glory.~ EXTERN BJAHEI25 c-arantobgibberling With this last one, we still have a possible recognition of Jaheira's romance with PC placed at the end of c-arantobgibberling. And there we have it, except for a few final things: integration and uadjustment in the first banter, and a test install to see where tildes are missing, code is misspelled, and most of all if all the CHAIN transitions are in need of readjusting/reordering/cleanup.
  6. in F:\TEST1\aranw\baf\c-arn25d.baf CODE /* NightTalk: Stars, Constancy Thereof */ IF Global("c-tobnightone","GLOBAL",0) OR(2) Global("c-arangoaded","GLOBAL",0) Global("c-arangoaded","GLOBAL",6) !Global("c-arannightvisit","GLOBAL",1) TimeofDay(NIGHT) AreaType(OUTDOOR) InParty(Myself) !StateCheck(Player1,CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID) THEN RESPONSE #100 SetGlobal("c-tobnightone","GLOBAL",1) StartDialogueNoSet(Player1) END in F:\TEST1\aranw\dialog\c-arantobdialog.d CODE /* NightTalk: Stars, Constancy Thereof */ IF ~Global("c-tobnightone","GLOBAL",1)~ THEN BEGIN a4249 SAY ~[ARAN] Now that be a sight. Those stars seem to cover th' whole sky, or what we can see o' it.~ ++ ~[PC] I prefer to keep my eyes focused nearer to reality. The only good use for starlight is exposing your enemies when they are stupid enough to move across open terrain without cover.~ + a4250 ++ ~[PC] They do have a way of reminding us that some things never change. All we do, all we attain, all we suffer.... they just keep shining, completely untouched.~ + a4251 ++ ~[PC] They are very cold. Almost eyes, watching us, judging us, evaluating us.~ + a4251 ++ ~[PC] I think they are like small campfires, a host of ones like ours, warm in the night.~ + a4251 + ~Gender(Player1,MALE)~ + ~[PC] I think they seem like they are mocking me. Kind of like women, all shiny and sparkley, yet cold and distant.~ + a4251 + ~GlobalGT("c-aranrom","GLOBAL",0) GlobalLT("c-aranrom","GLOBAL",3) Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] They seem... romantic, somehow. Always there, no matter what.~ + a4251 + ~RandomNum(5,5)~ + ~[PC] They certainly have one thing going for them. They don't stand around gawking, wasting time, and blathering.~ + a3188 /* c-aranshutup55 */ + ~RandomNum(5,4)~ + ~[PC] They certainly have one thing going for them. They don't stand around gawking, wasting time, and blathering.~ + a3189 /* c-aranshutup56 */ + ~RandomNum(5,3)~ + ~[PC] They certainly have one thing going for them. They don't stand around gawking, wasting time, and blathering.~ + a3190 /* c-aranshutup57 */ + ~RandomNum(5,2)~ + ~[PC] They certainly have one thing going for them. They don't stand around gawking, wasting time, and blathering.~ + a3191 /* c-aranshutup58 */ + ~RandomNum(5,1)~ + ~[PC] They certainly have one thing going for them. They don't stand around gawking, wasting time, and blathering.~ + a3192 /* c-aranshutup59 */ END IF ~~ a4250 SAY ~[ARAN] Aye. Spoken like a true warrior. Although all killin' an' no imagination probably leaves things a mite bit dull, don't you think?~ ++ ~[PC] I don't know. There are so many fascinating and different ways to kill. Why, just think of all the possibilities acid has for creative application.~ + a4252 ++ ~[PC] True enough. I suppose a little time to see the sights is not a bad way to relax.~ + a4251 + ~OR(3) Global("c-aranrom","GLOBAL",0) Global("c-aranrom","GLOBAL",3) HasItemEquiped("belt05",Player1)~ + ~[PC] I have plenty of other thoughts to occupy my mind right now. Some of them are rather unpleasant, but so far we have come out on top. I will sleep as well as can be expected.~ + a4254 + ~GlobalGT("c-aranrom","GLOBAL",0) GlobalLT("c-aranrom","GLOBAL",3) Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I have plenty of other thoughts to occupy my mind right now. Some of them are rather unpleasant, but so far we have come out on top. I will sleep as well as can be expected.~ + a4253 + ~GlobalGT("c-aranrom","GLOBAL",0) GlobalLT("c-aranrom","GLOBAL",3) Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] You might be right. Sometimes it is nice just to sit and think.~ + a4253 + ~RandomNum(5,5)~ + ~[PC] Given the choice between watching the stars, listening to you, and committing ritual suicide, I am pretty sure ritual suicide comes out a winner.~ + a3188 /* c-aranshutup55 */ + ~RandomNum(5,4)~ + ~[PC] Given the choice between watching the stars, listening to you, and committing ritual suicide, I am pretty sure ritual suicide comes out a winner.~ + a3189 /* c-aranshutup56 */ + ~RandomNum(5,3)~ + ~[PC] Given the choice between watching the stars, listening to you, and committing ritual suicide, I am pretty sure ritual suicide comes out a winner.~ + a3190 /* c-aranshutup57 */ + ~RandomNum(5,2)~ + ~[PC] Given the choice between watching the stars, listening to you, and committing ritual suicide, I am pretty sure ritual suicide comes out a winner.~ + a3191 /* c-aranshutup58 */ + ~RandomNum(5,1)~ + ~[PC] Given the choice between watching the stars, listening to you, and committing ritual suicide, I am pretty sure ritual suicide comes out a winner.~ + a3192 /* c-aranshutup59 */ END IF ~~ a4251 SAY ~[ARAN] They sure be beautiful. So powerful, shinin' down like that. An' so far out o' reach.~ IF ~OR(4) Global("c-aranrom","GLOBAL",0) Global("c-aranrom","GLOBAL",3) HasItemEquiped("belt05",Player1) Gender(Player1,MALE)~ THEN GOTO a4254 IF ~GlobalGT("c-aranrom","GLOBAL",0) GlobalLT("c-aranrom","GLOBAL",3) Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ THEN GOTO a4253 END IF ~~ a4253 SAY ~[ARAN] You know, you look right fine lit by stars an' th' moon. I can guess why there be so many worshipers o' Selune.~ ++ ~[PC] I think I want to kiss you.~ + a3915 /* FEMALE_MOON_LEADS */ ++ ~[PC] (Impulsively clasp both hands around one of his, pulling it towards you.)~ + a3916 /* ARAN_MOON_LEADS */ ++ ~[PC] I... I am tired. Have a good night, Aran.~ + a4254 ++ ~[PC] I am not Selune. But you could worship me if you like.~ + a3918 /* ARAN_MOON_MIND */ ++ ~[PC] Hey, easy on the compliments. Friends, remember? You are starting to sound all romantic and weepy.~ + a3919 /* MOON_JUST_FRIENDS */ ++ ~[PC] Talking with you here is a nice rest from all of the day's cares. But then again, lots of things besides talking can happen beneath those little twinkling lights.~ + a3918 /* ARAN_MOON_MIND */ ++ ~[PC] You are so... stupid. And pushy. Go away and leave me in peace.~ + a3866 /* FIGHT_EXIT */ END IF ~~ a4252 SAY ~[ARAN] Talos' an' Teos' Twisted Temper... Thanks a bunch, eh? Now I'll be havin' nightmares all night.~ IF ~~ THEN GOTO a4254 END IF ~~ a4253 SAY ~[ARAN] You know, you look right fine lit by stars an' th' moon. I can guess why there be so many worshipers o' Selune.~ ++ ~[PC] I think I want to kiss you.~ + a3915 /* FEMALE_MOON_LEADS */ ++ ~[PC] (Impulsively clasp both hands around one of his, pulling it towards you.)~ + a3916 /* ARAN_MOON_LEADS */ ++ ~[PC] I... I am tired. Have a good night, Aran.~ + a4254 ++ ~[PC] I am not Selune. But you could worship me if you like.~ + a3918 /* ARAN_MOON_MIND */ ++ ~[PC] Hey, easy on the compliments. Friends, remember? You are starting to sound all romantic and weepy.~ + a3919 /* MOON_JUST_FRIENDS */ ++ ~[PC] Talking with you here is a nice rest from all of the day's cares. But then again, lots of things besides talking can happen beneath those little twinkling lights.~ + a3918 /* ARAN_MOON_MIND */ ++ ~[PC] You are so... stupid. And pushy. Go away and leave me in peace.~ + a3866 /* FIGHT_EXIT */ END IF ~~ a4254 SAY ~[ARAN] Well, I'm off. Got th' first watch anyhow. Have a dream or two for me.~ IF ~~ THEN EXIT END Anything in /* */ with existing numbers ties back into the negotiation between Aran and PC for doing stuff found in adult content.
  7. 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!
  8. 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.
  9. OK, because I am falling behind and delaying for a comprehensive list of non-canonical non-BioWare™ crossmod references for a full tutorialization of the various dialog files and their usages, a Monday posting of a Friend Talk that has been stewing for awhile. Since it is FT 8, it might need some sprucing up to allow for an active romance. If you are reading along for coding ideas, remember that the eventual order is BEGIN ~dialogfile~ all I_C_T[2,3,4] all APPEND s all CHAIN s This is not in that particular order yet, as it is easier for me to check dialog flow visually when it is in this order. Some coding things to think about: 1. the big reminds us that WeiDU line counting works best if you indent code and if you leave a carriage return at the end of the file. Windows folks sometimes forget those things. He has tried to compensate for it in later WeiDU versions, but since it is good practice anyways... 2. Usually friend talks are basic 1 - on - 1 banters between PC and NPC. I am choosing to see friendtalks as group discussions, but still - a little goes a long, long way. If everyone comments everywhere, ther can be troubles, especially as each group banter entry involves the modder making assumptions abut the characterization of the BioWare™ NPC. So while I want to digress into a side banter of Korgan and Aran trying to out-swear eachother, that realy belongs as a floater banter rather than sidelining a friendtalk. 3. The trend in many NPCs is to tackle a set of questions. I am running more topical/scenic on my attempts here, but this one realy does ave a question: Why do you swear so much, Aran? The coding challenge/author fun is figuring out how to tailor the response to accont for PC class and Aran's possible Cleric class. I am making the assumption that as a general non-kitted neutral good Cleric, Tymora will be Aran's choice. This means if someone makes him a Loremaster of Ogma, well - "conceptual incompatibility". Here, I am going to not go crazy over it. Perhaps later there will be a way of swapping in kitspecific stuff, but right now I will just make things as general as possible. /* BG2 FriendTalk 8 c-aranfriendbg2 = 15 */ /* "Bhallspawn, Shmallspawn. Meh.", or, Gods and Monsters. */ CHAIN IF ~Global("c-aranfriendbg2","GLOBAL",15)~ THEN ~C-ARANJ~ c-aranft8 ~[ARAN] Tempus' Shield, that tears it. That is the last time I get leatherwork cut rate. This blighted bootlace is parting. Anyone got a spare?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",16) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_ROM)~ == ~JAHEIRAJ~ IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] You should be better prepared. Think ahead next time, Aran.~ == ~AERIEJ~ IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] I - I'm sorry, I don't have anything extra.~ == ~KORGANJ~ IF ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID)~ THEN ~[KORGAN] It will cost you a trade bar.~ == ~EDWINJ~ IF ~InParty("Edwin") InMyArea("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID)~ THEN ~[EDWIN] (Idiot.) Perhaps we would move faster if you held still while I carved a new one from your hide.~ == ~MINSCJ~ IF ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID)~ THEN ~[MINSC] Here, Aran, I have a bootlace!~ == ~C-ARANJ~ IF ~InParty("Minsc") InMyArea("Minsc") !StateCheck("Minsc",CD_STATE_NOTVALID)~ THEN ~[ARAN] By the fire giant's gods, whomever they are... Minsc, you are a big, big boy. Thanks. I'll take a third o' that length.~ == ~CERNDJ~ IF ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID)~ THEN ~[CERND] You do not need leather to bind that. Nature provides many alternatives with similar strength, and the avoidance of killing an animal.~ == ~C-ARANJ~ IF ~InParty("Cernd") InMyArea("Cernd") !StateCheck("Cernd",CD_STATE_NOTVALID)~ THEN ~[ARAN] Mystra's Magnificent Mouth, Cernd... given the choice between my feet in battle an' the animal, I am considerin' the animal a distant second.~ END + ~!Class(Player1,CLERIC_ALL)~ + ~For the god's sake, slow down with the swearing, will you?~ EXTERN ~C-ARANJ~ c-aranft8general + ~OR(2) Class(Player1,PALADIN) Class(Player1,CLERIC_ALL) !Kit(Player1,GODTALOS) !Kit(Player1,GODHELM) !Kit(Player1,GODLATHANDER)~ EXTERN ~C-ARANJ~ ~Why are you blaspheming over something so minor, Aran?~ + c-aranft8specific + ~Class(Player1,CLERIC_ALL) Kit(Player1,GODHELM)~ + ~Here. But why are you blaspheming over something so minor, Aran?~ EXTERN ~C-ARANJ~ c-aranft8helm + ~Class(Player1,CLERIC_ALL) Kit(Player1,GODLATHANDER)~ + ~Here. But why are you blaspheming over something so minor, Aran?~ EXTERN ~C-ARANJ~ c-aranft8lathander + ~Class(Player1,CLERIC_ALL) Kit(Player1,GODTALOS)~ + ~Here. But why are you blaspheming over something so minor, Aran?~ EXTERN ~C-ARANJ~ c-aranft8talos + ~OR(2) Class(Player1,RANGER) Class(Player1,DRUID)~ + ~Here. But why are you blaspheming over something so minor, Aran?~ EXTERN ~C-ARANJ~ c-aranft8nature ++ ~You take every opportunity to swear, don't you, Aran.~ EXTERN ~C-ARANJ~ c-aranft8general + ~RandNum(5,1)~ + ~Alright, move along, everyone. The sellsword is having troubles again. Catch up fast, Aran.~ EXTERN ~C-ARANJ~ c-aranshutup1 + ~RandNum(5,2)~ + ~Alright, move along, everyone. The sellsword is having troubles again. Catch up fast, Aran.~ EXTERN ~C-ARANJ~ c-aranshutup2 + ~RandNum(5,3)~ + ~Alright, move along, everyone. The sellsword is having troubles again. Catch up fast, Aran.~ EXTERN ~C-ARANJ~ c-aranshutup3 + ~RandNum(5,4)~ + ~Alright, move along, everyone. The sellsword is having troubles again. Catch up fast, Aran.~ EXTERN ~C-ARANJ~ c-aranshutup4 + ~RandNum(5,5)~ + ~Alright, move along, everyone. The sellsword is having troubles again. Catch up fast, Aran.~ EXTERN ~C-ARANJ~ c-aranshutup5 /* Thought-Check: This chain will end up with 3 PC responses for non-clerics, druids, rangers; 4 for druids and rangers; 3 for clerics; 4 for paladins */ CHAIN ~C-ARANJ~ c-aranft8general ~[ARAN] Three things you shouldn't take from a man, <CHARNAME>... his swearin', his drink, and his weapon.~ == ~HAERDAJ~ IF ~InParty("HaerDalis") InMyArea("HaerDalis") !StateCheck("HaerDalis",CD_STATE_NOTVALID)~ THEN ~[HAERDALIS] Ah, fair fledgeling, I think you should simply say 'his voice'. And of course, no man or woman should ever lose that. ~ == ~KELDORJ~ IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] Invoking the gods is a natural stress release, Aran. But as you grow more powerful, the gods tend to listen more closely. They may take exception to having their name used so freely.~ == ~MAZZYJ~ IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] My mother often told me that swearing was not to be taken lightly, for it speaks to your soul as well as the gods.~ == ~NALIAJ~ IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Swearing is both vulgar and common. A gentleman does not use such language.~ == ~C-ARANJ~ IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[ARAN] I thought you were into helpin' th' 'common man', there, Nalia. I never claimed to be no gentleman.~ == ~NALIAJ~ IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Teaching the commoners respect for the gods goes along with teaching respect for themselves, Aran.~ == ~VALYGARJ~ IF ~InParty("Valygar") InMyArea("Valygar") !StateCheck("Valygar",CD_STATE_NOTVALID)~ THEN ~[VALYGAR] Why risk the gods wrath?~ == ~VICONIJ~ IF ~InParty("Viconia") InMyArea("Viconia") !StateCheck("Viconia",CD_STATE_NOTVALID)~ THEN ~[VICONIA] Speak your words loudly, sellsword. I want to see your face just before an Avatar destroys you.~ == ~ANOMENJ~ IF ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID)~ THEN ~[ANOMEN] Your language offends me. Then again, your presence in general offends me.~ == ~C-ARANJ~ IF ~InParty("Anomen") InMyArea("Anomen") !StateCheck("Anomen",CD_STATE_NOTVALID)~ THEN ~[ARAN] Bugger off, jackass. Come talk wi' me when you got somethin' more than the foul smell o' breakin' wind from your mouth.~ == ~KORGANJ~ IF ~InParty("Korgan") InMyArea("Korgan") !StateCheck("Korgan",CD_STATE_NOTVALID)~ THEN ~[KORGAN] Let the sorry bastard say his piece.~ END ++ ~Don't you ever worry about the gods hearing your talk? Don't you ever expect help or advice or something to come of your call?~ EXTERN ~C-ARANJ~ c-aranft8attention ++ ~Hey, it is your business if you go around haphazardly calling random gods. But when one answers, you had better be prepared for the surprise.~ EXTERN ~C-ARANJ~ c-aranft8attention ++ ~Without faith, you are nothing. ~ EXTERN ~C-ARANJ~ c-aranft8attention + ~Class("c-aran",CLERIC_ALL)~ I thought you were a cleric, Aran. That should mean you only swear by your own god.~ EXTERN ~C-ARANJ~ c-aranft8arancleric ++ ~I didn't intend that to be a request. I don't want the attention drawn to us.~ EXTERN ~C-ARANJ~ c-aranft8attention ++ ~I am not taking any of those, Aran. Just settle down and choose one god or goddess, will you?~ EXTERN ~C-ARANJ~ c-aranft8attention APPEND ~C-ARANJ~ IF ~~ c-aranft8specific SAY ~[ARAN] I know you are faithful to your god, <CHARNAME>... but I figure a few words in the air won't hurt anythin'.~ ++ ~Don't you ever worry about the gods hearing your talk? Don't you ever expect help or advice or something to come of your call?~ + c-aranft8faith ++ ~Haphazardly calling random gods is dangerous to your soul. IF you do not call on one god, who will claim you from Kelemvor's judgement?~ + c-aranft8faith ++ ~Without faith, you are nothing. Literally. As in abandoned from the Great Wheel. IF you would like, we can pray together, and perhaps it will help you decide.~ + c-aranft8faith ++ ~I didn't intend that to be a request. I don't want the attention drawn to us.~ + c-aranft8faith END IF ~~ c-aranft8helm SAY ~[ARAN] Helm is a tough god, <CHARNAME>... a fine soldierin' one at that. But there's times where he doesn't quite cover it. I figure a few words in the air won't hurt anythin'. ~ ++ ~You should worry about the gods hearing your talk. Do you not expect help or advice or something to come of your call?~ + c-aranft8faith ++ ~Haphazardly calling random gods is dangerous to your soul. IF you do not call a just and fair god like Helm, who will claim you from Kelemvor's judgement?~ + c-aranft8faith ++ ~Without faith, you are nothing. Literally. As in abandoned from the Great Wheel. IF you would like, we can pray together, and perhaps Helm with bear you up on his shield.~ + c-aranft8faith ++ ~I didn't intend that to be a request, Aran. I don't want the attention drawn to us.~ + c-aranft8faith END IF ~~ c-aranft8lathander SAY ~[ARAN] Lathander is a gentle god, <CHARNAME>... a fine one for new beginnings. And the gods know I need some new beginnings. But there's times where he doesn't quite cover it. I figure a few words in the air won't hurt anythin'.~ ++ ~Don't you ever worry about the gods hearing your talk? Don't you ever expect help or advice or something to come of your call?~ + c-aranft8faith ++ ~Haphazardly calling random gods is dangerous to your soul. IF you do not call a gentle and strong god like Lathander, who will claim you from Kelemvor's judgement?~ + c-aranft8faith ++ ~Without faith, you are nothing. Literally. As in abandoned from the Great Wheel. If you would like, we can pray together, and perhaps Lathander will grant you a new beginning.~ + c-aranft8faith ++ ~I didn't intend that to be a request, Aran. I don't want the attention drawn to us.~ + c-aranft8faith END IF ~~ c-aranft8talos SAY ~[ARAN] Talos is a wild god, <CHARNAME>... one for power an' strength. Good to call on in battle. I figure a few words in the air won't hurt anythin'. ~ ++ ~You are a fool to chatter on so. The gods will hear your talk. ~ + c-aranft8faith ++ ~Haphazardly calling random gods is dangerous to your soul. IF you do not call a powerful god like Talos, no god will claim you from Kelemvor's judgement.~ + c-aranft8faith ++ ~Without faith, you are nothing. Literally. As in abandoned from the Great Wheel. Pray to Talos with me, sellsword. Perhaps you will weather this storm we call 'life.'~ + c-aranft8faith ++ ~I didn't intend that to be a request, sellsword. I don't want the attention drawn to us.~ + c-aranft8faith END IF ~~ c-aranft8nature SAY ~[ARAN] All you tree huggers do is talk about the balance and such. But you are good folks to watch a friend's back in battle that's for sure. I figure a few words in the air won't hurt the great balance, or whatever. ~ ++ ~Tree hugger, eh? Thanks alot. Don't you ever worry about the gods hearing your talk? Don't you ever expect help or advice or something to come of your call?~ + c-aranft8faith ++ ~True balance requires choice, Aran. Haphazardly calling random gods is dangerous to your soul. ~ + c-aranft8faith ++ ~Without faith in Nature and her balance, you are nothing. Literally. As in abandoned from the Great Wheel. If you would like, we can meditate together, and perhaps you will find some peace.~ + c-aranft8faith ++ ~I didn't intend that to be a request, sellsword. I don't want the attention drawn to us.~ + c-aranft8faith END IF ~~ c-aranft8faith SAY ~[ARAN] Look, I don't mean nothin'. I have faith in the gods. No offense, but I favor Tymora the most, an' I figure she would like the gamble. It's a soldier's perogative to swear, and I may take advantage a bit, but I don't mean you no harm. But I have to ask, why do you choose service your god? Seems like all they do is play with us mortals like toys. ~ ++ ~I serve my chosen deity as I have always done. My faith grants me the ability to help others see the true path...~ + c-aranft8help ++ ~I serve my chosen deity as I have always done. My faith grants me discipline and control over myself.~ + c-aranft8control ++ ~I serve my chosen deity as I have always done. My faith grants me dominion over others and glories in my eventual rise to master of all.~ + c-aranft8ascend ++ ~I serve my chosen deity as I have always done. My faith grants me great power.~ + c-aranft8power ++ ~I serve my chosen deity for now. My faith in myself will be enough someday, and perhaps I will become a god.~ + c-aranft8ascend ++ ~I am not sure if you are ready to hear about my faith.~ + c-aranft8nothear END IF ~~ c-aranft8arancleric SAY ~[ARAN] Look, I don't mean nothin'. No offense to you, but I favor Tymora the most, an' I figure she likes the gamble. She sends me down some powers, so she can't be that angry about it. It's a soldier's perogative to swear, and I may take advantage a bit, but I don't mean you no harm. By the way, you ever considered followin' Tymora?~ + ~ReputationLT(Player1,11)~ + ~I might be interested. What does Tymora offer me?~ + c-aranft8actionevil + ~ReputationGT(Player1,10) ReputationLT(Player1,15)~ + ~I might be interested. What does Tymora offer me?~ + c-aranft8actionneutral + ~ReputationGT(Player1,14)~ + ~I might be interested. What does Tymora offer me?~ + c-aranft8actiongood ++ ~Hey, that is getting a little personal. Do not try to sway my soul from its destined path, Aran. ~ + c-aranft8nosway ++ ~I serve my chosen deity for now. My faith in myself will be enough, and perhaps someday I will become a god myself.~ + c-aranft8ascend ++ ~I am not sure if you are ready to hear about my faith.~ + c-aranft8nothear END IF ~~ c-aranft8actionevil SAY ~[ARAN] You are playin' wi' me now, <CHARNAME>. Tymora might offer somethin', but she judges by actions. Right now, looks like you don't give decent odds on her investment. You'd have to clean up the way you are goin' and move more towards bright gold rather than deep shadow. But, if you ever do move in that direction, I'm right here to help out a bit.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8actionneutral SAY ~[ARAN] Well, she can offer some decent odds on fair gambles, <CHARNAME>. IF you are really interested, then it might be a good move for you. She don't hold with extremes, except for takin' risks. You seem like th' sort to take a risk now an' then. Hey, you brought me along - that counts double!~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8actiongood SAY ~[ARAN] Well now, Tymora does like a good bet, an' you have the 'good' part down, at least as far as your actions are speakin'. She don't hold with extremes, though, except for takin' risks. So, come talk sometime.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8nosway SAY ~[ARAN] Aye, I did jump too quick now, didn't I. I guess I have a bit to learn about the whole preachin' thing. I didn't mean nothin'.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8help SAY ~[ARAN] Tymorra's Coin, that is a fine idea. I like helpin' folks. Just I get the idea most clerics think that involves changin' gods.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8control SAY ~[ARAN] Tymorra's Coin, that is a strange proposition. I prefer to let things hang out a bit. More fun that way.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8ascend SAY ~[ARAN] Tymorra's Coin, and I thought *I* was the one with th' loose lacing.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8power SAY ~[ARAN] Tymorra's Coin, you better be careful. Seems to me gods have a tendency to give folks power and just to see if they have the sense not to use it.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8nothear SAY ~[ARAN] Fair enough. There's always other times to speak on this kind o' thing.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8attention SAY ~[ARAN] Clerics get all th' attention, far as I can see. Plus, I favor Tymora the most. I figure she would like the gamble.~ IF ~~ THEN GOTO c-aranft8final END IF ~~ c-aranft8final SAY ~[ARAN] Besides, I am all done up. Give me a hand up, eh? We better get movin'.~ IF ~~ THEN EXIT END END // of append block
  10. Getting the subquest from Orin started requires multiple (7, I think) conversations before he feels comfortable giving the quest. I will need to recheck if that means Aran must be in the party each time, or only on the seventh time. Non-quest-giving characters all have at least 5 different random dialogs. But random numbers can roll 1,1,1,1,1... Same for Aran and non-quest character interactions. They will not trigger every time. The idea was to reward making the bar a 'home' for awhile. In the current alpha, Teldra has no conversation. (Becasue her quest area and relevant sub-characters are not done yet.) So Orrin points to her, Erika points to her, but she won't talk. Probable bug; while each character's PID tailored responses work fine, but for both male and female players, PID triggers the first friendtalk/interest talk. Either the initial timer is still on testing (10) or something else is going on. Several talks need smoothing out from the 'flippant' PC responses. For some reason, both "day" and "night" city PID responses show up at the same time. Need to recheck. Some PID responses have up to 5 random responses, some only have one possible. Not sure how I feel about that. On the one hand, there isn't much to say in many places. on the other hand, if I am rewarding multiple passes at the same question in one area, but making a person read the same thing at least 4 times in another, meh. PID list for female PCs is too long. 17 or so responses in some areas. I may need to sub-menu them down.
  11. 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
  12. OK, a quest. Or quests. Or something that Aran brings to the table in terms of gently adding to the story or fleshing it out, without hijacking the plot. Does he need one? No, not really. There are lots of NPCs out there that are useful additions that carry no real plot beyond a copy of traditional themes, shadowing in-game ideas of betrayal, love, conquest, good versus evil, rescuing Boo, cooking Boo over an open fire, Slaying The Evil Ones And Gaining The Gratitude Of The Gods™ (all rights reserved, MGM Studios, 1929). We have NPCs that add no quest content at all. We have intricate plotlines like Beyond The Law that seek both entertainment and some social tweaking/thinking, controlling single-viewpoint storytelling quests like Saerileth, open character-building plotlines/encounters like Keto's quest, and a whole ton of romantic plots that can entertain a player. So, what could we possibly add to this mix that does not already exist in some form or fashion, and fits Aran? He is not Chloe or other god-children, or Sheena the half-dragon, Kivan of dark and sad twisted fate, or even Nalia who is at least a Noble and should darned well expect some quest-like content cropping up. I mean, really - running a darned fiefdom is no picnic in the Realms - and she has to deal with <CHARNAME>> to boot. So what is it that Aran brings to the party? He is supposed to be, well, normal. Or as normal as Faerun really gets, anyways. Kind of that gruff travelling trader/fighter/scribe type, a Have Gun Will Travel, only not so much into the Lone Gunman role... the guys that are one step behind John Wayne (OK, so perhaps Ms. Jonie Wayne, since the protagonist can be male or female) in the 5th Cavalry Charge. You know. The one who takes the bullet for our hero, or hands our hero the extra ammo, or holds his horse - bit actor parts at best. No secret angsty famly to save - his sister is a mage off in Waterdeep, and his family has all retired from trading oster work. No roots put down, so no former girlfriend to rescue - a hint of slaver work that he detested and decided against doing ever again, lots of mercenary battles, some study with itenerant scholars - a jack-of-all-trades, master of none. Hmmm. Perhaps what Aran needs is not a Quest, but an Anti-Quest. Or a series of them. Traditionally, Quests are fun diversions. After all, we know the main plotline, and unlike Morrowind, you really can't ignore it successfully forever without simply abandoning your game and starting over (a nasty habit, that. I am opening my own chapter of "BG2 Plot-Restarters Anonymous", if anyone else wants to join. Anonymously, of course. To join, simply do not send me an email and never admit you joined to anyone, and voila - you are in). Some folks want tons of 'em. Some want specific ones. Most NPC quests require the NPC to actually be there, or involve her being kidnapped and having to be rescued, etc. But the predominant characteristic of BG2 NPC quests is that they seem to be attempts to play up the character in a situatiion that fleshes out thier backstory and provides a glimpse of what the mod maker though would be really cool for the NPC to do (or the PC to do to/for the NPC). This is to be expected - basically, it is the CRPG equivalent of literary sub-plots, which can enlighten and entertain while forwarding or obscuring the story, however the story works. C-3PO and R2D2 were just oddities in the first Star Wars movies - it wasn't until we saw the whole sequence unfold or read the books that we began to find out how deeply enmeshed in the action two little plot-device/comic-relief 'droids actually complete a nice little subplot and tie stories together, providing a thread to follow that enriches the whole. The best example of this device in TV Sci-Fi that I can think of is Babylon 5, which was a masterful use of entire story-arcs built entirely out of "sub-plots" - until the series writers twisted them into a rope that really became one big story. It is so important to us players/readers, that entire genres of fiction are based not on primary or secondary characters in the Forgotten Realms / Star Trek Universe / Honorverse / BuffyVerse / whatever - we create entirely new characters to live and breath in those worlds, interacting with those worlds. the paperback sci-fi/fantasy section of our local bookstore shows us that there is a large market for stories that expand or reinforce the playground universe of WarHammer, or Star Wars, or Dragonlance, or Forgotton Realms. We are either incredibly creative, or incredibly out of touch with day to day survival. Not that I care - I have a Morrowind game, BG2 game, Tutu game, and a good CoH RTS going, so don't talk to me about day to day survival unless you can tell me how to find more Ash Yams so I can punch up my Alchemy Skill and enhance my intelligence so that I can create better potions using Ash Yams. Or perhaps explain why I just can't seem to make my Rangers take Hill 101 by the timed deadline for the combat medal... so far, 9 tries, 9 failures. Bleh! Plotting Quests DM-ing by the anti-numbers In my book, good DMs provide four things every single time: a goal, a conflict or consequence of failing to attain the goal, an adversary or obstacle to overcome, and finally - plot points. For DM'ing, plot points are pretty similar to the screenplay/writer/author/novelist idea, in that they are a point at which the plot can pivot or change direction unexpectedly, or even cease to be important as a new direction is revealed. There are lots of folks who actually study this kind of thing, so if you are one, awesome - good luck on your next book, and I honestly hope you have success. Luckily, I have a paying gig and have no aspirations of being a real author (I starved and scraped and did enough things that I am ashamed of being a musician, thank you very much - I don't relish repeating it in yet another career that chews creative people up and spits them out without much regard for things like, say, a reasonable income. Or sleep. Or even food.) I am stealing the phrase 'plot point' and applying it in a personal way, so if you have already read the latest greatest "How To Write The Next Great Original American Novel In Twenty Days™" or just came back from a writer's seminar at Harvard (better yet Bennington or Oxford or Cambridge, because they have real writers there) way cool - go write that damned novel and let a musician misuse terminology. For my purpose, I am going to say that a plot point is the point where the players can completely and utterly screw up their DM. In a novel or screenplay, the author has a story (or stories) and the reader follows the story (or dumps the book at the next train station to inflict in on some poor unsuspecting soul who just needed to pass the time). The difference in really awesome DM'ing is that each one of the critical points of the story, the part where the author drives the story forward or teases the reader by tossing new light on the matter or whatever - the element of choice creeps in. A group of players doesn't "know" the story, so they can't make the "right choice". And that is really, really fun. It can lead literally anywhere, for any reason, and usually in the manner least expected. For example, the classic plotpoint, meeting the Lich who will give the quest to our party of intrepid adventurers. Deus Ex Machina is nice, but a little goes a long way. And having a quest forced on you just plain stinks, in my book - though I understand that for some NPCs, the modder feels that the characterization makes it an all or nothing proposition. Although she is not alone in the modding world in this regard, she is one of the absolutely classic examples of "directional"storytelling, Saerileth again springs to mind - one story, strong character, definite "yes" and "no" answers, and that means less player choice. You go through the story, but in order to fit Saerileth in the party, you go through *her* story. I actually am ok with that story, but Aran is the antithesis of "thou shalt do this or thy evilness shalt rip my teenage heart in two and I shall die of the pain thou hast caus-ed mine own". He would be more like Now, how much choice can we accomplish in the i.e. engine? lots. Tons. WAY TOO MUCH. Because although the concept of a freeform awesome DM'ing of player choice, you need to create your own game. We have Limitations™. There are Canonical Rules™. There is also the little teeeeeny consideration that the darned quest would never be finished if every single major point had a measly 5 choices, and their points had 5 choices, and so on, and so on (I hope Prell doesn't sue me for stealing their commercial). For that, you need real people, so you need a PbP or a gaming group, or an online group of some kind. For BG2, you have to draw some limits. Let's see what we might need to do to limit Aran. Has to be Faerunian, even if it isn't completely Old Skool Canonical Treatment. Should fit 2E rules and expectations, probably should reference correct timeline (even though they kind of screwed that up a bit in the game - fans are notoriously more picky about that than the original authors in almost every setting, except perhaps Tolkein Himself.) Has to take place in chapter 2 or 6, because we didn't make Aran a Drow or a pirate, or set him up with a backstory that puts him in Saradush somehow. And that is a pretty crowded set of chapters, let me tell you. Has to try to not spoil the main plot with info too early, and yet have some attraction to being done/accomplished that makes sense to the PC (no pulling a sword from a stone to become the next King Of Amn, and no suddenly discovering that Aran is actually Elminster's First Cousin and Future Ruler of a Moonshea Isle... it really needs to follow the goals of the PC, not Aran. Bit part, remember? Must be Equity, but not command a star billing and salary...) OK, some minimal stuff - what does that leave us with? How about a quick brainstorm. What would a JOAT (Stainless Steel Rat, a great story, go read it) do when hired by a Bhaalspawn bent on Saving/Dominating The World? After all, he is Pinky to <CHARNAME> The Brain.... GOALS: Help The BhaalSpawn Succeed. Potential plots that might fit that goal: gather information on OBE's (Other Bhaalspawn Enemies) (if you are British, you get it...) find scrolls of power or a secret cache of gold/items that could help the PC (Pirate Gold, ARrrrrrr....) arrange mercenary work for money using contacts (Conquerers For rent. Reasonable Rates. No Dragons. Apply within.) build a man from scrap parts labled "Abbey... abby something - abby-normal" and bring him back to life (Hey, how did Young Frankenstien get in here? Commonplace occurrence in FR, so scrap this one!) discover plot against PC by local authorities scared of the Prophecy and resulting business losses (Leave the guns. Take the canolis.) CONSEQUENCE/CONFLICT: Tasks Distracting From Main Goal. mercenary network of information can work for or against the merc - what happens when you are in the posse of the Notorious BiG (Bhallspawn Interest Group) and someone has hired your former friends and acquaintences to "detain and question" said BiG, for, say, perhaps... - the rulers of Waterdeep, who might want to see what is going on and see if this is a Good witch, or a Bad witch? (ok, or warlock, but you get the idea) - the followers of Ilmater/Cyric/Corelon/etc. who want to help/hurt a being who is rumored (correctly or incorrectly) to have chosen sides in the religious conflict rebrewing? There are other forces interested in the outcome, after all. - payment of taxes or service requirements by the local lords? The Cowled ones aren't the only game in Amn, and the Roenalls are not the only nobles by any means. Court intrigue might help here. Written communication is cool, but can spread information the wrong way, too. What happens if Aran's journal falls into the wrong hands, and Irenicus finds additional chinks in PC's armour - sending a bribery attempt against the party, with a loyalty check on participants (Korgan takes the cash no problem, Minsc squishes the messenger...) A mercenary's life is a hard one. What happens when PC finds himself accused of warcrimes against "innocent, law abiding" patrols that ambushed the party, like every time I try to go from point to point in the darned city? Especially when Aran is found to be wanted by the Crimson Tower for 'spying' during the Iron Throne conflict? negotiation is not Aran's strong point. There is a great Padme quote about this - something about negotiations - ah, Google is my friend; Anakin: You call this a diplomatic Solution? Padme: No, I call it an aggressive negotiation. So what happens when a guy can get you a job, but gets in over his head, and PC has to choose between breaking the contract or fulfilling it - better yet, what happens when you take the contract and find out there is*no* good guy present, and Aran's answer is "To hell wi' th' contract, anyways. I never did like that murderin' son o' a bitch, beggin' pardon to dogs everywhere. I says we kill em' all, an' let Kelemvor sort out what bastard gets sent to what hell." ADVERSARY/OBSTACLES well, on this one, it really depends on what form of goal and consequence/conflict we lay down. One sample scenario: > Aran gets job offer for group to negotiate peace between some nobles for some traders. > group finds out "traders" are really agents sent to test PC and gather info for other bhallspawn, or for Irenicus, or for some other political entity > peace must be negotiated or resolved through any number of means, from a game of chess through to personal challenges/champions, to perhaps the regular way (bug group battle, save, reload, try again). Well, that is the brainstorm - no answers yet, just floating out ideas. The "non-required-yet-fun-to-accomplish-subplot-for-normal-mercenary-faerunian-sellswords-that-builds-up-PC-and-fills-in-backstory" quest or mini-quests. An interesting uzzle. Help yourself to a brainstorm, if you like. When something moves along into focus, we can come back to actual plot points, and see how we can make the quest be one of those 'replayable because I actually have real choices' quests.
  13. ToB has some (small) flaws - not many spots a war-weary party has for real interjection, and where there is, it can be a tough road for a player who has played the whole Saga. At this point in the series, I feel like just getting the whole playthrough done, and I suspect without Wheels of Prophecy having been written I would have never played ToB to completion again. But, Aran is around for the long haul, and others might feel differently, so a first pass at these. For the most part, the tougher the going gets, the more silent he will be. After all, this is not likely to end positively from his point of view, no matter what - by now, he is post-post-post traumatic stress syndrome, never quite believing he is anything but an ordinary soldier, and his best friend/gf/leader gets more incomprehensibly powerful each day. So finding spots for him to naturally have something to say other than "Kill that? Aye. I can do that." Notes for coders: the PID in SoA and ToB content holds a toggled "on-off" switch, for folks who find his chatter a painful experience. I have slimmed down the interjections for ToB into 6 points for the "silent" crowd. A second consideration is the use of conditions changing the interjection if the PC's alignment ios MASK_EVIL or !MASK_EVIL, and there are a few examples of interjecting into several states but using the samestatename, so that only one of the interjections fires per game, regardless of which section of the dialog tree is taken (a ploy to allow Aran multiple shots at being in-partyto interject, but not have him comment on the same thing over and over). /* ToB Interjections and commentary */ I_C_T ~HGNYA01~ 2 c-arannyalee /* Why, the Nyalee is I! The Witch of the Glade, I is called, and for good reason, it is! But questions...you have so many questions, know I! */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] A witch? Will she turn me into a newt?~ END I_C_T ~HGNYA01~ 3 c-arannyalee /* Nyalee survives very well, she does, and Nyalee is I! The Witch of the Glade, they calls me, hee hee! But so many questions you have! */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Just one. Why in th' nine hells are all you witches messed up in th' head?~ END I_C_T ~HGNYA01~ 4 c-arannyalee /* You should know, spawn-child, you should know! Nyalee served the dead master, once, and Nyalee is I! Hee hee! But so many questions you have, questions questions! */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Nyalee is I - nope, accordin' to <charname>, here, that should be 'I am Nyalee'. See, I done listened to all that teachin' you keep pushin' on me.~ END I_C_T ~HGNYA01~ 5 c-arannyalee /* Tricks, yes! Nyalee knows many tricks! Witch of the Glade, they calls me, for many good reasons. Hee hee! But so many questions you have! */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Somehow, I doubt there be any good in those reasons, eh, on account o' th' whole servin' evil thing.~ END I_C_T2 ~SARBOY01~ 1 c-aransboy /* Gromnir has a big army. When I grow up I want a big army. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Don't we all, boyo, don't we all. It would come in right handy for us right now.~ END /* plays even with silence set */ I_C_T ~SARKIS01~ 7 c-arankisconf /* My utilization of complex locution is more a reflection of my own superincumbent mental acuity than an aspersion on your circumscribed lexicon. */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Chauntea's Basket - what in th' nine hells did he just say?~ END /* plays even with silence set */ I_C_T ~SARWAI01~ 1 c-aranwgg /* I wish someone would stand up to them... but everyone's afraid of Gromnir. *sniff* I guess I'll just have to put up with it. */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) !Alignment(Player1,MASK_EVIL)~ THEN ~[ARAN] Torm's Breath! There be limits to havin' fun wi' th' help. Mayhap we see how they like a little o turnabout, eh?~ END /* plays even with silence set */ I_C_T ~SARWAI01~ 1 c-aranwgg /* I wish someone would stand up to them... but everyone's afraid of Gromnir. *sniff* I guess I'll just have to put up with it. */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Alignment(Player1,MASK_EVIL)~ THEN ~[ARAN] Torm's Breath! I know, I know, might makes right. I'll shut my mouth an' go stand in th' corner like a good little sellsword.~ END I_C_T ~YAGCON~ 12 c-aranyagcon12 /* No need for passbacks - ~I wanted to become part of his unstoppable war machine, to revel in the slaughter, to have my blade drip with the blood of all those Yaga Shura crushed beneath his mighty boot! ~ */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Bloody hells, girl, you be in serious need o' a drink. You seem to have a mite too much energy. Make that several drinks, eh?~ END I_C_T ~YAGCON~ 18 c-aranyagcon18 /* No need for passbacks - ~I have heard mention of a name from Yaga Shura's past - Nyalee, an old crone who lives in the marshes of the Mir Forests. She may know Yaga Shura's secrets.~ */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) !Alignment(Player1,MASK_EVIL)~ THEN ~[ARAN] Now if I had a trade bar for every evil creature what confided in an old crone in th' wilds, I'd be a rich man. Good thing you don't rightly need one, <charname>.~ END I_C_T ~YAGCON~ 18 c-aranyagcon18 /* No need for passbacks - ~I have heard mention of a name from Yaga Shura's past - Nyalee, an old crone who lives in the marshes of the Mir Forests. She may know Yaga Shura's secrets.~ */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Alignment(Player1,MASK_EVIL)~ THEN ~[ARAN] Now if I had a trade bar for every evil creature what did that, I'd be a rich man. Speakin' o' that, where be your old crone confidant, <charname>?~ END I_C_T ~SARMEL01~ 49 c-aranmelis49 /* I can show you where that glade is... but it is only speculation. The key to the giant's invulnerability might lay there, but it might not. There may be nothing there at all. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Given our bloody luck, there'd be a might more'n nothin'. More like a whole pile o' trouble.~ == ~SARMEL01~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[MELISSAN] I wish that I had a better answer for you.~ END I_C_T ~SARMEL01~ 16 c-aranmelis16 /* But Gromnir is mad. He has barricaded himself in the castle throne room, and his troops run amok through the town with no regard for the lives and rights of the citizens of Saradush. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Been there, eh? Not a pretty sight. No control, an' a bit o trouble spirals into murder, rape, an' worse.~ == ~SARMEL01~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[MELISSAN] You say that like there could be worse.~ END I_C_T ~SARMEL01~ 80 c-aranmelis80 /* He runs a monastic order in a remote village in the Calim Desert...it will serve to both hide you from retribution as well as serve as a base from which you can attack the enclaves of Abazigal and Sendai. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Monks. Well, I done fought alongside some. Might be a base o' operations after all.~ END /* plays even with silence set */ I_C_T ~SENDAI~ 15 c-aransendai15 /* NO! NO! My Bhaal essence is ripped from my very soul! Damn you! But I may yet rob you of the glory of your victory. */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Th' only good Drow be a dead Drow, eh? Kiss Shar's arse for me.~ == ~SENDAI~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[sENDAI] I spit on you.~ END I_C_T ~BAZEYE01~ 0 /* You there! Intruder type! Why do you pester Lord Abazigal's most favored servant? */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Every time we turn around, there be another layer o' servants. I gotta get me some o' them. Spruce a place up, they do.~ END I_C_T ~BALTH~ 22 c-aranbalth22 /* My plan is much more altruistic. I have vowed to exterminate all of Bhaal's children, forever wiping the Realms clean of his tainted existence. You have merely helped me in my goal. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Bloody hells. Either you be mad, or you be th' most driven individual I done met.~ END /* plays even with silence set */ I_C_T2 ~BOTSMITH~ 152 c-arancenspy /* Ummm... Cespenar only serve the great one. You'se nice, maybe, but you'se still a nobody. */ == ~c-arn25j~ IF ~Name("c-aran",LastTalkedToBy) !Global("c-aranrom","GLOBAL",2) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] You bloody well sound like that lass I was seein' in Calimport.~ END /* plays even with silence set */ I_C_T2 ~BOTSMITH~ 152 c-arancenspy /* Ummm... Cespenar only serve the great one. You'se nice, maybe, but you'se still a nobody. */ == ~c-arn25j~ IF ~Name("c-aran",LastTalkedToBy) Global("c-aranrom","GLOBAL",2) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] You bloody well sound like that lass I was seein' in Calimport. Err... that was a mite o' time before I met you, <charname>.~ END /* plays even with silence set */ I_C_T ~SENBEH01~ 10 c-aranbeholder10 /* Well, yes. Can't say I cared overmuch for that, although you *did* release me from one of the most boring tasks in Creation. Can't keep a good beholder down, I guess, eh? Heh heh. */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Cyric's Balls. Never did see th' day when one o' you one-eyed wonders was a right good sort.~ == ~SENBEH01~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[FUNBEHOLDER] Don't let it get around. I have a long memory, and a great work ethic. Wouldn't want to have to hunt you down, you know.~ END I_C_T ~SARELF01~ 2 /* We have nowhere to stay... we have no choice but to wander the streets. I fear we will soon run afoul of Gromnir's men once more. */ == ~c-arn25j~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] My mother always told me never miss a good chance to shut up... but then again I'm not rightly one to follow advice. I hate to leave folks to fate, but we don't have enough supplies to run a refuge, eh?~ == ~SARELF01~ IF ~Global("c-silencearan","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ELFLEADER] We would not ask such a thing.~ END /* plays even with silence set */ I_C_T ~SARTHF2~ 0 /* What do you want? You think you can hassle me just because I'm a kid? */ == ~c-arn25j~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] You got quick eyes, an' big ears, eh? Might be you could profit by usin' em instead o' that smart mouth.~ If I have missed a spot, please let me know - so far, I just can't see him playing flippant through the endgame/Mellisan stuff, the way he does with Irenicus' final battle.</charname></charname></charname></charname>
  14. In honor of the G3 Anniversary, I asked fellow Gibberlings to let me ramble on here ad nauseum. Don't worry, I will come up with suitable bribes later. But for now, here goes - we'll announce him when we have the other Anniversary projects ready for Prime Time™. Special thanks to berelinde, jastey, Amaurea, and theaceface for poking about and offering suggestions and making sure I didn't go wandering too far off the deep end. Especially the whole characterization-through-dialog thing. A quick note about the development threads posted here. Lots of good NPC mod ideas stall at the initial stages of writing. Lots of good tutorials exist that can describe how to use WeiDU to creat great NPC mods. The best way of learning to mod, though, is always looking at other people's code, and blatantly stealing it. We call it 'quoting' in jazz, or 'music theory' in classical - but at its heart, code is just a way of delivering a set of new ideas to the end user. Heck, any good writer will tell you that the language is a toy to play with, and even plots and dialogs have probably been worked through in some way - "ain't nothin' new under the sun". The creativity lies in creating an interesting, immersive character and getting him or her to live in people's heads for a passing moment. But sometimes, looking at that code makes folk's heads hurt. So there is a gap between the tutorials and the existing mods - the place where Lortie's "apprenticeship of observation" throws itself into the mix. I had Domi, luckily, and lots of patient folks all over the forums to guide projects I help on. In that spirit, I am experimenting with Aran. He gets to be the test subject while I think out loud through developing him. Dunno why I thought this was a good idea, but heck - sometimes writing down why I make the decisions I do can help me remember what I've missed, and sometimes it might help someone else. Of course, I would like to point out that you can do just as well on your own - read other folk's mods. Read the tutorials. Play the game, and write down how your story fits in. Pretty much, I am blogging here. And to be blunt, I am writing for me, not for you - not that I don't like you or anything, 'cause I probably don't know you, but because only a crazy person would actually read someone's thoughts while they attempt to write a mod. If you have no idea at all what "create a .d file and start with your regular IF THEN code", then stop right now, and go visit some of the basic tutorials that tell you how things work. Sometimes I will break it down to absolute basics, but for the most part, you are going to want to read over stuff on the G3 tutorials, the Pocket Plane Group Tutorial page and the newly updated and expanded SpellholdStudios Tutorial links. These are all places I strongly recommend visiting. All three of these communities have folks who are good at helping new modders out with code. There are other places with good stuff, too; Black Wyrm Lair and TeamBG.eu, currently down due to moving a server, have offerings, and Chosen of Mystra has materials both old and new, some rescued from the old CoM boards (some big names out of the past, and some new names too). But now that that is out of the way, I am going to proceed as if the basics are not completely new to the reader. If you get confused, don't worry - it's likely me. But cross references eventually appear, so that you can see what's already out there. By the way, I strongly and highly recommend a brand new tutorial, K'aeloree's "How to code friendships and romances!". Several of the most respected i.e. modders have used this kind of organization and structure for years, but this is a clean, comprehensive, step by step through the basics of organizing, planning, and working out code - stuff that most modders for years have been coming to in various ways through trial and error. For examples of mods already in circulation that give good examples of organization and commenting, I personally find the following mods easiest to explore and see planning in action, whether they set out from a purely story-driven standpoint or from a more organized plot-point schematic, both regular stuff in amateur-writer-land - Kivan [and sections of BG1NPC] (Domi/Ashara at G3), Gavin (berelinde at everywhere), Xan (kulyok at ppg), and Ajantis [both in BG1NPC and in the expanded Ajantis Expansion (jastey at everywhere). Gavin in particular is commented clearly, as per this example below of berelinde's index at the top of b!gavinj.d: /* ~B!GAVINJ~ */ /* CONTENTS */ /* Reputation talks */ ///* Reputation break point */ ///* Unhappy */ ///* Happy */ ///* Delighted */ /* Interjections */ ///* Song of the Morning - Dawn Priest Blane */ ///* Song of the Morning - Dawn Priest Bram */ ///* Song of the Morning - Drunk north of temple */ ///* Beregost - Mirianne */ ///* Beregost - Galteran in Gavin's old house */ ///* Beregost - Neighbor Davis */ ///* Beregost - Borland */ ///* Beregost - Golin Vend, the tour guide */ ///* Beregost - Bartender at the Red Sheaf */ ///* Beregost - Karlat */ ///* Friendly Arm Inn - Tarnesh */ ///* Coastway - Jase, boy by Kagain's caravan */ ///* Coastway - Bandit leader setup for Silvershield fibula */ ///* Fisherman's Lake - Teyngan */ ///* Fisherman's Lake - Drizzt */ ///* Fire Leaf Forest - Albert */ ///* Gibberling Mountains - Gellana and Samuel */ ///* Nashkel - Oublek */ ///* Nashkel - Oublek, regarding Brage */ ///* Nashkel - Berrun Ghastkill */ ///* Nashkel - Joseph's wife */ ///* Nashkel - Noober */ ///* Nashkel - Neira */ ///* Nashkel - Nimbul */ ///* Nashkel - Samantha and Jamie */ ///* Dryad Falls - Caldo, Krumm and the Cloudpeak Dryad */ ///* Eldoth */ ///* Viconia */ ///* West Baldur's Gate - Varci */ ///* West Baldur's Gate - Tremain */ ///* West Baldur's Gate - Abela the Nymph ///* North Baldur's Gate - Ramazith's proposal */ ///* Flaming Fist - Neb */ ///* Flaming Fist - Duke Eltan ill */ ///* Nashkel Mines - Prism */ ///* Cloakwood 2 - Tiber */ ///* Cloakwood 2 - Centeol */ ///* Candlekeep - Theodon */ ///* Nashkel Carnival - The Great Gazib */ ///* Nashkes Mines 1 - Dink and Kylee's Dagger */ ///* Nashkel Mines 4 - Mulahey */ ///* Baldur's Gate Docks - Basilisks loose */ ///* Red Canyons - Bassilus Quest Interjections */ ///* Cloakwood Mines */ ///* Cloakwook Mines 4 - Davaeorn */ ///* Tamoko */ ///* Lighthouse - Arkushule */ ///* Mutamin's Garden - Tamah */ ///* Cloakwood 2 - Finding Chelak */ ///* Cloakwood 2 - Centeol's Lair */ ///* South Beregost Road - Roe's letter */ ///* Beregost - Visiting Gavin's old house */ ///* Beregost - Greta's house */ ///* Spider body in party inventory */ ///* spider body in Gavin's inventory */ ///* Fire Leaf Forest - Rufie */ ///* Coastway - Silvershield Fibula */ ///* Joseph's Ring */ ///* Girdle of Gender Bender */ ///* On the roof of the Iron Throne */ ///* Bhaal heritage revealed */ ///* Many bounty notices */ /* Xan's break with a half-elf */ /* Saw a spider */ /* CHARM TALKING - doesn't work, as far as I know, but just in case */ /* DRUNKEN BANTERS */ ///* Just friends */ ///* Early Relationship */ ///* Early Romance Aftermath */ ///* Later relationship */ ///* Later relationship aftermath */ ///* Committed drunk */ ///* Committed drunk aftermath */ ///* Drunk sex */ ///* Drunk sex aftermath */ ///* Picking up Dynaheir */ ///* Picking up Viconia */ /* FRIENDTALKS */ /* Friendship warnings and breaks */ ///* Offense warning 1 */ ///* Offense warning 2 */ ///* Offense break */ /* Friendtalks */ ///* Friendtalk 1 - Gavin, cleric of Lathander */ ///* Friendtalk 2 - why is pc on the road */ ///* Friendtalk 3 - Gavin on religion */ ///* Friendtalk 4 - Lathander and racial harmony */ ///* Friendtalk 5 - Gavin's brown thumb */ ///* Friendtalk 6 - What will pc do when quest is over */ ///* Baldur's Gate */ ///* Entrance to the temple of Bhaal, final peptalk */ /* CHAPTER TALKS */ ///* Chapter 2 - What to do about the iron shortage */ ///* Chapter 3 - Mines are clear, now what? */ ///* Chapter 4 - powerless in the face of human suffering */ ///* Chapter 5 - reaction to Davaeorn's death */ ///* Chapter 6 - About Lanie */ ///* Chapter 7 - catacombs */ ///* Chapter 8 - going to get Lanie */ The organization can follow along after the product if you want, but frankly, I work better knowing how the puzzle is over-all structured beforehand. Most modders have evidence of both in their distributed files - sections where there is evidence of an original sequence, and then it has grown and been fleshed out as a new idea surfaces. So the skeleton is just that - stuff to be fleshed out and expanded, not set as a confining exo-skeleton locked into place from the beginning. And I like it when I can follow a modder's contents and see what they are trying to do, even when only three or four other people in the world will probably look at it. Read Nythrun's comments in her various snippets of code sometime. Definitely way cool and funny. One final note - if you see stuff here that's useful, great - but I still advise going and taking a look at how other folks are doing similar stuff. The more you read through other folk's work, the more you learn about how you can get your story to work the way you want it to. Plus, I learned it that way. Even when I choose to ignore common sense and do something completely off the beaten track. So, happy modding. And if I'm lucky, he'll turn out ok.
×
×
  • Create New...