Jump to content

Search the Community

Showing results for tags 'aran whitehand'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • 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

Calendars

  • Community Calendar

Categories

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

Categories

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

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 76 results

  1. So, way back in time, I did a stupid thing. Fun, glorious, but stupid. I introduced a whole bunch of epilogues that reflected player choice. This sounds wonderful for players, but for modders, this is hell. There is a reason most game companies keep small numbers of potential pathways and choices in the game - it becomes a seriously complicated affair keeping track of players and what they are going to do. So let's look at how to build out a set of choice points that allow folks to progress on this storyline and not get all messed up and tangled up with unanticipated outcomes (AKA "bugs"). Right now, for the player epilogues PCs are supposed to be able to access the following things, already in-game and tested: In order of evaluation: //////////////////////////////////////////////////////// /////* PC Accepts Godhood Potential Endings : DLG *///// //////////////////////////////////////////////////////// /* PC Accepted Godhood, Friendship, Good/Neutral */ Global("PlayerChoseEssence","GLOBAL",1) !Global("c-aranrom","GLOBAL",2) !GlobalGT("PPEvilChoices","GLOBAL",2) // PC chose good or neutral /* PC Accepted Godhood, Friendship, Evil */ Global("PlayerChoseEssence","GLOBAL",1) !Global("c-aranrom","GLOBAL",2) GlobalGT("PPEvilChoices","GLOBAL",2) // PC chose evil /* PC Accepted Godhood, Romance, Good/Neutral */ Global("PlayerChoseEssence","GLOBAL",1) Global("c-aranrom","GLOBAL",2) !GlobalGT("PPEvilChoices","GLOBAL",2) // PC chose good or neutral /* PC Accepted Godhood, Romance, Evil */ Global("PlayerChoseEssence","GLOBAL",1) Global("c-aranrom","GLOBAL",2) GlobalGT("PPEvilChoices","GLOBAL",2) // PC chose evil All of these are screened by Global("PlayerChoseEssence","GLOBAL",1) , so if PC chose godhood, only these can play. These work now, with no more effort. Now comes the tricky part. /* EPILOGUE VARS if PC does not accept godhood * Global("c-aranrom","GLOBAL",2) in romance | !Global("c-aranrom","GLOBAL",2) not in romance * IF !Global("c-aranrom","GLOBAL",2) !Alignment(Player1,MASK_EVIL) = good/neutral friend * IF !Global("c-aranrom","GLOBAL",2) Alignment(Player1,MASK_EVIL) = evil friend * Global("c-aranepiloguefriend","GLOBAL",0) * // 0 = alignment check only, 1 = friends but part ways, 2 = Adventurers Forever, 3 = City Forever, 4 = Country Forever * ALL ROM CONDITIONS (must at least set c-aranepiloguerelation and c-aranepiloguelifestyle above 0 or no epilogue will return true...) * Global("c-aranepiloguemarried","GLOBAL",0) // 0 or 1 * Global("c-aranepiloguechildren","GLOBAL",0) // 0 or 1 * Global("c-aranepiloguerelation","GLOBAL",0) // 1 = AranPrince, 2 = PCPrincess, 3 = Equals * Global("c-aranepiloguelifestyle","GLOBAL",0) // 1 = Adventuring, 2 = City, 3 = Country */ And the grid of endings: //////////////////////////////////////////////////////// /////* PC Refuses Godhood Potential Endings : DLG *///// //////////////////////////////////////////////////////// /* PC Refused Godhood, All PCs, Friendship, Good/Neutral : Global("c-aranepiloguefriend","GLOBAL",0) !Alignment(Player1,MASK_EVIL) */ /* PC Refused Godhood, All PCs, Friendship, Evil : Global("c-aranepiloguefriend","GLOBAL",0) Alignment(Player1,MASK_EVIL) */ /* PC Refused Godhood, All PCs, Friendship and Part Ways : Global("c-aranepiloguefriend","GLOBAL",1) */ /* PC Refused Godhood, Romance, Friendship with Benefits and Part Ways : Global("c-aranepiloguefriend","GLOBAL",1) */ /* PC Refused Godhood, Romance, Friendship with Benefits but Never Part Ways: Adventuring Life : Global("c-aranepiloguefriend","GLOBAL",2) */ /* PC Refused Godhood, Romance, Friendship with Benefits but Never Part Ways: City Life : Global("c-aranepiloguefriend","GLOBAL",3) */ /* PC Refused Godhood, Romance, Friendship with Benefits but Never Part Ways: Country Life : Global("c-aranepiloguefriend","GLOBAL",4) */ /* PC Refused Godhood, Romance, Not Married With No Children, Aran as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With No Children, Aran as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With No Children, Aran as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC and Aran as Equals : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC and Aran as Equals : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With No Children, PC and Aran as Equals : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Not Married With Children, Aran as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With Children, Aran as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With Children, Aran as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Not Married With Children, PC as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With Children, PC as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With Children, PC as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Not Married With Children, PC and Aran as Equals : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Not Married With Children, PC and Aran as Equals : City Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Not Married With Children, PC and Aran as Equals : Country Life : Global("c-aranepiloguemarried","GLOBAL",0) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With No Children, Aran as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With No Children, Aran as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With No Children, Aran as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With No Children, PC as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With No Children, PC as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With No Children, PC as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With No Children, PC and Aran as Equals : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With No Children, PC and Aran as Equals : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With No Children, PC and Aran as Equals : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",0) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With Children, Aran as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With Children, Aran as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With Children, Aran as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",1) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With Children, PC as Prince Charming : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With Children, PC as Prince Charming : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With Children, PC as Prince Charming : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",3) */ /* PC Refused Godhood, Romance, Married With Children, PC and Aran as Equals : Adventuring Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",1) */ /* PC Refused Godhood, Romance, Married With Children, PC and Aran as Equals : City Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",2) */ /* PC Refused Godhood, Romance, Married With Children, PC and Aran as Equals : Country Life : Global("c-aranepiloguemarried","GLOBAL",1) Global("c-aranepiloguechildren","GLOBAL",1) Global("c-aranepiloguerelation","GLOBAL",3) Global("c-aranepiloguelifestyle","GLOBAL",3) */ So.... lots of possibilities. And we have the grid set up nicely and checked. We just have to get from Point A to Point B. Of course, point A is on Mars, and point B is in Sandusky, OH, but where there is a will there is a way... So for right now, since no variables are set in dialog, the PC comfortably gets access to the Godhood epilogues and the basic friendship epilogues. What do we have already in the project? Luckily for aus, a simple state, ready for replacement or expansion, and a sketch of older expected variables to set: The Basic Block: Marry Me, CHARNAME First off, it seems simple enough. We want our NPC to "pop the question". The simple, currently in-game setup for Aran in ToB is very straightforward: Since ToB is short, and most folks doing a romance with Aran have presumably brought him along from SoA, the 3rd lovetalk will suffice. 1 reinforces and rechecks the love relationship, 2 is an awkward attempt to start the whole "yu are more specail and important than anything else", and 3 is the first solid attempt to ask the "marry or not": /* ToB Love Talk #3 : ask the big question or not */ IF ~Global("c-arantobrom","GLOBAL",5)~ THEN BEGIN c-arantemporary_question SAY ~[ARAN] Now, we be supposed to have a big talk here about marriage an' such. But for now, do you think you might marry me someday?~ ++ ~[PC] Yes!~ DO ~SetGlobal("c-arantobrom","GLOBAL",6) RealSetGlobalTimer("c-aranromtimer","GLOBAL",%ARAN_LTT%)~ + c-aran_exit_temp ++ ~[PC] No!~ DO ~SetGlobal("c-arantobrom","GLOBAL",6) RealSetGlobalTimer("c-aranromtimer","GLOBAL",%ARAN_LTT%)~ + c-aran_exit_temp ++ ~[PC] Never!!~ DO ~SetGlobal("c-arantobrom","GLOBAL",6) RealSetGlobalTimer("c-aranromtimer","GLOBAL",%ARAN_LTT%)~ + c-aran_exit_temp END IF ~~ c-aran_exit_temp SAY ~[ARAN] Aye then. That be th' way things will be, then. Until I bring it up in th' next talk, that is.~ IF ~~ THEN EXIT END We also have the original "engagement variables" commented in code several places: // SetGlobal("c-aranengagement","GLOBAL",0) = not asked about marriage // SetGlobal("c-aranengagement","GLOBAL",1) = delay interested in marriage // SetGlobal("c-aranengagement","GLOBAL",2) = engaged // SetGlobal("c-aranengagement","GLOBAL",3) = not engaged but perhaps later // SetGlobal("c-aranengagement","GLOBAL",4) = not interested in marriage So obviously the original plan was to have the "Pop the Question" state be able to be delayed, to be accessed via PID, and to influence other talks. But getting these in-game right now means nothing, as no content is filtered through these variables - and we have a ""macro state" to work with, dealing with the epilogues. We may come back to this to help our dialogues and talks later on, but this is straightforward stuff. We need to get a handle on the Big Stuff. This currently has no effect on the epilogues, and since no variables are set, there is no way to hook that content up with discussions or PID. So the good news is that we can work with a blank slate; the current Beta works fine, and we are now looking at two expansions of content - dealing with a potential engagement, and dealing with the epilogue grid of choices. They may interrelate, but they don't have to - the future is not set, so an engaged PC might go on to marry someone else. Our best bet to try to catch player imagination is to use the status of engagement to help inform in-game dialog, but rely on the grid to actually determine whether the "intent" to marry actually matches what the player says about her future. We all have sob stories about college engagements falling apart; most of all, being engaged to one NPC while married to another sounds like another mod. Not one I am particularly interested in creating, either. The Problem To Be Solved First of all, we have let the PC change her mind. She can break up with him, and then try and get back together with him. She can use PID to talk with him and change the entire status of the relationship. And, she can multi-romance without breakage - so in the end, she may have an in-game marriage to Angelo, or Kelsey, or someone else.... and then get an epilogue for Aran that makes little or no sense. And we have set up an expectation of "player free will", so the player expects to be able to take the "I won't answer that" and not have serious repercussions in their game. Luckily, up until now, I have left things in open interpretation. How they envision keeping Aran around on a string long-term while happily married to Ajantis or Gavin, I leave to them. BUT. I don't force the player to clarify the status at all; without PC opening up a PID and breaking up with him, a player can have (Romance Active = 2) at the final entries, and we have a whole grid of possible endings, but it is entirely possible to have defined the relationship as YES_TOGETHER_AND_MARRIED and MARRY_OTHER_NPC, which might work for some folks, but is much more likely to cause Bug Reports than elicit "kewl, I can have a polygamous marriage". No judgement here - just saying I really don't like bug reports. On the story content side, how can PC and Aran talk about future and godhood without reference to choices? Especially when they have never actually voiced them in ToB? Hmmmm.... SO I need to force some decision points on the player. So you need to condition every ending perfectly? Nope. The grid above should take care of most of this - we really need to only get that c-aranepiloguerelation and c-aranepiloguelifestyle above 0 or no epilogue will return true. In second place is the specificity of the toughest track - the "I want to be friends with benefits forever". That is the toughest one to adjudicate without specific variables - and it is the one that needs to UNSET some variables if PC changes her mind. Wait - unset variables? Why? You just created that whole grid to make sure everything was covered... Yep. But in evaluation order, /* PC Refused Godhood, Romance, Friendship with Benefits and Part Ways : Global("c-aranepiloguefriend","GLOBAL",1) */ trumps everything below it. So even if all the grid of 4 variables are set, one random choice of "Hey... I think you and I should be friends forever. With a few benefits, of course" and the PC is locked out of all the rest of the potential epilogues FOREVAR. Now, we could do a bunch of legerdemain with unsetting and setting combinations of variables, but we don't need to, as the grid catches all sorts of combinations. All we need to do is control for the player choice that says "RA=2 But Friends And Perhaps Lovers"- we need to erase the "friends who snog if no one else is available" setting for PCs who have changed their minds and want the RA=2 regular screening to take place. Lots of Talk. No Code. Heh. Story of my life. And I am talking to myself again. Let's try a quick "evaluation" dialog so we can get our coding act together. /* Initial Sketch: CheckState for Epilogue settings */ ++ ~[PC] So, Aran, what do you think our future holds? What will we be doing years from now?~ + epilogue_settings_check // goes into management or talk part of PID { CHAIN ) IF ~~ epilogue_settings_check SAY ~[ARAN] We may have talked on that a time or two, eh? Let me remember...~ /* friendship */ ~!Global("c-aranrom","GLOBAL",2) !Alignment(Player1,MASK_EVIL)~ // good/neutral friend ~!Global("c-aranrom","GLOBAL",2) Alignment(Player1,MASK_EVIL)~ // evil friend /* specifically defined friendship */ // ~Global("c-aranepiloguefriend","GLOBAL",0)~ // 0 = alignment check only ~Global("c-aranrom","GLOBAL",3)~ // we brike up so we just have the memories ~!Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguefriend","GLOBAL",1)~ // 1 = friends but part ways (possible for men and non-romanced) ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguefriend","GLOBAL",1)~ // 1 = friends but part ways (active RA=2) ~Global("c-aranepiloguefriend","GLOBAL",1)~ // 1 = friends but part ways (requires active RA=2 to activate) ~Global("c-aranepiloguefriend","GLOBAL",2)~ // 2 = Adventurers Forever Together (requires active RA=2 to activate) ~Global("c-aranepiloguefriend","GLOBAL",3)~ // 3 = City Forever Together (requires active RA=2 to activate) ~Global("c-aranepiloguefriend","GLOBAL",4)~ // 4 = Country Forever Together (requires active RA=2 to activate) /* romance active and marriage choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguemarried","GLOBAL",0)~ // not married (default) ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguemarried","GLOBAL",1)~ // married /* romance active and children choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguechildren","GLOBAL",0)~ // no children (default) ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguechildren","GLOBAL",1)~ // children /* romance active and relation choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguerelation","GLOBAL",0)~ //not talked about ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguerelation","GLOBAL",1)~ // 1 = AranPrince ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguerelation","GLOBAL",2)~ // 2 = PCPrincess ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguerelation","GLOBAL",3)~ // 3 = Equals /* romance active and lifestyle choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",0)~ //not talked about ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",1)~ // 1 = Adventuring ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",2)~ // 2 = City ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguelifestyle","GLOBAL",3)~ // 3 = Country EXTERN C-ARN25J epilog_recheck_done// end of chain APPEND ~C-ARN25J~ IF ~~ epilog_recheck_done SAY ~[ARAN] Now, do that match your recollection?~ /* everything as player expects so exit */ ++ ~[PC] That is about right. I just find it comfortable to remember that there will be a future at all after all of this.~ + existing_aye_state /* block of potential changes here */ [[INSERT_HERE]] /* conflicting information */ IF ~Global("c-aranrom","GLOBAL",2) GlobalGT("c-aranepiloguefriend","GLOBAL",0) OR(4) GlobalGT("c-aranepiloguemarried","GLOBAL",0) GlobalGT("c-aranepiloguechildren","GLOBAL",0) GlobalGT("c-aranepiloguerelation","GLOBAL",0) GlobalGT("c-aranepiloguelifestyle","GLOBAL",0)~ THEN GOTO aran_confused_choices END IF ~~ aran_confused_choices SAY ~[ARAN] Now there be a point o' contention, here. I thought we was set on havin' a lastin' friendship after all this, but we done talked about mayhap marriage, or little ones, or mayhap settlin' down somewhere.~ /* 1 = friends but part ways */ ++ ~[PC] I am sure that we would keep our friendship, but we will both move on to other things and other lives, Aran.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",1)~ + existing_aye_state /* 2 = Adventurers Forever Together */ ++ ~[PC] I am sure that we would keep our friendship and adventure together, Aran. I do not see a future without the challenges of the open road.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",2)~ + existing_aye_state /* 3 = City Forever Together */ ++ ~[PC] I am sure that we would keep our friendship, but we will both move on to other things, Aran. Perhaps we will find ourselves in the same city, exploring urban life.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",3)~ + existing_aye_state /* 4 = Country Forever Together */ ++ ~[PC] I am sure that we would keep our friendship, but we will both move on to other things, Aran. Perhaps we will find ourselves in the same small village,. arguing over who was the better adventurer for the amusement of tavern patrons.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",4)~ + existing_aye_state /* all PC states */ ++ ~[PC] You know me. I change my mind all the time. Are you not used to it by now?~ + existing_aye_state // ok, on the PCs head be it. I tried. aranepiloguefriend will trump all other decisions made, so we will leave the conflict in place. ++ ~[PC] Well, we have talked about many things. But I think we might be more than friends after this is all over.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",0)~ + existing_aye_state // 0 = Allow RA possibility grid to be enabled ++ ~[PC] I can clarify things, Aran. The future is very flexible, and almost anything could happen.~ DO ~SetGlobal("c-aranepiloguefriend","GLOBAL",0)~ + existing_aye_state // 0 = Allow RA possibility grid to be enabled END END // of append to C-ARN25J The block aran_confused_choices allows the player to change the expected outcome by resetting the var or if they are now open to romance of a more long-lasting kind, unsetting it completely. So we have the start of a sketch for CHAIN evaluation of materials in ToB, so PC can talk about and potentially change the ending states. And we have identified one "clarification" point, if other vars are set but PC has said "RA=2 But Just Friends". Side Note - "everything as player expects" is not the same as "do what the player wants". The grid of possible endings is huge, but not infinite... we are just making sure that the intended behavior of the array of choices I provided works. So, note to fellow modders - look at all this stuff being messed with for less than 10 seconds of text screen at the conclusion of a mod. And rethink your design decision. Seriously. Don't go this crazy, unless you find the *logic* exercise fun. If you like the *writing* stuff, throw your talent into actual dialogue and quests and stuff. This is a HUGE timesink. Since I am crazy, like the StarCitizen folks, and want to make sure each bolt and rivit in my imaginary spacecraft is actually fully modelled, I find this fun. But most folks would not. So recheck - hmmm - what two variables have to set to make sure everything is fine? IF Global("c-aranrom","GLOBAL",2) AND NOT GlobalGT("c-aranepiloguefriend","GLOBAL",0) THEN ( ( c-aranepiloguerelation < 0 ) AND ( c-aranepiloguelifestyle < 0 ) ) = true ELSE FAIL So we need to add another diverting question to the above. So, a new filter: IF ~Global("c-aranrom","GLOBAL",2) OR(2) Global("c-aranepiloguerelation","GLOBAL",0) Global("c-aranepiloguelifestyle","GLOBAL",0)~ THEN GOTO aran_life_choice_point IF ~~ aran_life_choice_point SAY ~[ARAN] Now I want to say right out that a life backin' you up be what I want. But we all have some dreams, eh?~ = ~[ARAN] When this be all over an' we go on to th' next adventure, what kind o' life do you be seein' us in?~ ++ ~[PC] I see adventuring for a long, long time. Perhaps forever.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",1)~ + next_adventuring_state ++ ~[PC] I always saw myself as drawn to the politics and discussions you can only find in a city. I want to be involved in everything.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",2)~ + next_city_state ++ ~[PC] A quiet life in a country house for me. Something very different from the life I have now.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",3)~ + next_country_state ++ ~[PC] I... I am not sure. What sort of life do you want?~ + next_pc_asks_aran ++ ~[PC] I see next to no life for us. I think that I will never be left alone long enough to really settle down.~ + DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",1)~ + next_adventuring_state // forced choice for PC END IF ~~ next_adventuring_state SAY ~[ARAN] Mahap you be right, on account o' th' number o' changes in Toril can lead directly to you. Life sometimes will have naught in th' way o' lettin' someone drop away from th' center o' things.~ IF ~~ THEN GOTO aran_rel_choice_point END IF ~~ next_city_state SAY ~[ARAN] Waterdeep sounds like a right fine destination. Mayhap even one o' th' Dale cities. Just not Calimport, for Sune's own sake... I love th' baths, but I do not want to retire there.~ IF ~~ THEN GOTO aran_rel_choice_point END IF ~~ next_country_state SAY ~[ARAN] Well, there be thousands o' nice places fo a small cottage, or mayhap a whole country estate. That might be a right fine retirement.~ IF ~~ THEN GOTO aran_rel_choice_point END IF ~~ next_pc_asks_aran SAY ~[ARAN] Now that changes by th' day, it do. But right now, I can see us in Waterdeep, all set up in one o' those townhouses. An' then mayhap a country estate. Or even some travel to that freehold my followers have been buildin' along th' Sword Coast.~ ++ ~[PC] That is a nice dream, but I see adventuring for a long, long time. Perhaps forever.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",1)~ + final_adventuring_state ++ ~[PC] That seems very comfortable. The best of both worlds.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",2)~ + final_city_state ++ ~[PC] I think you would love the townhouse, and I would probably push for us to visit the country estate.~ DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",3)~ + final_country_state ++ ~[PC] The sea tower. Lighthouse. Whatever it is that you are building on the Sword Coast. Being close to Candlekeep in some way... that sounds romantic.~ + final_follower_state ++ ~[PC] I see next to no life for us. I think that I will never be left alone long enough to really settle down.~ + DO ~SetGlobal("c-aranepiloguelifestyle","GLOBAL",1)~ + final_adventuring_state // forced choice for PC END IF ~~ aran_rel_choice_point SAY ~[ARAN] An' mayhap I will be out managin' our estates, an' fendin' off foes, leavin' you to relax an' be happy, eh? A lad could enjoy spendin' th' rest o' his life protection' you.~ ++ ~[PC] That sounds as if you want to be a charming prince, whisking me away from the world. I like that idea.~ DO ~Global("c-aranepiloguerelation","GLOBAL",1)~ + finish_rel_choice_point // 1 = AranPrince ++ ~[PC] Actually, I think you will be too busy cooking and scribing, making sure that my life is free to concentrate on larger challenges.~ DO ~Global("c-aranepiloguerelation","GLOBAL",2)~ + finish_rel_choice_point // 2 = PCPrincess ++ ~[PC] I assume that you and I will be doing all of that together, right? After all, a good relationship is built as a conversation between two equals, working for each other.~ DO ~Global("c-aranepiloguerelation","GLOBAL",3)~ + finish_rel_choice_point // 3 = Equals ++ ~[PC] No estates. No investments, no contracts... just peace, quiet, and rest. I just want to be cared for.~ DO ~Global("c-aranepiloguerelation","GLOBAL",1)~ + finish_rel_choice_point ++ ~[PC] We have so much resting on our shoulders that I suspect we will have to find a way to manage it all together. We may even need extra help.~ DO ~Global("c-aranepiloguerelation","GLOBAL",3)~ + finish_rel_choice_point END finish_rel_choice_point IF ~~ finish_rel_choice_point SAY ~[ARAN] That sounds right fine, it does. It would be right fine if that came to be th' future. But for now, I expect th' best we can do is keep movin' an' dreamin'.~ IF ~~ THEN EXIT END Next entry: Conservation Of Work. We need to reuse these blocks in other settings, and we need to build some choice points that can be used in several areas of dialogue to set up /* romance active and marriage choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguemarried","GLOBAL",0)~ // not married (default) ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguemarried","GLOBAL",1)~ // married /* romance active and children choices */ ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguechildren","GLOBAL",0)~ // no children (default) ~Global("c-aranrom","GLOBAL",2) Global("c-aranepiloguechildren","GLOBAL",1)~ // children and we probably need a few places where the PC can say "hey - just friends." And perhaps ebven "hey, just friends with benefits". And most especially "Hey. It was nioce, but it is over now. You need to go to RA=3 so I can have my Angelo Wedding make sense." Plus that dialogue needs a little bit of polish. "Nice nice nicety nice nice" does not a good entry make - and the "right fine" is getting tiresome
  2. CURRENT ISSUES VOICED LINES (non-fatal flaw). - there are no current recorded voiceovers for lines; the component options are there to hold the WeiDU Component Number order, but no voicings are present BG2:EE/EET - FRIENDSHIP: (non-fatal flaw). - Revisit interjection points in both SoA and ToB. - Few BG2:EE introduced interjections are are covered. - No newly introduced areas have commentary. PID will not react to new areas. ARAN_AWARE (non-fatal flaw). - Component is coded and uses Aran's .tra, but most of the content ends up fitting regular Crossmod content. Pro = easy addition, unloads some .tra work, will probably become a regularly installed mod on EE and BiG World, etc. Con = A_A is already traified, Crossmod is not. Folks might not want to grab Crossmod when doing targeted installs. Component dissolved and all content except detecting kits moved to Crossmod Banter Pack. (non-fatal flaw). We have issues with Aran in the The Broken Sword right after picking him up. Force talking him, (before leaving The Broken Sword), and choosing the bath option - no variables set. Tried this with him and the PC doing everything and just taking a 'friendly' bath with not even a kiss being exchanged. Either way, no variables set and the PC flirting with Aran afterwards, (after bath but before leaving The Broken Sword), the flirts do not register - no variables set. The right variables do set if the PC doesn't take a bath with him though. Not able to replicate on Beta_Luridel (non-fatal flaw) But definitely unwanted behavior. Unable to replicate - procedures and tests logged here:http://gibberlings3.net/forums/index.php?showtopic=27403&p=236635 We can say "Doesn't look like us or a mod interaction on our end." we have some specific answers as to whom else thought this was a good place to interject. The only things left are glitches in evaluating SDNS(Player1) or Wait(3) or smallwait; all those things are engine things and script things that we can't control, as it is not our dialog that is processing that, it is Aerie's/Quayle's/Kalah's. And we can go back to modding. To be safe, because these things do pop up, I am marking this "Unable To Replicate) and we'll see what comes up. in the meantime, i will pop over and make sure Kivan has his code done up right. Wouldn't want the lad to accidentally leave anything dangling in the wind, y'know. FOR EXPANSION - Investigate idea of the "single playthrough encounter", where a different encounter might be available based on .bcs evaluation of party composition, class, etc. So a bard PC might get something related to FR lore about bards, a cleric might get an 'opposte alignment' encounter... remembering the biggs comments on this, because creating one-off encounters like this may be prohibitively costly in terms of development and testing time versus the amout of time players get to see the content. - Finish Teldra's first and second quest materials and retest vs. current mini-quests. - Look at how gender checks and wild surges interact, and determine feasibility of adding comedic/pathos with friend or romantic partner suddenly switching teams. - Journal entries for big decisionmaking points in the friendship/stuff talkked about/stories told. Add BG2EE materials for these. Ties in with the scribe vibe. cm - Test and integrate fix for this Repaired 7/2/2015 ALWAY ACTIVE FOR FURTHER DEVELOPMENT SoA and ToB FRIENDSHIP: Look for ways of having Aran realistically engage in a discussion that avoids all the materials other mods have covered well, and in detail , avoiding the following: - How did you get here? - What are your feelings about being (potentially) a god? - What was candlekeep like when you were a kid? - Why are you doing this? - Is Aerie sleeping with you now, or just leading you on? - So, that Noober guy... does he have a sister, becuse she might be just my cup of tea... - Gorion - daddy figure or kind uncle? - Hey, those Shadow Thief outfits for the ladies... wow. Cool tattoos, and lots of skin. I wonder how they stay warm in winter... ...looking for fun, interesting, "friends chatting" stuff, open to any PC. SoA and ToB Talks Updates - Adding more options or pathways for dialog to reflect race, class, kit, gender, alignment, and in-game actions. DIALOGUE ALL AREAS: Look for any remaining reply states that force players into 1, 2, or 3 choices and expand them into the Aran-Usual 5 to 7. Hint: If there are less than 4, the option missing is probably "shy or reticent". I seem to have assumed most female PCs will not really be that shy. Or reticent. Sample schematics for inspiration: 1 interested 2 not interested 3 vamping, or teasing 4 aggressive 5 cruel/shutdown (may need one additional, of STFU) 1 interested/aggressive 2 teasing/seductive with or without any intention of following through 3 tender/shy 4 not interested 5 cruel Berelinde's "Benett Rubric" PC reply 1 (Lydia/Kitty): narcissistic, attempt to turn the conversation toward the PC PC reply 2 (Jane): all compassion PC reply 3 (Elisabeth): practical, full of advice PC reply 4 (Mary): inappropriate, sometimes wildly so PC reply 5: exit the dialogue
  3. OK, https://github.com/cmorganbg/Aran-Whitehand/releases/tag/Beta_Luridel Latest beta with all BiG World or other mega-batch installer support, recognises EET, a custom .log file set that updates so that even if you install and then change components (thus wiping out the .DEBUG file information from the initial install), All content up to 6/30/2015 (that's also 30.6.2015) put into place. For those that don't "get git", the following sequence should help you out - 1. Click on the link. 2. look for the part that says "Downloads" 3. click on one of the "Source Code" lines, either .zip or tar.gz 4. extract that file to your desktop or some drive somewhere 5. Go into the folder you just extracted ("Aran-Whitehand-Beta_Luridel") 6. Copy the folder "aranw" and the file "setup-aranw.exe" into your mod installation directory (leave the .gitattributes and the undefined file "README" alone and you are ready to go. If you are on Linux or Mac, you don't want that "setup-aranw.exe", you want to use the latest WeiDU for your system. WARNING: untested on Linux or Mac. Secondary warning - Female PCs can get themselves into some (a good deal of) adult content similar to Romantic Encounters, Baldur's Gate Romantic Encounters, and several of the more explicit NPCs. Luckily, there are tons of ways of diverting him from "going there", but consider everyone warned
  4. Rhaella and cmorgan http://www.shsforums...rum/627-adrian/ /* SoA Banters: Aran<>Adrian: Rhaella and cmorgan : Theory vs Practice */ CHAIN IF ~Global("c-aran1adrian","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("rh#Adrian") InMyArea("rh#Adrian") !StateCheck("rh#Adrian",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1adriantalk ~[ARAN] Adrian... look, can you be tellin' me if this rune be silent or sounded? I be havin' naught in th' way o' luck trickin' it into gatherin' power. Mayhap I missed somethin'.~ DO ~SetGlobal("c-aran1adrian","GLOBAL",1)~ == BRH#ADR ~[ADRIAN] What? You-- dammit, Aran, give that to me before you kill yourself. Whatever hedge magician tried to teach you theory did a spectacularly poor job of it.~ == C-ARANB IF ~!Class("C-ARAN",MAGE_ALL)~ THEN ~[ARAN] Now, that be a harsh thing to say. But to tell th' truth, you be right. I never did understand most o' th' messin' about wi' th' Weave you spellslingers do. It be hard enough to coax even a bit o' th' magic into th' template.~ == C-ARANB IF ~Class("C-ARAN",MAGE_ALL)~ THEN ~[ARAN] Now, that be a harsh thing to say. But to tell th' truth, you be right. I don't rightly have much in th' way o' formal study, so it be more in th' way o' copyin' th' form, an' seein' if it be close enough to do th' job.~ == BRH#ADR ~[ADRIAN] Nine Hells. In other words, my previous assessment was, if anything, all too generous. You know, usually I'd be happy to give you enough rope to hang yourself, but you're liable to string the rest of us up alongside you.~ == C-ARANB ~[ARAN] Well, then, give a lad a hand, eh? I do right fine on th' construction end. It just be a mite harder when you don't rightly know what the end product be, other than in a general way.~ == BRH#ADR ~[ADRIAN] You'd best be a quick study, Whitehand. I've never exactly been known for my patience.~ == C-ARANB ~[ARAN] Just so long as we be studyin', an' have none o' that "fetch me a pail o' water an' then wash th' dishes" apprenticeship. But I'll do right by you, I will... you teach, I study, an' I prepare any scrolls you want me to as payment in kind.~ == BRH#ADR ~[ADRIAN] Mmm, that certainly should be acceptable. If I had thought all I could get out of you was a servant's chores, I wouldn't have offered at all.~ EXIT /* SoA Banters: Adrian<>Aran: Rhaella and cmorgan : Curiosity */ CHAIN IF ~Global("c-adrian2aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BRH#ADR c-adrian2arantalk ~[ADRIAN] Hmm, that should just about do it--~ DO ~SetGlobal("c-adrian1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Hells! Ask a lad next time! You blighted well know that set o' inks be worth more than a little. An' it took two weeks to get th' right proportion o' dragon bone dust an' squid ichor. Now it be a complete loss.~ == BRH#ADR ~[ADRIAN] Oh, enough with the histrionics, Whitehand. We don't exactly lack for money. In any case, it's not as if I used up all of it. Not quite.~ == C-ARANB IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Not quite? Blighted well close enough. You spent enough time on th' road wi' those Zhentarim bastards what to know a bit o' private space means. Even they have some measure o' respect, eh?~ == BRH#ADR IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] Oh, yes... respect of power, respect of fear, and you're a naive fool to believe otherwise.~ == C-ARANB IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Not quite? Blighted well close enough. An' here I thought you had time on th' road, an' understood I only have one little space what to call my own. I'd have given you half, you know.~ == BRH#ADR IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] My own time on the road, is it? Frankly, you're fortunate that my own delightful caravan experience hasn't affected me more.~ == BRH#ADR ~[ADRIAN] Now, if you're quite finished trying to manipulate me into giving a damn... I shouldn't need more of your blasted ink anyway. I think I've figured out the technique now.~ == C-ARANB ~[ARAN] Hells, man. Where I come from, th' folks what travel wi' you watch your back. An' share an' share alike, on account o' there be less than enough to go around. Who died an' made you Cyric, anyways?~ == BRH#ADR ~[ADRIAN] Aran. You've about ten seconds before this gets very ugly, very quickly.~ == C-ARANB ~[ARAN] What in th' nine hells did I say? I were th' one bein' wronged!~ == BRH#ADR ~[ADRIAN] Your string of mindless blasphemies are going to get you in trouble someday, you fool. How they haven't already, I'll never know.~ EXIT /* SoA Banters: Adrian<>Aran: Rhaella and cmorgan : Curiosity */ CHAIN IF ~Global("c-adrian2aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BRH#ADR c-adrian2arantalk ~[ADRIAN] Hmm, that should just about do it--~ DO ~SetGlobal("c-adrian1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Hells! Ask a lad next time! You blighted well know that set o' inks be worth more than a little. An' it took two weeks to get th' right proportion o' dragon bone dust an' squid ichor. Now it be a complete loss.~ == BRH#ADR ~[ADRIAN] Oh, enough with the histrionics, Whitehand. We don't exactly lack for money. In any case, it's not as if I used up all of it. Not quite.~ == C-ARANB IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Not quite? Blighted well close enough. You spent enough time on th' road wi' those Zhentarim bastards what to know a bit o' private space means. Even they have some measure o' respect, eh?~ == BRH#ADR IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] Oh, yes... respect of power, respect of fear, and you're a naive fool to believe otherwise.~ == C-ARANB IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Not quite? Blighted well close enough. An' here I thought you had time on th' road, an' understood I only have one little space what to call my own. I'd have given you half, you know.~ == BRH#ADR IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] My own time on the road, is it? Frankly, you're fortunate that my own delightful caravan experience hasn't affected me more.~ == BRH#ADR ~[ADRIAN] Now, if you're quite finished trying to manipulate me into giving a damn... I shouldn't need more of your blasted ink anyway. I think I've figured out the technique now.~ == C-ARANB ~[ARAN] Hells, man. Where I come from, th' folks what travel wi' you watch your back. An' share an' share alike, on account o' there be less than enough to go around. Who died an' made you Cyric, anyways?~ == BRH#ADR ~[ADRIAN] Aran. You've about ten seconds before this gets very ugly, very quickly.~ == C-ARANB ~[ARAN] What in th' nine hells did I say? I were th' one bein' wronged!~ == BRH#ADR ~[ADRIAN] Your string of mindless blasphemies are going to get you in trouble someday, you fool. How they haven't already, I'll never know.~ EXIT /* SoA Banters: Adrian<>Aran: Rhaella and cmorgan : half a loaf is better than none */ CHAIN IF ~Global("c-adrian1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BRH#ADR c-adrian1arantalk ~[ADRIAN] You seem enthusiastic to<DAYNIGHT>, Whitehand. I take it even this nonsense is more interesting than the line of work you're used to?~ DO ~SetGlobal("c-adrian1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Blighted hells, an' that be th' truth. An excitin' day on caravan work be th' day th' lead wagon gets stuck in some mud. An' mercenary work be worse.~ == BRH#ADR ~[ADRIAN] Heh. Either you have a rather singular definition of excitement, or the recent banditry in the area hasn't been nearly as bad as I'd been lead to believe.~ == C-ARANB ~[ARAN] Now, I spent most o' th' time on caravan work near Calimport, I did. That were actually right quiet, assumin' th' correct people were bribed an' th' route were short. Coin rules just about everythin' down that way. Th' Sword Coast, well... when a platoon o' 'Fist in full plate drops by, bandits tend to run. Or die. Or scream. Mayhap all three at once. But you must know what guard duty be like, an' most o' th' time it were standin' around in plate tryin' not to itch.~ == BRH#ADR ~[ADRIAN] Mmm, well. Fortunately, I can't comment one way or the other on the armor. Even my people aren't quite stupid enough to try to put a mage in mail, though they come dangerously close at times.~ == C-ARANB IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Put a mage in chainmail? What kind o' insane folk were you workin' with?~ == BRH#ADR IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] The type that will try the same damn thing a dozen times before realizing that it doesn't work... though perhaps that's the rule, rather than the exception. Well, no matter. We've better things to do than stand here and chat anyway.~ == C-ARANB IF ~!Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Aye. Though sometime soon I will have to stand you a round o' drink an' here more about those what you were workin' with. They sound like th' same people what run th' 'Fist.~ == C-ARANB IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Never did understand why you worked for them Banites, nohow. Th' mercenary view o' them be spend your coin today, on account o' there most probably won't be naught in th' way o' a tomorrow. Or if there be, it might just be your skeleton what be servin', eh?~ == BRH#ADR IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] Yes, because capriciously murdering your followers is the perfect way to drum up support. Though given current trends, perhaps I shouldn't expect any better.~ == C-ARANB IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Well, hells... truth be told, there were plenty o' 'Fist what actually believed th' same, Not murderin', exactly, but not liftin' no finger to help when someone went down. It brings on somethin' they called "ghost payroll", where th' Regimental muster would stay th' same even when we were down by ten, an' a few pockets got a bit richer. Never served in one o' them companies, but I heard it were done.~ == BRH#ADR IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ADRIAN] That wouldn't surprise me at all. As far as I've been able to tell, the largest difference between Heartlands folk and those back home is capacity for self-delusion. We're usually more honest about what we want.~ == C-ARANB IF ~Global("rh#AdrianZhent","GLOBAL",1)~ THEN ~[ARAN] Mayhap you be right. But some o' us are a fair bit more comfortable in our self-delusion. Helps a lad sleep at night, eh?~ EXIT /* SoA Banters: Aran<>Adrian: Rhaella and cmorgan : Cyric */ CHAIN IF ~Global("c-aran3adrian","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("rh#Adrian") InMyArea("rh#Adrian") !StateCheck("rh#Adrian",CD_STATE_NOTVALID) Global("rh#AdrianZhent","GLOBAL",1) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran3adriantalk ~[ARAN] Mayhap I owe you an apology.~ DO ~SetGlobal("c-aran3adrian","GLOBAL",1)~ == BRH#ADR ~[ADRIAN] More than one, I should think, though I hope you don't expect me to guess.~ == C-ARANB ~[ARAN] I spoke that wrong, I did. I don't owe you anythin' at all, but I want to tell you I be sorry I put both feet in my mouth on th' whole... well... th' Mad God reference. It were my mouth runnin' when my brain be a bit behind.~ == BRH#ADR ~[ADRIAN] Ahh. I don't normally fly into a rage at the mere mention of his name, you know. Though I suppose I can't blame you for not wanting to take that chance again.~ == C-ARANB ~[ARAN] Well, I don't rightly know all th' details, but I should have known that would have sounded like I were challengin' you. If I were to be doin' that, it would be over a friendly game o' who can drink th' most in an hour an' still walk to th' bar.~ == BRH#ADR ~[ADRIAN] As far as drinking contests go, that's remarkably dull of you. Not that I care much for the genre at all; a game where nobody really loses doesn't have quite the same flare.~ EXIT
  5. Getting prepped for journal entries removal and addition. EXISTING : ROMANCE BODHI ABDUCTION The standard Bodhi Abduction sequence, matching BiWare. /* Stage 1 : Set @448 */ @448 = ~The Final Battle with Bodhi. Bodhi appeared in an ambush shortly before I reached her haven, warning me that she was aware of my pursuit and stealing Aran from my side. Before she vanished and unleashed more of her undead creations upon me, Bodhi warned that if I continue I will lose even more than I thought possible. I cannot give up on the Rhynn Lanthorn... but now the life and immortal soul of Aran is at stake, as well!~ /* Stage 2 Set @456 */ @456 = ~The Final Battle with Bodhi. Bodhi has turned Aran into a vampire! Or... or very nearly. The process may not have been completed in the short time Bodhi has had him. Hopefully something can be done or I will have lost him. Perhaps the elven war sage might know some way of restoration... or Elhan...~ /* Stage 3 - Final Set @10399, remove @456 @448 */ @10399 = ~The Final Battle with Bodhi. While I had feared for some time that Bodhi's final revenge on me would be to take away Aran forever, it seems that the information in the lorebook was right... Amaunator's idol has restored Aran not only to life, but has removed the vampiric curse from him, as well. And more to the point, it appears his language is quite unaffected.~
  6. New game on a clean install. PC Fem CN F/T. In party Minsc, Aran, Yoshimo, Arath. Here's what I've noticed so far: -When the player flirts switch from the 1st to the 2nd level of flirts, the (Flirt with Aran) option appeared twice on the list in game. -Really like the comment to Salvanas! But Aran is quiet about the PC fighting Amalas? Aran's meat shield talk came up as the fight with Amalas was starting. (PC was in the pit and she had just began to attack when the talk appeared.) -The party had rested for 16 hours in the CC after slaver quest. Forcetalked Aran and one of the inn specific talks appeared. It ended with a forced rest and the party resting again for 8 more hours. Just seemed like an odd time for a forced rest. Maybe reserve forced rest talks for when the player initiates resting. -Also have a game going with a Bard PC. Should Aran's comment about the Bard quest (in the FF playhouse) be adjusted a bit for a PC that is a Bard? -During the Bard quest several party members were killed - multiple times - including Aran. Did you make a comment for him when raised from the dead? -Lastly, is there any RE material for Aran? That's it for now, will keep you posted as both games progress.
  7. We will insert the GitHub link once it is up right <<here>>, but for now, let's take inventory and start setting up for the documentation. Material written and integrated so far (except for the Gavin crossmod stuff that Berelinde and I are still tinkering with): Divine Remix aranw_aware will open pathways that recognize if your PC is using one of the Cleric Kits from Divine Remix. Kits Recognized: Heartwarder of Sune Feywarden of Correlon Strifeleader of Cyric Painbearer of Ilmater Lorekeeper of Oghma Firewalker of Kossuth Silverstar of Selune Holy Strategist of the Red Knight Nightcloak of Shar Battleguard of Tempus Authlim of Iyachtu Xvim NPC Mod Banters aranw_aware will add banters between Aran and the NPC in question if both Aran Whitehand and the other NPC mod are installed before running aranw_aware. NPC Mods Recognized: Laufey's Edwin Romance (one interjection in a conflict between Edwin and Anomen) "unauthorized" Angelo (two banters in SoA, two in ToB) "authorized", by Sister Vigilante and cmorgan; sound clips by Sister Vigilante Kivan (two banters in SoA) - "authorized" and "unauthorized" one by Domi and cmorgan, another by cmorgan (and hopefully she will ok it when she has the chance). Saerileth (three banters and one comment in SoA) "unauthorized", by cmorgan - if they stink, blame me and not Netharin/Sillara Tashia Remix, by Michael "Arian" Lyashenko, Bri, and Lord Ernie (two banters in SoA, two in ToB) "unauthorized", by cmorgan - if they stink, blame me and not Bri, Lord Ernie, or the original author, Michael "Arian" Lyashenko Tsujatha NPC MOD For Baldur’s Gate 2 (TOB Required) by Sillara of the Tamari (two banters in SoA) "unauthorized", by cmorgan - if they stink, blame me and not Sillara Solaufein Romance Mod Pack, by Westley Weimer (two banters in SoA) "unauthorized", by cmorgan - if they stink, blame me and not Westley Weimer Rather than filling the forum up with code, I will link the materials to github, so folks can see the .tp2 materials that way.
  8. One of my favorite NPCs - all these are by me, but hopefully Bri or Lord Ernie will wander by and make changes or suggestions. File: aranw_aware\aranaware_tashia_SoAbanters.d /* SoA Banters: Tashia<>Aran : High Spirits : cmorgan */ CHAIN IF ~Global("c-tashia1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BTASHIA tashia1arantalk ~[TASHIA] Rather gloomy, aren't you?~ DO ~SetGlobal("c-tashia1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Aye, then, lass, I think you have a mite bit o' th' truth there. Down just a little, I think.~ == BTASHIA ~[TASHIA] So, how about a riddle?~ == C-ARANB ~[ARAN] No, not now, as I got naught for spirited talk. You seem a mite down yourself, there. You got an interestin' familiar, some tough magic, an' you be travelin' with us. What's th' matter wi' you, to bring you so far down?~ == BTASHIA ~[TASHIA] Well, that's really no one's concern but mine. Personal matters... you understand, I'm sure.~ == C-ARANB ~[ARAN] Sure. I understand. Here, lass... have a nip from this flask. It may not solve anythin', but it will warm up your insides.~ == BTASHIA ~[TASHIA] I would think so... I can smell it from here!~ == C-ARANB ~[ARAN] Sometimes a nip o' somthin' what can kick a lad or lass will do wonders. Spirits for to raise your spirits, eh?~ == BTASHIA ~[TASHIA] I don't know...~ == C-ARANB ~[ARAN] Well, suit yourself. Th' offer's always available.~ EXIT [code] And now for a little moe fun - let's play with the blanket idea that Tashia has between Jaheira and Aerie, only throwing a slightly different light on thins - a riff in the key of flirt, if Tashia and Aerie are in the party with Aran: [code] APPEND C-ARANB /* SoA Banters: Aran<>Tashia : no romance with PC with either Aran or Tashia, and even better if you have both Tashia and Aerie in the party... : cmorgan */ IF ~!Global("TashiaRomanceActive","GLOBAL",2) !Global("c-aranrom","GLOBAL",2) Global("c-aran1tashia","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("tashia") InMyArea("tashia") !StateCheck("tashia",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BEGIN c-aran1tashiatalk SAY ~[ARAN] Oh, nice an' soft... just th' right sort o' thing. I'll just be packin' this up, an'...~ IF ~~ THEN DO ~SetGlobal("c-aran1tashia","GLOBAL",1)~ EXTERN BTASHIA c-aran1tashiastart END IF ~~ c-aran1tashiafour SAY ~[ARAN] Now, I doubt that would end so well for me. I done learned a long time ago that pleasin' a woman be a full time occupation, an' splittin' forces leads to disaster.~ IF ~~ THEN EXTERN BTASHIA c-aran1tashiaseven END IF ~~ c-aran1tashiafive SAY ~[ARAN] Now, while that be a right entertainin' thought, I was actually talkin' to you, Tashia.~ IF ~~ EXTERN BTASHIA c-aran1tashiaseven END IF ~~ c-aran1tashiasix SAY ~[ARAN] Now, while that be a right entertainin' thought, I was actually talkin' to you, Aerie.~ IF ~~ EXTERN BAERIE c-aran1tashiaeight END END CHAIN C-ARANB c-aran1tashiaone ~[ARAN] Well, I might be in a right fine position to share it wi' you...~ == BTASHIA ~[TASHIA] Are you suggesting what I think you are suggesting?~ == C-ARANB ~[ARAN] Now, you be a woman o' th' world, an' a beautiful one at that. Why should I not ask?~ END IF ~~ THEN EXTERN BTASHIA c-aran1tashiaseven CHAIN BAERIE c-aran1tashiatwo ~[AERIE] No, that is mine! How did we get these all mixed up?~ == C-ARANB ~[ARAN] Well, I might be in a right fine position to share it wi' you...~ == BTASHIA ~[TASHIA] Are you suggesting what I think you are suggesting?~ == BAERIE ~[AERIE] Wh- what is he suggesting?~ == C-ARANB ~[ARAN] Now, you be a woman o' th' world, an' a beautiful one at that. Why should I not ask?~ == BAERIE ~[AERIE] Aran, are you talking to me, or to her? Ask what?~ END IF ~~ THEN EXTERN BTASHIA c-aran1tashiathree APPEND BTASHIA IF ~~ c-aran1tashiastart SAY ~[TASHIA] Hey! That's my blanket you're taking!~ IF ~InParty("aerie") InMyArea("aerie") StateCheck("aerie",CD_STATE_NOTVALID)~ THEN EXTERN BAERIE c-aran1tashiatwo IF ~OR(3) !InParty("aerie") !InMyArea("aerie") StateCheck("aerie",CD_STATE_NOTVALID)~ THEN EXTERN C-ARANB c-aran1tashiaone END IF ~~ c-aran1tashiathree SAY ~[TASHIA] For all we know, he might be talking to us both.~ IF ~RandomNum(3,3)~ THEN EXTERN C-ARANB c-aran1tashiafour IF ~RandomNum(3,2)~ THEN EXTERN C-ARANB c-aran1tashiafive IF ~RandomNum(3,1)~ THEN EXTERN C-ARANB c-aran1tashiasix END END CHAIN BTASHIA c-aran1tashiaseven ~[TASHIA] I see someone has a growing appreciation for the possibility of female companionship.~ == C-ARANB ~[ARAN] Do you be usin' some sort o' sorcerous ways to see right through these clothes o' mine?~ == BTASHIA ~[TASHIA] No, no... I just know the way men's minds work.~ == BTASHIA ~[TASHIA] Nice try, Aran, but I have my Peanelian to keep me warm.~ == C-ARANB ~[ARAN] I do admit he can do that right well, but I might have some more ways o' pleasin' you, you know.~ == BTASHIA ~[TASHIA] Oh, I don't know...~ == C-ARANB ~[ARAN] You can't be naught in th' way o' serious.~ == BTASHIA ~[TASHIA] Hehe... You should see your face!~ == C-ARANB ~[ARAN] You might think on it a bit, you know, all jokin' aside. You be a fine lookin' lass.~ EXIT CHAIN BAERIE c-aran1tashiaeight ~[AERIE] I... Oh. You are... You are?~ == C-ARANB ~[ARAN] I have been admirin' you for some time now, Aerie. I wouldn't speak so bold if I hadn't seen your eyes come my direction more than a few times, eh?~ == BTASHIA ~[TASHIA] I see someone has a growing appreciation for the possibility of female companionship.~ == C-ARANB ~[ARAN] Do you be usin' some sort o' sorcerous ways to see right through these clothes o' mine?~ == BTASHIA ~[TASHIA] No, no... I just know the way men's minds work.~ == BAERIE ~[AERIE] You... you were talking to me.~ == BTASHIA ~[TASHIA] Now I can't decide which of you two is blushing brighter. Should I just leave you two lovebirds alone?~ == BAERIE ~[AERIE] NO! No... I mean, please don't go. I... I don't think Aran is suggesting...~ == BTASHIA ~[TASHIA] Believe me, he is.~ == C-ARANB ~[ARAN] Belive me, I am.~ == BAERIE ~[AERIE] Oh! Oh my!~ == BTASHIA ~[TASHIA] Was her grabbing the blanket and running off hiding her face in it part of your master plan, loverboy?~ == C-ARANB ~[ARAN] Sune's Sweet Smile, I thought I was makin' time right well. Damnation on my blighted tongue.~ == BTASHIA ~[TASHIA] Sometimes a girl does like attention. Just don't go overboard.~ EXIT installed and tested.
  9. A tough one to write for. /* SoA Banters: Aran<>Tsujatha : What are you... : cmorgan */ CHAIN IF ~Global("c-aran1tsujatha","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("TSUJATH") InMyArea("TSUJATH") !StateCheck("TSUJATH",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1tsujathatalk ~[ARAN] What in th' nine hells are you? I never did see a Tel'Quessirim so tall. An' you don't rightly look natural.~ DO ~SetGlobal("c-aran1tsujatha","GLOBAL",1)~ == BTSUJAT ~[TSJUATHA] I am a necromancer. I do manipulate death. And this serves me well. It serves <CHARNAME> also.~ == C-ARANB ~[ARAN] You blighted well know that be naught in th' way o' an answer. An' don't try that cold stare wi' me. I have seen th' worst o' death, an' I don't rightly scare easily.~ == BTSUJAT ~[TSJUATHA] Have you walked the planes, brought animation to the dead, and weilded the powers of a Prime?~ == C-ARANB ~[ARAN] Well, seein' as I don't rightly know what two out o' th' three o' those really mean, mayhap not.~ == BTSUJAT ~[TSJUATHA] You have much to learn, then, before you can truly fear me.~ == C-ARANB ~[ARAN] You are a strange one, Tsjuatha. I don't know if havin' you around be a blessin' or damnation for us all.~ == BTSUJAT ~[TSJUATHA] I have embraced damnation with open arms--and open eyes.~ == C-ARANB ~[ARAN] Well, I blighted well haven't.~ EXIT /* SoA Banters: Tsujatha<>Aran : Pride and Prejudice : cmorgan */ CHAIN IF ~Global("c-tsujatha1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("TSUJATH") InMyArea("TSUJATH") !StateCheck("TSUJATH",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BTSUJAT c-tsujatha1arantalk ~[TSJUATHA] You are a sword for hire, and a commoner of this land, Master Whitehand?~ DO ~SetGlobal("c-tsujatha1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Sellsword, aye. Commoner, well... common enough. Mayhap there be a bit o' social distinction between us non-nobles around these parts, but th' adventurin' an' sellsword life pulls to th' bottom o' th' heap most times.~ == C-ARANB ~[ARAN] Put it this way; a merchant's son you can bring home to th' family. A sellsword, well... you have a nice little affair, some kissin' an' sparkin' in th' bedchamber. Then you smarten up an' go find some nice boy o' th' settlin' down type to actually marry.~ == C-ARANB ~[ARAN] What about you? Do they all be so dark an' nihilistic where you be from?~ == BTSUJAT ~[TSJUATHA] I was born the only son of an ancient and proud house, one of the noble houses amongst the Fair Elves. Before my second century I was Prince of the Golden Desert.~ == C-ARANB ~[ARAN] I have naught in th' way o' experience talkin' wi' no Prince, let alone some sandy gold-lovin' plane-travelein' one. But I have had plenty o' experience dealin' wi' braggarts an' those what think they are superior.~ == BTSUJAT ~[TSJUATHA] (A smirk crosses his face at Aran's quaint phrasing, but his eyes are serious as he responds.)~ == BTSUJAT IF ~GlobalGT("NaliaTsujathaTalk","GLOBAL",1)~ THEN ~[TSUJATHA] I believe that I have said this to Mistress Nalia...~ == BTSUJAT ~[TSJUATHA] It would be best for your health if you gave up these assumptions. I am of higher birth than you are, but it hurts your pride to think so.~ == C-ARANB ~[ARAN] Higher birth on account o' you bein' not from this plane, on account o' you bein' born an elf, on account o' your family's bloodline, or on account o' you bein' a wizard what studies death?~ == BTSUJAT ~[TSJUATHA] All four of these. And none of the four.~ == C-ARANB ~[ARAN] Th' thing is, you talk a right fine game. You act an' look colder than death, mincin' about superiour to us poor blighted inhabitants o' this backwater plane. But you stay here, desperately pickin' fights an' pushin' at others around you so's to see yourself in th' reflections o' their conversations. So you want to live, that be sure, no matter how much you play wi' words n' shadow.~ == BTSUJAT ~[TSJUATHA] I would not recommend mocking those whose power exceeds your own.~ == C-ARANB ~[ARAN] It were naught in th' way o' mockery. An' there you go again, bein' all dark an' threatenin'. There be comfort an' strength in bein' part o' a group o' "lesser powers". I might not touch you one on one. But get a few o' my mates together, an' death magic or no, we'd balance you out right fine.~ EXIT This second one needs to be revisited. It is part of the way that Tsujatha is written that he is smarter, darker, wiser, and more angsty than anyone else in the party. He *always* wins, and other NPCs *always* admit he is right, albeit sometimes grudgingly. Even in the limited Crossmod Banter Project entries, NPCs discussing things with him are kind to him. Do I like this? No. Do I care deeply? No - this is fiction, and they are both toys. Do people like this? Yes - he is downloaded and played even today. SO... I should probably keep the banters in character with Tsujatha's character, and make sure he has a suitably dark comeback. I'll log it on the to-do list, after I have read more about him.
  10. Now, with the Granddaddy of All Mods, Solaufein, there is an added difficulty. We can (and I have) create two fun banters, and install them. file: aranw_aware\aranaware_solaufein_SoAbanters.d /* SoA Banters: Aran<>Solaufein : cmorgan */ CHAIN IF ~Global("c-aran1solaufein","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("SOLA") InMyArea("SOLA") !StateCheck("SOLA",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1solaufeintalk ~[ARAN] So I hear you be a "good" Drow.~ DO ~SetGlobal("c-aran1solaufein","GLOBAL",1)~ == SOLA ~[sOLAUFEIN] Yes, it would appear so.~ == C-ARANB ~[ARAN] Didn't know there were any such thing.~ == SOLA ~[sOLAUFEIN] I assure you, I am. I exist, and I am not alone.~ == C-ARANB ~[ARAN] Well, I suppose you might find a rose on a dungheap, but I'd be thinkin' it would be a right easier thing to find a "good" demon servin' tea at Hareshom's o' Waterdeep.~ == SOLA ~[sOLAUFEIN] Perhaps you are correct. But the followers of Eilistraee, Lady Silverhair, must be discreet if we are to guide our brothers and sisters to a lighter path.~ == C-ARANB ~[ARAN] This Ellyartrie...~ == SOLA ~[sOLAUFEIN] Eilistraee.~ == C-ARANB ~[ARAN] Look, do there be many followers o' Her particular brand o' Drowdom?~ == SOLA ~[sOLAUFEIN] Very few, I am afraid.~ == C-ARANB ~[ARAN] Actually, that makes me a mite bit happier. I'd rather not be rethinkin' every single Drow bastard I personally put down. Chances are, none o' them be ones where I should o' hesitated.~ == SOLA ~[sOLAUFEIN] Ah, my friend, for a brief moment I thought that you would see past your prejudice rather that rationalize your past actions. I will sing a prayer to Lady of the Dance.~ EXIT /* SoA Banters: Solaufein<>Aran : cmorgan */ CHAIN IF ~Global("c-solaufein1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("'c-aran") InMyArea("'c-aran") !StateCheck("'c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN SOLA c-solaufein1arantalk ~[sOLAUFEIN] Ah, my prejudiced fellow traveller - speech is a mirror of the soul. As a man speaks, so is he. I ask you now: who is Aran?~ DO ~SetGlobal("c-solaufein1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] I don't rightly understand th' question. Wait... mayhap I do. Do you be sayin' th' way a man speaks be a good indication o' his personality, his habits, an' so forth?~ == SOLA ~[sOLAUFEIN] Why, yes. I think that is a fair assessment.~ == C-ARANB ~[ARAN] That be a right interestin' idea. But I don't think it applies to me. You want to know me, you look at how I write, an' ignore th' language.~ == SOLA ~[sOLAUFEIN] I do not think that will be a fair picture. With your scribing, you have time to think, to craft your ideas. In your speech, there is an immediacy that shows a raw truth.~ == C-ARANB ~[ARAN] Mayhap. Or mayhap we have to agree to disagree, eh?~ == SOLA ~[sOLAUFEIN] I can convince you with a simple example, if you would like.~ == C-ARANB ~[ARAN] Aye, then, go ahead an' try.~ == SOLA ~[sOLAUFEIN] Have you ever known a Drow to communicate through poetry and song?~ == C-ARANB ~[ARAN] Point taken. An' I have to admit; mayhap I be wrong about th' only good Drow bein' a dead Drow. Mayhap there be one or two what be reasonable bein's.~ EXIT Now comes the interesting part. As written above, Aran's initiated banter will play, but on the vast majority of installs, Solaufein's will not. Why? Well... for one thing, Solaufein does not have a banter file. Oh, he does - but he doesn't. Because Back In The Day™, in the very first mods, the same file was used for both banter and for joined file, and the NPC script switched things around. And for a second thing, the RPG Solaufein Flirt pack adds a PID-style flirt to SOLA, so even if we call it, it will never play, as he flirts will superceed it in evaluation order. Actually, they might - the flirts are set on Player1 being the gabber, but if the folks there add the !Gabber(Player1) blocks I use, then they will have a wall - and someone, sometime, is going to build a proper PID for the lad. In a regular install, players will use the "obvious", and install Solaufein, then the RPG Flirt pack. Two traditional ways to fix this - play around with weighting, moving the banter higher up in the order. Tricky, risks Weimer's work being blocked, and subject to install order problems. Yuck. (actually, an additional one - start messing about with Solaufein's .bcs. Double-triple-yuck). Or take the cheap way out - and don't have Solaufein actually start the banter - have it triggered from Aran's file. Since I have control of Aran's stuff, and not Solaufein's, I'm going "cheap, cheap, cheap", to quote Meilcamp! Changed file entry - /* SoA Banters: Solaufein<>Aran : cmorgan */ CHAIN IF ~Global("c-solaufein1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("SOLA") InMyArea("SOLA") !StateCheck("SOLA",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-solaufein1arantalk == C-ARANB ~[ARAN] Blighted stone. Got one in my boot, I do.~ DO ~SetGlobal("c-solaufein1aran","GLOBAL",1)~ == SOLA ~[sOLAUFEIN] Ah, my prejudiced fellow traveller - speech is a mirror of the soul. As a man speaks, so is he. I ask you now: who is Aran?~ == C-ARANB ~[ARAN] I don't rightly understand th' question. Wait... mayhap I do. Do you be sayin' th' way a man speaks be a good indication o' his personality, his habits, an' so forth?~ == SOLA ~[sOLAUFEIN] Why, yes. I think that is a fair assessment.~ == C-ARANB ~[ARAN] That be a right interestin' idea. But I don't think it applies to me. You want to know me, you look at how I write, an' ignore th' language.~ == SOLA ~[sOLAUFEIN] I do not think that will be a fair picture. With your scribing, you have time to think, to craft your ideas. In your speech, there is an immediacy that shows a raw truth.~ == C-ARANB ~[ARAN] Mayhap. Or mayhap we have to agree to disagree, eh?~ == SOLA ~[sOLAUFEIN] I can convince you with a simple example, if you would like.~ == C-ARANB ~[ARAN] Aye, then, go ahead an' try.~ == SOLA ~[sOLAUFEIN] Have you ever known a Drow to communicate through poetry and song?~ == C-ARANB ~[ARAN] Point taken. An' I have to admit; mayhap I be wrong about th' only good Drow bein' a dead Drow. Mayhap there be one or two what be reasonable bein's.~ EXIT And that, as they say, is that
  11. SoA: Two banters, plus one Underdark Banter File: aranaware_saerileth_SoAbanters.d /* SoA Banters : Aran-Saerileth */ CHAIN IF ~Global("c-aran1saerileth","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1saerilethbanter ~[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-aran1saerileth","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 Banters : Saerileth-Aran */ CHAIN IF ~Global("c-saerileth1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BSAERILE c-saerileth1aranbanter ~[sAERILETH] Why dost thou reject the gods? The foul-mouthed oaths thou dost speak do disservice to all.~ DO ~SetGlobal("c-saerileth1aran","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 /* SoA UD Banters : Aran-Saerileth */ CHAIN IF ~Global("c-drow","GLOBAL",1) Global("c-aranudsaerileth","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ 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-aranudsaerileth","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 SoA: comment on romance File: aranaware_saerileth_SoAcomment.baf /* Saerileth Commentary SoA : Are you sure about this romance? : Activate */ IF InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) Global("SaerilethRomanceActive","GLOBAL",2) Global("c-aranpcsaerrom","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranpcsaerrom","GLOBAL",1) END /* Saerileth Commentary SoA : Are you sure about this romance? : Initiate */ IF GlobalTimerExpired("c-aransmalltalk","GLOBAL") // Timer (game-time) has expired Global("c-silencearan","GLOBAL",0) // a PID - set "silencer" for folks who hate unsolicited comments Global("c-aranpcsaerrom","GLOBAL",1) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 StartDialogNoSet(Player1) END File: aranaware_saerileth_SoAdialog.d APPEND C-ARANJ /* Saerileth Commentary SoA : Are you sure about this romance? : Dialog */ IF WEIGHT #-1 ~Global("c-aranpcsaerrom","GLOBAL",1)~ THEN BEGIN carsar1 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)~ + carsar2 ++ ~[PC] What do you think?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + carsar3 ++ ~[PC] Yes.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + carsar4 ++ ~[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)~ + carsar4 ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + carsar3 ++ ~[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.~ + carsar10 END IF ~~ carsar2 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.~ + carsar4 ++ ~[PC] Are we holding hands and kissing occasionally? Yes, I think we are. Are we getting serious? I am not sure.~+ carsar8 ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + carsar3 ++ ~[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.~ + carsar10 END IF ~~ carsar3 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 carsar8 END IF ~~ carsar4 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.~ + carsar5 ++ ~[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?~ + carsar6 ++ ~[PC] What, are you jealous? I did not know you were in love with her too.~ + carsar7 ++ ~[PC] It is a passing crush, and I intend to have as much fun with her as her religious views will allow.~ + carsar8 ++ ~[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.~ + carsar3 END IF ~~ carsar5 SAY ~[ARAN] Aye, she does. That be even more dangerous.~ IF ~~ THEN GOTO carsar9 END IF ~~ carsar6 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 carsar9 END IF ~~ carsar7 SAY ~[ARAN] Jealous? No possibility o' that, boyo. She scares me half to death.~ IF ~~ THEN GOTO carsar9 END IF ~~ carsar9 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 carsar8 END IF ~~ carsar8 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.~ + carsar10 ++ ~[PC] I don't intend to hurt her. I think she may be my soulmate.~ + carsar10 ++ ~[PC] She's a bunny rabbit. What's she going to do, nibble my bum?~ + carsar10 /* 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.~ + carsar10 END IF ~~ carsar10 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 END Installed and tested.
  12. The Authorship stuff is always a PITA in this community, with a long history of oddities. But in general, I am using "authorized" to mean "the original author and I wrote up sketches and worked together", and "unauthorized" to cover "the original author did not participate". Many modders have said that they welcome additional crossmod content but are no longer in the community; others have said "no way I am not going to have anyone write lines for my NPC whether I am around or not". Bigger discussion at The Sensuous Permission-Free Crossmod Banter Author, By Mr. C . To be completely honest, as I have said before in other posts, I'm with Nythrun on the silliness of "authorizing" and "unauthorizing" content built by unauthorized extrapolation of characters created for and registered to BioWare™. But I am not going to go out of my way and poke modders with definitive views that are different than my own, because (after all) hey, it's a game, and it isn't worth making someone all upset over writing a few lines of dialog. So, for instance, I know Theacefes is a person who prefers not to have other folks write lines for her character. I'll poke about and bug her, and with any luck we'll come up with some fun stuff, all "authorized", if she likes and has time. Why tick her off by writing stuff for Sarah? On the "unauthorized=not original modder" front, under my definition, Taisha and Kivan fall into the category even though each of their authors has given blanket permission for other folks to write banters for those characters. Domi has even worked up one - but the other, i went ahead and created something on my own that I thought she would like. In this case, the whole discussion is moot, as I expect I can bribe/beg/plead with Domi to take a look and either say "sure" or give edits. So, Kivan SoA content. To be blunt, Kivan and Aran in ToB are not likely to have much to be chatting about; if something pops up, we can always add it. Two banters in SoA file: aranw_aware_kivan_SoAbanters.d /* SoA Banters: Aran<>Kivan : Domi and cmorgan */ CHAIN IF ~Global("c-aran1kivan","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("p#kivan") InMyArea("p#kivan") !StateCheck("p#kivan",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1kivantalk ~[ARAN] Blighted elves.~ DO ~SetGlobal("c-aran1kivan","GLOBAL",1)~ == BP#KIV ~[KIVAN] What?!~ == C-ARANB ~[ARAN] It be bad enough you live for several lifetimes.~ == BP#KIV ~[KIVAN] I have lost the ability to see my long life as a blessing, human.~ == C-ARANB ~[ARAN] Aye, an' add all that broodin' angst...~ == BP#KIV ~[KIVAN] How--~ == C-ARANB ~[ARAN] Hells, there be no chance for us fireflies wi' our own womenfolk, eh?~ == BP#KIV ~[KIVAN] Who can understand those humans?~ == C-ARANB ~[ARAN] Corellon's Sword, give it a shot, eh, or you might catch yourself some rough explainin'.~ EXIT /* SoA Banters: Aran<>Kivan : cmorgan (don't blame Domi if it sucks, and when she gets time she might fix it up ) */ CHAIN IF ~Global("c-kivan1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BP#KIV c-kivan1arantalk ~[KIVAN] No, no... 'ah-MIN hi-RAE-tha'.~ DO ~SetGlobal("c-kivan1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] 'ayahaMin hiRAYtah'.~ == BP#KIV ~[KIVAN] 'ah-MIN hi-RAE-tha'.~ == C-ARANB ~[ARAN] 'ayaha-MIN hi-RAYtah'.~ == BP#KIV ~[KIVAN] For the hundredth time, you must let the syllables sing. Gutteral harshness, amin uuma merna ta.~ == C-ARANB ~[ARAN] Blighted tongue. Serves me right for tryin' to speak a language what takes half a Xvim-kissed century to learn. It be a fair amount easier to write this than to speak it, eh?~ == BP#KIV ~[KIVAN] Perhaps in your case, that would be best.~ == C-ARANB ~[ARAN] Aye. What be th' chance I am actually goin' to say 'I'm sorry' in elven anyways, or any other language for that matter. Hey... how do you say 'take me to your bedchamber'?~ == BP#KIV ~[KIVAN] Shevarash, tua amin! Amin lava.~ EXIT Installed and tested.
  13. Finalized with Sister V, ready for inclusion with the AranW_Aware mod (if this post goes away due to forum stuff, no problems - it will be backed up at GitHub this weekend when the "aranw_aware" mod is cleared to be placed on the install after the current unreleased beta - my browser is showing "offline but I can still apparently post...) When there is an active modder it is a blast to play "build the banters" with them. Way cool fun. And Sister V even voiced Angelo's stuff, which ups the ante for me... Here are the ones Sister V and I came up with via PM, after suggestions in other threads: Two banters for ToB File: aranaware_angelo_ToBbanters.d /* ToB Banters: Aran<>Angelo : Wine and Travel Story Swap : by Sister V and cmorgan */ CHAIN IF ~Global("c-aran3angelo","GLOBAL",0) InParty("ADAngel") InMyArea("ADAngel") !StateCheck("ADAngel",CD_STATE_NOTVALID) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY]) ~ THEN C-ARN25B c-aran3angelotalk ~[ARAN] Cyric's Black Heart, this travelin' about builds up a powerful thirst. Give a lad a story, eh? Tell me what be th' best drink you ever did have.~ DO ~SetGlobal("c-aran3angelo","GLOBAL",1)~ == BADANG25 ~[ANGELO] Well, in Maztica, there is a concoction they call the Blood of the Serpent God. Refreshingly literal; it's a gods-damned viper stopped up in a bottle of ale. They say the trace of venom makes you see the face of Ao. Bought some of a peddler, and happen I saw Her face. Didn't you know She's a woman? Most beautiful lass you ever saw. And I understood why She made it all, you know; out of love, and I loved Her...the worst drink followed the best. On the third bottle, the face became my dam's, telling me what a disappointment I'd always been till the early morning hours. ~ == BADANG25 ~[ANGELO] That's how it goes. Anyway, what's yours?~ == C-ARN25B ~[ARAN] Well, th' best drink I ever did have were some right smart tastin' meade from up Moonshae ways. O' course, I didn't know it were stronger than most, an' I fell to drinkin' wi' a nice lass. She seemed to get prettier th' more I drank, an' th' more I drank she drank, an' soon enough we fell to sparkin'. It were one hells o' a night.~ == BADANG25 ~[ANGELO] Mayhap I sense a common theme. What of the morning to follow? ~ == C-ARN25B ~[ARAN] I done learned my lesson. I woke up wi' a Kossoth-kissed hangover, no coinpurse, an' somehow half o' my clothin' were missin' as well. That were a long walk back to barracks, that were. I never did know how cold a winter sea-breeze could be until I tried it wi' very little to protect me from th' waist down.~ == BADANG25 ~[ANGELO] Without the bitter aftertaste, I reckon, we'd not know the medicine worked. ~ == C-ARN25B ~[ARAN] Aye. That be a right powerful truth.~ EXIT /* ToB Banters: Angelo<>Aran: heartsick */ CHAIN IF ~Global("c-angelo4aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY]) ~ THEN BADANG25 c-angelo4arantalk ~[ANGELO] Gods, all this killing makes me heartsick. Happen I think there's nothing more beautiful than a farmer maid singing to herself, hanging out the laundry as night falls... ~ DO ~SetGlobal("c-angelo3aran","GLOBAL",1)~ == C-ARN25B ~[ARAN] Now, that do sound right pretty. But on my account, swap in some red-tressed, nip-an'-tuck waisted, green-eyed slip o' a barmaid, an' I think I'd like that right proper.~ == BADANG25 ~[ANGELO] To each his own.~ == C-ARN25B ~[ARAN] Turnin' soft in your old age, eh? You done figured out what th' rest of us knew long ago. Welcome to th' human race.~ == BADANG25 ~[ANGELO] I may not join the rest of you yet. I'd still have the advantage of yon imagined farmer maid.~ == C-ARN25B ~[ARAN] Blighted sure, on any account. Not while she be singin', though, on account o' you won't want it to end. No tears shed on proper sparkin'.~ == BADANG25 ~[ANGELO] But while the song lasts, it is enough to make a man cry.~ == C-ARN25B ~[ARAN] But a man never cries, does he?~ == BADANG25 ~[ANGELO] Nay. Never.~ EXIT Four banters for SoA File: aranaware_angelo_SoAbanters.d /* SoA Banters: Aran<>Angelo : Orders are Orders : by Sister V and cmorgan */ CHAIN IF ~Global("c-aran1angelo","GLOBAL",0) InParty("ADAngel") InMyArea("ADAngel") !StateCheck("ADAngel",CD_STATE_NOTVALID) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran1angelotalk ~[ARAN] So... you wanted to kill <PRO_HIMHER>?~ DO ~SetGlobal("c-aran1angelo","GLOBAL",1)~ == BADANGEL ~[ANGELO] Orders are orders.~ == C-ARANB ~[ARAN] True.~ == BADANGEL ~[ANGELO] Things were different.~ == C-ARANB ~[ARAN] Heh. I weren't there.~ == BADANGEL ~[ANGELO] Good thing. I would have taken you out first.~ == C-ARANB ~[ARAN] Scared o' me?~ == BADANGEL ~[ANGELO] Just can't stand your breath.~ == C-ARANB ~[ARAN] Yeah, screw you, too.~ == BADANGEL ~[ANGELO] Thanks, but I prefer women.~ == C-ARANB ~[ARAN] Heh.~ EXIT /* SoA Banters: Angelo<>Aran : Manners : by Sister V and cmorgan */ CHAIN IF ~Global("c-angelo1aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BADANGEL c-angelo1arantalk ~[ANGELO] Aran, you curse like a Calimshite sailor. Show some respect. ~ DO ~SetGlobal("c-angelo1aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Ha! This unwashed, whorin' drunkard thinks t' teach me a lesson in manners? ~ == BADANGEL ~[ANGELO] A gentleman can whore and drink, and be a gentleman still. That's the Sembian way. ~ == C-ARANB ~[ARAN] Well, th' Sembian way be a mite bit strange. But it don't rightly matter, on account o' I never did be no gentleman.~ == BADANGEL ~[ANGELO] How incisive. ~ EXIT /* SoA Banters: Aran<>Angelo : Using Drugs : by Sister V and cmorgan */ CHAIN IF ~Global("c-aran2angelo","GLOBAL",0) InParty("ADAngel") InMyArea("ADAngel") !StateCheck("ADAngel",CD_STATE_NOTVALID) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN C-ARANB c-aran2angelotalk ~[ARAN] Usin' again?~ DO ~SetGlobal("c-aran2angelo","GLOBAL",1)~ == BADANGEL ~[ANGELO] Aye, happen I am.~ == C-ARANB ~[ARAN] You are a blighted Cyric-buggerin' bastard.~ == BADANGEL ~[ANGELO] And worse.~ == C-ARANB ~[ARAN] It's goin' to kill you. An' probably me. Mayhap <PRO_HIMHER>, too.~ == BADANGEL ~[ANGELO] Aye.~ == C-ARANB ~[ARAN] Goin' to be able to quit forever?~ == BADANGEL ~[ANGELO] Nay.~ == C-ARANB ~[ARAN] ... ~ == BADANGEL ~[ANGELO] But I'm not using today.~ == C-ARANB ~[ARAN] Good.~ == BADANGEL ~[ANGELO] Who are you, my father?~ == C-ARANB ~[ARAN] Nope. But for all I know, you are mine, you soddin' philanderin' bugger.~ == BADANGEL ~[ANGELO] Cheers to that thought.~ EXIT /* SoA Banters: Angelo<>Aran : le soldat : by Sister V and cmorgan */ CHAIN IF ~Global("c-angelo2aran","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY])~ THEN BADANGEL c-angelo2arantalk ~[ANGELO] Aran? I wanted to say, I appreciate having a soldier at my back. ~ DO ~SetGlobal("c-angelo2aran","GLOBAL",1)~ == C-ARANB ~[ARAN] Flattery? What do you be wantin' o' me now? ~ == BADANGEL ~[ANGELO] Why, nothing but your company. Be <CHARNAME>'s other companion's ever-so-talented, nothing beats old-fashioned army discipline.~ == C-ARANB ~[ARAN] An' adventurin' company beats th' blighted hells out o' army life any day, as far as food an' coin go.~ == BADANGEL ~[ANGELO] Don't I know it. Let's have a drink to that, eh? ~ EXIT
  14. Celvan isn't an I_C_T or even a regular commentary, just a bit-player (well of *course* he is a bit-player; it is a computer game, after all) who has a chance of saying things about party members he really shouldn't know. He's fun, in a quick-check-a-couple-of-times-and-then-forget-he-exists kind of way. His standard code gives a 50% chance of playing a party member's info; example: Minsc CODE IF WEIGHT #1 /* Triggers after states #: 9 even though they appear after this state */ ~See("Minsc") InParty("Minsc") !StateCheck("Minsc",STATE_SLEEPING) RandomNum(2,1) Global("celvanminsc","AR0300",0)~ THEN BEGIN 0 // from: SAY ~"There once was a warrior true, with the sense knocked out of him, too. but in a hamster he found, some wisdom profound, and now where goes he goes his Boo!"~ /* #25448 */ IF ~~ THEN DO ~SetGlobal("TalkedToCelvan","LOCALS",1) SetGlobal("celvanminsc","AR0300",1)~ EXTERN ~MINSCJ~ 48 END Most modders seem to want their code to always play once, leaving out the RandomNum(2,1). I'm sticking to BioWare™ Standard, though - it is more fun to see all the possible reactions by playing the lottery with him. He'll even comment on PC. The format is limerick, the topics are things he shouldn't be able to know, and the poetic standards are lower than low. If you have wishes for masterpieces of Iambic Pentameter, this is definitely *not* the place for it! To add him in, CODE /* Crazy Celvan Encounter */ CHAIN IF WEIGHT #-1 ~InParty("c-aran") See("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("c-arancelvan","AR0300",0)~ THEN CELVAN c_celvanreaction ~"There once was a scribe, so I'm told, whose cooking was warm, jokes quite old. || whose cooking was warm, humor old. In combat a lion, in bed not half tryin', But never a word less than bold!"~ DO ~SetGlobal("c-arancelvan","AR0300",1)~ == C-ARANJ ~[ARAN] Helm's Heavy Hand, that lad knows more than be good for his health, eh? Mayhap listenin' at one too many keyholes.~ END CELVAN 1
  15. 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.
  16. Troubleshooting a Stutter or Constant PID (Player-Initiated-Dialog, or "Force Click") (If you are a player who just wants the troubleshooter and how to use it, skip to post #2!) The problem It happens. Your NPC looks nice, and installs fine. But suddenly, out of nowhere, he starts constantly coming up to the PC and trying to initiate conversation. Or he keeps bugging another NPC, over and over again, without actually saying anything, bogging down your game. Or he stops every few seconds, fidgets as if about to say something, and then moves on. Games slow down. Bleh. This is usually caused by a script block being triggered, but not being able to close. The ultimate "get the annoying stutter" would be to have a block that looks like this in your mod: IF InParty(Myself) THEN RESPONSE #100 StartDialogNoSet(Player1) END This block always fires if the dude running the script is in the party. And with no conditions, it runs every script cycle. So you get the ultimate Noober/Neeber character, and lots of hate mail. Your NPC starts initiating conversations with PC non-stop, for as long as his script is active, everywhere... the ultimate kid sister following you around, tugging on your sleeve every second or so. Common reasons that this might happen in your mod: Typos in timer or var. The block might be triggering on "my_variable" but then closing on "my_vraiable" Differences in variable scope. The block might be triggering on "myvar","LOCALS" and trying to close on "myvar","GLOBAL" Another mod interfering. Mod B may have come along and put something that changes either script or dialog or DV or something that results in your code not working as tested. Which can lead us to... Weighting. The block may be evaluating true, but can't resolve because the dialog or action that it is trying to launch is being blocked by another. A simple example in a dialog file, setting up for a script stutter: IF ~InParty("cmorgan")~ THEN BEGIN heya SAY ~[CMORGAN] I am conditioned broadly, so I will always evaluate true when the script tries to look for what it wants. I take priority each and every time, no matter how hard you try to clear me. Nothing that weights below me will ever be called by the script - I run instead.~ IF ~~ THEN EXIT END IF ~Global("myvar","GLOBAL",1)~ THEN BEGIN what_the_script_is_looking_for SAY ~[CMORGAN] I am conditioned narrowly, so I will only evaluate true when a very specific global is set. The script looking for me starts at the top of the dialog and works downwards until it finds me... unless it finds something else that is true, and fires it instead.~ IF ~~ THEN DO ~SetGlobal("myvar","GLOBAL",2)~ EXIT END In this configuration, if you wanted to turn the narrowly-conditioned block into a showstopper, just leave off the DO, and voila - that line, even though narrowly conditioned, just became an "always true" when the variable is set to 1. And anything downstream of it will never play. reminder - - scripts evaluate top to bottom, stopping when something evaluates true, and jumping back to the top again (unless you add Continue() ) - dialog files are called by scripts or the "hidden" scripts inside the engine, and evaluate top down... except when you set up WEIGHT that changes the evaluation order, making a talk rise to the top of the evaluation order (or lowering it, whichever you set - you can manipulate the thing to top or bottom of the stack of everything that has been installed before it. After that, other mods can do the same, but the newcomer can change things; you can't). - dialog TRANSITIONS are evaluated BOTTOM UP. So, while the state is evaluated from the top of the file down, once a state is called, the transitions are checked from the bottom card in the deck to the top one, and the first one is taken - or in the case of REPLY, every statement that returns true is displayed. The Challenge On your own install, this is a PITA to troubleshoot, but it is eminently do-able. You have full access to your own unique install, you have NI, DLTCEP, WeiDU, text editors, ways of searching all of your project at once for matching variables, and the knowledge of your own code. But. When it hits the field, all of this changes. Because every modded install is slightly different, you can't just grab a .bcs or .dlg file from a player experiencing a problem and decompile it yourself on your own install and have it help. You can do some of the investigation with tools like Vlasák's Variable Checker from The Black Wyrm's Lair, which features savegame compares, or manual comparisons with WeiDu and NI and DLTCEP - in this case, tools like CamDawg's Debugger is not as useful because we are not dealing with possible file corruption or problem areas/assignments, we are dealing strictly with script evaluation. In this day and age of BWP and BiG World installs, troubleshooting stutters and weighting issues and such becomes an impossible task, because it is 99% likely that even if you replicated the install as closely as possible, it would never get troubleshot, for a very simple reason - limited modding time, and huge amounts of time installing and uninstalling to replicate. Even more importantly, all of these tools have the disadvantage of working from a snapshot instead of real-time, on the actual install having the problem. So, either have a player .zip up between 2 and 5 GB of their entire game folder so you have their entire install and pay for the upload/download, troubleshooting on their actual game, or ... The Solution The Bigg came up with a reasonable way of checking to see what script block is firing but failing to resolve itself mod to find the problem. Berelinde adapted it and used it to troubleshoot Gavin. And now I have shamelessly copied and pasted and modified it to work with Aran. Basically, all it does is take whatever in-game .bcs files you point it to, and look for the RESPONSE section, number each one, and set up a DisplayStringHead() on PC. in the old days, we did this manulaly, which was horrible. It was even more horrible when it was just manually. Nothing like numbering and identifying each and every block and dialog, then having to go back and remove all that before giving it out... Now, through WeiDU-foo, you can have a user experiencing the problem go back to an earlier save, install a mod, run through to the problem, and report the number. Eventually, someone will whip up a good way of decompiling the resulting file and sending you the info in text, but for now, the safest thing to do is have the player read off which block of which .bcs is firing in the dialog window, and have them decompile and send you the problem file. Then have them uninstall the mod. Good news - it can go on the very end of the install with no problems! Here is the base code: BACKUP ~aran_troubleshoot/backup~ AUTHOR ~berelinde~ BEGIN ~Troubleshooting Aran's stutter with Shamelessly Re-Appropriated Code from Gavin~ COPY_EXISTING ~c-aran.bcs~ ~override~ // be sure to change the file names to point to the relevant ones ~c-arand.bcs~ ~override~ ~c-ar01.bcs~ ~override~ ~baldur.bcs~ ~override~ // use either baldur.bcs or baldur25.bcs whether you're in SoA or in ToB. ~player1d.bcs~ ~override~ ~c-arn25.bcs~ ~override~ ~c-arn25d.bcs~ ~override~ SET x = 0 - 1 DECOMPILE_BCS_TO_BAF REPLACE_EVALUATE ~\(RESPONSE #[0-9]+\)~ BEGIN x += 1 END "\1 ActionOverride(Player1,DisplayString(Myself,~Running block %x% of %SOURCE_RES%.BCS~))" COMPILE_BAF_TO_BCS So, to copy it and use it yourself, you just need to identify what scripts you touch and swap them in the .tp2.
  17. Learning from Players Still working on the release of Beta 1, but some intrepid souls are using GitHub to create their own Beta based on the materials posted there (and I am very grateful for it, because it means I have focused cleanup. I like that!!) So, a late-afternoon-when-I-get-home-fix-this-first list; Real World Glitches, from PM (adult stuff temporarily removed, but paid attention to!!) piperb's list Pending After the talk about fallin' in love. The PID kept coming up every few seconds. I had to cut off the game, so that's as far as I got. TO INVESTIGATE FURTHER: Heh. Yup. The not-but-should-be-enabled ones. Bleh. IF ~Global("c-aranfriendbg2","GLOBAL",23)~ THEN BEGIN a396 SAY ~[ARAN] Hey, I been thinkin'.~ [c-aws096] DO ~SetGlobal("c-aranfriendbg2","GLOBAL",24) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1918 IF ~Global("c-aranfriendbg2","GLOBAL",25)~ THEN BEGIN a426 Var is closing - not sure why it would be looping instead of playing. Need to recheck. Chances are the trigger to fire is not set up correctly because I commented out too many lines in the .tp2 Still looking. It could be that flirt weighting issue. REPEATED AFTER UPDATE -After the talk about fallin in love. The PID kept coming up every few seconds - same as before. TO DO: Hmmm. Not sure. Time for the Secret Weapon, Berelinde's use of The Bigg's stutter check mod. I'll attach the Aran version here, but first I want to try it in my game and see if we can get a comparison going. -If Aran is so opposed to slavery, shouldn't he have some comments during the Slaver Quest? If he does, then they didn't appear in game. And maybe the pleasure slave in the circus tent as well. TO DO: Revisit Slaver Quest, pleasure slave - check all slaver interjections are firing. Installed the 15 min timers, same PC as before and the party was Minsc, Yoshimo, Aran and Anomen. Banters didn't show up in this game either. But, interjections did. TO DO: Need to test under Ctr-I to see if it is bad luck, or if something odd is happening. Rechecking triggers again - perhaps CombatCounter(0) is failing, and I need !ActuallyinCombat(), though that is not standard at all? - the files appear to be correct in syntax, and CLUA'ing in party members on my install seems to work. This one needs some careful re-inspection to see what I have set up that might be blocking them from firing. Recheck banter triggers; Aran only talked with PC. Taken off the shelf beacuse it is repeated behavior: banter triggers on a clean install seem to be working on my copy. Recheck project files, and look for bug reports in other mod's forums for ideas on what might be happening. -Aran: I am goin' to ask H. C. for assistance, an' hope She influences you a mite, eh? (I abbreviated, but I don't think the S in she should be capitalized.) TO DO: Choose and stick to a single interpretation of god's names - Sune's a goddess. I think She || Sune's a goddess. I think she || Sune's a Goddess. I think She -Aran: I have no problems wi' tellin' you. I be scribin'... (If you don't want an out here in the PC responses, maybe go to the main point of the talk. As it stands, you have the player answering his question more than once and the talk seems a bit repetitious.) Example later in the same talk - Aran: Well, you might not know this, but all that scroll prep...So, about that purchase. (Choosing the afirmative PC response when this talk first starts and a few clicks later, you're still answering his question.) TO DO: Recheck, rewrite - possibly two talks here slammed into one, and thus clickfest. -The talk about cooking dinner sounds like it should show up outdoors. Again, odd when it appears in the sewers or somewhere like that. TO DO: Recheck - probably time to break my unwritten rule of "straight talk sequence, no fancy stuf, and make the ones with special conditions not pat of the sequence". Or, simply remove this talk and make it a fire-under-special-circumstances one. A couple of his battle cries has a scratching sound at the start of them. TO DO: Recheck sound files and readjust fade-in with Audacity. Recheck song files for audio volume. Aran's line: I know there be some disadvantages to bein' the offspring o' a dead god... How did he know this if the PC has not told him. Did he hear it from others or what? TO DO: 15 min. timer means some of the talks are going to fire before regular game pace - need to add chapter check, modify, or rework in sequence. partially addressed -Flirt where PC can go thru Aran's belongings. Does writing no secrets on the parchment ever lead to anything or change the flirt in any way? If not, would you consider adding to this flirt? TO DO: Recheck, follow-up Done: There is a PID line that is supposed to run, and later on a talk that triggers from this action where Aran confronts PC about it. I need to check to make sure that it made it in to the Beta, and that it triggers... Also adding a response like; "Sure, why do you ask?" Or response without the insulting meat-shield comment for good PCs would be nice. TO DO: Begin list of blocks where there are no real "neutral" responses, or where percieved neutral responses end up sending PC on pathways that are unintended. Add pathways. done: Repaired this instance with CODE ++ ~[PC] You might be right.~ + a70 PID adult content is available from the get go - doesn't match talk progression. Example: Aran's line: Riddle me this, you ever think about sparkin? Courtin? Seems odd if they were already getting VERY touchy-feely thru the PID and no response acknowledges that in the talks. TO DO: Institute c-aransex and c-aranintimate dependency on lines like this, so + ~GlobalLT("c-aransex","GLOBAL",2)~ + ~Riddle me this, you ever think about sparkin? Courtin?~ + ~GlobalGT("c-aransex","GLOBAL",1)~ + ~Riddle me this. We been sparkin' a mite bit already. But you ever think o' doin' some more serious courtin'?~ or perhaps use the flirt counter in several sections. [done: partial fix. PID Adult content is temporarily restricted to c-aranrom=2, while replacement pathways are written for the players who want to try for a one-night stand right out of the gate.] [done: partial fix for this particular talk, all instances of entry to the two relevant states, sample code here: + ~GlobalLT("c-aranflirt","GLOBAL",12)~ + ~[PC] A quiet, warm, calm place, a good book, and something nice to drink.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",8) RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)~ + a579 + ~GlobalGT("c-aranflirt","GLOBAL",11)~ + ~[PC] A quiet, warm, calm place, a good book, and something nice to drink.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",8) RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)~ + a579_flirt + ~GlobalLT("c-aranflirt","GLOBAL",12)~ + ~[PC] Oh, you know, the usual. Wine, song, feasts, a little more wine...~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",8) RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)~ + a580 + ~GlobalGT("c-aranflirt","GLOBAL",11)~ + ~[PC] Oh, you know, the usual. Wine, song, feasts, a little more wine...~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",8) RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)~ + a580_flirt addressed Talk about hiring more swords with the PC response questioning if he wants the competition seemed odd at this point. If you leave the 15min timer option in and no flirting or anything close to it occurs. Why would that be an issue? done: built a more standard response and var'd the original to show up only if PC and Aran have gotten to holding hands (c-aransex=1) Talk: So what was it like growin up in a place where books ruled all? This talk showed up for a second time, right after it completed the first time. Done: two pathways were not given closure. Added! In the PID, the option is available to stop the flirts, which will be a good thing for some players. But, it has the PC asking him to stop flirting with her when no flirts have appeared yet. Done:added GlobalGT("c-aranpcflirtstart","GLOBAL",0) as an enabling trigger, so that option to stop things does not appear beforehand (c.f. Anomen Conflict, etc.) Aran's line: I be man enough. Just not sure where the rules an' regulations...you bein' you an' all... What's the you bein' you stuff supposed to mean anyway? PC response: But you are treading dangerous ground here. (...treading on dangerous ground... might sound better) Done: Agreed both counts - "you bein' you an' all" is too ambiguous, and unneeded. Treading on dangerous ground. Erika, Orrin, etc. dlgs have been appearing continuously in the text window on every map since I left that area. Done: Add to scripts in C-AR01.BCS so that the dialog doesn't magically follow the PC across all of Toril. Tested in-game with "Duplicate Floating Text=1" enabled in baldur.ini Also, once Anomen is added, the option appears in the PID telling Aran to stop fighting with Anomen. They haven't spoken to one another and Ano's first LT hasn't fired yet. Maybe reword this until their conflict actually starts or variable this option out until it starts. Done: block response until there is an active Anomen conflict CODE /* PID Anomen Romance Conflict Toggle */ + ~InParty("Anomen") OR(10) GlobalGT("c-aanocon120","GLOBAL",0) GlobalGT("c-aanocon121","GLOBAL",0) GlobalGT("c-aanocon158","GLOBAL",0) GlobalGT("c-aanocon194","GLOBAL",0) GlobalGT("c-aanocon212","GLOBAL",0) GlobalGT("c-aanocon224","GLOBAL",0) GlobalGT("c-aanocon232","GLOBAL",0) GlobalGT("c-aanocon287","GLOBAL",0) GlobalGT("c-anomenaran","GLOBAL",0) GlobalGT("c-arananomen","GLOBAL",0) Global("c-aanoconflict","GLOBAL",0)~ + ~[PC] I like Anomen well enough, Aran. But you keep fighting with him. I want you to stop doing that.~ + a3029 /* c-aranvsanom1s */ -Aran: Were kisses enough for you?... PC: I don't...look, I think this lots of fun... (Seems to be a word missing, maybe "think this is lots of fun." or "think this was lots of fun.") Done: Agreed - Repaired 16 instances to "I think this is lots of fun" -Aran: You haven't thought there might be somethin' to havin' someone take care o' you? (You might want to look at the PC responses here. Some of them elude to *Ahem* happening already. But what if that has not happened between them yet?) Done: Repaired and extended pathways; CODE IF ~~ a667 SAY ~[ARAN] You haven't thought there might be somethin' to havin' someone take care o' you?~ ++ ~[PC] I take what I want from whom I want, when I want, Aran. Why would I need one special person dedicated to what everyone can provide?~ + a677 + ~GlobalGT("c-aransex","GLOBAL",2)~ + ~[PC] I like you, Aran. And your friendship comes with certain... benefits. But I am in love with another person. Does that mean you will stop being my special friend?~ + a677 + ~OR(2) Global("c-aransex","GLOBAL",2) Global("c-aransex","GLOBAL",1)~ + ~[PC] I like you, Aran. And your friendship is special to me. I know you want more than a few kisses and flirtations, but I am in love with another person. Does that mean you will stop being my special friend?~ + a677 + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] I like you, Aran. And your friendship is special to me. I know you want more than... I know you want a physical relationship that I am not ready to provide. Does that mean you will stop pursuing me?~ + a677 ++ ~[PC] I like you, Aran. But I am confused. I am not sure I know what I really want. Perhaps we should not be having this discussion.~ + a677 ++ ~[PC] I... I think about it. But I am not really worth all that attention.~ DO ~IncrementGlobal("c-arpclowimage","LOCALS",1)~ + a672 ++ ~[PC] I can usually look out for myself. Besides, there is something to be said for being able to look out for someone else, you know. Perhaps I want to protect and defend a certain person, instead of them protecting me.~ DO ~SetGlobal("c-aranrom","GLOBAL",2)~ + a668 ++ ~[PC] I can take care of myself. I just allow you to make yourself feel useful. Did you have anything else you wanted to discuss?~ + a668 ++ ~[PC] Of course I think about it.~ + a668 END -Aran: (flushes burgundy) Aye, then. Didn't mean to... (Shouldn't the F in flushes be capitalized here?) Done: Capitalize, capitolize, corporealize, etc -Aran: (There are no words, no gestures...old dance. Hopefully that is enough so you know which line I am referring to. It's missing a parenthesis at the end. If not, I'll send this to you with the other M stuff by PM later. Done: closure of Closure in mature content. Apparently, I like that line, because I found 6 different variants of the same phraseology. Perhaps I need a more active imagination! -Orrin: I do have a lad... (A PC response like "Yes, thank you." or something along those lines to cover NG or LG.) Done: Repaired and expanded two instances (only one reachable right now as Teldra is not activated yet): sample code CODE IF ~~ a2480 SAY ~[C-AW01TK] I do have a lad who needs some work, if you are hiring. He is a bit rough around the edges, but he means well. Here, take one of his advertisements.~ ++ ~[PC] Thank you.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2482 ++ ~[PC] I'll take a look at it later. Why are you helping him out?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2482 ++ ~[PC] Actually, I am not interested right now. I wish to see your selection of services.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2472 + ~OR(2) PartyGoldGT(3000) Global("c-awtavkquest","C-AR01",2)~ + ~[PC] Sure, sure... but I am more interested in what you can do for me. Rumor has it that a wealthy, well connected person might peruse some of the more... interesting wares?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2473 + ~GlobalLT("c-awtavkquest","C-AR01",2) PartyGoldLT(3001)~ + ~[PC] Sure, sure... but I am more interested in what you can do for me. Rumor has it that a wealthy, well connected person might peruse some of the more... interesting wares?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2443 + ~Global("c-pctavern","C-AR01",0)~ + ~[PC] You seem a little stiff. Do you say the same thing to every customer?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2456 + ~Global("c-pctavern","C-AR01",1)~ + ~[PC] You seem to have a wide variety of people here. Is that man over there really a Mindulgulph?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2457 + ~Global("c-pctavern","C-AR01",2)~ + ~[PC] Perhaps you can lighten up a little, and give out a few complimentary drinks.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2458 + ~Global("c-pctavern","C-AR01",3)~ + ~[PC] So, what is the deal with you and Teldra? Are you two... you know?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2459 + ~Global("c-pctavern","C-AR01",4)~ + ~[PC] I have heard a rumor that you used to be an adventurer yourself.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2460 + ~Global("c-pctavern","C-AR01",5)~ + ~[PC] Is Erika attached? She seems to be unreceptive to flirting.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2461 + ~Global("c-pctavern","C-AR01",6)~ + ~[PC] How are things going around here?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2462 + ~GlobalGT("c-pctavern","C-AR01",6)~ + ~[PC] How is life?~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2463 + ~RandomNum(5,1)~ + ~[PC] I think I am done here.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2474 + ~RandomNum(5,2)~ + ~[PC] I think I am done here.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2475 + ~RandomNum(5,3)~ + ~[PC] I think I am done here.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2476 + ~RandomNum(5,4)~ + ~[PC] I think I am done here.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2477 + ~RandomNum(5,5)~ + ~[PC] I think I am done here.~ DO ~GiveItemCreate("c-alttr1",Player1,0,0,0) SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2478 ++ ~[PC] No need for the broadside. I do not want the thing weighing down my pack. But you could tell me where to find him.~ DO ~SetGlobal("c-orrinbroadside","C-AR01",1)~ + a2483 END -Aran: Aye, well, I do like th' game...lady in question prefers ladies. (For those who fall under this preference, they might like having the option of telling him so here.) Done: additional lines mapped in, with downstream states expanded to accomodate a more timid, shy, or unsure PC. I think there will be more of these... -One of the talks starts out with Aran looking "along the horizon". A bit odd when it pops up in the sewers, as it did in this game. Done: a665, line rewrite: SAY ~[ARAN] (Aran looks carefully at his hands, then glances at you.)~ Typos: This is not exactly an ordinary company, is it. , > ? repaired to ~[ARAN] Now, this don't rightly be an ordinary Company, eh?~ Sune's Rambunctious Rump,, I... (Only needs one comma) CODE F:\TEST1\aranw\dialog\c-arandialog.d (3 hits) Line 9247: SAY ~[ARAN] Sune's Rambunctious Rump, <PRO_BOYGIRL>, I wish I did. I should have been studyin' strategy instead o' tactics. Next time we see a LoreKeeper, I think I will have a mite o' a word on what tomes to study. Tactics you can learn piecemeal, but strategy, that be a tougher game.~ Search ",," (0 hits in 0 files) Malformed token. Should be <PRO_GIRLBOY>. 24 occurrences across project repaired! Adult content specific suggestions withheld but logged; some additions, an abrupt cutoff. More global commentary to keep in mind: "even a lady that is a little rough around the edges likes a bit of tenderness from time to time from her would-be significant other." (And thank you to the bug-reporter - I'll post usernames if you don't mind, but you have to tell me it is ok to! )
  18. 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.
  19. 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.
  20. Some minor delays in getting the forums set up and figured out, so here is some new ToB content that will be integrated with the Beta before it goes out (As always, commentary, proofing, and suggestions welcome): /* ToB Banters: Nalia > Aran */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob8b","GLOBAL",0) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID)~ THEN BNALIA25 c-arantob8b ~[NALIA] Aran, I do think that you are beginning to grow up.~ DO ~SetGlobal("c-arntob8b","GLOBAL",1)~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Now, what in Sune's Blessed Sweetness would cause you to say somethin' so mean?~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] You seeme to have stopped trying to stare at my bottom when you think I am not looking.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] That's not growin' up. That's just realizin' that you have spells what can disintegrate me. Call it 'enlightened self interest.'~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Still, that is more thinking than the old Aran would do.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Fair enough. By th' way, you done got a little spot o' somethin' on th' left o' your derriere. I'd have said somethin', but that self-preservation thing made me a mite bit reticent, eh?~ EXIT CODE /* ToB Banters: Aran > Nalia */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob24b","GLOBAL",0) InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob24b ~[ARAN] Whoa, there, Nalia... easy on th' fierce gestures! I'd prefer to keep my head all in one piece, not be missin' half my face on account o' you be pissed off a bit, eh?~ DO ~SetGlobal("c-arntob24b","GLOBAL",1)~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] I am not angry, just frustrated.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Anger, frustration, a little bit miffed, well... when I be on th' receivin' end o' any o' those, an' th' giver be an archmage what can wipe me out wi' a few words an' a quick gesture... it all seems th' same to me.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Oh, I was not frustrated with you. It just seems that no matter how powerful I become, the less I am able to make meaningful change.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'd say disitigratin', wiltin' an' generally obliteratin' your opponents counts as makin' a blighted meanin'ful change, at least to them.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] I mean changes that make more of a difference than a few enemies here and there. The Council of Six, The Cowled Wizards, my own lands... all of them cry out for change. Any one of them could take a lifetime of commitment to adjust the inequites.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Hells, you be talkin' about social change. That takes a mite bit more than a single lifetime, I'd say. Only one answer. Kill 'em all an' set yourself up in charge, an' change everythin' all at once.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Aran! How can you even think that!~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) InParty("Sarevok")~ THEN ~[ARAN] I'm only jokin', m'girl. Ask that bastard Sarevok how that kind o' thinkin' works out. I bet you he'd tell you it takes a lifetime just to keep power when you rise that way. You don't have time to change things much, on account o' you are always fightin' just to stay in power.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Whenever some blighted fool gets th' idea that you can make long-term change that way, th' mercenary life gets a bit more lucrative. Violent an' bloody social revolution, it do be a great equalizer, though.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] I do not see how. The cost in lives and resources, the constant cycle of destruction, none of that stops the pain of the common folk.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Aye. But noble, common, rich, poor, pretty, ugly... dead be dead. Can't rightly get more equal that that, eh?~ EXIT CODE /* ToB Banters: Aran > Sarevok */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntob32b","GLOBAL",0) InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID) InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN C-ARN25B c-arantob32b ~[ARAN] I don't rightly trust you, you know.~ DO ~SetGlobal("c-arntob32b","GLOBAL",1)~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] Then you have studied better than I thought. All war is based deception. Trust is a weakness.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] So you do be plannin' to betray <PRO_HIMHER> when th' time be right.~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] No.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Why not? You have done far worse in th' past, an' you hold no contract sacred.~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] I cannot.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] You can't rightly betray <PRO_HIMHER>, or you choose not to?~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] Both.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I don't rightly understand.~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] That is not my problem, sellsword. Come to me when you have tasted the glories of unadulterated strength, when you have fools who follow you to their destruction regardless of cost to themselves, when you have ultimate power just within your reach...~ == BSAREV25 IF ~InParty("Sarevok") InMyArea("Sarevok") !StateCheck("Sarevok",CD_STATE_NOTVALID)~ THEN ~[sAREVOK] ...and it has been torn from your grasp and from your very soul. Only then will you understand. I will not betray my <PRO_BROTHERSISTER>. My time has passed. <PRO_HISHER>s is rising.~ EXIT /* Only one of these fire per game, dependent on the NPC being in the party; closed by Global("c-arntobtellher","GLOBAL" */ /* An attempt to be a little more realistic for folks two-timing between Aran and another. Xan is left out of this mix right now because I need to research more on the pathway vars and have it make sense. */ /* God help multi-romancers in ToB, though... */ CODE /* ToB Banters: Aran > Most Folks : Tell Her */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntobtellher","GLOBAL",0) InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID) !Global("C#AjantisPCMarriage","GLOBAL",1) !Global("ADAngelMarried","GLOBAL",1) OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2) OR(13) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2) Global("B!GavRA","GLOBAL",2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2) Global("J#KelseyRomanceActive","GLOBAL",2) Global("TsujathaRomanceActive","GLOBAL",2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2) Global("ADAngelRomanceActive","GLOBAL",2) GlobalGT("SolaTalk","GLOBAL",14) THEN C-ARN25B c-arantob33b1 ~[ARAN] Blighted hells. No accountin' for taste, I suppose, but Sune herself must o' cursed me right proper.~ DO ~SetGlobal("c-arntobtellher","GLOBAL",1)~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] Tell her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What?~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] Tell her how you feel.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Now, what do you be goin' on about, Aerie? Never did here you dole out advice so freely. Complaints, yes. Advice, no.~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] It is obvious you love her. And it hurts you to see her with him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Blighted hells, keep your voice down! She might hear you!~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] Why don't you just tell her how much you care?~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no extra-planar bard wi' beautiful speech an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("ADAngelRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no world-travellin' kara-turan wi' interestin' stories an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He be power, hunger, an' strength, tied right proper to her soul. I have naught to compete against that.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("J#KelseyRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Th' boy loves her right proper, an' she seems happy enough. Soon enough she will be tellin' me to keep away an' 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("TsujathaRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Necromantic extra-planar elf versus th' poor sod what sells his sword an' can barely speak two blighted words wi' out bringin' a god or two into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("B!GavRA","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a clumsy bastard, an' gods knows he comes wi' a bit o' baggage wi' Lanie an' all, but th' boy makes her right happy. An' he be a good friend.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I don't rightly see what she sees in that pompous self-centered bastard, but he can offer her much more than I can. An' she seems to be willin' to let him be close.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a self-centered prissy evil bastard, but he be a Red Wizard. Power, refinement, sophistication. Everythin' I'm not.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. A blihted knight, versus a sellsword what has naught to offer. Hells, I can't even sit at th' same table as Ajantis. I'd be out wi' th' other common rabble, not sittin' in a Greathall.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) GlobalGT("SolaTalk","GLOBAL",14)~ THEN ~[ARAN] Look at me. An' then look at him. I know she sees more in him than in me. I look at him, an' I see naught but an enemy. She looks at him, an' she sees somethin' that lets him get close. Soon enough, she will tell me to 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'll take whatever time she gives me, an' be glad enough for that.~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] You sound like me. Like I used to sound. I thought I was the one who wallowed in self-pity. ~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Not self-pity, just cold hard facts.~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] I thought you once told me that the exterior didn't matter, and my inner strength was what made me interesting.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] If I did, I was bein' a poncy idiot what wanted to bed you.~ == BAERIE25 IF ~InParty("Aerie") InMyArea("Aerie") !StateCheck("Aerie",CD_STATE_NOTVALID)~ THEN ~[AERIE] I... I know you better than that, Aran. I think you are running away. Just tell her.~ END CODE /* ToB Banters: Aran > Most Folks : Tell Her */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntobtellher","GLOBAL",0) InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID) !Global("C#AjantisPCMarriage","GLOBAL",1) !Global("ADAngelMarried","GLOBAL",1) OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2) OR(13) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2) Global("B!GavRA","GLOBAL",2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2) Global("J#KelseyRomanceActive","GLOBAL",2) Global("TsujathaRomanceActive","GLOBAL",2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2) Global("ADAngelRomanceActive","GLOBAL",2) GlobalGT("SolaTalk","GLOBAL",14) THEN C-ARN25B c-arantob33b2 ~[ARAN] Blighted hells. No accountin' for taste, I suppose, but Sune herself must o' cursed me right proper.~ DO ~SetGlobal("c-arntobtellher","GLOBAL",1)~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] Tell her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What?~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] Tell her how you feel.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Here it comes. Mother Jaheira, First Prime o' th' Busybody an' Unwanted Meddlin' Guild. Paid your dues yet this year?~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] It is obvious you love her. And it hurts you to see her with him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Blighted hells, keep your voice down! She might hear you!~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] Why don't you just tell her how much you care?~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no extra-planar bard wi' beautiful speech an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("ADAngelRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no world-travellin' kara-turan wi' interestin' stories an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He be power, hunger, an' strength, tied right proper to her soul. I have naught to compete against that.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("J#KelseyRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Th' boy loves her right proper, an' she seems happy enough. Soon enough she will be tellin' me to keep away an' 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("TsujathaRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Necromantic extra-planar elf versus th' poor sod what sells his sword an' can barely speak two blighted words wi' out bringin' a god or two into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("B!GavRA","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a clumsy bastard, an' gods knows he comes wi' a bit o' baggage wi' Lanie an' all, but th' boy makes her right happy. An' he be a good friend.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I don't rightly see what she sees in that pompous self-centered bastard, but he can offer her much more than I can. An' she seems to be willin' to let him be close.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a self-centered prissy evil bastard, but he be a Red Wizard. Power, refinement, sophistication. Everythin' I'm not.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. A blihted knight, versus a sellsword what has naught to offer. Hells, I can't even sit at th' same table as Ajantis. I'd be out wi' th' other common rabble, not sittin' in a Greathall.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) GlobalGT("SolaTalk","GLOBAL",14)~ THEN ~[ARAN] Look at me. An' then look at him. I know she sees more in him than in me. I look at him, an' I see naught but an enemy. She looks at him, an' she sees somethin' that lets him get close. Soon enough, she will tell me to 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'll take whatever time she gives me, an' be glad enough for that.~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] Khalid used to think that way about himself. He once said he never understood why I chose him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Why did you?~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] I almost didn't.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What sealed th' deal?~ == BJAHEI25 IF ~InParty("Jaheira") InMyArea("Jaheira") !StateCheck("Jaheira",CD_STATE_NOTVALID)~ THEN ~[JAHEIRA] He let me know he loved me.~ END CODE /* ToB Banters: Aran > Most Folks : Tell Her */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntobtellher","GLOBAL",0) InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID) !Global("C#AjantisPCMarriage","GLOBAL",1) !Global("ADAngelMarried","GLOBAL",1) OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2) OR(13) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2) Global("B!GavRA","GLOBAL",2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2) Global("J#KelseyRomanceActive","GLOBAL",2) Global("TsujathaRomanceActive","GLOBAL",2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2) Global("ADAngelRomanceActive","GLOBAL",2) GlobalGT("SolaTalk","GLOBAL",14) THEN C-ARN25B c-arantob33b3 ~[ARAN] Blighted hells. No accountin' for taste, I suppose, but Sune herself must o' cursed me right proper.~ DO ~SetGlobal("c-arntobtellher","GLOBAL",1)~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Tell her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What?~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Tell her how you feel.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Look, Nalia, you be a right fine lookin' woman. If things were a mite bit different, I'd be chasin' you right proper. But you be a mite bit naiive in th' love department, all arranged-marriage an' such. No offense, but you don't blighted know naught.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] It is obvious you love her. And it hurts you to see her with him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Blighted hells, keep your voice down! She might hear you!~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] Why don't you just tell her how much you care?~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no extra-planar bard wi' beautiful speech an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("ADAngelRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no world-travellin' kara-turan wi' interestin' stories an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He be power, hunger, an' strength, tied right proper to her soul. I have naught to compete against that.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("J#KelseyRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Th' boy loves her right proper, an' she seems happy enough. Soon enough she will be tellin' me to keep away an' 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("TsujathaRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Necromantic extra-planar elf versus th' poor sod what sells his sword an' can barely speak two blighted words wi' out bringin' a god or two into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("B!GavRA","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a clumsy bastard, an' gods knows he comes wi' a bit o' baggage wi' Lanie an' all, but th' boy makes her right happy. An' he be a good friend.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I don't rightly see what she sees in that pompous self-centered bastard, but he can offer her much more than I can. An' she seems to be willin' to let him be close.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a self-centered prissy evil bastard, but he be a Red Wizard. Power, refinement, sophistication. Everythin' I'm not.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. A blihted knight, versus a sellsword what has naught to offer. Hells, I can't even sit at th' same table as Ajantis. I'd be out wi' th' other common rabble, not sittin' in a Greathall.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) GlobalGT("SolaTalk","GLOBAL",14)~ THEN ~[ARAN] Look at me. An' then look at him. I know she sees more in him than in me. I look at him, an' I see naught but an enemy. She looks at him, an' she sees somethin' that lets him get close. Soon enough, she will tell me to 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'll take whatever time she gives me, an' be glad enough for that.~ === BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] It is true that you are coarse, crude, dirty-minded, usually dirty-handed, and rude.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] You could have thrown in ugly an' lowclass, you know. I think you missed a couple o' opportunities to kick me while I was down, there.~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] On the other hand, you love her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What difference does that make?~ == BNALIA25 IF ~InParty("Nalia") InMyArea("Nalia") !StateCheck("Nalia",CD_STATE_NOTVALID)~ THEN ~[NALIA] It makes all the difference in the world. Trust me.~ END CODE /* ToB Banters: Aran > Most Folks : Tell Her */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntobtellher","GLOBAL",0) InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID) !Global("C#AjantisPCMarriage","GLOBAL",1) !Global("ADAngelMarried","GLOBAL",1) OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2) OR(13) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2) Global("B!GavRA","GLOBAL",2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2) Global("J#KelseyRomanceActive","GLOBAL",2) Global("TsujathaRomanceActive","GLOBAL",2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2) Global("ADAngelRomanceActive","GLOBAL",2) GlobalGT("SolaTalk","GLOBAL",14) THEN C-ARN25B c-arantob33b4 ~[ARAN] Blighted hells. No accountin' for taste, I suppose, but Sune herself must o' cursed me right proper.~ DO ~SetGlobal("c-arntobtellher","GLOBAL",1)~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] Tell her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What?~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] Tell her how you feel.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Look, Mazzy, you be a right fine friend. But you see things a bit black an' white, all or naught. This be more complicated than that.~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] It is obvious you love her. And it hurts you to see her with him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Blighted hells, keep your voice down! She might hear you!~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] Why don't you just tell her how much you care?~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no extra-planar bard wi' beautiful speech an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("ADAngelRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no world-travellin' kara-turan wi' interestin' stories an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He be power, hunger, an' strength, tied right proper to her soul. I have naught to compete against that.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("J#KelseyRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Th' boy loves her right proper, an' she seems happy enough. Soon enough she will be tellin' me to keep away an' 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("TsujathaRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Necromantic extra-planar elf versus th' poor sod what sells his sword an' can barely speak two blighted words wi' out bringin' a god or two into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("B!GavRA","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a clumsy bastard, an' gods knows he comes wi' a bit o' baggage wi' Lanie an' all, but th' boy makes her right happy. An' he be a good friend.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I don't rightly see what she sees in that pompous self-centered bastard, but he can offer her much more than I can. An' she seems to be willin' to let him be close.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a self-centered prissy evil bastard, but he be a Red Wizard. Power, refinement, sophistication. Everythin' I'm not.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. A blihted knight, versus a sellsword what has naught to offer. Hells, I can't even sit at th' same table as Ajantis. I'd be out wi' th' other common rabble, not sittin' in a Greathall.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) GlobalGT("SolaTalk","GLOBAL",14)~ THEN ~[ARAN] Look at me. An' then look at him. I know she sees more in him than in me. I look at him, an' I see naught but an enemy. She looks at him, an' she sees somethin' that lets him get close. Soon enough, she will tell me to 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'll take whatever time she gives me, an' be glad enough for that.~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] I know that Avoreen does not always let us have exactly what we want. But She seeks to give us what we need.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] An' you think I am a better fit for what be needed?~ == BMAZZY25 IF ~InParty("Mazzy") InMyArea("Mazzy") !StateCheck("Mazzy",CD_STATE_NOTVALID)~ THEN ~[MAZZY] I do not know. But I know that there are seldom second chances. If I had another chance, I would tell Patrick how I felt. I would tell him every day.~ END CODE /* ToB Banters: Aran > Most Folks : Tell Her */ CHAIN IF ~CombatCounter(0) !Detect([ENEMY]) Global("c-arntobtellher","GLOBAL",0) InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID) !Global("C#AjantisPCMarriage","GLOBAL",1) !Global("ADAngelMarried","GLOBAL",1) OR(2) Global("c-aranrom","GLOBAL",1) Global("c-aranrom","GLOBAL",2) OR(13) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2) Global("B!GavRA","GLOBAL",2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2) Global("J#KelseyRomanceActive","GLOBAL",2) Global("TsujathaRomanceActive","GLOBAL",2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2) Global("ADAngelRomanceActive","GLOBAL",2) GlobalGT("SolaTalk","GLOBAL",14) THEN C-ARN25B c-arantob33b5 ~[ARAN] Blighted hells. No accountin' for taste, I suppose, but Sune herself must o' cursed me right proper.~ DO ~SetGlobal("c-arntobtellher","GLOBAL",1)~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] Tell her.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] What?~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] Tell her how you feel.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I can't rightly do that.~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] It is obvious you love her. And it hurts you to see her with him.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] Blighted.. Keldorn, keep your voice down. She might hear you.~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] You have the strength, and you have the power. You lack the will. Just tell her how much you care.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS_HaerDalisRomance","GLOBAL",1) Global("LS_HaerDalisRomance","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no extra-planar bard wi' beautiful speech an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("ADAngelRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I be no world-travellin' kara-turan wi' interestin' stories an' soft words. Hells, I can't even rightly say naught wi' out bringin one or more gods into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("LS#SarevokRomanceActive","GLOBAL",1) Global("LS#SarevokRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He be power, hunger, an' strength, tied right proper to her soul. I have naught to compete against that.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("J#KelseyRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Th' boy loves her right proper, an' she seems happy enough. Soon enough she will be tellin' me to keep away an' 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("TsujathaRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. Necromantic extra-planar elf versus th' poor sod what sells his sword an' can barely speak two blighted words wi' out bringin' a god or two into th' conversation.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("B!GavRA","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a clumsy bastard, an' gods knows he comes wi' a bit o' baggage wi' Lanie an' all, but th' boy makes her right happy. An' he be a good friend.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("AnomenRomanceActive","GLOBAL",1) Global("AnomenRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. I don't rightly see what she sees in that pompous self-centered bastard, but he can offer her much more than I can. An' she seems to be willin' to let him be close.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) OR(2) Global("EdwinRomanceActive", "GLOBAL", 1) Global("EdwinRomanceActive", "GLOBAL", 2)~ THEN ~[ARAN] Look at me. An' then look at him. He may be a self-centered prissy evil bastard, but he be a Red Wizard. Power, refinement, sophistication. Everythin' I'm not.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("C#AjantisRomanceActive","GLOBAL",2)~ THEN ~[ARAN] Look at me. An' then look at him. A blihted knight, versus a sellsword what has naught to offer. Hells, I can't even sit at th' same table as Ajantis. I'd be out wi' th' other common rabble, not sittin' in a Greathall.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) GlobalGT("SolaTalk","GLOBAL",14)~ THEN ~[ARAN] Look at me. An' then look at him. I know she sees more in him than in me. I look at him, an' I see naught but an enemy. She looks at him, an' she sees somethin' that lets him get close. Soon enough, she will tell me to 'just be friends'.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I'll take whatever time she gives me, an' be glad enough for that.~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] I have never seen you flinch from a battle, or hide from a true challenge. If it is in your heart, then the way forward is to let her know your feelings.~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I... ~ == C-ARN25B IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN ~[ARAN] I hear you. I don't rightly believe love be truly a war. Somehow, it seems much bloodier, an' a hells o' a lot more painful.~ == BKELDO25 IF ~InParty("Keldorn") InMyArea("Keldorn") !StateCheck("Keldorn",CD_STATE_NOTVALID)~ THEN ~[KELDORN] I believe that is the truest thing I have ever heard you say.~ END err.... need to add vars for Keldorn Romance...
  21. Useful Variables to Troubleshoot Not all of them, just a select few that are good places to start if something goes hinkey. General Interaction Variables To Watch Way too many and too specialized, but here are some that are possible hiccups (show up in more than a few places). "c-aranfriendbg2","GLOBAL" tracks Friend Talks outside of UnderDark "c-aranfriendud","GLOBAL" tracks Friend Talks inside Underdark "c-aranfriendtob","GLOBAL" tracks Friend Talks in ToB These two are set up for the many small "scenery" one-liners or short dialogs. !GlobalTimerNotExpired("c-aransmalltalk","GLOBAL") // Timer (game-time) has never been set or has expired Global("c-silencearan","GLOBAL",0) // a PID - set "silencer" for folks who hate unsolicited comments "c-arandrunk","GLOBAL" // in a vanilla inn or The Broken Sword, intoxication greater than 50. 3 talks. Blocking timers so that they can't go off too soon, so spread them out. Mature Content Variables "c-aranpcbedding","LOCALS" cycles from 0 through 7, advancing through 8 static sex scenes. It seems pretty hard to break. Heh. I had to tempt fate, didn't I. A small subset of replies where the PC gives up control and basically says "do what you want with me however you want to" cycles through these - there is no interactivity, only text painting. "c-arankisses","LOCALS" is designed to get a semi-random sequence to work out so that each time PC initiates a PID romantic encounter the approach is slightly different and the potential outcomes are more randomized. This one is the most likely to break down due to multiple IncrementGlobal() calls - chances are, I have pathways with multiple incrementation. "c-aranintimate","GLOBAL" is the incrementing tracking var set by activity ( updates "c-aransex" ). This means whenever a meaningful(/less) physical action occurs through dialog, it should list it out. This is set up so that if a player starts down a path but finds it is too heavy, the SetGlobal() will relect the final action. It also means that in randomized sequences, the activity is registered without resetting "reality" - otherwise, one talk could be wild sex, the next just kissing, and the game would think that PC and Aran just kissed. It should only be found in DO ~action~ "c-aransex","GLOBAL" is the regulating var to tell talks what physical status the relationship has taken. It matches the values 0-4 found in c-aranintimate: c-aransex = 0 : no intimacy c-aransex = 1 : kissing c-aransex = 2 : touching + kissing c-aransex = 3 : heavy innuendo touching ("petting") c-aransex = 4 : full physical intimacy It should never be found in DO ~action~, only in triggers, and is set via .bcs incrementation based on c-aranintimate. Like in real life, you can't take back an action, so short of console use or the specific troubleshooting "what do you think about our relationship" dialogs you can't take back that action... it does not de-increment. Flirting Variables to Watch "c-aranflirtstop","GLOBAL" should be toggled to halt unwanted flirts or re-enable them if the player changes their mind. "c-aranfight","GLOBAL" is toggled by Aran on sequences where he takes offense at something (chance is usually 20% if the encounter is messing with him badly). "c-aranearlyflirt","LOCALS" Flirt SubMenu: Lightweight, Early Flirts for Impatient Players found in PID. Using this 12 times moves you immediately forward, jump-starting regular lightweight flirts, where instead of being friendly he is a little more hands-on. Basically, if a female is showing herself very interested, what red-blooded dude would wait patiently to develop things more? If PC waits rather than throws herself in his direction, then after 3 Friend Talks, "c-aranpcflirtstart","GLOBAL" sets up flirting, as long as PC has not shut down any romance (and isn't showing either Gender=Male or Gender=Female while wearing belt05). After 24 flirts on this level by either PC- or NPC-initiation, this cycles to 2 and opens up the heavy flirts. GlobalGT("c-aranflirt","GLOBAL",40) If you pass the 40 flirt mark total, whether early, lightweight, or heavy, Aran will come calling and automatically advance to "c-aranrom","GLOBAL",2. Whether or not you sleep with him, delay him, etc., you have shown serious interest. Luckily, he isn't afraid of a little running around behind other folk's back, at least at first... Romance variables To Watch "c-aranrom","GLOBAL",1 = PC is female and has not told him via PID that she doesn't want romance or flirting. PID-initiated flirting with him should turn this back on. "c-aranrom","GLOBAL",2 = PC is female and has indicated interest, currently set by one of these: PID (after some conditions are met) - Simply tell him you are interested in having a relationship that is more than friendly. Lots of flirting with him via PID or NPC-initiated. Controllable by not flirting with him and telling him you don't want to have him come up to you and flirt. A rejoining option that indicates you want to be more than friends. Several branches in SoA LT 7, SoA LT8 NPC Management: relationship check chains in most dialog files, there for testing - perhaps to be left in place. ToB Summons from Fate Spirit, and all joining-rejoining dialogs in ToB (hard to tell ToB interactions with other NPCs as less attention is paid there for most NPCs). "c-aranrom","GLOBAL",3 = PC is not in a relationship with Aran. This is set by PID, and a very very few places in dialog. "c-aranbg2rom","GLOBAL" tracks LoveTalk progress in SoA "c-arantobrom","GLOBAL" tracks LoveTalk progress in ToB (when there are some; right now, there are none.
  22. 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.
  23. 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...
  24. 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.
  25. This is a placeholder, but for my own investigation, a searchable/sortable list of current vars. Needs to be rebuilt after recheck, but already there are some mistakes in matching scope of variables and scope of timers cross-project. Creating docs like this is a serious PITA, but it can save you hours of troubleshooting when you are piecing things together in bits an pieces - very few people can afford to take the time to run large projects out without resorting to 5 minutes here, 20 minutes there, and testing (or searching for places where you think you are looking for other folk's variables but have misspelled them) requires good documentation. www.gibberlings3.net/aranw/docs/aranw_var_4_2_2011.htm
×
×
  • Create New...