Jump to content

Search the Community

Showing results for tags 'philosophy'.



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
    • Balduran's Seatower
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms

Categories

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

Categories

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

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 14 results

  1. 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.
  2. Banter Rough Drafts, for checking with authors later (if/when they are available). For some of these, there will be no banter pack in which these are acceptable, as my interpretation of the permissions set governing G3 CrossMod really expects 2-way communication between authors (or at least approval) and both SHS's IEP Banters and PPG's Banterpack are designed around Canon BioWare™ NPC Joinables. Some retired mod authors have given a "green light" for new content, and some have not stated their wishes. But, tucking these ideas here gives time for feedback and recheck, and an easy place to link to when seeking permissions. Maybe eventually they will find a home. Since we are writing lines for other folk's characters, this gets to be tricky. No BioWare™ author has shown up and posted "you are destroying my characterization of Minsc!". But as we are all amateurs (there is no paid professional market for i.e. mod authoring), we can accidentally make someone else's character look bad - and that is just wrong. In light of that, the basic approach for this writing is simple - 1. Don't knock someone else's character. So, no below-the belt digs at a characterization. If a player is playing the other mod, they probably like it; why mess with their chosen mod? Player1 is supposed to be #1. NPCs exist only for their enjoyment. 2. The author is probably not going to be active, so when possible build NPC responses out of minor modification of existing strings in the relevant mod (writing in someone else's style can accidentally end up being parody, and could be seen as a direct insult, which breaks point #1.) 3. Since there is no direct opportunity for feedback, if there is a potential conflict, the other mod NPC wins. No "last words" or zingers for Aran. That inevitably means that materials where another author is no longer available will be weaker. C'est la vie. This is all just for fun, after all! 4. If at all possible, beg/bribe/coerce the other mod author to participate. It saves time, energy, and makes your job so much easier. Plus the characterization is correct from the get-go! So, a first try at this idea. Sillara is sometimes active, and I have played Saerileth before, so the possibility for inclusion is good. Let's try two banters, an underdark commentary, and a friendly "what in th' nine hells are you thinkin' goin' out wi' a 15 year old Chosen o' Tyr who can be makin' googly-eyes an' drawin' kittens an hearts on your palm to smitin' Demogorgons in th' blink o' an eye" talk. SAERILETH (Sillara/Nethrin, CoM hosted, retired) Puzzle Pieces: @20 = ~Thou sharest in thy father's taint. I will leave thee and disturb thee no more.~ @27 = ~Thou art satisfied? Thy trust is freely given. I thank thee for it. As long as thou dost tread the path of good, I will sojourn with thee.~ @28 = ~I do. Wilt thou have me by thy side or no?~ @53 = ~Forgive me. My zeal oft overcomes my discretion. In this matter, I bow to thy judgement.~ @28 = ~Nay, <PRO_LADYLORD> <CHARNAME>. We must not! Their peril is more than thou knowest: their souls are in danger of damnation!~ @111 = ~'Twould be false in me to deny that this place doth trouble me. (Saerileth sighs and slowly sits up. She leans over you, tracing your profile with her fingers.)~ @201 = ~Our mortal lives do oft seem full of injustice, but if our lots are here unjust, we may rest assured that the Maimed Tyr will not deny us justice when he doth judge us.~ @418 = ~Aye, so it doth, <CHARNAME>. And I pray Tyr that thou hast the strength to meet it.~ [sAERI412] @431 = ~(Saerileth shakes her head.) Nay, sweet my lord. I am a Chosen of Tyr. When that I do become His Proxy, then mayhap I shall be granted the life of a deva.~ [sAERI390] @432 = ~And if I do remain a mortal Proxy, as some do, still the stuff of my life will alter. I do not think that thou wilt be left alone, even should I die. For at my death I do but return to the realm of Mertion, where thou mayest find me again.~ @546 = ~My life is, and hath ever been, Tyr's only. I shall follow his will so long as I have breath.~ @979 = ~Thou art most skilled for one who had no formal instruction.~ @995 = ~Modesty would better become thee, <CHARNAME>.~ @1033 = ~Tell me, why dost thou serve as a paladin a god who places the law above the good?~ @1040 = ~Which wilt thou choose when the choice must be made: goodness or order?~ @1043 = ~Like me, thou hast heard the call of thy god. Thou art blessed.~ @1061 = ~Thou art most fortunate, and the grace of the Morninglord doth rest upon thee.~ @1102 = ~(Saerileth's eyes are soft as she looks at you.) I do pity thee that thou knowest not yet thy lord.~ @1165 = ~Thy jesting is misplaced, and I am not amused. Art thou indeed a mere brigand and cutpurse?~ @1451 = ~Why dost thou reject the gods?~ @1498 = ~Beast! Foul-mouthed, blasphemous fiend! Thy life is forfeit!~ @1164 = ~Then I shall watch thy actions. Do not fall into evil, <CHARNAME>.~ CODE /* SoA Aran-Saerileth */ CHAIN IF ~InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-AranSaerBanter1","GLOBAL",0)~ THEN ~C-ARANB~ AranSaerSoABanter ~[ARAN] Lady Paladin, I'd be a might happier if you would take th' time to answer me a question, beggin' my impertinence.~ DO ~SetGlobal("C-AranSaerBanter1","GLOBAL",1)~ == ~BSAERILE~ ~[sAERILETH] Speak on, Aran.~ == ~C-ARANB~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[ARAN] <CHARNAME>'s rightly leader here, an' I expect has reason to have so young a lass on th' front lines. I was workin' trade costers m'self at your age, so I got no problem wi' that. But you seem a bit more focused on what be right an' wrong than what be practical.~ == ~C-ARANB~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[ARAN] <CHARNAME>'s rightly leader here, an' I expect has reason to have so young a lass on th' front lines. I was workin' trade costers m'self at your age, so I got no problem wi' that. But you both seem a mite bit more than just comrades in arms.~ == ~BSAERILE~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] Which would thou choose when the choice must be made: goodness or utility? There is but one answer.~ == ~BSAERILE~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] I am his love, and he is mine own.~ == ~C-ARANB~ ~[ARAN] An' this answer serves Tyr, on account o' you bein' his Chosen an' all?~ == ~BSAERILE~ IF ~!Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] My life is, and hath ever been, Tyr's only. I shall follow his will so long as I have breath.~ == ~BSAERILE~ IF ~Global("SaerilethRomanceActive","GLOBAL",2)~ THEN ~[sAERILETH] My life is, and hath ever been, Tyr's. I shall follow his will so long as I have breath. <CHARNAME> knows this. He will understand the depth of my faith.~ == ~C-ARANB~ ~[ARAN] I'm not sure I understand that kind o' faith, is all. I never did.~ EXIT /* SoA Saerileth-Aran */ CHAIN IF ~InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("Saerileth") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-SaerAranBanter1","GLOBAL",0)~ THEN ~BSAERILE~ SaerAranSoABanter ~[sAERILETH] Why dost thou reject the gods? The foul-mouthed oaths thou dost speak do disservice to all.~ DO ~SetGlobal("C-SaerAranBanter1","GLOBAL",1)~ == ~C-ARANB~ ~[ARAN] Come, now, Saerileth. There must o' been a time when you were not so tight-ar... err... no, I suppose you never did let your hair down, so to speak. You haven't had enough time in life yet.~ == ~BSAERILE~ ~[sAERILETH] Thy jesting is misplaced, and I am not amused.~ == ~C-ARANB~ ~[ARAN] Now, don't you be gettin' all offended, lass. There be a place for a harmless bit o' language, sometimes. An' Tymora seems to be fine wi' me playin' fast an' loose.~ == ~C-ARANB~ IF ~OR(2) Class("c-aran",PALADIN_ALL) Class("c-aran",CLERIC_ALL)~ THEN ~[ARAN] How about we not get our respective gods into no minor squabble just on account o' my blasphemin', eh?~ == ~C-ARANB~ IF ~!Class("c-aran",PALADIN_ALL) !Class("c-aran",CLERIC_ALL)~ THEN ~[ARAN] I know I am no champion o' virtue. I done lost that in a card game when I... never you mind that. But I try to back <CHARNAME>, an' you back <CHARNAME>, so that has to count for somethin', eh?~ == ~BSAERILE~ IF ~OR(2) Class("c-aran",PALADIN_ALL) Class("c-aran",CLERIC_ALL)~ THEN ~[sAERILETH] I do pity thee that thou knowest not yet the wishes of thy god. Foul-mouthed blasphemy will forfeit the good will of all of the gods.~ == ~BSAERILE~ IF ~!Class("c-aran",PALADIN_ALL) !Class("c-aran",CLERIC_ALL)~ THEN ~[sAERILETH] I do pity thee that thou knowest not yet the power of worshiping one god above all others. Foul-mouthed blasphemy will forfeit the good will of all of the gods.~ == ~C-ARANB~ ~[ARAN] Is this somethin' where you are likely to raise a sword against me if I curse a mite here an' there?~ == ~BSAERILE~ ~[sAERILETH] As long as thou dost tread the path of good, I will sojourn with thee. But I warn thee... curb thy language.~ == ~C-ARANB~ ~[ARAN] You know, hearin' those words from a little slip o' a girl not even out o' apprentice age might be laughable in some circumstances. But seein' as you can hold your own in combat an' healin', I will take you right serious. At least, as far as I can. Hard to break old habits.~ EXIT /* UD Aran-Saerileth */ CHAIN IF ~Global("c-drow","GLOBAL",1) InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("C-AranSaerBanter2","GLOBAL",0)~ THEN ~C-ARANB~ AranSaerUDBanter ~[ARAN] I know I don't rightly take you serious all th' time. You be a fine companion, though a mite bit stubborn an' mayhap a bit fanatical. But here, I can see why a lad might follow in your footsteps a mite. This place deserves to be eradicated.~ DO ~SetGlobal("C-AranSaerBanter2","GLOBAL",1)~ == ~BSAERILE~ ~[sAERILETH] 'Twould be false in me to deny that the continued existence of this place doth trouble me.~ == ~C-ARANB~ ~[ARAN] I'd think it be time to call forth a holy crusade, an' clear 'em off out o' here. Mayhap destroy evey last one o' them.~ == ~BSAERILE~ ~[sAERILETH] Our mortal lives do oft seem full of injustice, but if our lots are here unjust, we may rest assured that the Maimed Tyr will not deny us justice when he doth judge us. But all of these creatures have chosen to serve evil. Their judgment hath been wrought, their lot decided, and eventually they shall fall to the power of Tyr.~ == ~C-ARANB~ ~[ARAN] I don't suppose there be some who might follow a good cause down here, eh? Mayhap one or two redeemed souls, trapped alongside all this scurryin' evil?~ == ~BSAERILE~ ~[sAERILETH] Forgive me. My zeal oft overcomes my discretion. In this matter, I spoke hastily; Tyr is the Judge, and I am his Champion. Perhaps there are a few souls the Maimed One would have me spare. It is not my decision to make.~ == ~C-ARANB~ ~[ARAN] Well, now you done got me worried. Usually, you be th' one takin' things to extremes. I was about to suggest we just send 'em all Tyr's way, an' let him figure out who goes where. I think down here, I be a might bit more comfortable wi' "guilt by association".~ EXIT /* are you sure about this romance? : BCS */ IF InParty("Saerileth") InMyArea("Saerileth") !StateCheck("Saerileth",CD_STATE_NOTVALID) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) Global("SaerilethRomanceActive","GLOBAL",2) Global("c-aranpcsaerrom","GLOBAL",0) THEN RESPONSE #100 SetGlobal("c-aranpcsaerrom","GLOBAL",1) %arand_friend_song% StartDialogNoSet(Player1) END /* are you sure about this romance? : DLG */ IF ~Global("c-aranpcsaerrom","GLOBAL",1)~ THEN BEGIN aranpcsaerrom SAY ~[ARAN] Now, this be naught in th' way o' my business. But I have to ask... are you an' Saerileth gettin' serious?~ ++ ~[PC] Of course not. That is a ridiculous suggestion.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + have_you_seen_how_she_looks_at_you ++ ~[PC] What do you think?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Yes.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + are_you_kidding ++ ~[PC] Are we holding hands and kissing occasionally? Yes, I think we are. Are we getting serious? I am not sure.~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + are_you_kidding ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Speak of this to me again, and you will be looking for a new line of work. And perhaps searching for your missing head.~ + c-aranshutup32 EXIT IF ~~ are_you_kidding SAY ~[ARAN] Do you be kiddin' wi' me? A lass what has seen less than sixteen winters? Give her a year to come o' age a' make her own chices, an' mayhap I wouldn't kick her out o' my b... err... well, she is pretty an' all, I guess. But she don't know squat about livin', let alone havin' a serious relationship. Tyr's Blasted Buttocks, don't send a child to do adult's work, <CHARNAME>. Love isn't just for play.~ ++ ~[PC] Take one look into her eyes, and tell me that she does not love me.~ + she_does_at_that ++ ~[PC] She is the Chosen of Tyr. She is strong enough, wise enough, and driven enough to know her own mind. Do you really think we would be together if she was not set on having it that way?~ + no_guess_not_kid ++ ~[PC] What, are you jealous? I did not know you were in love with her too.~ + hells_no_cute_but_crazy ++ ~[PC] It is a passing crush, and I intend to have as much fun with her as her religious views will allow.~ + watch_out_boy_shell_chew_you_up ++ ~[PC] So now you are an expert on serious relationships? That is a laugh. You don't even remember the barmaid's name the next morning.~ + my_own_business END IF ~~ have_you_seen_how_she_looks_at_you SAY ~[ARAN] You must be blighted blind, then. Th' lass looks at you wi' th' intensity o' first love, an' th' passions o' a full grown woman. You'd best be careful around her, on account o' she might get th' wrong idea - or worse, th' right one.~ ++ ~[PC] I don't really need to be careful. I think I am falling for her.~ + are_you_kidding ++ ~[PC] Are we holding hands and kissing occasionally? Yes, I think we are. Are we getting serious? I am not sure.~+ watch_out_boy_shell_chew_you_up ++ ~[PC] Do I ask you about your dalliances with half of Faerun?~ DO ~SetGlobal("c-aranpcsaerrom","GLOBAL",2)~ + my_own_business ++ ~[PC] Speak of this to me again, and you will be looking for a new line of work. And perhaps searching for your missing head.~ + c-aranshutup33 END IF ~~ my_own_business SAY ~[ARAN] Look, <CHARNAME>, I love th' way women move, th' way they speak, th' way they smell, th' way they smile... hells, I just love women. But me an' someone what wears th' flower be a mite different than what you are talkin' about. First off, we all have th' age o' consent. Second off, if I tick off th' lady in question, she may box my ears, kick me, get me thrown into th' street, or mayhap carve me up a little, as be her choice. With Saerileth...~ IF ~~ THEN GOTO watch_out_boy_shell_chew_you_up END IF ~~ she_does_at_that SAY ~[ARAN] Aye, she does. That be even more dangerous.~ IF ~~ THEN GOTO love_women_but END IF ~~ no_guess_not_kid SAY ~[ARAN] Mayhap you are right. Mayhap she be older than her years, an' wiser than a sage; mayhap she be mature enough to understand that relationships be work as well as fun. But all that wisdom an' such be packed into a body what be still growin' an' changin'.~ IF ~~ THEN GOTO love_women_but END IF ~~ hells_no_cute_but_crazy SAY ~[ARAN] Jealous? No possibility o' that, boyo. She scares me half to death.~ IF ~~ THEN GOTO love_women_but END IF ~~ love_women_but SAY ~[ARAN] Look, <CHARNAME>, I love th' way women move, th' way they speak, th' way they smell, th' way they smile... hells, I just love women. But me an' someone what wears th' flower be a mite different than what you are talkin' about. First off, we all have th' age o' consent, meanin' we can make our own choices. Second off, if I tick off th' lady in question, she may box my ears, kick me, get me thrown into th' street, or mayhap carve me up a little, as be her choice. With Saerileth...~ IF ~~ THEN GOTO watch_out_boy_shell_chew_you_up END IF ~~ watch_out_boy_shell_chew_you_up SAY ~[ARAN] You know how 'hell hath no fury like a woman scorned'? Well, take one look at her an' all you see is slim little hips, curves to die for, an' lips beggin' to be kissed - not one bit o' th' hells about her. Take a look in her eyes, though, an' you see an intensity an' a devotion that be downright scary. Now picture her if you hurt her. There won't be any place on any o' th' Planes where you could hide from her wrath. She'll rip you in half wi' her bare hands, then heal you up just so she can do it again.~ ++ ~[PC] You are taking this too seriously. I am much more powerful than she is. She will never be able to defeat me.~ + I_warned_you ++ ~[PC] I don't intend to hurt her. I think she may be my soulmate.~ + I_warned_you ++ ~[PC] She's a bunny rabbit. What's she going to do, nibble my bum?~ + I_warned_you // heh - Monty Python is fun. But this one might be a good one to lose. ++ ~[PC] This is my business, not yours. Keep out of it.~ + I_warned_you END IF ~~ I_warned_you SAY ~[ARAN] None o' my business, anyways. You think you can handle it. But I have been on th' receivin' end o' a regular woman what feels she has been wronged, an' it were a mite painful. Breakin' th' heart o' someone with th' feelin's o' adolescent first love who just happens to be an accomplished fighter an' th Chosen o' Tyr... that's bloody suicide.~ IF ~~ THEN EXIT END
  3. In the interests of keeping myself moving towards actual completion, I am tossing this up even though it is not complete. I just had very little time to give to the project; in order to push, i need to post whatever is done even close to reasonably up. So, for feedback and error correction, here goes: Aran or Zelda: The Return of the Text Adventure? OK, don't do this. Really. The idea was to build a really cool little text adventure entry, a moonlit swordfight, following the advice of the ladies at P&T. Then I got the idea that swordfights can be done by foil or by language. An oddity of construction - I started this as a sketch, then followed berelinde's advice on using squentially numbered states to make sure no stitch gets dropped. This means the original final state is now actually state 50 out of X, so the basic plans flow in an odd net around the final exits - and some additional exits are tucked close to the end. On the good side, it has lots of possibilities from the player choice standpoint. There is just about everything tossed in there save perhaps Stat-checked opposed roll responses (I realized it was getting way, way too big without adding that complexity). On the bad side, it is a game-within-a-game, and most folks are not into huge long clickfest text adventures popping up in their game. On the worst side of all, it does rely on stage direction - (He whips his sword up to his lips in salutation.). There is a whole thread on why this is Bad™ at PPG, and the primary reason behind Bri and Lord Ernie's text rebuilt of Tashia seems to be the updating of the original text away from these "action" style dialogs - in fact, the only place these are really considered ok is within flirts. But for now, frankly, cutscenes suck for this kind of thing, and I am not a good enough writer to make the scenes pop into people's heads with just the soundtrack, and no visual. It is probably because the engine was never, ever designed for this kind of thing. C'est la vie, non? Oui. So, here goes a massively overdone Text Adventure, called "Sparring". I do not expect the male bonding version to be as elaborate - the male version vould be done in all action, with a few grunts, and The Brotherhood would be cool with it. But for the budding romance-novelist reader, this might ticle your fancy. /* Romance interlude: Sparring Challenge */ /* StoryTelling through Interactive Text Adventure */ /* Begin Sparring, romance version */ IF ~Global("c-aransparslt","GLOBAL",1)~ THEN BEGIN c-asparlt SAY ~[ARAN] You be a mite late, there, <CHARNAME>. I was just about to turn in, eh?~ ++ ~[PC] Do you always spar with your shirt off?~ + c-asparlt1 ++ ~[PC] Judging from the sheen of sweat on your chest, it looks like you have been working hard. Do you want to postpone this?~ + c-asparlt2 ++ ~[PC] Think of it as early for tomorrow. The moon is still up, and I am here now.~ + c-asparlt3 ++ ~[PC] I think I would rather not spar tonight, Aran. I am going to turn in.~ + c-asparlt5 ++ ~[PC] You are a little slow, aren't you. When I said 'spar', I was thinking of more amorous pursuits.~ + c-asparlt6 END IF ~~ c-asparlt1 SAY ~[ARAN] Well, now, sometimes I do, sometimes no. But I don't think I'll be askin' you to do the same. That blouse looks right pretty, it does. Especially as I can see right through it in this moonlight.~ ++ ~[PC] (Quickly pull your jerkin closer around you.) Are you going to gawk, or are you going to fight?~ + c-asparlt7 ++ ~[PC] (Cross over in front of him.) All part of my plan to distract you and win, of course.~ + c-asparlt7 ++ ~[PC] (Loosen your blouse, allowing the silk to billow gently in the night breeze.) I simply need the freedom to move. A gentleman would not look so closely.~ + c-asparlt7 ++ ~[PC] You are being silly again, Aran. Stop joking around. You can see very well that I am still in my armor.~ + c-asparlt10 ++ ~[PC] (blush) Aran, I... I... ~ + c-asparlt11 END IF ~~ c-asparlt2 SAY ~[ARAN] No, no... I was stretchin' out, is all. I don't rightly suppose I should ask you to match me, eh? Well, no matter... ~ + ~Class(Player1,MAGE_ALL)~ + ~[PC] Any decent mage will tell you that a good, well tailored robe is the first line of defense. I think you should stop talking and start sparring, Aran.~ + c-asparlt4 + ~Class(Player1,FIGHTER_ALL)~ + ~[PC] Warcries, distracting sounds, blabbering on about my beauty, all valid combat tactics, Aran. But really, aren't we both a little to seasoned for such distractions? Put your sword to use instead of your tongue.~ + c-asparlt4 + ~Class(Player1,THIEF_ALL)~ + ~[PC] In my profession, it is important to learn when to hide one's assets, and when to display them. Less talk and much more action, please.~ + c-asparlt4 + ~Class(Player1,CLERIC_ALL) Alignment(Player1,MASK_GOOD)~ + ~[PC] I think you should stop talking and start fighting, Aran. Good intentions pale in comparison with actions.~ + c-asparlt4 + ~Class(Player1,CLERIC_ALL) Alignment(Player1,MASK_EVIL)~ + ~[PC] I think you should stop talking and start fighting, Aran. The gods prefer actions over platitudes. Besides, you need to be taught your place.~ + c-asparlt4 + ~Class(Player1,CLERIC_ALL) !Alignment(Player1,MASK_GOOD) !Alignment(Player1,MASK_EVIL)~ + ~[PC] I think you should stop talking and start fighting, Aran. I shall endeavor to show you the essense of spiritual focus, or at least give you a good drubbing.~ + c-asparlt4 + ~Class(Player1,PALADIN_ALL)~ + ~[PC] A good spar to clear the head and focus the mind. Come, now, Aran. Let us have a clean fight.~ + c-asparlt4 + ~Class(Player1,SORCERER)~ + ~[PC] Somehow I think it might be fun to try a good old-fashioned swordfight. I will try to avoid melting your blade, or setting your trousers on fire.~ + c-asparlt4 + ~Class(Player1,MONK)~ + ~[PC] Hand to hand is more my forte, but perhaps this will be interesting. I will spar with you.~ + c-asparlt4 + ~Class(Player1,BARD_ALL)~ + ~[PC] I should be asking to spar musically, or perhaps with poetry, Aran, but I am afraid I have heard your singing. I think you should stop talking and start fighting.~ + c-asparlt4 ++ ~[PC] I think I will keep my top on, thank you.~ + c-asparlt4 ++ ~[PC] I think I would rather not spar tonight, Aran. I am going to turn in.~ + c-asparlt5 ++ ~[PC] You could ask. But my answer would be no. Besides, that is a highly unromantic suggestion.~ + c-asparlt6 END IF ~~ c-asparlt3 SAY ~[ARAN] That you be. An' in th' moonlight, I don't know what be prettier... you, or a full contract tight-bound.~ ++ ~[PC] Are you comparing me to a bundle of dried, ink-covered sheepskin?~ + c-asparlt12 ++ ~[PC] Me. I am prettier. See? (Spin slowly, raising your arms).~ + c-asparlt13 // 4th wall, Buckaroo Bonsai - http://www.imdb.com/title/tt0086856/ - , but it fits too well not to use ++ ~[PC] Laugh all you want, monkey boy. I have come to show you your inadequacies!~ + c-asparlt4 ++ ~[PC] Talk is cheap. Show me you can fight.~ + c-asparlt4 ++ ~[PC] Talk is cheap. (Punch him hard in the gut.)~ + c-asparlt18 ++ ~[PC] You do not seem to get the idea. I am interested in friendship, nothing more. Are we going to spar, or talk?~ + c-asparlt4 END IF ~~ c-asparlt4 SAY ~[ARAN] Aye, then. Here, catch.~ ++ ~[PC] (Catch rapier by the hilt and place it to your lips, saluting him.)~ + c-asparlt9 ++ ~[PC] (Catch rapier and extend it away and to your left, ready to fight.)~ + c-asparlt9 ++ ~[PC] (Catch rapier and instantly lunge forward with a direct thrust.)~ + c-asparlt33 ++ ~[PC] (Barely catch rapier, fumbling with it.) How do you work this thing, anyways?~ + c-asparlt14 ++ ~[PC] (Clumsily catch rapier, gouging your finger on part of the hilt.) Oh!~ + c-asparlt25 END IF ~~ c-asparlt5 SAY ~[ARAN] Aye, then, that be fine. Do you want anythin' else?~ ++ ~[PC] Now what might I want when I am headed for my bedroll?~ + c-asparlt22 ++ ~[PC] No, I am fine. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather.~ + c-asparlt23 ++ ~[PC] I want... I... I do not know what I want.~ + c-asparlt22 END IF ~~ c-asparlt6 SAY ~[ARAN] Now, what could be more amorous than to be swordfightin' in th' moonlight? Where be your sense o' romance, o' foreplay, o' gettin' all hot an' bothered?~ ++ ~[PC] The whole idea turns me off completely. I think I will just go to bed.~ + c-asparlt23 ++ ~[PC] No, I am fine with avoiding complications. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] You do not seem to get the idea. I am interested in friendship, nothing more. Are we going to spar, or talk?~ + c-asparlt4 ++ ~[PC] You have a point. But I think I am ready for that match, now.~ + c-asparlt4 ++ ~[PC] I can think of many more romantic notions, Aran. Do you think fighting is the way into my heart?~ + c-asparlt80 END IF ~~ c-asparlt7 SAY ~[ARAN] Now then, I don't rightly have th' practice equipment for Waterdeep Twin Swords style, just starlight... err. Just *straight* practice foils for duellin' wi' out harm.~ ++ ~[PC] 'starlight'?~ + c-asparlt8 ++ ~[PC] That will do just fine.~ + c-asparlt4 ++ ~[PC] Cut the clumsy attempts at seduction, sellsword. Save it for your tavern slatterns.~ + c-asparlt8 ++ ~[PC] Wait a minute. You have not finished all your chores. There are still some cooking pots you have not cleaned, and there is firewood to gather.~ + c-asparlt23 END IF ~~ c-asparlt8 SAY ~[ARAN] Must be somethin' wrong wi' me. Sorry. Caught sight o' your eyes, an' got distracted. Won't happen again. Here, let's get goin', eh - en garde!~ ++ ~[PC] (Circle around to his left.)~ + c-asparlt30 ++ ~[PC] (Wait patiently, watching him closely.)~ + c-asparlt31 ++ ~[PC] (Stand very still, motionless in the moonlight.)~ + c-asparlt32 ++ ~[PC] (Thrust savagely.)~ + c-asparlt33 ++ ~[PC] (Kick hard towards his knee.)~ + c-asparlt35 END IF ~~ c-asparlt9 SAY ~[ARAN] Here, let's get goin', eh - en garde!~ ++ ~[PC] (Circle around to his left.)~ + c-asparlt30 ++ ~[PC] (Wait patiently, watching him closely.)~ + c-asparlt31 ++ ~[PC] (Stand very still, motionless in the moonlight.)~ + c-asparlt32 ++ ~[PC] (Thrust savagely.)~ + c-asparlt33 ++ ~[PC] (Kick hard towards his knee.)~ + c-asparlt35 END IF ~~ c-asparlt10 SAY ~[ARAN] Well, a man can have imagination, can't he? I was just hopin' to get you out of all that armor, is all.~ ++ ~[PC] (Unstrap your armor, dropping it where it falls, advancing towards him.) If you insist. We will see if your swordplay matches your bold words.~ + c-asparlt13 ++ ~[PC] Less talk, boyo. Toss me a weapon, and let's see how this all works out.~ + c-asparlt13 ++ ~[PC] Nice try. I shall retain my modesty, thank you. And stop flexing your chest like that, it is distracting.~ + c-asparlt13 ++ ~[PC] Stop thinking with the wrong sword. I believe the phrase is 'en garde'?~ + c-asparlt4 ++ ~[PC] You do not seem to get the idea. I am interested in friendship, nothing more. Are we going to spar, or talk?~ + c-asparlt4 ++ ~[PC] Stop, please... you are embarassing me...~ + c-asparlt12 END IF ~~ c-asparlt11 SAY ~[ARAN] Sune's Delight, <CHARNAME>, I be right sorry. Here, have a jerkin to cover up. I didn't mean to upset you. You just can tear a man's heart right out wi' your beauty, is all.~ ++ ~[PC] I am not beautiful.~ + c-asparlt19 ++ ~[PC] I know.~ + c-asparlt4 ++ ~[PC] Shall we spar?~ + c-asparlt4 ++ ~[PC] Are you going to teach me how to spar?~ + c-asparlt14 ++ ~[PC] You say such strange things sometimes.~ + c-asparlt4 END IF ~~ c-asparlt12 SAY ~[ARAN] Hey, now, that came out all wrong, that did! Though your skin be as beautiful as a blank sheet o' vellum, ready for new scribin'.~ ++ ~[PC] Why, thank you. And your compliments are as smooth as a crumpled dishrag.~ + c-asparlt4 ++ ~[PC] You can save the feeble attempts at compliments. Throw me a foil, and let's spar.~ + c-asparlt4 ++ ~[PC] My dearest Aran, you have so much to learn about women. Perhaps a sound thrashing will help.~ + c-asparlt4 ++ ~[PC] I am not beautiful.~ + c-asparlt19 ++ ~[PC] Actually, could you show me how to hold a foil? I never really learned...~ + c-asparlt14 ++ ~[PC] You keep talking like I am interested in you. I am interested in friendship, nothing more. Are we going to spar, or talk?~ + c-asparlt4 END IF ~~ c-asparlt13 SAY ~[ARAN] I do believe you, there. No contest - you look right pretty, you do. An' there's somethin' about moonlight or starlight what sets you off right dangerously, it does.~ ++ ~[PC] Laugh all you want, monkey boy. I have come to show you your inadequacies!~ + c-asparlt4 ++ ~[PC] Talk is cheap. Show me you can fight.~ + c-asparlt4 ++ ~[PC] Talk is cheap. (Punch him hard in the gut.)~ + c-asparlt18 ++ ~[PC] That is quite poetic, Sir Aran. When did you begin studying courtship and chivalry?~ + c-asparlt8 ++ ~[PC] Actually, Aran, I have never fenced before. Do you think you could teach me?~ + c-asparlt14 END IF ~~ c-asparlt14 SAY ~[ARAN] Aye, it would be a pleasure to teach you. Here, hold it like this...~ ++ ~[PC] Just like this? (Move into his arms, awkwardly holding the foil at arms length.)~ + c-asparlt15 ++ ~[PC] Just like this? (Move into his arms, nestling back into his chest.)~ + c-asparlt15 ++ ~[PC] Just like this? (Nervously stand in front of him, holding the foil down.)~ + c-asparlt17 ++ ~[PC] Just like this? (Smile sweetly at him, and punch him hard in the gut.)~ + c-asparlt18 ++ ~[PC] HEY. Hands off, Aran. I am interested in friendship, nothing more. Are we going to spar, or are you going to keep making passes at me?~ + c-asparlt4 END IF ~~ c-asparlt15 SAY ~[ARAN] Aye. Only you need to hold your wrist like this... an' your waist, it be better here... sorry, didn't rightly mean to touch you there... now gentle-like, lean in like this...~ ++ ~[PC] (Rest your head back on his shoulder, falling into a slow dance of movements.)~ + c-asparlt6 ++ ~[PC] That will do. I can take it from here - let's spar.~ + c-asparlt4 ++ ~[PC] It would be very nice, except your hands keep wandering. I am interested in friendship, nothing more. Are we going to spar, or talk?~ + c-asparlt4 ++ ~[PC] (Rest your head back on his shoulder, nuzzling his neck.)~ + c-asparlt56 ++ ~[PC] I think I would rather not spar tonight, Aran. I am going to turn in.~ + c-asparlt5 END IF ~~ c-asparlt16 SAY ~[ARAN] There you go. Nothin' to it. You dance right fine, an' duelin's just like dancin', only with a point, eh? I mean, a point system. I guess there be a point to dancin', too.~ ++ ~[PC] (Lean your head back onto his shoulder and offer your lips to him.)~ + c-asparlt56 ++ ~[PC] That will do. I can take it from here - let's spar.~ + c-asparlt4 ++ ~[PC] Enough. Interesting approach, but I have had enough of it. But I do think there are some things you can do for me. Let's see... there are still some cooking pots you have not cleaned, and there is firewood to gather.~ + c-asparlt23 END IF ~~ c-asparlt17 SAY ~[ARAN] Well, no. You don't have no shield, so you want to get a good profile, an' make as small a target as possible.~ ++ ~[PC] Is that what you are staring at? My 'profile'?~ + c-asparlt86 ++ ~[PC] I think I am ready to try this out.~ + c-asparlt9 ++ ~[PC] Show me what you have, boyo. Is your blade as fast as your tongue?~ + c-asparlt79 END IF ~~ c-asparlt18 SAY ~[ARAN] *gasp* What in th' nine hells was that?~ ++ ~[PC] Weakness. You let your guard down, Aran, and I was right there to take advantage. Are we going to spar?~ + c-asparlt4 ++ ~[PC] Fun. Here, let me do it again...~ + c-asparlt60 ++ ~[PC] A warning. I came here to fight, not talk.~ + c-asparlt4 ++ ~[PC] I do not know. You confuse me so much that sometimes, I just feel like I have to hit you or I will explode. Throw me a foil.~ + c-asparlt4 END IF ~~ c-asparlt19 SAY ~[ARAN] (Aran catches your chin quickly, turning your face to his) To me, you are right beautiful. Hanali Celanil an' Sune are but pale comparisons, <CHARNAME>.~ ++ ~[PC] (Kiss him.)~ + c-asparlt56 ++ ~[PC] (Break away quickly.) Are we going to spar, or talk?~ + c-asparlt4 ++ ~[PC] (Look him directly in the eyes.) Big words. But a real man would not talk. He would take what he wants.~ + c-asparlt74 ++ ~[PC] (Look him directly in the eyes, and slam your fist into his gut.)~ + c-asparlt18 ++ ~[PC] And you, sir, are nearly as cute as you think you are. Nearly.~ + c-asparlt20 END IF ~~ c-asparlt20 SAY ~[ARAN] Well, I do thank you, I think. Now, do you want to spar, or not, eh?~ ++ ~[PC] No, I am fine. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather.~ + c-asparlt23 ++ ~[PC] I want.. I ... I do not know what I want.~ + c-asparlt22 ++ ~[PC] Are you going to teach me how to spar?~ + c-asparlt4 END IF ~~ c-asparlt21 SAY ~[ARAN] Well, I do thank you for th' lesson, I think. Now, do you want to spar, or not, miss 'poisonous fanged viper'?~ ++ ~[PC] No, I am fine. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. You should go do that, instead. I doubt you could please me any other way.~ + c-asparlt23 ++ ~[PC] I want.. I ... I do not know what I want.~ + c-asparlt22 ++ ~[PC] Show me what you can do, Aran. Amuse me.~ + c-asparlt4 END IF ~~ c-asparlt22 SAY ~[ARAN] Perhaps a bit o' company?~ ++ ~[PC] No, no thank you. Look, this was a mistake. I am headed back to camp. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] On second thought, I think I might need some energy worked off. Why don't we spar.~ + c-asparlt4 ++ ~[PC] My, you just push your luck at every opportunity, don't you?~ + c-asparlt23 ++ ~[PC] No, thank you. But I do think there are some things you can do for me. Let's see... there are still some cooking pots you have not cleaned, and there is firewood to gather.~ + c-asparlt23 END IF ~~ c-asparlt23 SAY ~[ARAN] Melliki's Quick temper, I done just.. just.. oh, hells. Fine. Go to bed. I be gettin' on wi' th' chores, like a good little blighted boy. (Damn females, anyways. Th' bloody creatures never did have no sense, an' they are a right pain in th' left buttock, they are).~ ++ ~[PC] Good night, Aran.~ + c-asparlt52 ++ ~[PC] Did you say something?~ + c-asparlt54 ++ ~[PC] (Damned males, anyways... they never clean up after themselves, and never have the good sense to kiss a girl goodnight when she is practically throwing herself at them).~ + c-asparlt53 END IF ~~ c-asparlt24 SAY ~[ARAN] Bane's Blood, did I hurt you? Here, let me see that...~ ++ ~[PC] (Punch him hard in the gut.)~ + c-asparlt18 ++ ~[PC] Ow! You just broke one of my nails. I spent a long time getting them just the right length. And that is not easy while adventuring!~ + c-asparlt25 ++ ~[PC] That hurt. Perhaps giving you a sound thrashing will help ease the pain.~ + c-asparlt9 ++ ~[PC] Look, obviously I am not that proficient with this weapon. Perhaps you would teach me how to hold it?~ + c-asparlt14 END IF ~~ c-asparlt25 SAY ~[ARAN] Well, I'm right sorry, I am. I didn't mean to hurt you none. Is there somethin' I can do to make up for it?~ ++ ~[PC] Kiss it better. (Hold your hand out to him imperiously.)~ + c-asparlt26 ++ ~[PC] Look, obviously I am not that proficient with this weapon. Perhaps you would teach me how to hold it?~ + c-asparlt14 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. I don't want to do any silly old sparring anyways. I'm going to bed.~ + c-asparlt23 ++ ~[PC] No, no... a minor annoyance. Prepare to be defeated.~ + c-asparlt9 END IF ~~ c-asparlt26 SAY ~[ARAN] (He gently takes you hand, and kisses each fingertip.)~ = ~[ARAN] Is that better?~ ++ ~[PC] Perhaps. But it hurts a little higher up.~ + c-asparlt27 ++ ~[PC] No, no... it is fine now. A minor annoyance. Prepare to be defeated.~ + c-asparlt9 ++ ~[PC] I bet you do that to everyone's fingers.~ + c-asparlt87 END IF ~~ c-asparlt27 SAY ~[ARAN] (He gently kisses the inside of your palm and carefully kisses each wrist.)~ = ~[ARAN] Is that better?~ ++ ~[PC] Perhaps. But it hurts a little higher up.~ + c-asparlt28 END IF ~~ c-asparlt28 SAY ~[ARAN] (He gently kisses his way up to your mouth, leaning in and savoring your lips.)~ = ~[ARAN] Is that better?~ ++ ~[PC] (Punch him hard in the gut.)~ + c-asparlt18 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. I don't want to do any silly old sparring anyways. I'm going to bed.~ + c-asparlt23 ++ ~Yes, it is fine. Let's spar now!~ + c-asparlt9 ++ ~Yes, it is fine. But I think I want you to teach me how to hold this thing.~ + c-asparlt14 ++ ~[PC] Perhaps. But it now aches a little lower down...~ + c-asparlt29 END IF ~~ c-asparlt29 SAY ~[ARAN] Aye, now you be after sparrin' o' a different kind, I see. For that, I'd have to get rid o' some o' these obstacles...~ ++ ~[PC] (Open the front of your clothing carefully, avoiding eye contact.)~ + c-asparlt48 ++ ~[PC] (Tear your clothing from your shoulders, baring yourself in the moonlight.)~ + c-asparlt48 ++ ~[PC] I will not yield to you. But I will take what I want from you, right this moment.~ + c-asparlt48 ++ ~[PC] I think I have had enough excitement. I call this a draw. We will have to do this again sometime.~ + c-asparlt46 ++ ~[PC] But I think I am ready for that match, now. Toss me a foil, and we shall see if you can concentrate on the task at hand.~ + c-asparlt4 END IF ~~ c-asparlt30 SAY ~[ARAN] (His rapier dances forward, boring towards your left shoulder.)~ ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts.) + c-asparlt36 ++ ~[PC] (Twist your wrist, deflecting his blow and flicking your blade towards his throat.)~ + c-asparlt38 ++ ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath.)~ + c-asparlt40 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes.)~ + ####################### ++ ~[PC] (Thrust savagely past his guard.)~ + c-asparlt41 END /* Let's approximate circling eachother until someone moves... */ IF ~~ c-asparlt31 SAY ~[ARAN] (Soft moonlight falls across his face as he circles to the right, swordpoint towards you)~ + ~RandomNum(3,3)~ + ~[PC] (Wait patiently, watching him closely.)~ + c-asparlt31 + ~RandomNum(3,2)~ + ~[PC] (Wait patiently, watching him closely.)~ + c-asparlt32 + ~RandomNum(3,1)~ + ~[PC] (Wait patiently, watching him closely.)~ + c-asparlt36 ++ ~[PC] (Thrust savagely towards his left knee.)~ + c-asparlt33 ++ ~[PC] (Stand very still, motionless in the moonlight.)~ + c-asparlt32 ++ ~[PC] I thought that you were a fighter, Aran. What is the matter, are you afraid I am too delicate a flower to fight?~ + c-asparlt32 ++ ~[PC] I do not know about this, Aran. You look... you... I want to...~ + c-asparlt36 END IF ~~ c-asparlt32 SAY ~[ARAN] Well, now, do you need some instruction? I thought we was sparrin', not passin' th' time. Not that you don't make th' perfect picture, I must admit.~ ++ ~[PC] (Thrust savagely towards his right shoulder.)~ + c-asparlt43 ++ ~[PC] (Kick hard towards his knee.)~ + c-asparlt35 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes.)~ + c-asparlt41 ++ ~[PC] I tire of this. I want a different kind of thrust and parry. (drop your foil and fling yourself hard into his arms)~ + c-asparlt37 ++ ~[PC] The perfect picture of your demise, you mean?~ + c-asparlt35 END /* Let's change up things a little if the state gets repeated a few times... */ IF ~~ c-asparlt33 SAY ~[ARAN] (a spark strikes as his counterstroke sends your swordpoint off to the left)~ ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 + ~RandNum(2,2)~ + ~[PC] (Step back quickly, then advance with a flurry of quick strokes)~ + c-asparlt36 + ~RandNum(2,1)~ + ~[PC] (Step back quickly, then advance with a flurry of quick strokes)~ + c-asparlt63 ++ ~[PC] (twist your wrist, deflecting his riposte and flicking your blade towards his throat)~ + c-asparlt38 + ~Global("c-aransp1","LOCALS",0)~ + ~[PC] Had enough, oh feeble wielder of swords? I can thrust and parry all night, you know. It does not look like you have the stamina.~ DO ~SetGlobal("c-aransp1","LOCALS",1)~ + c-asparlt34 + ~Global("c-aransp1","LOCALS",1)~ + ~[PC] Didn't we do this already? You have to learn to be more creative, Aran.~ DO ~SetGlobal("c-aransp1","LOCALS",2)~ + c-asparlt34 END IF ~~ c-asparlt34 SAY ~[ARAN] Hah. Now do you be talkin' swordlay, or playin' wi' words? Not that it rightly matters - I can tire you out either way you intended, you know.~ + ~Global("c-aransp2","LOCALS",0)~ + ~[PC] Promises, promises... (Kick hard towards his knee.)~ DO ~SetGlobal("c-aransp2","LOCALS",1)~ + c-asparlt35 + ~Global("c-aransp2","LOCALS",1)~ + ~[PC] Yes, yes... you said that before.~ DO ~SetGlobal("c-aransp2","LOCALS",2)~ + c-asparlt35 ++ ~[PC] (drop your rapier and fling yourself hard into his arms.)~ + c-asparlt37 + ~RandNum(2,2)~ + ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath.)~ + c-asparlt40 + ~RandNum(2,1)~ + ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath.)~ + c-asparlt63 ++ ~[PC] (Thrust savagely towards his right shoulder.)~ + c-asparlt43 END /* Don;t forget dudettes may be getting sick oftthings and want out... */ IF ~~ c-asparlt35 SAY ~[ARAN] (hard muscle blocks your path, and the riposte stabs towards your right side)~ ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes)~ + c-asparlt41 ++ ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath)~ + c-asparlt40 ++ ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath)~ + c-asparlt40 ++ ~[PC] (circle around to his left)~ + c-asparlt30 ++ ~[PC] Enough! I do not want to do this any more.~ + c-asparlt55 END IF ~~ c-asparlt36 SAY ~[ARAN] (The point of his blade whistles close past your guard, seeking your left inner thigh.)~ ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts.)~ + c-asparlt36 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes.)~ + c-asparlt41 ++ ~[PC] (Step inside of his thrust, then dance out of the way, circling around to his left.)~ + c-asparlt30 ++ ~[PC] Stop. I do not want to spar. I want you.~ + c-asparlt47 asparlt44 ++ ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath.)~ + c-asparlt63 END /* There is no crying in baseball... keep focus on a PC strong enough to want to spar, because one who is just into flirting won't have followed this line at all */ IF ~~ c-asparlt37 SAY ~[ARAN] (Aran staggers, suprised, arms enfolding you.)~ = [ARAN] What in Bane's... <CHARNAME>?~ ++ ~[PC] *whisper* I do not want to spar. I just want you.~ + c-asparlt47 ++ ~[PC] HAH! (Spin out of his arms, duck down, grab the foil, and flick it towards Aran's throat.)~ + c-asparlt42 ++ ~[PC] TRUCE!~ + c-asparlt55 ++ ~[PC] I think I just got cut...~ + c-asparlt24 ++ ~[PC] I am tired. Tired of everything. Look, Aran, just hold me. As a friend? Just hold me.~ + c-asparlt67 END IF ~~ c-asparlt38 SAY ~[ARAN] (He dances back, then counters, rapier hissing in low and straight.)~ ++ ~[PC] (Kick hard towards his groin, following up with a stab towards his heart.)~ + c-asparlt35 ++ ~[PC] Is that all you have? (kick hard towards his knee.)~ + c-asparlt35 ++ ~[PC] Wait a second... hold on, I have to do something... (adjust your clothing to show off your leg to mid-thigh, and then instantly launch an attack when he is distracted)~ + c-asparlt35 ++ ~[PC] Oh, ouch! I just cut myself.~ + c-asparlt39 END /* Remember the tricksters... */ IF ~~ c-asparlt39 SAY ~[ARAN] Celanil's Sweet Lips, let me see.... are you hurt?~ ++ ~[PC] HAH! (as he moves forward dropping his guard, place the tip of your foil at the base of his throat.)~ + c-asparlt47 ++ ~[PC] It is just a little cut. But I think you should kiss it better.~ + c-asparlt45 ++ ~[PC] It is nothing. Besides, you have a scratch or two, too. But I think I have had enough for one night. Have a good rest, Aran.~ + c-asparlt52 ++ ~[PC] There will be blood tonight! (advance with a ferocious whirlwind of quick strokes.)~ + c-asparlt44 END /* Remember the ladies who started this thing with no experience fencing... */ IF ~~ c-asparlt40 SAY ~[ARAN] (One strong hand reaches out to grab your shoulder as his foil batters yours down)~ ++ ~[PC] (Drop your rapier and fling yourself hard into his arms.)~ + c-asparlt37 ++ ~[PC] (Twist away quickly, then advance with a flurry of quick strokes.)~ + c-asparlt41 ++ ~[PC] Ah ah ah... no touchie-feely the girl, now.... (counter quickly, and slice inward towards his side.)~ + c-asparlt41 ++ ~[PC] So, what were you thinking of fixing for dinner tomorrow? Aran-ke-bobs? Because I almost skewered you there.~ + c-asparlt63 ++ ~[PC] This is... a good bit... harder than it... looks.~ + c-asparlt63 END /* Gratuitous sexual references are fun, too... */ IF ~~ c-asparlt41 SAY ~[ARAN] (He falls back, blade countering blade, teeth bared savagely in the moonlight)~ ++ ~[PC] (Thrust savagely towards his right shoulder.)~ + c-asparlt43 ++ ~[PC] (Twist away quickly, then advance with a flurry of quick strokes.)~ + c-asparlt44 ++ ~[PC] Is that a rabbit in your pocket, or are you just happy to see me?~ + c-asparlt68 END IF ~~ c-asparlt42 SAY ~[ARAN] (He springs forward, blade countering blade, pushing you back.)~ ++ ~[PC] (Spin lightly, ducking under his whispering blade and coming up with a thrust from underneath.)~ + c-asparlt40 ++ ~[PC] (kick hard towards his knee.)~ + c-asparlt35 ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts.)~ + c-asparlt36 END IF ~~ c-asparlt43 SAY ~[ARAN] (the clash of steel rings as his counterstroke sends your swordpoint off to the right)~ ++ ~[PC] (Send a spinning kick towards his head.)~ + c-asparlt35 ++ ~[PC] (Lunge forward to pink his right shoulder.)~ + c-asparlt41 ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts.)~ + c-asparlt36 ++ ~[PC] (Drop your rapier and fling yourself hard into his arms.)~ + c-asparlt37 ++ ~[PC] (Spin lightly, then check yourself and lunge forward, foil tip to the right leg.)~ + c-asparlt40 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes.)~ + c-asparlt41 END /* Needs more entry points - summative state for fight */ IF ~~ c-asparlt44 SAY ~[ARAN] (White moonlight flashes along swiftly moving blades as they meet point and counterpoint, weaving their harsh music. Stacatto clashes of metal upon metal, ostinato breaths becoming shorter and labored, no thought but the weave of body with body... until suddenly you find yourself locked chest to chest, leg to leg, straining against eachother.) = ~[ARAN] Do you want to be beggin' quarter?~ ++ ~[PC] Not likely. Look down, Aran. I think you will find I have everything in hand...~ + c-asparlt62 ++ ~[PC] Never!~ + c-asparlt45 ++ ~[PC] I will not yield. But I will take what I want.~ + c-asparlt47 ++ ~[PC] I think I have had enough excitement. I call this a draw. We will have to do this again sometime.~ + c-asparlt46 ++ ~[PC] Do you?~ + c-asparlt47 END IF ~~ c-asparlt45 SAY ~[ARAN] Now, then, you be a mite winded, there - I can see right down your front, you know. You move right beautifully when you pant like that.~ ++ ~[PC] (Lean hard into him, kissing him ferociously)~ + c-asparlt47 ++ ~[PC] (Butt your head forward hard towards his nose)~ + c-asparlt59 ++ ~[PC] I yield to you, Aran. In every way.~ + c-asparlt48 ++ ~[PC] I have you right where I want you. Surrender now, and I will be merciful.~ + c-asparlt47 ++ ~[PC] I thought this was a friendly sparring practice.~ + c-asparlt46 END /* Teasing Aran is iok, but he has his breaking point... */ IF ~~ c-asparlt46 SAY ~[ARAN] I... hey, I... Sune's Sweet Skin, <CHARNAME>, do you be jokin' wi' me? You drive me to a frenzy, an' now I desire you more than any man ought. What do you want o' me?~ ++ ~[PC] Absolutely nothing. I have exactly what I want. Have a nice night, Aran. And thank you for the practice session.~ EXIT ++ ~[PC] What do you think, Aran? Am I teasing? (Slowly begin to disrobe)~ + c-asparlt48 ++ ~[PC] I... I do not know what I want. There are so many reasons that I cannot do this...~ + c-asparlt51 ++ ~[PC] Somehow, it always comes down to sex with you. I said I wanted to be friends, but you keep interpreting everything as an invitation to move into my bedroll. Let me spell it out for you - N O T I N T E R E S T E D. ~ + END IF ~~ c-asparlt47 SAY ~[ARAN] (He steps away, dropping his sword, falling to his knees before you.)~ = ~[ARAN] I surrender. An' what will you do wi' th spoils, <CHARNAME>?~ ++ ~[PC] Absolutely nothing. I have exactly what I want. Have a nice night, Aran. And thank you for the practice session.~ EXIT ++ ~[PC] I was thinking of an armistace. (Kneel with him, drawing one gentle finger lightly down his chest, following it with your gaze.)~ + c-asparlt49 ++ ~[PC] I... (grab the back of his head and tug back fiercely) ...will do exactly... (bury his face close to your heart) ... as I please.~ + c-asparlt50 ++ ~[PC] I... I think I will surrender in return...~ + c-asparlt50 ++ ~[PC] Practice a completely different form of combat.~ + c-asparlt50 END IF ~~ c-asparlt48 SAY ~[ARAN] <CHARNAME>...~ = ~[ARAN] (His face is a mask of desire, and his lips burn hot on your cheeks and lips.)~ ++ ~[PC] Hold on. I need to clear my head. I cannot do this!~ + c-asparlt51 ++ ~[PC] (Lean your head forward and fold both hands against his chest.)~ + c-asparlt50 ++ ~[PC] (Loop one leg around his, and twist quickly, bringing yourself under him as you fall to the ground.)~ + c-asparlt50 ++ ~[PC] (Loop one leg around his, and twist quickly, bringing yourself on top of him as you fall to the ground.)~ + c-asparlt50 ++ ~[PC] (Bite his lips fiercely, tasting warm blood as your teeth clash together in mounting desire.)~ + c-asparlt50 END IF ~~ c-asparlt49 SAY ~[ARAN] <CHARNAME>...~ = ~[ARAN] (His face is a mask of desire, and his lips burn hot on your cheeks and lips)~ ++ ~[PC] Hold on. I need to clear my head. I cannot do this!~ + c-asparlt51 ++ ~[PC] (Drop everything and fold both hands against his chest.)~ + c-asparlt50 ++ ~[PC] (Loop your arms around his neck and twist quickly, bringing yourself under him.)~ + c-asparlt50 ++ ~[PC] (Loop your arms around his neck and twist quickly, bringing yourself on top of him.)~ + c-asparlt50 ++ ~[PC] (Bite his lips fiercely, tasting warm blood as your teeth clash together in mounting desire.)~ + c-asparlt50 END /* The "PG - 13" Romantic Encounter Ending 47b, Female Romacing Male, No Nudity Or Graphic Depiction Of Naughty Stuff,. Reclassified from 1275a, Classic Romance Tricks, "Fade To Black". */ IF ~~ c-asparlt50 SAY ~[ARAN] (Clothes fly into tangles of twisted cloth, and modesty is thrown to the wind and the stars.)~ IF ~~ THEN DO ~SetGlobal("c-aransexspar","GLOBAL",1) RestParty()~ EXIT END /* Damn, girl, you are teasing him way hard, then dropping the whole "but I am not sure," thing - put the poor bugger out if his misery, already ! */ IF ~~ c-asparlt51 SAY ~[ARAN] (His face hardens, breath coming in short fierce bursts) Aye. You can, if you want to. But you don't want to, so I needs be controllin' myself. This sparrin' be over, I think.~ IF ~~ THEN EXIT END /* No comment. */ IF ~~ c-asparlt52 SAY ~[ARAN] Aye, then, same to you. I think I am goin' to go get some energy worked out o' my system, eh? I will see you back at camp.~ IF ~~ THEN EXIT END /* A page form RL - everyon walks waya muttering sometimes, and sometimes the partner challenges them on it... */ IF ~~ c-asparlt53 SAY ~[ARAN] Did you say somethin', <CHARNAME>?~ ++ ~[PC] No, not a thing. Good night, Aran.~ EXIT ++ ~[PC] I said, 'damned males, anyways... they never clean up after themselves, and never have the good sense to kiss a girl goodnight when she is practically throwing herself at them'.~ + c-asparlt19 ++ ~[PC] I said, 'If Aran does not kiss me right this minute, I will make his life a living hell for all eternity'.~ + c-asparlt19 END IF ~~ c-asparlt54 SAY ~[ARAN] No, naught. I was just mutterin' to myself.~ IF ~~ THEN EXIT END IF ~~ c-asparlt55 SAY ~[ARAN] Right, we can take a break. What are you after, anyways, <CHARNAME>? You be not quite into th' sparrin', I think. Why did you come out here?~ ++ ~[PC] I just needed a moment to regroup. (Flick your foil point towards his throat.)~ + c-asparlt42 ++ ~[PC] I... I do not know. I was bored, and wanted amusement?~ + c-asparlt57 ++ ~[PC] I... I do not know. I thought I wanted to have someone want me, desire me. But now I really just feel like that will make things worse. I think I should go now.~ + c-asparlt5 ++ ~[PC] I came here to be made love to, silly. So shut up and get to it!~ + c-asparlt48 ++ ~[PC] I came out here because you are a friend, Aran. And I need all of those I can get right now.~ + c-asparlt58 END IF ~~ c-asparlt56 SAY ~[ARAN] Hey, What are you after, <CHARNAME>? You be not quite into th' sparrin', I think. Why did you come out here, anyways?~ ++ ~[PC] I... I do not know. I was bored, and wanted amusement?~ + c-asparlt57 ++ ~[PC] I... I do not know. I thought I wanted to have someone want me, desire me. But now I really just feel like that will make things worse. I think I should go now.~ + c-asparlt5 ++ ~[PC] I came here to be made love to, silly. So shut up and get to it!~ + c-asparlt48 ++ ~[PC] I came out here because you are a friend, Aran. And I need all of those I can get right now.~ + c-asparlt58 ++ ~[PC] (Kiss his neck and move deeper into his arms.)~ + c-asparlt74 END IF ~~ c-asparlt57 SAY ~[ARAN] That makes sense, but you be phrasin' that as a question. Are you sure there be no other ways I could entertain you?~ ++ ~[PC] No, I am fine. Have a good night, Aran. + c-asparlt52 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. You should go do that, instead. I doubt you could please me any other way.~ + c-asparlt23 END IF ~~ c-asparlt58 SAY ~[ARAN] Well, that's is not rightly for sale, <CHARNAME>, an' I prize it a mite higher than most do, I wager. But I already done given you th' whole contract on my friendship, no strings attached. I must be somethin' right stupid in my actions not to have shown that by now.~ = ~[ARAN] Let's get you back to camp, an' get somethin' nice an' warm in your stomach. I bet we could find a mite bit o' Firewine to warm up th' tea, an' lighten your mood. You go on ahead. I'll clear this gear away right proper.~ IF ~~ THEN EXIT END IF ~~ c-asparlt59 SAY ~[ARAN] OUCH! Ilmater's Sufferin', that bloody well hurt! What in th' nine hells are you after, <CHARNAME>?~ ++ ~[PC] I am taking advantage of your weakness. You let your guard down, Aran, and I was right there to take advantage. Are we going to spar? I think you need to be taught more.~ + c-asparlt38 ++ ~[PC] Fun. Here, let me do it again...~ + c-asparlt60 ++ ~[PC] I do not know. But back away, and let's get fighting again.~ + c-asparlt38 ++ ~[PC] I... I do not know. I was bored, and wanted amusement?~ + c-asparlt57 ++ ~[PC] I... I do not know. I thought I wanted to have someone want me, desire me. But now I really just feel like that will make things worse. I think I should go now.~ + c-asparlt5 ++ ~[PC] I came here to be made love to, silly. So shut up and get to it!~ + c-asparlt48 ++ ~[PC] I came out here because you are a friend, Aran. And I need all of those I can get right now.~ + c-asparlt58 END /* Hit me once, shame on me. Hit me twice, and I will avoid it. Note to self - probably need an otion for the Evil side where he likes it. A little. */ IF ~~ c-asparlt60 SAY ~[ARAN] Not on your life, girl... I'm done wi' getting my nose boke on account o' you gotta let off some steam. You got anythin' else you want me to do for you? Mayhap somethin' that don't rightly hurt so much?~ ++ ~[PC] No, I am fine. Have a good night, Aran. + c-asparlt52 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. You should go do that, instead. I doubt you could please me any other way.~ + c-asparlt23 ++ ~[PC] I want... I... I do not know what I want.~ + c-asparlt22 ++ ~[PC] But lovemaking is supposed to hurt a little, don't you think?~ + c-asparlt48 ++ ~[PC] I came out here because you are a friend, Aran. And I need all of those I can get right now.~ + c-asparlt61 END IF ~~ c-asparlt61 SAY ~[ARAN] Funny thing is, <CHARNAME>, you got strange ways o' showin' it, but I do believe you.~ = ~[ARAN] Look, sometimes we be seein' different things in th' way o' how life is supposed to be, I guess. But whether I like your actions or no, an' whether you be god, bad, or indifferent, there be somethin' about you I like right fine.~ = ~[ARAN] You might use that against me later on, I wager, but hells... I done flipped your coin to Tymora early on, an' it came back heads. I'll call you friend long after you've forgotten I exist. Let's get you back to camp, an' get somethin' nice an' warm in your stomach.~ IF ~~ THEN EXIT END IF ~~ c-asparlt62 SAY ~[ARAN] Aye, that you do. I think this be a good time for me to surrender, eh?~ IF ~~ THEN GOTO c-asparlt47 END /* OK, passthrough state to send things in odd directions.... */ IF ~~ c-asparlt63 SAY ~[ARAN] (Blades clash, ringing in your ears.)~ IF ~RandNum(4,1)~ THEN GOTO c-asparlt64 IF ~RandNum(4,2)~ THEN GOTO c-asparlt65 IF ~RandNum(4,3)~ THEN GOTO c-asparlt66 IF ~RandNum(4,4)~ THEN GOTO c-asparlt44 END /* Words or Swords? Boo would be confused... */ IF ~~ c-asparlt64 SAY ~[ARAN] Aye, you are gettin' th' hang o' this, eh?~ ++ ~[PC] Hang you and your paternalistic crap! (Send a spinning kick towards his head.)~ + c-asparlt35 ++ ~[PC] Oh, I am getting the hang of this. But I heard that you have troubles... you are not so well hung as you claim? (lunge forward to pink his right shoulder)~ + c-asparlt41 ++ ~[PC] I... I am not so sure... (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 ++ ~[PC] No, not at all. But you seem to be having troubles winning, yourself. (Drop your rapier and fling yourself hard into his arms.)~ + c-asparlt37 ++ ~[PC] Child's play. A fitting moniker, seeing as I am sparring with you. (Spin lightly, then check yourself and lunge forward, foil tip to the right leg)~ + c-asparlt40 ++ ~[PC] Stop for a bit. Truce!~ + c-asparlt55 END /* Nothing says romance like commenting on the sweatiness of a ladies' workout clothes. By the way, judging by my wife's reaction, the appropriate response would be "shut up and get out, idiot." But this is fantasy,, so we turn the tables. */ IF ~~ c-asparlt65 SAY ~[ARAN] You know, I do believe there be nothin' prettier than a lass what be sweatin' so fierce.~ ++ ~[PC] We 'lasses' do not sweat. We glow. We 'Mist'. (Send a spinning kick towards his head.)~ + c-asparlt35 ++ ~[PC] That is nice to hear. You look pretty, too. Tired yet? (Lunge forward to pink his right shoulder.)~ + c-asparlt41 ++ ~[PC] I can think of prettier things... like figuring out what your next line of attack will be... (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 ++ ~[PC] Nice picture. Pity you stink like a mule when you sweat. (Fling yourself hard into his arms, atempting to knock him down.)~ + c-asparlt37 ++ ~[PC] Didn't your mother ever teach you to keep your mouth closed when you need to concentrate? (Spin lightly, then check yourself and lunge forward, foil tip to the right leg.)~ + c-asparlt40 ++ ~[PC] Stop for a bit. Truce!~ + c-asparlt55 END IF ~~ c-asparlt66 SAY ~[ARAN] I do believe you blighted well nicked me!~ ++ ~[PC] Quick, shall we call a healer for your little booboo? (send a spinning kick towards his head)~ + c-asparlt35 ++ ~[PC] I'm so terribly sorry. That was the point, right? (Lunge forward to pink his right shoulder)~ + c-asparlt41 ++ ~[PC] I'm sorry... do you want to stop? (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 ++ ~[PC] Oh, Aran! (drop your rapier and fling yourself hard into his arms)~ + c-asparlt37 ++ ~[PC] Well, when you play with me, you play with fire. Or ice. Or lightning. In fact, you could cut to the chase and just say you are running with scissors. (Spin lightly, then check yourself and lunge forward, foil tip to the right leg.)~ + c-asparlt40 ++ ~[PC] Stop for a bit. Truce!~ + c-asparlt55 END /* Also known in college circles as "teddy-bearing". Or at least it was, back in the day. God, I'm old. */ IF ~~ c-asparlt67 SAY ~[ARAN] <CHARNAME>, I can do that, I can. I can hold you right proper. An' I value your friendship above any treasure what's been thought of.~ = ~[ARAN] (You stand together for a time in the moonlight, holding eachother.)~ IF ~~ THEN EXIT END IF ~~ c-asparlt68 SAY ~[ARAN] No rabbit, but now I know where you are lookin', I can use that to my advantage...~ ++ ~[PC] (Slash towards his head.)~ + c-asparlt35 ++ ~[PC] (Lunge forward to pink his right shoulder.)~ + c-asparlt41 ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts.)~ + c-asparlt36 ++ ~[PC] Oh, Aran - why look when I can feel! (Drop your rapier and fling yourself hard into his arms.)~ + c-asparlt37 ++ ~[PC] Just be careful. I am not sure we want the makings of rabbit stew. (Spin lightly, then check yourself and lunge forward, foil tip to the right leg.)~ + c-asparlt40 ++ ~[PC] Stop for a bit. Truce!~ + c-asparlt55 END /* Foreplay, WWE style. */ IF ~~ c-asparlt69 SAY ~[ARAN] Well, if you want to play that way... (His arm catches you solidly across the chest, knocking you over.)~ ++ ~[PC] Well, know that I am down here, do you want to come and join me?~ + c-asparlt83 ++ ~[PC] Oooohh... just the way I like them. Rough, stupid, and easily provoked... (sweep his legs, slamming him to the ground.)~ + c-asparlt70 ++ ~[PC] Ouch! Gods, Aran, I was only joking.~ + c-asparlt24 ++ ~[PC] Stop for a bit. Truce!~ + c-asparlt55 END IF ~~ c-asparlt70 SAY ~[ARAN] (Aran staggers, suprised, slamming to the ground next to you.)~ = [ARAN] What in Bane's... <CHARNAME>?~ ++ ~[PC] *whisper* I do not want to spar. I just want you.~ + c-asparlt47 ++ ~[PC] HAH! (Spin out of his arms, roll, grab the foil, and point it at Aran.)~ + c-asparlt56 ++ ~[PC] Well, when you play with me, you play with fire. Or ice. Or lightning. In fact, you could cut to the chase and just say you are running with scissors.~ + c-asparlt72 ++ ~[PC] (Begin unfastening your clothes.) If you need instruction, then I have sadly misjudged you, Aran. Do what comes naturally, of course.~ + c-asparlt50 ++ ~[PC] I think I have had enough excitement. I call this a draw. We will have to do this again sometime.~ + c-asparlt46 END IF ~~ c-asparlt71 SAY ~[ARAN] I do believe you blighted well tricked me! That hurt, it did. What do you want, anyways? It don't rightly look like you want to spar.~ ++ ~[PC] Well, when you play with me, you play with fire. Or ice. Or lightning. In fact, you could cut to the chase and just say you are running with scissors.~ + c-asparlt72 ++ ~[PC] (Begin unfastening your clothes.) If you need instruction, then I have sadly misjudged you, Aran. Do what comes naturally, of course.~ + c-asparlt50 ++ ~[PC] *whisper* I do not want to spar. I just want you.~ + c-asparlt47 ++ ~[PC] I think I have had enough excitement. I call this a draw. We will have to do this again sometime.~ + c-asparlt46 END IF ~~ c-asparlt72 SAY ~[ARAN] True enough. Well, you done got me here. Mayhap I can make th' most o' my opportunity...~ == ~[ARAN] (With a sudden twist he is on top of you, crushing you, his arms holding yours hard above your head.) Surrender, or do I take my winnin's right now?~ ++ ~[PC] Get off me, idiot. Game over. If you value your life, that is.~ + c-asparlt73 ++ ~[PC] I... (roll over, pinning him) ...will do exactly... (bury your face in his neck) ... as I please.~ + c-asparlt50 ++ ~[PC] Take what you will..~ + c-asparlt50 ++ ~[PC] I think I have had enough excitement. I call this a draw. We will have to do this again sometime.~ + c-asparlt46 END IF ~~ c-asparlt73 SAY ~[ARAN] (He rolls away, coming to his knees before you.)~ = ~[ARAN] I surrender. An' what will you do wi' th spoils, <CHARNAME>?~ ++ ~[PC] Absolutely nothing. I have exactly what I want. Have a nice night, Aran. And thank you for the practice session.~ EXIT ++ ~[PC] I was thinking of an armistace. (Roll over and kneel with him, drawing one sharp fingernail lightly down his chest, following it with your gaze.)~ + c-asparlt49 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. You should go do that, instead. I doubt you could please me any other way.~ + c-asparlt23 ++ ~[PC] I... (roll up, grab the back of his head and tug him back down to you fiercely) ...will do exactly... (bury your face in his neck) ... as I please.~ + c-asparlt50 ++ ~[PC] Practice a completely different form of combat.~ + c-asparlt50 ++ ~[PC] (Begin unfastening your clothes.) If you need instruction, then I have sadly misjudged you, Aran. Do what comes naturally, of course.~ + c-asparlt50 END IF ~~ c-asparlt74 SAY ~[ARAN] I thought you might say that. Problem is, I don't rightly believein forcin' that sort o' thing.~ ++ ~[PC] You are so weak. I have exactly what I want - proof you do not have the strength to overpower me and take what you want. Have a nice night, Aran. And thank you for the practice session.~ EXIT ++ ~[PC] What if I was play-acting the whole resistance thing... (Draw one sharp fingernail lightly down his chest, following it with your gaze.)~ + c-asparlt49 ++ ~[PC] Well, there are still some cooking pots you have not cleaned, and there is firewood to gather. You should go do that, instead. I doubt you could please me any other way.~ + c-asparlt23 ++ ~[PC] I, on the other hand, have absolutely no compunction about taking exactly when I want, how I want it.~ + c-asparlt50 ++ ~[PC] Well, enough fun. I think this enough sparring for one night, in any area. Have a good night, Aran.~ + c-asparlt52 ++ ~[PC] (Begin unfastening your clothes.) If you need instruction, then I have sadly misjudged you, Aran. Do what comes naturally, of course.~ + c-asparlt50 END IF ~~ c-asparlt75 SAY ~[ARAN] Hey, if you keep goin' on like that, there will be a mite bit o' different kind o' sparrin' goin' on tonight...~ ++ ~[PC] And the light dawns... gods, man, I am literally sprawled at your feet, here for the taking. Are you slow, or do you need instruction?~ + c-asparlt72 ++ ~[PC] Well, we do not want to have any of that, now, do we. This is boring anyways. Look, let's just get a few rounds of swordfighting in, and be done with it.~ + c-asparlt4 ++ ~[PC] On second thought, the whole idea turns me off completely. I think I will just go to bed.~ + c-asparlt23 END /* Hmmm... simulating that pause - speak - pause - overlap confusion, when you both are not quite sure what to say, and waiting for someone to take the next big step? Let's give it a shot... */ IF ~~ c-asparlt76 SAY ~[ARAN] I think you might be...~ ++ ~[PC] ...a little unsure of myself? Hardly. Just hold me, Aran. Make me feel alive. Just be a good friend and hold me.~ + c-asparlt67 ++ ~[PC] ...a little confusing to you? I am confused, too. Look, let's just get a few rounds of swordfighting in, and be done with it.~ + c-asparlt4 ++ ~[PC] This was a bad idea. I think I will just go to bed. Alone.~ + c-asparlt23 ++ ~[PC] (Kiss him again and move deeper into his arms.)~ + c-asparlt49 END /* I watched the pPrincess Bride once too often, and now it resides in my head with 5th grdae jokes... */ IF ~~ c-asparlt77 SAY ~[ARAN] Hah! Good one! You done missed me, miss 'misty miss'. Take that!~ ++ ~[PC] I hate jokes like that. Hold still, so I can swat you!~ + c-asparlt44 ++ ~[PC] That is not fair! You made me laugh! (Swipe at Aran with the blade.)~ + c-asparlt78 ++ ~[PC] (Send a spinning kick towards his head)~ + c-asparlt35 ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 ++ ~[PC] (Spin lightly, then check yourself and lunge forward, foil tip to the right leg)~ + c-asparlt40 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes)~ + c-asparlt41 END IF ~~ c-asparlt78 SAY ~[ARAN] All be fair in love an' war - an' what we got goin' on now counts as both, in my book!~ ++ ~[PC] The only love I have for you is the love of watching you lose, big boy.~ + c-asparlt44 ++ ~[PC] Well in that case, expect no quarter fom me! (Stab at Aran with the foil point.)~ + c-asparlt44 ++ ~[PC] (Send a spinning kick towards his head)~ + c-asparlt35 ++ ~[PC] (Guard closely, on the defensive, parrying each of his thrusts)~ + c-asparlt36 ++ ~[PC] (Spin lightly, then check yourself and lunge forward, foil tip to the right leg)~ + c-asparlt40 ++ ~[PC] (Step back quickly, then advance with a flurry of quick strokes)~ + c-asparlt41 END IF ~~ c-asparlt79 SAY ~[ARAN] Well now, if you be interested in that, I think that we be doin' th' wrong kind o' sparrin', eh? But let's stick to th' business at hand. ~ IF ~~ THEN GOTO c-asparlt9 END /* Point, counterpoint, chocolate, and flowers */ IF ~~ c-asparlt80 SAY ~[ARAN] Look, I am not rightly sure how to try to romance you, <CHARNAME>. There be so many ways you are not quite th' normal... err... Helm's Beard, that came out wrong...~ ++ ~[PC] So you think calling me abnormal is the way to get me interested. Fascinating.~ + ++ ~[PC] You do no have to try so hard, you know. You could just kiss me.~ + c-asparlt83 ++ ~[PC] Aran, I keep telling you we are just friends. If you are here to spar, then let's spar. With foils, not with words, please.~ + c-asparlt4 ++ ~[PC] You could try flowers, or chocolate, or just listening to me, you know.~ + c-asparlt81 ++ ~[PC] I think I am ready for that sparring match, now.~ + c-asparlt4 END /* Weak arguments against flowers and chocolate. Hey, we qare making him too human - next he weill say "I didn't see any at the 7-11", or "I got some for your sister, but forgot some for you... */ IF ~~ c-asparlt81 SAY ~[ARAN] Aye, I could do that. But flowers, they don't speak to your strength. They seem all scawy when compared to you, too. An' chocolate be nice, but it seems soft an' usual, which... oh, by th' nine blighted hells, I'm walkin' my feet right into my mouth, aren't I.~ ++ ~[PC] But I like chocolate. And I like flowers. ~ + ########## ++ ~[PC] I was joking, Aran. Flowers are a waste of time, and chocolate is overrated. I value actions and deeds over useless gestures.~ + ++ ~[PC] Do not worry, Aran. You were born with both feet planted firmly in your mouth. I will simply have to ~ + ########## ++ ~[PC] I get what you mean, Aran. But I think yu will do better by just tossing me a foil and starting the practice. If I let you ramble on about me, soon I will be an unusual thorny flower with non-choclate petals with a nice bottom. And you will be spending the next three tendays apologising. We should just practice fighting!~ + c-asparlt4 END IF ~~ c-asparlt82 SAY ~[ARAN] Well, in that case, let me show you how th' whole fencin' and sparrin' practice be illustrative o' my strength, agility, an' usefulness, eh? With a bit o' Tymora's Luck, you might look on me a mite more favorable.~ IF ~~ THEN GOTO c-asparlt4 END /* Dunno. Supposed to be for the PC who expects him o be forceful and take the lead. Not thrilled yet. */ IF ~~ c-asparlt83 SAY ~[ARAN] That I could, I guess. It be a might forward, but then again, mayhap you want me to be a bit overbearin', eh?~ ++ ~[PC] It spoils all the fun if you have to be coached. Just do what you know you want to do, Aran. Quickly, fiercely, and thoroughly.~ + c-asparlt49 ########## END IF ~~ c-asparlt84 SAY ~[ARAN] Sticks an' stones will hurt my bones, but a quick jab wi' th' sharp end o' a foil can harm a lad, you know. Actually, I know, on account o' I just got me a little nick, back there.~ ++ ~[PC] So do you yield?~ + c-asparlt47 ++ ~[PC] It is not the only thing that you have that's little...~ + ########## ++ ~[PC] I'm sorry, I didn't mean to hurt you!~ + ########## END IF ~~ c-asparlt85 SAY ~[ARAN] No, I be ready for more. (His blade whips across your left shoulder, seeking your arm.)~ ++ ~[PC] ~ + ########## END IF ~~ c-asparlt86 SAY ~[ARAN] That be my story, an' I'm stickin' to it. Here, try this. Knees slightly bent, side towards me, an' blade down towards my knee. This be a dancer's weapon, not for use on th' shield wall.~ ++ ~[PC] I tire of this. I want a different kind of thrust and parry. (Drop your foil and fling yourself hard into his arms.)~ + c-asparlt37 ++ ~[PC] I am ready to fight. I do not need more instruction.~ + c-asparlt9 ++ ~[PC] I have been playing with you, Aran. Hull taught me well, back in Candlekeep. I will try not to hurt you too badly.~ + c-asparlt9 END IF ~~ c-asparlt87 SAY ~[ARAN] As opposed to jut your fingers, or as opposed to me kissin' somethin' else?~ ++ ~[PC] Spare me the talk of your many boisterous adventurers, Aran. They are all probably made up, anyways.~ + c-asparlt88 ++ ~[PC] Enough talk, just teach me to spar.~ + c-asparlt14 ++ ~[PC] Put your blade up, and we will see who can fight, who can talk, and who can do both at the same time.~ + c-asparlt4 END /* Let's let PC take him for a ride... */ IF ~~ c-asparlt88 SAY ~[ARAN] I do tell some tall tales. But for you, there be nothin' but truth. I have had my share o' lovers, but you are in a class by yourself.~ ++ ~[PC] So I am stupid, held out with need of a personal tutor?~ + c-asparlt89 ++ ~[PC] I do not care about the truth. I want you.~ + c-asparlt48 ++ ~[PC] I do not want the truth, and I most certainly do not want you.~ + c-asparlt91 ++ ~[PC] Gods, Aran, all this talk, talk, talk... you are confusing me so much. I think I need to go, now. Good night.~ + c-asparlt52 ++ ~[PC] So you have had me? I was unaware of that. Was I an acceptable lover?~ + c-asparlt89 ++ ~[PC] This conversation is over. Do not speak another word.~ EXIT END /* And drop him off a cliff... */ IF ~~ c-asparlt89 SAY ~[ARAN] Now, I didn't mean... ~ ++ ~[PC] You did not mean, or you did not think?~ + c-asparlt90 ++ ~[PC] Surrender while you are behind, because I do not think you will get out of this one. Perhaps I will be merciful.~ + c-asparlt47 ++ ~[PC] Oh, another thing you do with all the girls - stammer and stutter. So you have no spine at all, and any pretty face and sharp tongue can slay you in an instant?~ + c-asparlt90 END /* Onot the rocks... */ IF ~~ c-asparlt90 SAY ~[ARAN] I... ~ ++ ~[PC] Come on, Aran, if you want to keep up with me, keep up.... did you mean to tell me I was stupid and a poor lover in need of special instruction only you could give me?~ + c-asparlt23 ++ ~[PC] I think you have annoyed me enough for one night. Good night.~ EXIT ++ ~[PC] It hurts when you talk like that. I do not like all this fencing with words. I can play the game, but I hate it. If you like me, kiss me. If you do not, walk away now.~ + c-asparlt48 END IF ~~ c-asparlt91 SAY ~[ARAN] Good gods, woman, you are a study in contradictions, you are. You twist my words around right proper, an' now you talk about wantin' me?~ ++ ~[PC] I said I did not want you. Clear the wax out of your ears. Good night.~ EXIT ++ ~[PC] I think we both are a little confused, by now. Look, just put up your sword and fight, ok?~ + c-asparlt9 END IF ~~ c-asparlt92 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt93 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt94 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt95 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt96 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt97 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt98 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt99 SAY ~[ARAN] ~ ++ ~[PC] ~ + END IF ~~ c-asparlt100 SAY ~[ARAN] ~ ++ ~[PC] ~ + END
  4. WARNING. WoT™ ( Wall of Text - n., Infinity Engine modder and forum slang, meaning long expository writing in a forum post that makes the reader's eyes glaze over and may result in said player loading up Oblivion, because bad eye-candy is better than semi-literate expository grandstanding by pseudo-intellectual wannabe posers. For examples visit any form and look at anything dealing with inter-community flamewars. ) I like to think about stuff like this, but just in case the WoT™ looks like I am taking this all a little too seriously, don't worry - I have not gone any farther off of the deep end than I usually do - just thinking about stuff and playing with ideas, just this time sparked by other folk's analysis and suggestions on what works and doesn't work for them in this mod. SYNOPSIS: Mods might be like FanFics, but they have significantly more flexibility, allowing interactivity. So far, Aran has been built with a "reply net", focusing more on player voice than on his own. range = "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities" Leaning so far to "player-constructed fanfic" can break down, resulting in characterization loopholes and inconsistencies. One suggested way out of this is to build parallel storylines through use of defined player psychologies. Examples given from existing mods and schematics and potential implementation in Aran given. To cut to the chase and skip all the talk, just getting to the new content, skip forward to <<this post>>. Fanfic construction vs. Mod construction A mod as an interactive fanfic. As a global idea, this seems sound - both are playing with other people's created worlds, and injecting the author's ideas and point of view into that already created world. I think that most mods follow varying degrees of this, from the point of view of the NPC and his or her story. On the other hand, mods allow something a fanfic cannot. Instead of the constrained story, I think a game 'story' can be built out of the freedoms given to a player. The question is, can I do it without losing focus and a sense of the NPC's personality? Can a mod allow the player to construct the story (whether intentionally or unintentionally) through direct interaction and choice, with minimal pre-scribing of player intent? Basically, if we give the player enough of a "net" of interactive possibilities that remain true to an NPC's personality, can the player construct the level of hijack/secondary plot-line they want? The range I am thinking about is "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities". Aran started out as a fun little experiment as a 'Companion' mod, with a single immutable plot-point - PC and Aran will be together for the entire game, if PC wants, regardless of choices (OK, except when PC has a reputation of 1, or sends him away specifically saying "never return", and/or kills him outright). This means the challenge is to allow players enough options to be able to explore why a character so obviously fascinated with PC will do this, regardless of player actions. Can he keep his personality, and tell a great side-story, and enrich the main storyline, while pretty much existing as window dressing and exploration of background material? He is a sidekick, not a hero, so his "story" is supposed to be the interaction between him and PC and the relationship they develop.Here, the player and player's motives/personality is unknown. That, by its very nature, has an opposite focus from a traditional fanfic. So What? Big deal. Who cares - a mod is a mod, and people want to play the game with some fun new content. Except... in this case, the materials I am working on have an odd point of view. When most modders write, they think in terms of the character they are writing (duh). So, an action comes up, and NPC talks about how they see the thing happening. But Aran has been written from the opposite point of view - what would PC say? What would he do? Coming up with Aran's stuff has been very easy. Coming up with what PCs reactions are and what a player would really like to be able to say has been very, very difficult. In essence, writing a construction set of possibilities and handing them to a player is an inside-out mod. Applying This To Aran: Strengths and Weaknesses As the mod has moved along, my focus has been on reply states that allow multiple types of PCs to have something interesting to have as a response. Game limitations and writing time limitations restrict what is possible; having 100 separate replies for each line is obviously a bad way to go (just imagining reading each one would be an instant "uninstall this POS and fire up Tashia and play again" for me). Early on, constraints were reputation-driven or good/evil/neutral driven, then loosened up to a blanket of no more than 6 undefined (malleable) replies that often branched out the way RL dialogs do (not always really returning to the topic). In PID's, we explored a bunch of ways of customizing to the player; in most materials, we have side branches in talks for specific kits, classes, and even ones for folks who have changed Aran into other class/kit types. Berelinde's 'Bennet Rubric' came into play in later stages, as she explored some great and intricate possibilities for dialog construction in Gavin (and we often trade ideas and work on implementations and recheck with each other, as two sets of modder eyes on the same code can sometimes catch things better than just one). But my focus, frankly, has been less about PC and Aran and more about Player Choices. And it has brought up an interesting point - how does this reconcile with storytelling, where we expect PC to have a consistent voice (because we wrote all her lines and fed them to him or her)? More importantly, are we (am I) making the Aran a player creates internally consistent enough that he doesn't sound insane? At first glance, way way back in the initial brainstorming for the mod, I passed on the idea of determining one single set of PC assumptions to respond to. I felt that CODE A [ARAN] I want to be talkin' about th' weather, now. [PC - EVIL] [PC - NEUTRAL] [PC - GOOD] [PC - EXIT] is very BioWare™. Not bad - just not where I wanted to play about. In one respect, I now understand why BioWare™ limits their dialog to this king of pathing - and why DA2 will have less possibilities even than DA:O (they have chosen 6 maximum possible, too, which makes me feel kind of good to have figured out a good boundary). This kind of dialog structure means they can use things very cleanly: CODE A [ARAN] I want to be talkin' about th' weather, now. [PC - EVIL] + B [PC - NEUTRAL] + B [PC - GOOD] + B [PC - EXIT] EXIT B [ARAN] I want to be talkin' about your response th' weather in a general way. [PC - EVIL] EXIT [PC - NETUTRAL] EXIT [PC - GOOD] EXIT This is incredibly simplified, and of course there are plenty of examples of where they went further, but the basic schematic is JCompton's "Looping Lovetalk Branch" technique. To be blunt, I figured that having a "net" or "cloud" of PC replies would be enough to cover all bases, especially as I wanted to allow players to roleplay chaotic as well as lawful characters. So, the inherent silliness that could result by purposefully choosing contracting and opposite reactions would be covered by a chaotic PC getting chaos in return - a talk where things didn't work out the way you would expect could be ignored, because it fit not choosing the expected pathway for the roleplayer. To put this more clearly, I figured without face-to-face human contact and all of the visual, auditory, etc. cues and social mannerisms, I can write CODE [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? and then I as a modder am free to re-purpose this statement based on where the player comes from and to: CODE [PC] I think you need a bath. You smell like a... well, you stink. [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] No. Get in there, and Korgan will be in with you in a minute with a stiff scrub brush. I'll heal you when you get out, if you have any skin left. [PC] I think I love you... I know Kivan is getting very fond of me, but... do you want to kiss me? [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] Of course you do. I just thought you might... you might want to kiss me. [ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this? [PC] No. I told you I would prefer to resolve things peaceably, but imprisoning a nymph is just wrong. Razzefelow needs to die. Stop thinking like a tactician, and start using your heart. In some respects, this works well. I can cross over between states in certain places, making content play out in many different ways, and avoid some state duplication. And having not specifically set out to create individual streams of thought (trying to make sure most if not all dialog states have responses that deal with as many possible player personalities as can be written for/imagined), many times the resulting play-through creates fun byplay more similar to RL conversation, where the results are sometimes not the way the player intended, because when PC says X, Aran can hear Y. Most of the feedback on allowing interesting and more involved player choices has been very positive; giving a player more potential options (even if they end up all leading back to the same end state) definitely works. What I didn't think all the way through is while many different ways a single statement may be taken can be a powerful weapon when crafting code, it can be a mess when it comes to storytelling - and it is a very sharp two-edged sword indeed. CODE [PC] (Kiss him gently under the chin) + [ARAN_RESPONDS] Did PC just ask him to sleep with her? Did PC just back him down from trying to make out with her by reducing the pace of the action? Did PC just nonverbally say "Hey, I like you a lot, but let's slow down" or was it "I like you a lot - you can go further" or "Hey, you like all this physical stuff, but I am ambivalent... why don't we play cards instead" or was it "Hmmm... I think if he lifts that jugular vein a little, I am going to get a good fresh meal out of this. Boy am I glad Valen made me into a vampire..." ? When I wrote it, I intended only one outcome - an escalation of physical contact by PC = "I want more action". It turns out that the flexibility given has some serous drawbacks. So now I have to figure out how to address this possible disconnect. I have plenty of options - I can ignore it completely, I can institute an "Aran Likes This" counter as several other mods do and use that to constrain possible outcomes,etc. But to explore the concept, let's take the complete opposite tack from what Aran started out with. Let's see what creating a follow-through between dialogs for player intent might look like.
  5. One fun thing about RP that BG2 blows completely out of the water is equipment choice, level, and relative wealth. Well, OK, so there are many areas where it differs from a P&P AD&D game, but there are lots of mods out there to fix some of this... but for Aran, let's give the players some choice. From a RP perspective, it is silly for a L7 fighter to not have a decent magical weapon, good armor, and perhaps even some supplies. I have never been a mercenary, but I would assume that they are like musicians in one respect - a horn player will eat nothing but crackers for days/weeks/months/years before giving up his horn. After all, how are you going to work your way out of debt if you have a garbage old beat-up single Conn, and everyone else is showing up with pro equipment, well maintained and well rehearsed in its strengths and weaknesses in relation to your playing style? And that is not a matter of life and death, like a good shield or sword might be. So we can mess about with helping Aran have gear. We can even let players decide: Is Aran down-and-out poor, having sold off his best gear? Is Aran treasure-poor but equipped with decent L7 equipment? Is Aran equipped with the best equipment possible, because I am going to dual-class him and take his gear so I can be L33T and overpowered, at least up until I run into the first SCSII-enhanced gibberling? Heck, we can take that one step farther. We can set up those four choices of stats with appropriate proficiencies, and give players choice over what gear he has. That could be modified by what RP option was chosen about his relative equipment wealth; if he is poor and down-and-out, he might have a regular mundane long sword, but if he is average that will be a +1 long sword, and if he has been successful he may be starving but he won't stop gripping the pommel of that +2 long sword until he is forced to. OK, lots of fun - lots of choice; that brings up two additional considerations. Q. Why not give the player full choice of everything? A. I've watched Nythrun, and I'm no Nythrun. Between eric, miloch, and Nythrun, Level1NPCs will eventually allow people to completely respec Aran any way they want. I'm counting on that - why else would I be adding dialog options that check to see if Aran is CLERIC_ALL, or MAGE_ALL, or KIT:HEARTWARDER_OF_SUNE and such? Plus, there is a defining of character that can take place. If Aran is setting up to Dual to Cleric, my take is that he would be messing around with many different cleric-able weapons, but not specializing in any of them. After all, his primary start is sword and board, and he is not driven to excel in one specific focused area. Aran as a Kensai? Have you heard him talk? The level of precision and self-control necessary for Bushido does not seem likely to be something Aran would be able to handle. So from a RP standpoint, keeping within character, I can set up some baselines that fit his personality, confident that eventually folks will get to L1NPC him into that magical Kensai->Mage dual class for their power-gaming run. Q. What about the confusing raft of choices? I just want to play - worse, I have a BWP install, and I don't understand all the custom install templates. Why can't I just install him and be done with it? A. Good point. BWP has solved user input at install through scripting, but it can be a huge job to understand what is going on. So, a 'default' configuration needs to be available, so the user does not have to make tons of choices if they don't want to. OK, so on to implementing this mess of choices. MARCO-ME (ok, ok, pun intended. Macrame. Feeble humor, but that's what I got.) Before we get started on implementing this, though, let's mess around with a fancy thing called DEFINE_PATCH_MACRO. Say I have 4 or 5 .cres (or even more) that have the same stuff done to them, with very minor variations. The regular way is to declare everything out front - 5, or 6 variations on CODE /* Area C-AW01 Entry Point - Bouncer on Promenade */ COPY_EXISTING ~kpgrd01.cre~ ~override/c-aw01ep.cre~ SAY NAME1 ~Manson~ SAY NAME2 ~Manson~ REMOVE_CRE_ITEM ~rndtre02~ WRITE_LONG INITIAL_MEETING (BNOT 0x0) WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0) WRITE_LONG MORALE (BNOT 0x0) WRITE_LONG HAPPY (BNOT 0x0) WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0) WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0) WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0) WRITE_LONG LEADER (BNOT 0x0) WRITE_LONG TIRED (BNOT 0x0) WRITE_LONG BORED (BNOT 0x0) WRITE_LONG BATTLE_CRY1 (BNOT 0x0) WRITE_LONG BATTLE_CRY2 (BNOT 0x0) WRITE_LONG BATTLE_CRY3 (BNOT 0x0) WRITE_LONG BATTLE_CRY4 (BNOT 0x0) WRITE_LONG BATTLE_CRY5 (BNOT 0x0) WRITE_LONG HURT (BNOT 0x0) WRITE_LONG AREA_FOREST (BNOT 0x0) WRITE_LONG AREA_CITY (BNOT 0x0) WRITE_LONG AREA_DUNGEON (BNOT 0x0) WRITE_LONG AREA_DAY (BNOT 0x0) WRITE_LONG AREA_NIGHT (BNOT 0x0) WRITE_LONG SELECT_COMMON1 (BNOT 0x0) WRITE_LONG SELECT_COMMON2 (BNOT 0x0) WRITE_LONG SELECT_COMMON3 (BNOT 0x0) WRITE_LONG SELECT_COMMON4 (BNOT 0x0) WRITE_LONG SELECT_COMMON5 (BNOT 0x0) WRITE_LONG SELECT_COMMON6 (BNOT 0x0) WRITE_LONG SELECT_ACTION1 (BNOT 0x0) WRITE_LONG SELECT_ACTION2 (BNOT 0x0) WRITE_LONG SELECT_ACTION3 (BNOT 0x0) WRITE_LONG SELECT_ACTION4 (BNOT 0x0) WRITE_LONG SELECT_ACTION5 (BNOT 0x0) WRITE_LONG SELECT_ACTION6 (BNOT 0x0) WRITE_LONG SELECT_ACTION7 (BNOT 0x0) WRITE_LONG SELECT_RARE1 (BNOT 0x0) WRITE_LONG SELECT_RARE2 (BNOT 0x0) WRITE_LONG CRITICAL_HIT (BNOT 0x0) WRITE_LONG CRITICAL_MISS (BNOT 0x0) WRITE_LONG TARGET_IMMUNE (BNOT 0x0) WRITE_LONG INVENTORY_FULL (BNOT 0x0) WRITE_LONG PICKED_POCKET (BNOT 0x0) WRITE_LONG HIDDEN_IN_SHADOWS (BNOT 0x0) WRITE_LONG SPELL_DISRUPTED (BNOT 0x0) WRITE_LONG SET_A_TRAP (BNOT 0x0) WRITE_LONG BIO (BNOT 0x0) WRITE_EVALUATED_ASCII 0x34 ~%DEST_RES%~ #8 /* small portrait */ WRITE_ASCII 0x248 ~None~ #8 /* override AI script */ WRITE_ASCII 0x250 ~None~ #8 /* disable class AI script */ WRITE_ASCII 0x258 ~None~ #8 /* disable race AI script */ WRITE_ASCII 0x260 ~None~ #8 /* disable general AI script */ WRITE_ASCII 0x268 ~None~ #8 /* disable default AI script */ WRITE_EVALUATED_ASCII 0x2cc ~%DEST_RES%~ #8 /* dialogue */ WRITE_EVALUATED_ASCII 0x280 ~%DEST_RES%~ #32 /* death variable */ But what if I could work this out with just one line, instead of everything? I can... CODE COPY_EXISTING ~kpgrd01.cre~ ~override/c-aw01ep.cre~ /* Area C-AW01 Entry Point - Bouncer on Promenade */ SAY NAME1 ~Manson~ SAY NAME2 ~Manson~ REMOVE_CRE_ITEM ~rndtre02~ LAUNCH_PATCH_MACRO ~support_cre_cleanup~ ... if I set up what I want to happen in a macro, like this... CODE DEFINE_PATCH_MACRO ~support_cre_cleanup~ BEGIN WRITE_LONG INITIAL_MEETING (BNOT 0x0) WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0) WRITE_LONG MORALE (BNOT 0x0) WRITE_LONG HAPPY (BNOT 0x0) WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0) WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0) WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0) WRITE_LONG LEADER (BNOT 0x0) WRITE_LONG TIRED (BNOT 0x0) WRITE_LONG BORED (BNOT 0x0) WRITE_LONG BATTLE_CRY1 (BNOT 0x0) WRITE_LONG BATTLE_CRY2 (BNOT 0x0) WRITE_LONG BATTLE_CRY3 (BNOT 0x0) WRITE_LONG BATTLE_CRY4 (BNOT 0x0) WRITE_LONG BATTLE_CRY5 (BNOT 0x0) WRITE_LONG HURT (BNOT 0x0) WRITE_LONG AREA_FOREST (BNOT 0x0) WRITE_LONG AREA_CITY (BNOT 0x0) WRITE_LONG AREA_DUNGEON (BNOT 0x0) WRITE_LONG AREA_DAY (BNOT 0x0) WRITE_LONG AREA_NIGHT (BNOT 0x0) WRITE_LONG SELECT_COMMON1 (BNOT 0x0) WRITE_LONG SELECT_COMMON2 (BNOT 0x0) WRITE_LONG SELECT_COMMON3 (BNOT 0x0) WRITE_LONG SELECT_COMMON4 (BNOT 0x0) WRITE_LONG SELECT_COMMON5 (BNOT 0x0) WRITE_LONG SELECT_COMMON6 (BNOT 0x0) WRITE_LONG SELECT_ACTION1 (BNOT 0x0) WRITE_LONG SELECT_ACTION2 (BNOT 0x0) WRITE_LONG SELECT_ACTION3 (BNOT 0x0) WRITE_LONG SELECT_ACTION4 (BNOT 0x0) WRITE_LONG SELECT_ACTION5 (BNOT 0x0) WRITE_LONG SELECT_ACTION6 (BNOT 0x0) WRITE_LONG SELECT_ACTION7 (BNOT 0x0) WRITE_LONG SELECT_RARE1 (BNOT 0x0) WRITE_LONG SELECT_RARE2 (BNOT 0x0) WRITE_LONG CRITICAL_HIT (BNOT 0x0) WRITE_LONG CRITICAL_MISS (BNOT 0x0) WRITE_LONG TARGET_IMMUNE (BNOT 0x0) WRITE_LONG INVENTORY_FULL (BNOT 0x0) WRITE_LONG PICKED_POCKET (BNOT 0x0) WRITE_LONG HIDDEN_IN_SHADOWS (BNOT 0x0) WRITE_LONG SPELL_DISRUPTED (BNOT 0x0) WRITE_LONG SET_A_TRAP (BNOT 0x0) WRITE_LONG BIO (BNOT 0x0) WRITE_EVALUATED_ASCII 0x34 ~%DEST_RES%~ #8 /* small portrait */ WRITE_ASCII 0x248 ~None~ #8 /* override AI script */ WRITE_ASCII 0x250 ~None~ #8 /* disable class AI script */ WRITE_ASCII 0x258 ~None~ #8 /* disable race AI script */ WRITE_ASCII 0x260 ~None~ #8 /* disable general AI script */ WRITE_ASCII 0x268 ~None~ #8 /* disable default AI script */ WRITE_EVALUATED_ASCII 0x2cc ~%DEST_RES%~ #8 /* dialogue */ WRITE_EVALUATED_ASCII 0x280 ~%DEST_RES%~ #32 /* death variable */ END Easy, huh? With this predefined snippet of code I can slap most of the .cre silent, set the portrait and dialog and dv and anything else I want to the name of the .cre, disabled the scripts I don't want - everything in one swoop. DEFINE_PATCH_MACRO basically says "here is a list of things I want to do within a patching operation". Putting it at the top of your mod or component means later on, instead of writing it all out or copying and pasting blocks, you can refer to it buy using LAUNCH_PATCH_MACRO. Now, how can we leverage this a bit more, to make life easier? We have to come up with a way to set some of the choices above to "variables", so we can... duh... vary them. We actually already have, because we have leveraged the bigg's WeiDU variables, %DEST_RES%, which equals the name of the resource being worked on by the code at the moment (See Mike1072's post below for a clearer explanation of this). Let's play with this idea for Aran. First off, we want 4 basic choices, as we have said before - Tinker, Tailor, Soldier, Spy (Dual-Classable stats for Ftr->Mage, Ftr->Cleric, Fighter, Ftr->Thief). We would also like to be able to choose some basic equipment and armor, and perhaps roleplay the level of gear he has. We also need a "yeah, whatever - stop messing about and just install the damned NPC and let's get on with it" option. But we can make it much more far-reaching than that. We can let the user choose some of the input.
  6. WARNING: some mature content might leak in - I'm having trouble screening out what is and isn't, so there may occasionally be RL swearwords or soem stuff. And I print the word "sex". That means it may or may not be cool for young kids in your household. Just a friendly reminder, just in case. The followup posts in this thread go for the "pre-joined, just summoned, but we have to catch up the NPC and Player" ToB initial dialog. I borrowed standard BioWare™ naming conventions, so C-ARN25A. But before that, as I am short on time (and my lunch time is rapidly disappearing), two preliminary constructs to play with. /* Added ToB "PID Started by another NPC" calls. In ToB, I am sticking with the Canonical BioWare™ and a standard "IsGabber/<TOKEN>" block to cover any of the others, but Sarevok might be fun to play with: */ CHAIN ~C-ARN25J~ a2676 ~[ARAN] What do you want, Sarevok?~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",0)~ THEN ~[ARAN] I'd be right happy to lend you a dagger. You could slit your gods-blighted throat, an' make us all a great deal happier.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",1)~ THEN ~[ARAN] You have no ability to make children, right? On account o' I think Faerun has blighted well had enough wi' just one o' you.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",2)~ THEN ~[ARAN] I want nothin' out o' you but breathin'. Strike that... I meant to say, I want you to quit breathin'.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",3)~ THEN ~[ARAN] Why don't you die already, an' go take over some nice corner o' th' nine hells, like a good little bastard? Wait... done forgot. You tried that, an' failed.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",4)~ THEN ~[ARAN] You got yourself a strikin' face, there. Hold still, an' I'd be right happy to strike it. Mayhap I might even stop after a bit.~ == C-ARN25J IF ~Global("c-aransarspar","GLOBAL",5)~ THEN ~[ARAN] Look, you stinkin' power-hungry evil bastard, I only put up wi' you on account o' <CHARNAME>'s wishes. Don't sleep too sound, or I might forget what <PRO_HESHE> done said, an' rid us all o' your unnatural presence.~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",0)~ THEN ~[sAREVOK] You would be more amusing, sellsword, if you were not so weak.~ DO ~SetGlobal("c-aransarspar","GLOBAL",1)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",1)~ THEN ~[sAREVOK] The barking of stray dogs does not bother me, sellsword.~ DO ~SetGlobal("c-aransarspar","GLOBAL",2)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",2)~ THEN ~[sAREVOK] Ah, the breaking of wind. The sellsword must be talking again.~ DO ~SetGlobal("c-aransarspar","GLOBAL",3)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",3)~ THEN ~[sAREVOK] If you wish to act in <CHARNAME>'s best interest, fall on your sword now. Take care not to place it near your head, though, as it might not do enough damage on so hard a rock as that.~ DO ~SetGlobal("c-aransarspar","GLOBAL",4)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",4)~ THEN ~[sAREVOK] Ah, the mewling of an infant who realizes he will never be a powerful force to be reckoned with.~ DO ~SetGlobal("c-aransarspar","GLOBAL",5)~ == SAREV25J IF ~Global("c-aransarspar","GLOBAL",5)~ THEN ~[sAREVOK] I merely wished to see if you had become more inventive in your invective. Sadly, you have the wit of a dull dagger.~ EXIT /* OK, then came the little matter of ToB Joining dialog, and how to set things for Romance. For male PCs, this really doesn't matter. Aran can pick up and run with it. But for female PCs, the same problem Berelinde had with going between BG1 and BG2 with Gavin gets into play here. We have three "Fate Spirit" summons for female PC's, allowing declaration of "friend", "lover", and "former lover", setting the romance variable to 0, 2, or 3. But with the in-depth content in play in BG2, it makes it difficult to follow further whether they have had an on-again off-again relationship, or what they have done together. Plus... I might just back that off to two - and let players 'configure' Aran, the way Mass Effect 2 does for non-saved-game-import games. I don't know if this is better served by having someone else have the conversation, but since I can't be sure that it isn't just PC and Aran going it alone, it seems like i am stuck with either a "Dear Diary" talking object approach, where PC talks to herself (which I am not so fond of) and PC directly checking and controlling Aran through dialog. There is another consideration - testing. Basically, after each opportunity to flirt or lovetalk or whatever, I want an easy way of determining the status of the relationship without always having to type in the CLUAConsole (because I sink at typing). And a very common player post is about how to set or change the romance variables, or check on them. So, an opportunity that is more in-depth than the standard PID "breakup, flirt, no flirt" options... something that during joining, rejoining, and regular play the player can use to check on (and perhaps change) the status. If playtesters dislike it, we can always drop it - it does mean that a player can "change history" on the fly the way it is currently coded. That might be useful for testing, but might not be so cool in play. Copies go in pre-joined ToB, Joined ToB, Post-Joined ToB, Post-Joined SoA, and Joined SoA. Initiating links could loop in anywhere, but this probably is best set up as a PID option "status check". Still to integrate: c-aranfirstsex = 1 : self-identified no experience (no need to look for whether or not RE content, etc. is in play - leaves the option for play as a manipulative PC "Oh, I have never done this before" is something that could be said many many ways) idea presented by Autumn Bard - mirrors some of the close tracking of progress in Berelinde's Gavin and Jastey's Ajantis. c-aransex = 0 : no intimacy c-aransex = 1 : kissing c-aransex = 2 : touching + kissing c-aransex = 3 : heavy innuendo touching ("petting") c-aransex = 4 : full physical intimacy So, a dialog for checking ++ ~[PC] Before we go any further, Aran... what do you think our "relationship" is?~ + tob_a2699 */ /* Aran... what do you think our "relationship" is? Resetting for players for ToB, but might double as a recheck via PID on both SoA and ToB. Useful for testing, anyways. */ CHAIN C-ARN25A a2694 ~[ARAN] Well now, let me think a bit... our relationship. Put a lad on th' spot, eh?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-aranfight","GLOBAL",0)~ THEN ~[ARAN] Currently, we be fightin' mad at eachother, or so it seems.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-silencearan","GLOBAL",0)~ THEN ~[ARAN] You done told me to quit makin' all sorts o' random comments.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) !Global("c-aanoconflict","GLOBAL",0)~ THEN ~[ARAN] You done told me I should be leavin' Anomen alone an' not fightin' wi' him.~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? I think even be friends. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? You done told me no sellsword has th' right to be called "freind". Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",1)~ THEN ~[ARAN] You haven't told me to not try a bit o' sparkin' from time to time. Then again, You done got a huge amount to think about lately. I think we be friends, more's th' pity. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",0)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into a kiss or two someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",1)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into more than a kiss or two someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",2)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. Mayhap I can coax you into somethin' more than kissin' an' touchin' someday. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",3)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. I can rightly say I live for th' times when we get physical wi' eachother. Mayhap someday we will take that final step. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",4)~ THEN ~[ARAN] We might rightly be called 'involved', I think. I am not sure what you get out o' th' deal, but I'm not rightly complainin'. An' I won't never forget spendin' time wi' you all tangled up, explorin' everythin'... why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1) Global("c-aranrom","GLOBAL",3)~ THEN ~[ARAN] I seem to not have ticked you off to th' point wheree you drop me for good, eh? I think we even be friends. We could have a bit more, but I guess things didn't work out th' way you wanted. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,MALE) !HasItemEquiped("belt05",Player1) Global("c-apcdeclaresellsword","GLOBAL",0)~ THEN ~[ARAN] You haven't told me to bugger off permanent, though you do seem a trifle short wi' me from time to time. Then again, You done got a huge amount to think about lately. I think we be friends. Why do you be askin'?~ == C-ARN25A IF ~Gender(Player1,MALE) !HasItemEquiped("belt05",Player1) Global("c-apcdeclaresellsword","GLOBAL",1)~ THEN ~[ARAN] You told me to not try to confuse things by bein' friends, so we be supposed to keep to th' professional side. You command, I follow. Then you pay me. Why do you be askin'?~ == C-ARN25A IF ~HasItemEquiped("belt05",Player1)~ THEN ~[ARAN] Hey... you know, I be havin' one hells o' a blighted time figurin' out just what I think o' our relationship. I mean, that belt... it confuses me right proper, it do.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] I was just wondering.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] Oh, I just thought you might realize that I depend on you as one of my closest friends. I may not treat you exactly the way you would like, but I count on you..~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",0) !HasItemEquiped("belt05",Player1)~ + ~[PC] No sellsword ever has the right to call me "friend".~ DO ~SetGlobal("c-apcdeclaresellsword","GLOBAL",1)~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1) !HasItemEquiped("belt05",Player1)~ + ~[PC] It is good to know that you know your place.~ EXIT + ~Global("c-aranrom","GLOBAL",0) Global("c-apcdeclaresellsword","GLOBAL",1) !HasItemEquiped("belt05",Player1)~ + ~[PC] In your case, I will make an exception. I think we are friends.~ DO ~SetGlobal("c-apcdeclaresellsword","GLOBAL",0)~ EXIT + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think we have headed down the wrong path, Aran. Let's just be friends.~ DO ~SetGlobal("c-aranrom","GLOBAL",3)~ + a2661 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think I am... very interested in you. Romantically speaking.~ DO ~SetGlobal("c-aranrom","GLOBAL",2)~ + a2698 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think we could be together, if you were discreet. I have other lovers who are much less forgiving than you. Play by my rules, and we might just see what happens...~ DO ~SetGlobal("c-aransummoned","GLOBAL",2)~ + a2652 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I think I am... interested in you. But I don't like things to move so fast. Perhaps we should be friends, and explore becoming more?~ DO ~SetGlobal("c-aranrom","GLOBAL",1)~ + a2697 + ~Gender(Player1,FEMALE) !HasItemEquiped("belt05",Player1)~ + ~[PC] I can't believe you have forgotten all of the passion. You are so physical, but you can't remember with whom?~ EXTERN C-ARN25A a2695 + ~HasItemEquiped("belt05",Player1)~ + ~[PC] Just checking.~ EXIT APPEND C-ARN25A IF ~~ a2695 SAY ~[ARAN] Mayhap I have been knoocked on th' head, but I am sure I would remember anythin' to do with you, <CHARNAME>. I... why, what do you know that I don't?~ ++ ~[PC] You remember it corrrectly, Aran. I was just teasing you.~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except.. well, I thought we had a few stray glances, and the way your eyes look at me, I think you want more than just a little friendship. Nothing has really happened.~ DO ~SetGlobal("c-aransex","GLOBAL",0)~ + a2697 ++ ~[PC] Shall I jog your memory, and describe some of the things we have done together?~ + a2696 ++ ~[PC] No. I think you have it just the way I want it. Thank the gods for memory lapses.~ + a2697 END IF ~~ a2696 SAY ~[ARAN] I would love that.~ ++ ~[PC] You remember it corrrectly, Aran. I was just teasing you.~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except the stray glances, whispers, and the way you look at me. It is like you are hungry, but not for food.~ DO ~SetGlobal("c-aransex","GLOBAL",0)~ + a2697 ++ ~[PC] You remember it corrrectly, Aran. All except the bold glances, whispered converstaions, and some very deep kisses.~ DO ~SetGlobal("c-aransex","GLOBAL",1)~ + a2698 ++ ~[PC] You remember it corrrectly, Aran. All except the stolen whispered converstaions, the feel of your fingers tracing runes my body, the feel of the bare skin of your chest under my palms... and kisses that set us both on fire.~ DO ~SetGlobal("c-aransex","GLOBAL",2)~ + a2698 ++ ~[PC] Aran... we have spent so much time together, the only thing we haven't done is... ~ DO ~SetGlobal("c-aransex","GLOBAL",3)~ + a2698 ++ ~[PC] Aran... I know the touch of you, the feel of all you, and that little strained look you get just before you... ~ DO ~SetGlobal("c-aransex","GLOBAL",4)~ + a2698 ++ ~[PC] No. I think you have it just the way I want it. Thank the gods for memory lapses.~ + a2697 END IF ~~ a2697 SAY ~[ARAN] Well, you had me off balance, there. I be right happy we both agree. I was worried, mayhap because any time a woman asks about 'relationship status', there be a powerful lot o' pitfalls an' traps a lad can fall into, eh?~ IF ~~ THEN EXIT END IF ~~ a2698 SAY ~[ARAN] I can stop you right there, with a kiss. I can't rightly forget anythin' about us, but it sure does feel good to hear you speakin' o' us like this. I was just a mite off balance, is all. Mayhap because any time a woman asks about 'relationship status', there be a powerful lot o' pitfalls an' traps a lad can fall into, eh?~ IF ~~ THEN EXIT END END // of APPEND
  7. OK, not a lot of activity on the boards, because what free time I do have is being invested in writing/rewriting. Plus, the nature of lots of small files built over five minutes here, ten minutes there... let's just say that the first alpha was notable only in the fact that it installed. In fact, it installed only due to triage, where sections that will eventually be linked were capped off with a temporary state easy to find and replace: IF ~~ PLACEHOLDER SAY ~[CMORGAN] PLACEHOLDER~ IF ~~ THEN EXIT END I should have written that as IF ~~ PLACEHOLDER SAY ~[CMORGAN] YO, IDIOT... FINISH THIS BEFORE 2020 AD. OR THE HEAT DEATH OF THE UNIVERSE.~ IF ~~ THEN EXIT END But, since I have only a few minutes here before work once again swarms over me, here is some work in progress dealing with both quest materials and areea dialog for the new tavern Berelinde has graciously created for me. I thought I had quest stuff up here, but can't take the time to search right now, so if i am overlapping myself, so be it. he first question I think was answered elsewhere - Q: Does Aran have a quest? A: Hells, no. What could possibly be the point of adding yet another friend to be rescued, ex-lover to exact revenge upon, or "I must do this or leave you FOREVAR"? It makes sense for some of the other NPCs out there. For example, Gavin not resolving family issues before potentially being removed from the very weave of existence would be just plain stupid. Decent dads don't say "Yo, might be hideously imprisoned in the depths of hell for the next two centuries, because that's how <CHARNAME> is rolling these days. There's a PB&J on the table, Lanie. If I am not back in two days, go find someone else to take care of you." Some other NPCs I have less understanding of why it is so important that they deal with the quests, but that is actually true in the game, too... Watcher's Keep is a nice little dungeon, but it never made in-game sense to me in terms of the plot. "Hey, the world is falling apart, and you are dealing with all sorts of bhaalspawn opponents... take a load off, and visit the Temple of doom. All the experience and loot you can gather, for a low, low price. Act now! Limited time offer!". Q: Does having Aran in the party add more quest content? A: Hells yes. An established mercenary will be on the lookout for contacts, job opportunities, adventures to join in, loot to gather, all the normal stuff that makes coin. It just is likely to be a little more mundane and simple stuff. Your average merc deals with trivial stuff, for very low pay. You know - "Stand here and look tough. Oh, and did i mention, though your pay is only a few copper coins a day, i never actually paid off the Thieve's Guild, so there might be an attack today?" Or worse... "Lady Kinsa needs a package taken over to lord so and so, and she really wants it delivered without anyone looking into it. Go take care of that". So, what can we come up with? Contact 1: Orrin, tavern keeper and Jeweler(*cough* fence). Simple FedEx quest, the meat of any regular life. Pick up critical tax paperwork, make sure it gets into the right hands, return with rec't. The equivalent of being a Brinks Truck, only for paperwork. Contact 2; Teldra, mercenary recruiter. This one is trickier. What makes sense in-game? Her usual gig would be to send them to Maztica, or assign the party to one of the many Bhaalspawn armies ad such recruiting during game events. That takes the party out of play, which is silly. So, lots of allusions to potential work, but not much in the way of useful stuff... but there are two loopholes that spring to mind. 1. magic is bad, banned, and deviant. But Cowlies will let anyone purchase a license, no questions asked. So what happens when a sage has limited book study of magic, and has logically worked through all the things needed for a cute little research project "on paper", concerning a certain set of writings about this malevolent being? I could subtitle this "Holmes on Homes", or "Why You Need A Licensed Electrician To Install That New Lighting". I. Sage's Guild supports a research project, and Teldra contracts the party to go over there "just in case" something happens. Cute little project, simple enough - make sure some fool doesn't disturb me, oh big thug-like sellswords I know what I am doing - I graduated top of my class at Harvard, and that silly Oxford set really doesn't know what they are talking about. Besides, they talk with funny accents... Only it turns out the "research" involves someone with magical or bardic skill (or a decent amount of reading time in fantasy literature) might recognize as a scroll of summoning, or a book protected by a minor demon. Hilarity ensues, leaving the party with an interesting set of choices: a. if trouble realized, pursuade the researcher to stop; contract over, minor payoff, crisis averted, Miller Time™. b. if trouble realized, have a minor "accident", wherin said researcher accidentally falls head first into his vat of ink, after having somehow bound himself tightly and fallen head-first out of a third-story window. Twice. c. do the job right, allowing research to continue, and be faced with a new set of quandries: Run. Screw this gig - a few gold coins to face *THAT*? I am breaking this contract, and quick! Negotiate. Heya, big fellow - answer a few questions, and we will let you take this silly researcher as a prize. It is a win - win scenario, and we all go home happy! So, this place they call 'Spellhold'... any idea where it is? Fight. Back, foul fiend! Though I am armed with but a paper mache sword and a few rotting clubs, I shall defend this poor researcher unto the death! (Hey, i never said i was smart. Just dedicated. A job's a job, right?). negotiate with winning charm and insider knowledge, and/or the wisdom of Soloman (because hey, this is FR, and anything might be possible) [available to high charisma/intelligence/wisdom PCs] - find a win-win situation where the researcher gets his information, the protector/demon gets something he wants, and the party gets a contract completed without 92% casualty rate and the use of every spell and item available to them, just for a measly little 20gp a day rate. Well if they complete that, that might be a fun boss battle opportunity, or a fun roleplay opportunity. So what else might a happy headhunter do with someone who made an impossible situation right? Well, how about hand them a politically suicidal hot-button issue that noone else wants to touch? We could subtiltle this "Help, Help! I'm Being Repressed!" II. The Army doesn't want it. the Council wants nothing to do with it. The various Guilds have no real skin in the game... but this stupid guy has managed to tick off his tenants to the point that they are threatening to revolt. Well, techincally, as most of them have never really bathed and have the table manners of a Kobold, they are a little revolting already, but now they want to kick the idiot who rules their section out. Ordinarily, this would be the work of a few good regiments of the army, or perhaps a couple of Shadow Thief enforcers making some "suggestions".... but the idiot kid trying to make his mark as a lord is well connected, and the peasants are reasonably well Guild-connected themselves. So, enter the Contract Mercenary - Heads Bashed, Solutions Enforced. Have Mace, Will Travel. Options for resolution: Convince the kid to negotiate with the unwashed hordes, resolving the dispute and making everyone breath a great sigh of relief. A lousy payday and no loot, but job well done is its own reward, right? Just another day as a contract merc, unthanked, and underpaid, ready for a nice stiff drink and a good grousing session on why the world should be ruled by mercs, because civilians just don't understand how to solve problems. Convince the peasants that being unwashed is just fine, compared to being unwashed and pushing up daisies from underneath. Convince the kid that washing the peasants and perhaps even letting them eat once a week might improve profits - especially as it is hard to take any profit from them when a wannabe-landlord is explaining the sword run through his forehead to Kelemvor, who has heard it all before. The truly and uniquely mercenary option - get a contract from the noble to clobber the peasants, and one from the peasants to do away with the noble, and then confront them both. Now a merc is not an assassin, but perhaps if you play your cards right, both sides will be so upset that you had the audacity to do such a thing that they ignore the whole point of doing this (allowing a settlement to be enforced, as you have a valid contract from each side, so they can negotiate together or else), and they both join up together and attack you - wherin you get a contract finished, you get the experience, and you get to sell all their various body parts to the highest bidder. Hey, the contract said settle the dispute - it said nothing about keeping anyone out of harm's way! This set of ideas provides some fun, a battle (or not), some loot and experience (or not), and does not interrupt the flow of the game. Do these, or not - completely immaterial to the main plot, or Aran sticking around. Of course, if Aran isn't around, you did pay your union dues, didn't you? You didn't? Golly, gee... Teldra can contract with Aran, but if he is not around, she just can't pay off the party, now, can she?
  8. Commentary to follow, but basics - taking suggestions for better pathways/responses. /* APOLOGY: PC approaches ARAN while TIMERNOTEXPIRED - PC is seeking him out for an apology, either given or rec'd */ /* Aran Is Mad PID Responses (4 random) */ IF ~~ c-aranmad1 SAY ~[ARAN] (Aran glares at you, his face sullen and unresponsive. He moves away.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad2 SAY ~[ARAN] Hey, you be a mite pushy there. I'm not rightly happy. So leave me alone, unless it be business.~ ++ ~[PC] Fine. Be that way. I don't care.~ + a1232 ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] I'm sorry. I did not mean to make you angry.~ + c_pc_apology ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c-aranmad3 SAY ~[ARAN] (Aran studiously ignores you, stepping away and avoiding your eyes, his jaw set stubbornly.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad4 SAY ~[ARAN] We got nothin' to say to one another right now, <CHARNAME>. We got things to discuss, but now is not rightly the time.~ ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] (Burst into tears.)~ + c_pc_tears ++ ~[PC] Sulking? Oh, that is *so* adult.~ + a1232 ++ ~[PC] Fine. Be that way. I don't care.~ + c-aranmad1 END IF ~~ c_aran_is_still_mad SAY ~[ARAN] Look, I done got close enough to you to be able to be hurt. Don't you be thinkin' I am some toy what to screw with. A man's got some pride, though blighted little be left him after th' gods an' womenfolk done had their ways. Just leave me be for awhile.~ IF ~~ THEN EXIT END IF ~~ c_pc_tears SAY ~[ARAN] Hey, that be no fair. Hey... now, stop th' waterworks... you done hurt me a good bit there. I just need a mite bit o' space...~ ++ ~[PC] Fine. Be that way. I don't care. I hate you!~ + a1232 ++ ~[PC] I... I just wanted to apologise. I'm sorry if I hurt you. I didn't mean to.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are a moody, ridiculous egotistical brat, and I am beginning to think you will never grace my bed again.~ + c_aran_is_still_mad ++ ~[PC] A few tears, and you cave like an apprentice in his first year. Do you have any spine, or should I give you sometime to grow one?~ + c_aran_offended ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair ++ ~[PC] (Keep sobbing, burying your face in his shoulder)~ + c_you_dont_play_fair ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c_aran_offended SAY ~[ARAN] You ruddy hurtfull little vindictive... get away from me.~ ++ ~[PC] Look, this is coming out all wrong. I... I wanted to apologise.~ + c_pc_apology ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] Still sulking? Oh, that is *so* adult.~ + c-aranmad1 ++ ~[PC] So, you have a little spine. Good. When you come and apologise to me, just remember that I do not appreciate weaklings.~ + c-aranmad3 // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_pc_apology // PC flatters Aran ++ ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ + c_kiss_palm // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] I can't stand you glowering and silent, Aran. My time with you is too important. You make this all bearable. Please... I am sorry. Can't a handsome, wonderful man like you find it in your heart to fogive me?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. I didn't realize that I could hurt you like that. Will we be able to go bacjk to the way things were?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I apologise for getting you so angry.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] Can you forgive me? Do you think we are fine being with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] I don't know what I did to get you angry, but whatever it is can't really be important. So let's make up, alright?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] I mean, I am sorry you got all upset over nothing. I expected you to have a tougher skin.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_aran_offended + ~RandomNum(3,3)~ + ~[PC] Don't you have something to say to me? like "I'm sorry, <CHARNAME>, for not understanding how you want things to be"?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] I know I am not the best at making apologies, but... I... (begin to cry.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. I didn't mean to hurt you. You are very important to me.~ + c_cry_not_fair END IF ~~ c_kiss_palm SAY ~[ARAN] (He draws your hands to him, holding them close to his chest.)~ = ~[ARAN] Aye, it does answer it right well. An' I be a right happy man.~ IF ~~ THEN EXIT END IF ~~ c_you_dont_play_fair SAY ~[ARAN] <CHARNAME>... You don't rightly play fair, now, do you.~ = ~[ARAN] (He draws you close into his embrace, his lips barely brushing your ear.)~ = ~[ARAN] I don't even rightly remember what it was all about, nohow. Fine. I guess it be a waste o' time to be mad at you anyways, seein' as you done got me, hook, line, an' sinker.~ IF ~~ THEN EXIT END IF ~~ c_pc_i_can_make_it_worth_it SAY ~[ARAN] Fine. I be here, like a good little blighted sellsword.~ ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] I was wrong. I don't believe in words without actions, so I am going to let you kiss me.~ + c_toying_with_me ++ ~[PC] I am sorry. I did not mean to hurt you. Can you forgive me?~ + c_it_was_nothing ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair // stop romance ++ ~[PC] Look... this is just not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. I think it would be best if you left the party for awhile, to go settle your head.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] You are such a pain to deal with. None of this is working the way I want. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_it_was_nothing NOT_YET_BUILT END /* APOLOGY: ARAN approaches PC after TIMEREXPIRED - Aran is seeking PC to give an apology */ /* Remember to remove the GTE to .BCS */ /* Remember to place note in docs: If you make up with Aran after fighting, just like most dudes, he will try to be overly physical in his demostrations immediately post fight. At least that is the rationale I am presenting for why his NPC-Initiated Flirts get set to run, even though a player has told him she doesn't want hem... players will have to tell him to stop flirting again via PID after making up. */ IF ~Global("c-aranfight","GLOBAL",1) GlobalTimerExpired("c-aranismad","GLOBAL")~ THEN BEGIN c-aranmakeup1 SAY ~[ARAN] Hey... I am right sorry.~ IF ~RandomNum(3,1)~ THEN GOTO c-aran_1_makeup IF ~RandomNum(3,2)~ THEN GOTO c-aran_2_makeup IF ~RandomNum(3,3)~ THEN GOTO c-aran_3_makeup END IF ~~ c-aran_1_makeup // 7 to 11 responses SAY ~[ARAN] I know I have been mad, but I should know better. You call th' shots, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] Not really. I should have <PLAYER2> beat you senseless. I would do it, but I think it is beneath my notice.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I can't believe you just walked away angry like that. I should have <PLAYER3> pound some sense into you.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] No. You should be careful, Aran. <PLAYER4> might be convinced that you hurt me, and then where would you be?~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] No. I do not understand why you were so angry. I asked <PLAYER5>, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I accept your apology.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You will have to do better than that as an apology, Aran. Go away until you can apologise properly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_2_makeup // 8 to 12 responses SAY ~[ARAN] I just got so... so mad, I didn't rightly know how to handle it. You mean a good bit to me, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> thinks you are an ass.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I thought we understood each other. <PLAYER3> would have understood me better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't understand why you got so upset. If i were arguing with <PLAYER4>, he would never walk away from me like that.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] You got so angry, over so little. I asked <PLAYER5> if all men were like that, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] Go away, Aran. I don't want to talk to you right now.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] Don't you think I deserve a better apology than that? Perhaps you should be kneeling, or groveling, or something more suitable?~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] You should be crawling to me on your hands and feet. Actually, you should be kissing my feet, and begging me for forgiveness.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Do you really think I will accept such a lackluster performance? No gifts. No flowers. No chocolate. No clue. That isn't an apology - that is an insult.~ + c_3_aran_grovel // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_3_makeup // ok, some fun with girltalk, but don't laugh - my experience with girltalk is a teacher's lounge in primary and secondary eductaion, and from the outside looking in! SAY ~[ARAN] I get so worked up over you sometimes, it jsut seems a bit like I be drownin'. I don't have no hold or call over you, but sometimes I start thinkin' like I do. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> would never turn his back on me, no matter what I did.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] Why don't you go ask <PLAYER3> how a real man apologises. Even he could do better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't know. <PLAYER4> would never treat me like you do.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] Why don't you go off and do manly things with <PLAYER5>. You don't need me around, anyways. After all, I am just a silly little girl who doesn't know how to keep you happy.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] <PLAYER6> says I am too important to be given the silent treatment, but I told him it didn't matter. I am not worth talking to, anyways.~ + c_dont_be_that_way // Another female as foil + ~Gender(Player2,FEMALE) !Name("edwin",Player2) !Name("aerie",Player2) !Name("viconia",Player2) !Name("jaheira",Player2)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) !Name("edwin",Player3) !Name("aerie",Player3) !Name("viconia",Player3) !Name("jaheira",Player3)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) !Name("edwin",Player4) !Name("aerie",Player4) !Name("viconia",Player4) !Name("jaheira",Player4)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) !Name("edwin",Player5) !Name("aerie",Player5) !Name("viconia",Player5) !Name("jaheira",Player5)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) !Name("edwin",Player6) !Name("aerie",Player6) !Name("viconia",Player6) !Name("jaheira",Player6)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("aerie",Player2)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("aerie",Player3)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("aerie",Player4)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("aerie",Player5)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("aerie",Player6)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("viconia",Player2)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("viconia",Player3)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("viconia",Player4)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("viconia",Player5)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("viconia",Player6)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("jaheira",Player2)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("jaheira",Player3)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("jaheira",Player4)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("jaheira",Player5)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("jaheira",Player6)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, or what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_4_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand. Perhaps you should just sulk and stew by yourself for a few days.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] Go away, Aran. You shut me out. I don't care what I did, or what you did... I just don't ever expect to be given the cold shoulder, ever.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] I do not hear anything worth hearing. You can go drown, for all I care.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_dont_be_that_way // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 END IF ~~ c_dont_be_that_way SAY ~[ARAN] Now, don't be that way, eh? I done said I was sorry...~ // make up + ~RandomNum(3,1)~ + ~[PC] No... wait. It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] Yes, you did. And... I guess that I should, too. I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think that is enough torture. Of course we are fine with eachother. In fact, we are more than fine. A little arguement isn't going to kill us.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_4_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand, and don't come to me before you have figured out what you did wrong.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] You never specified what you are sorry about. About the stars being in the sky? About you being an ass? About you not listening to my needs and wants?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] That is not enough. Words are never enough. I mean, you just talk, you don't do anything to back them up. You must hate me.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_I_dont_hate_u // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me by shutting me out.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c_1_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] I have had enough of your crap. Go on... go sulk for awhile. When you decide to grow up, come and talk to me again.~ + c_1_bugger_all END IF ~~ c_3_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] You are so... so... Go on. Go sulk, or pout, or whatever you want to do. I don't want to talk to you anyways! I... I hate you! (burst into tears)~ + c_2_bugger_all END IF ~~ c_1_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_we_are_through SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_you_are_out SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_I_dont_hate_u SAY ~[ARAN] ~ END IF ~~ c_cry_not_fair SAY ~[ARAN] Now, hey, wait... I be right sorry, eh? I just felt you were takin' advantage o' me right an' left, an' I... oh, for Tymora's Smile, stop wi' th' waterworks, eh?~ END
  9. When Good Ideas Go Bad: An Example of Dropping Material (Or Sending It To Be Chopped Up And Recycled) This one has been sitting around for awhile, gathering dust, since October 2008. Today's project was to see what could be salvaged, get the tutorial section on manipulating globals that was already written posted (though I am pretty sure this is already covered in other threads), and see where we are after over a year of periodically tweaking and puzzling through it. One of the advantages of having a trustworthy, discreet modder friend is that they are able to tell you when you are about to spend massive amounts of work on an idea that just doesn't cut it - and can even point you to ideas that you might be able to use. In this case, an early lovetalk had PC and Aran doing the friend thing where the guy and the girl are both out on the prowl for companionship, but have not really figured out that they might be compatible. As initially sketched, there was something compelling about it, but subsequent revisits showed more and more weaknesses with the talk. The Talk Topic SidebarThis "talk about the possibilities" is the Gold Standard™ trope from literature, TV, movies, and games - Taylor Swift 's "You Belong With Me" is one of the latest songs that play with this idea, but this one is as old as the hills themselves. Sometimes it works out, sometimes it doesn't, of course, which means it can be a friendtalk or a lovetalk, or for any gender. After all, there does not need to be mutual attraction to have the discussion. It is a staple of human communication - "window shopping" and looking for potential interests for yourself or your friend or both. And usually in literature it is a pair of good friends who are too stupid/shortsighted/whatever to realize that the dude or dudette that has been a best friend is actually a perfect match romantically. Most of the other posts around here have tagged on this, and certainly used this, but let's run down ways we can tailor reactions to player choice in-game. All of this involves manipulating a particular kind of switch, a variable that in the i.e. engine is labels a "global", whether it is actually checked by the engine all the time across operating files ("GLOBAL"), only checked in reference to the active actor's script ("LOCALS"), or only checked when a particular area's script is running ("AREA"). Using Globals: Setting Options for Players Playing with Globals to Open Pathways within reply states The standard way to make sure a dialog takes note of outside circumstances is to set a global somewhere else and then refer to it. For example, IF ~Global("Aran_Likes_Imoen","GLOBAL",1)~ THEN REPLY ~[ARAN] So, Imoen. Want to go play hide an' seek?~ + newstate The idea here is that something has already set the global variable to 1, so the dialog can recognize that this decision has already been made elsewhere. BioWare™ has a small number of these set up that only reference a single variable being set without advancement, meaning that SetGlobal("Aran_Likes_Imoen","GLOBAL",1) in either a dialog state transition or a script block is the only reference point. This single global variable basically toggles the question "Does Aran Like Imoen?" to "yes". Then it can be referenced in other ways. It does not advance to another value, the way we like to code friendtalks and lovetalks, because there is no sequence - one question, quest, or path taken, one answer, all available to any script or dialog played ingame from that point on. You can set the line to play if a global is not set, too: Variables Can Create Or Reference a Decision for the PC or NPC IF ~Global("Aran_Likes_Imoen","GLOBAL",0)~ THEN REPLY ~[PC] So, Imoen. I hear Aran likes you alot. Want to go play hide an' seek with him?~ DO ~SetGlobal("Aran_Likes_Imoen","GLOBAL",1)~ + newstate sets up the question to be asked only if Aran has not expressed an opinion about Imoen. Following that pathway sets the variable to 1 (yes) and then we can reference the value for the rest of the mod, for any actor who wants to know. We could also make it only available to Aran, for his own use - all we have to do is change "GLOBAL" to "LOCALS" and then the global is "local'in scope, meaning only Aran can really reference it. We can't have Imoen get something set up on it, because she can't see it. And you thought only grade schoolers hid their feelings from eachother Variables Can Advance a Reference Point for the NPC Another way to play with this is to advance the variable for different stages of discussion: Dialog Variable Advancement IF ~Global("Aran_Likes_Imoen","GLOBAL",0)~ GOTO z100 IF ~Global("Aran_Likes_Imoen","GLOBAL",1)~ GOTO z101 IF ~Global("Aran_Likes_Imoen","GLOBAL",2)~ GOTO z102 // IF ~~ z100 SAY ~[ARAN] So, Imoen. Want to go play hide an' seek?~ DO ~SetGlobal("Aran_Likes_Imoen","GLOBAL",1)~ + cool_beans IF ~~ z101 SAY ~[ARAN] That was fun, Imoen. Want to go play checkers?~ DO ~SetGlobal("Aran_Likes_Imoen","GLOBAL",2)~ + its_your_money IF ~~ z102 SAY ~[ARAN] Imoen, that tight leather does some right wonderful things, it does. How about I buy you a drink?~ DO ~SetGlobal("Aran_Likes_Imoen","GLOBAL",3)~ + I_Like_Gavin_More_Plus_He_Needs_Me For an existing example of this in action, one source is BG1NPC's "Bardic Reputation" component and berelinde's work doing the same thing for BG2, designed to have different options based on how many times the bard has had the conversation, as well as using reputation and bglobls to determine cost and amount of adjustment available. This kind of dialog advancement can make it easy to simulate a long running debate or theme across several different (and even unrelated) conversations. Globals are usually set in a dialog or through a script block, and are referenced on a later dialog and block. Almost all tutorials out there talk about this, but for the most advanced extension of the ways to manipulate, redirect, and randomize pathways, I suggest a look at Zyraen's mods - he has some very involved treatments of dialog states that allow a player to have a new experience for multiple playthroughs. randomizing using scripts For scripts, the following is completely possible: Script Variable Randomization IF Global("Aran_Likes_Imoen","GLOBAL",0) THEN RESPONSE #20 SetGlobal("Aran_Likes_Imoen","GLOBAL",1) StartDialogNoSet(Player1) THEN RESPONSE #20 SetGlobal("Aran_Likes_Imoen","GLOBAL",2) StartDialogNoSet(Player1) THEN RESPONSE #20 SetGlobal("Aran_Likes_Imoen","GLOBAL",3) StartDialogNoSet(Player1) THEN RESPONSE #20 SetGlobal("Aran_Likes_Imoen","GLOBAL",4) StartDialogNoSet(Player1) THEN RESPONSE #20 SetGlobal("Aran_Likes_Imoen","GLOBAL",5) StartDialogNoSet(Player1) END which means that for one script block, five different and separate dialogs could take place, with the corresponding global in the dialog states called: IF ~Global("Aran_Likes_Imoen","GLOBAL",1)~ THEN BEGIN AranLikesImoen1 SAY ~[ARAN] So, Imoen. Want to go play hide an' seek?~ IF ~~ THEN EXIT END IF ~Global("Aran_Likes_Imoen","GLOBAL",2)~ THEN BEGIN AranLikesImoen2 SAY ~[ARAN] That was fun, Imoen. Want to go play checkers?~ IF ~~ THEN EXIT END IF ~Global("Aran_Likes_Imoen","GLOBAL",3)~ THEN BEGIN AranLikesImoen3 SAY ~[ARAN] Imoen, that tight leather does some right wonderful things, it does. How about I buy you a drink?~ IF ~~ THEN EXIT END IF ~Global("Aran_Likes_Imoen","GLOBAL",4)~ THEN BEGIN AranLikesImoen4 SAY ~[ARAN] You know, I never asked how things were back in Candlekeep. Did you have to wear a French Maid costume while cleaning up?~ IF ~~ THEN EXIT END IF ~Global("Aran_Likes_Imoen","GLOBAL",5)~ THEN BEGIN AranLikesImoen5 SAY ~[ARAN] OK, how about a little game of "how long can you hold your breath". Close your eyes, hold your breath, pucker your lips, and we can time how long it takes me to kiss you.~ IF ~~ THEN EXIT END In each of the above, the dialog plays once. In the sequential global of BG1NPC's "Bardic Reputation" component, future visits will recognize the global being advanced, and give new responses in place of the old, topping out at the third. In the second example, with a script block initiating one of five different possible responses, the script block only plays once, with the variable advanced to either 1, 2, 3, 4, or 5 - thus leaving a global setting for other dialogs or script blocks to call on, refining choices later. For example, if we wanted to pick up on what Aran said in a later banter, a quick check lets us tailor the content: CHAIN == ~IMOEN2~ IF ~Global("Aran_Likes_Imoen","GLOBAL",1)~ THEN ~[iMOEN] Hah! I taught you not to mess with me, Aran. Remember that game of hide and seek? You couldn't find me for two hours!~ == ~IMOEN2~ IF ~Global("Aran_Likes_Imoen","GLOBAL",2)~ THEN ~[iMOEN] I suppose you want another game of checkers. But this time, none of that "I get a kiss every time you king me"...~ == ~IMOEN2~ IF ~Global("Aran_Likes_Imoen","GLOBAL",3)~ THEN ~[iMOEN] No way, Aran. I still remember that tired old pickup line you used on me. 'That tight leather does some right wonderful things, it does'? You need to do better if you are going to attract my sister's attention!~ == ~IMOEN2~ IF ~Global("Aran_Likes_Imoen","GLOBAL",4)~ THEN ~[iMOEN] Go away, Aran. I am still mad about that French Maid outfit crack. And you never did explain about this mythical "France", as you called it.~ == ~IMOEN2~ IF ~Global("Aran_Likes_Imoen","GLOBAL",5)~ THEN ~[iMOEN] I thought the last time you tried some kind of silliness on me, I slapped you but good. Back for more?~ The equivalent in the dialog state is the use of RandomNum(#,#). Here, only one reply will show upon any given run through the dialog, pulled from the three available states: IF ~RandomNum(3,1)~ THEN GOTO z100 IF ~RandomNum(3,2)~ THEN GOTO z101 IF ~RandomNum(3,3)~ THEN GOTO z102 IF ~~ z100 THEN BEGIN z100state SAY ~[ARAN] So, Imoen. Want to go play hide an' seek?~ IF ~~ z100 THEN BEGIN z101state SAY ~[ARAN] That was fun, Imoen. Want to go play checkers?~ IF ~~ z100 THEN BEGIN z102state SAY ~[ARAN] Imoen, that tight leather does some right wonderful things, it does. How about I buy you a drink?~ END Layering this can get you into intricacies that can be incredibly tightly tailored to situation, player choices, and even in-game variables like chapter or quest conclusion. I think the most comprehensive existing model is Jastey's Ajantis PID in BG1NPC and her BG2 Ajantis mod, tied with Domi's SharTeel and Coran PIDs in the same project, followed by berelinde's Gavin. Domi's Kivan for BG2 makes similar use of the model, and is a good place to compare and contrast across each of these modder's implementations. Of course, it also introduces lots of difficulty in troubleshooting, which is why if you can you should probably build a variable map before you get very far into playing this, so you don't forget. I do a bad job of this - berelinde does a very good job of this. Do, or do not, it is a choice you make, but if you have the patience for it I bet you will save yourself lots of troubleshooting time if you do. I keep having to go bakc and review choices because my map is scattered. Narrowing the Choices So far, each of the above code expands pathways and makes information on player choices available to other talks later on. But what about within the same talk? How do we make sure a pathway taken can influence later choices? Most situations do not need such tight attention. A talk that has different replies simply creates the branch pathways, and that is the end of it: example 3 /* Dialog Initiated */ IF ~Global("c-aranbg2rom","GLOBAL",5)~ THEN BEGIN c-aranbg2rom3 SAY ~[ARAN] Hey, <CHARNAME>, you are a girl...~ IF ~~ THEN REPLY ~[PC] Actually, I am a woman. Usually everyone stops calling us "girls" after we leave apprenticeship age behind, unless you are a dwarf. But you were saying?~ DO ~<<set_timers_and_advance_global>>~ + girls IF ~~ THEN REPLY ~[PC] Someone inform the Sages of Candlekeep - Aran has discovered the difference between boys and girls!~ DO ~<<set_timers_and_advance_global>>~ + sages IF ~~ THEN REPLY ~[PC] Is this the start of a personal discussion? I am not in the mood for smalltalk.~ DO ~<<set_timers_and_advance_global>>~ + forgetit END /* Pathway 1: Offended PC */ IF ~~ girls SAY ~[ARAN] Sometimes that seems like th' best picture o' all, <CHARNAME>. At least the sparkin' - not so much the squallin' babes what result.~ IF ~~ THEN GOTO pathway1 END /* Pathway 2: Joking */ IF ~~ sages SAY ~[ARAN] Well, come to think o' it, I did notice a mite bit o' difference...~ IF ~~ THEN GOTO pathway2 END /* Pathway 3: Go Away, Sellsword */ IF ~~ forgetit SAY ~[ARAN] Right, then. Sorry to bother you.~ IF ~~ THEN GOTO pathway3 END There are some situations, though, where building the dialog manually through pathways becomes a tangled web. In regular conversation, something like For this, since you are basically looping back to the same question over and over again until the player chooses a choice that advances the dialog, it would be great to do this: Coded like this, the state looping_block will always look the same. All three choices will remain. So using a global within the talk, like example 1, looks like a good way to screen out pathways that the player has already taken. It sounds logical - set the variable, and then let the next state rely on that variable. The problem is, it doesn't work exactly like that. Setting a "GLOBAL", "LOCAL", or "AREA" global all takes time to be able to be registered with the game and referenced in the same dialog. If you set a variable in one dialog state, you need at least one and one half (which means really two states - the reply state, and an additional intermediate state) to allow time for the global to set and be recognized by the talk it is in. So, what does this look like in code? Why don't we play with a talk designed to allow players to explore various romantic possibilities in-party for an NPC, Aran. The loop is entered through c-aranbg2rom3frequenting for dialog purposes, because we have to lead into the coversation differently that you would come back to the same idea: A. IF ~~ c-aranbg2rom3frequenting SAY ~[ARAN] So probably my best best don't rely on frequentin' inns along the way. The best bet might be look at th' ladies I see every day, an' perhaps there's somethin' more than just straight comradeship.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END B. The entry block des not need a filter block, because the first time through the dialog. But here is the filter block, to be passed through on the way back to c-aranbg2rom3someoneelse: IF ~~ c-aranbg2rom3challenging1 SAY ~[ARAN] That makes it a mite o' a challenge, eh?~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END C. Here is the workhorse, allowing dialog to reflect the potential matches within the party. The player can reject all choices by selecting reply 0 or reply 1, advancing the dialog. She is also given the opportunity to roleplay the evaluations, just to see what Aran thinks - a common enogh friendly conversation. A quick reminder: with PC and Aran, there is a maximum possible number of possible party-joined NPCs to discuss of 4. If they are all female distributed NPCs, there are 6 conversational choices facing Player1. It is much more likely there will be two or only one - in a canonical "good" party, for example, there will probably only be Aerie and Jaheira. IF ~~ c-aranbg2rom3someoneelse SAY ~[ARAN] Perhaps there might be someone around here, right under my nose...~ IF ~~ THEN REPLY ~[PC] I really do not think so, Aran.~ + c-aranbg2rom3remembered IF ~~ THEN REPLY ~[PC] She might be. Perhaps even about to put this nice cold water right down your back, to wake you up... ~ + c-aranbg2rom3remembered IF ~InParty("JAHEIRA") Global("c-jaheiramatch","LOCALS",0)~ THEN REPLY ~[PC] Jaheira? I thought you liked younger women.~ DO ~SetGlobal("c-jaheiramatch","LOCALS",1)~ + c-jaheiramatch1 IF ~InParty("AERIE") Global("c-aeriematch","LOCALS",0)~ THEN REPLY ~[PC] Who, Aerie?~ DO ~SetGlobal("c-aeriematch","LOCALS",1)~ + c-aeriematch1 IF ~InParty("IMOEN2") Global("c-imoenmatch","LOCALS",0)~ THEN REPLY ~[PC] Leave Imoen alone, Aran.~ DO ~SetGlobal("c-imoenmatch","LOCALS",1)~ + c-imoenmatch1 IF ~InParty("MAZZY") Global("c-mazzymatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Mazzy?~ DO ~SetGlobal("c-mazzymatch","LOCALS",1)~ + c-mazzymatch1 IF ~InParty("NALIA") Global("c-naliamatch","LOCALS",0)~ THEN REPLY ~[PC] Do you really think Nalia would be interested in you?~ DO ~SetGlobal("c-naliamatch","LOCALS",1)~ + c-naliamatch1 IF ~InParty("VICONIA") Global("c-viconiamatch","LOCALS",0)~ THEN REPLY ~[PC] The drowess. Riiiight. Tell me you are not considering Viconia, Aran.~ DO ~SetGlobal("c-viconiamatch","LOCALS",1)~ + c-viconiamatch1 IF ~InParty("R#ALLIS") Global("c-allisonmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Allison?~ DO ~SetGlobal("c-allisonmatch","LOCALS",1)~ + c-allisonmatch1 IF ~InParty("CMALORA") Global("c-aloramatch","LOCALS",0)~ THEN REPLY ~[PC] Alora?? You are joking, right...~ DO ~SetGlobal("c-aloramatch","LOCALS",1)~ + c-aloramatch1 IF ~InParty("Anishai") Global("c-anishaimatch","LOCALS",0)~ THEN REPLY ~[PC] Anishai is not to be trusted with the silver, let alone your heart. Unless you enjoy pain.~ DO ~SetGlobal("c-anishaimatch","LOCALS",1)~ + c-anishaimatch1 IF ~InParty("MWAriena") Global("c-arienamatch","LOCALS",0)~ THEN REPLY ~[PC] Ariena?~ DO ~SetGlobal("c-arienamatch","LOCALS",0)~ + c-arienamatch1 IF ~InParty("M#AMBER") Global("c-ambermatch","LOCALS",0)~ THEN REPLY ~[PC] Amber? You look at her often, but I figured that it was because you did not trust her.~ DO ~SetGlobal("c-ambermatch","LOCALS",1)~ + c-ambermatch1 IF ~InParty("K#Auren") Global("c-aurenmatch","LOCALS",0)~ THEN REPLY ~[PC] You are not thinking of Auren, right...~ DO ~SetGlobal("c-aurenmatch","LOCALS",1)~ + c-aurenmatch1 IF ~InParty("WLBRAN") Global("c-branwen1match","LOCALS",0)~ THEN REPLY ~[PC] Branwen is just a bit intense for you, isn't she?~ DO ~SetGlobal("c-branwen1match","LOCALS",1)~ + c-branwen1match1 IF ~InParty("Britt") Global("c-brittmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Britt?~ DO ~SetGlobal("c-brittmatch","LOCALS",1)~ + c-brittmatch1 IF ~InParty("CALLISTO") Global("c-callistomatch","LOCALS",0)~ THEN REPLY ~[PC] Callisto? I don't know...~ DO ~SetGlobal("c-callistomatch","LOCALS",1)~ + c-callistomatch1 IF ~InParty("Chloe") Global("c-chloematch","LOCALS",0)~ THEN REPLY ~[PC] You. Chloe. You and Chloe. Aran, let me smell your breath. I want to see exactly how drunk you are right now.~ DO ~SetGlobal("c-chloematch","LOCALS",1)~ + c-chloematch1 IF ~InParty("E3Fade") Global("c-fadematch","LOCALS",0)~ THEN REPLY ~[PC] Fade really does not seem to talk to you at all, Aran.~ DO ~SetGlobal("c-fadematch","LOCALS",1)~ + c-fadematch1 IF ~InParty("Keto") Global("c-ketomatch","LOCALS",0)~ THEN REPLY ~[PC] This should be fun. You think Keto might be a good match for you. By all means, tell me why.~ DO ~SetGlobal("c-ketomatch","LOCALS",1)~ + c-ketomatch1 IF ~InParty("R#Kitanya") Global("c-kitanyamatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Kitanya?~ DO ~SetGlobal("c-kitanyamatch","LOCALS",1)~ + c-kitanyamatch IF ~InParty("SAERILETH") Global("c-saerimatch","LOCALS",0)~ THEN REPLY ~[PC] I know you like younger women, Aran, but a Paladin of Tyr is a bit out of your league...~ DO ~SetGlobal("c-saerimatch","LOCALS",1)~ + c-saerimatch1 IF ~InParty("CMNIKITA") Global("c-nikimatch","LOCALS",0)~ THEN REPLY ~[PC] Nikita? Do you have a death wish?~ DO ~SetGlobal("c-nikimatch","LOCALS",1)~ + c-nikimatch1 IF ~InParty("CMNINAF") Global("c-ninamatch","LOCALS",0)~ THEN REPLY ~[PC] Ninafer really does not seem like your type.~ DO ~SetGlobal("c-ninamatch","LOCALS",1)~ + c-ninamatch1 IF ~InParty("DL#BWN") Global("c-branwen2match","LOCALS",0)~ THEN REPLY ~[PC] Branwen?~ DO ~SetGlobal("c-branwen2match","LOCALS",1)~ + c-branwen2match1 IF ~InParty("K#Sarah") Global("c-sarahmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Sarah? Aran, have you ever really talked to her?~ DO ~SetGlobal("c-sarahmatch","LOCALS",1)~ + c-sarahmatch1 IF ~InParty("TASHIA") Global("c-tashiamatch","LOCALS",0)~ THEN REPLY ~[PC] Tashia? I did not think you found her interesting.~ DO ~SetGlobal("c-tashiamatch","LOCALS",1)~ + c-tashiamatch1 IF ~InParty("YASRAENA") Global("c-yasraenamatch","LOCALS",0)~ THEN REPLY ~[PC] You are not seriously considering Yasraena...~ DO ~SetGlobal("c-yasraenamatch","LOCALS",1)~ + c-yasraenamatch1 IF ~InParty("D#SILVER") Global("c-silvermatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Silverstar?~ DO ~SetGlobal("c-silvermatch","LOCALS",1)~ + c-silvermatch1 END D. And each one of the replies leads back to the filtering state: IF ~~ c-aranbg2rom3challenging SAY ~[ARAN] Now, then. I do take chances. But perhaps Tymora's Coin won't spin on that one.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END So, let's fill out the full lovetalk, using the technique. The Full Talk The repeating block is #18, c-aranbg2rom3someoneelse The entry state is c-aranbg2rom3frequenting and the filtering states for setting the globals are c-aranbg2rom3challenging1, 2, 3, 4, 5, so that there is a reply block and the filter block. /* Queen: Somebody To Love */ /* BG2 LoveTalk 3, c-aranbg2rom = 5 c-aranromtimer,C-ARAN_ROM */ IF ~Global("c-aranbg2rom","GLOBAL",5)~ THEN BEGIN c-aranbg2rom3 SAY ~[ARAN] Hey, <CHARNAME>, you are a girl...~ IF ~~ THEN REPLY ~[PC] Actually, I am a woman. Usually everyone stops calling us "girls" after we leave apprenticeship age behind, unless you are a dwarf. But you were saying?~ + c-aranbg2rom3noticed IF ~~ THEN REPLY ~[PC] Someone inform the Sages of Candlekeep - Aran has discovered the difference between boys and girls!~ + c-aranbg2rom3inn IF ~~ THEN REPLY ~[PC] Is this the start of a personal discussion? I am not in the mood for smalltalk.~ + c-aranbg2rom3inn IF ~~ THEN REPLY ~[PC] Your powers of observation are astounding.~ + c-aranbg2rom3inn IF ~~ THEN REPLY ~[PC] I am glad you noticed, Aran.~ + c-aranbg2rom3inn END IF ~~ c-aranbg2rom3noticed SAY ~[ARAN] (grins) Now, come to think o' it, you are right. But then again, I'd say you're still a bit wet behind the ears too. An' I don't mean on account o' washin' your face. Anyways... IF ~~ THEN GOTO c-aranbg2rom3inn END IF ~~ c-aranbg2rom3inn SAY ~[ARAN] At the last Inn we stayed. Blonde, beautiful blue eyes, great smile - she seemed to sparkle right pretty, she did. She came over, an' we talked for a bit, an' she seemed right interested. But I don't know. I couldn't tell if she was interested in just a dance an' some entertainment upstairs, or if she thought I was marriage material, like. IF ~~ THEN REPLY ~[PC] I didn't notice.~ + c-aranbg2rom3serious IF ~~ THEN REPLY ~[PC] That is not really my concern, Aran.~ + c-aranbg2rom3serious IF ~~ THEN REPLY ~[PC] Why yes, I noticed you making a fool of yourself.~ + c-aranbg2rom3really IF ~~ THEN REPLY ~[PC] I definitely noticed her, Aran. I thought she was just right for you.~ + c-aranbg2rom3really <<STANDARD EXIT BLOCK>> END IF ~~ c-aranbg2rom3really SAY ~[ARAN] Really? IF ~~ THEN REPLY ~[PC] Why, yes indeed. She would make you a wonderful wife. You should ask her out next time we pass through that way.~ + c-aranbg2rom3doit IF ~~ THEN REPLY ~[PC] Absolutely. Sparkly eyes and cute hair, never been more than three feet from her front door, no education... she will believe every story you tell her. You can be a fat, happy, contented chef at an inn, and she can bear you five or six children.~ + c-aranbg2rom3nicepic IF ~~ THEN REPLY ~[PC] Who else would be naive enough to believe your tall tales, and put up with your snoring.~ + c-aranbg2rom3snore IF ~~ THEN REPLY ~[PC] No, Aran, I was joking. It is not often you meet someone randomly and get that serious that quickly.~ + c-aranbg2rom3serious END IF ~~ c-aranbg2rom3doit SAY ~[ARAN] Well, I might just do that, if you think it might be taken in th' right way.~ IF ~~ THEN GOTO c-aranbg2rom3serious END IF ~~ c-aranbg2rom3nicepic SAY ~[ARAN] Sometimes that seems like th' best picture o' all, <CHARNAME>. At least the sparkin' - not so much the squallin' babes what result.~ IF ~~ THEN GOTO c-aranbg2rom3serious END IF ~~ c-aranbg2rom3snore SAY ~[ARAN] I snore? Well, bugger all Chauntea's haystacks - I didn't know that. I'd better lose a bit o weight, or somethin'. But really, now...~ IF ~~ THEN GOTO c-aranbg2rom3serious END IF ~~ c-aranbg2rom3serious SAY ~[ARAN] Do you think she was serious, or just out for some fun?~ IF ~~ THEN REPLY ~[PC] In general, Aran, if you meet someone at a bar only once, I think it is unlikely she was looking for a serious committment. But I could be wrong.~ + c-aranbg2rom3experience IF ~~ THEN REPLY ~[PC] It takes longer than a single evening to fall in love, Aran.~ + c-aranbg2rom3experience IF ~~ THEN REPLY ~[PC] Well, I believe there is such a thing as love at first sight. But I have heard it is usually found with the people close to you for a longer period of time.~ + c-aranbg2rom3experience <<STANDARD EXIT BLOCK>> END IF ~~ c-aranbg2rom3experience SAY ~[ARAN] So , you have experience at that? The fallin' in love, I mean?~ IF ~~ THEN REPLY ~[PC] That is for me to know and you to find out.~ + c-aranbg2rom3lostlove IF ~~ THEN REPLY ~[PC] That is a bit personal, and painful, Aran. I don't want to talk about it.~ + c-aranbg2rom3lostlove IF ~~ THEN REPLY ~[PC] Perhaps. Have you had any experience yourself?~ + c-aranbg2rom3lostlove IF ~~ THEN REPLY ~[PC] Love, or lust? There is a difference, you know.~ + c-aranbg2rom3hear END IF ~~ c-aranbg2rom3hear SAY ~[ARAN] I did hear there was. I'm not so sure, m'self. But then again, as far as I know, I only have had th' second.~ IF ~~ THEN GOTO c-aranbg2rom3frequenting END IF ~~ c-aranbg2rom3lostlov SAY ~[ARAN] Well, I don't know. I did think I had a friend once what was interested. She was a rare one, she was. Sun Elf father, human mother, long hair like polished brass, an' a body what made... *ahem*... well, that's another story. Unfortunately she ran off with some Cyric - blighted bard, all dark, broodin' an' "I just lost the love o' me life" type. I learned my lesson well, I did. Women seem to want danger, bad boys, an' damaged goods.~ IF ~~ THEN REPLY ~[PC] Three for three - you are all set, Aran. Pity you don't have the other requirement. You need to be just a little more handsome, and you might have a fighting chance with a real woman.~ + c-aranbg2rom3frequenting IF ~~ THEN REPLY ~[PC] Not all women like the same thing, Aran. You might try listening to them for awhile, or even asking them.~ + c-aranbg2rom3frequenting IF ~~ THEN REPLY ~[PC] Well, if you met her in an inn...~ + c-aranbg2rom3frequenting END IF ~~ c-aranbg2rom3frequenting SAY ~[ARAN] So probably my best best don't rely on frequentin' inns along the way. The best bet might be look at th' ladies I see every day, an' perhaps there's somethin' more than just straight comradeship.~ IF ~~ THEN GOTO c-aranbg2rom3challenging1 END IF ~~ c-aranbg2rom3challenging1 SAY ~[ARAN] That makes it a mite o' a challenge, eh?~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3challenging2 SAY ~[ARAN] Well, there might be somethin' to what you say.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3challenging3 SAY ~[ARAN] Right. You have a point there, you do.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3challenging4 SAY ~[ARAN] I like a challenge. But I don't know if that be a challenge or a lost cause.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3challenging5 SAY ~[ARAN] Now, then. I do take chances. But perhaps Tymora's Coin won't spin on that one.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3challenging6 SAY ~[ARAN] It could happen, right? It might be possible.~ IF ~~ THEN GOTO c-aranbg2rom3someoneelse END IF ~~ c-aranbg2rom3someoneelse SAY ~[ARAN] Perhaps there might be someone around here, right under my nose...~ IF ~~ THEN REPLY ~[PC] I really do not think so, Aran.~ + c-aranbg2rom3remembered IF ~~ THEN REPLY ~[PC] She might be. Perhaps even about to put this nice cold water right down your back, to wake you up... ~ + c-aranbg2rom3remembered IF ~InParty("JAHEIRA") Global("c-jaheiramatch","LOCALS",0)~ THEN REPLY ~[PC] Jaheira? I thought you liked younger women.~ DO ~SetGlobal("c-jaheiramatch","LOCALS",1)~ + c-jaheiramatch1 IF ~InParty("AERIE") Global("c-aeriematch","LOCALS",0)~ THEN REPLY ~[PC] Who, Aerie?~ DO ~SetGlobal("c-aeriematch","LOCALS",1)~ + c-aeriematch1 IF ~InParty("IMOEN2") Global("c-imoenmatch","LOCALS",0)~ THEN REPLY ~[PC] Leave Imoen alone, Aran.~ DO ~SetGlobal("c-imoenmatch","LOCALS",1)~ + c-imoenmatch1 IF ~InParty("MAZZY") Global("c-mazzymatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Mazzy?~ DO ~SetGlobal("c-mazzymatch","LOCALS",1)~ + c-mazzymatch1 IF ~InParty("NALIA") Global("c-naliamatch","LOCALS",0)~ THEN REPLY ~[PC] Do you really think Nalia would be interested in you?~ DO ~SetGlobal("c-naliamatch","LOCALS",1)~ + c-naliamatch1 IF ~InParty("VICONIA") Global("c-viconiamatch","LOCALS",0)~ THEN REPLY ~[PC] The drowess. Riiiight. Tell me you are not considering Viconia, Aran.~ DO ~SetGlobal("c-viconiamatch","LOCALS",1)~ + c-viconiamatch1 IF ~InParty("R#ALLIS") Global("c-allisonmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Allison?~ DO ~SetGlobal("c-allisonmatch","LOCALS",1)~ + c-allisonmatch1 IF ~InParty("CMALORA") Global("c-aloramatch","LOCALS",0)~ THEN REPLY ~[PC] Alora?? You are joking, right...~ DO ~SetGlobal("c-aloramatch","LOCALS",1)~ + c-aloramatch1 IF ~InParty("Anishai") Global("c-anishaimatch","LOCALS",0)~ THEN REPLY ~[PC] Anishai is not to be trusted with the silver, let alone your heart. Unless you enjoy pain.~ DO ~SetGlobal("c-anishaimatch","LOCALS",1)~ + c-anishaimatch1 IF ~InParty("MWAriena") Global("c-arienamatch","LOCALS",0)~ THEN REPLY ~[PC] Ariena?~ DO ~SetGlobal("c-arienamatch","LOCALS",0)~ + c-arienamatch1 IF ~InParty("M#AMBER") Global("c-ambermatch","LOCALS",0)~ THEN REPLY ~[PC] Amber? You look at her often, but I figured that it was because you did not trust her.~ DO ~SetGlobal("c-ambermatch","LOCALS",1)~ + c-ambermatch1 IF ~InParty("K#Auren") Global("c-aurenmatch","LOCALS",0)~ THEN REPLY ~[PC] You are not thinking of Auren, right...~ DO ~SetGlobal("c-aurenmatch","LOCALS",1)~ + c-aurenmatch1 IF ~InParty("WLBRAN") Global("c-branwen1match","LOCALS",0)~ THEN REPLY ~[PC] Branwen is just a bit intense for you, isn't she?~ DO ~SetGlobal("c-branwen1match","LOCALS",1)~ + c-branwen1match1 IF ~InParty("Britt") Global("c-brittmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Britt?~ DO ~SetGlobal("c-brittmatch","LOCALS",1)~ + c-brittmatch1 IF ~InParty("CALLISTO") Global("c-callistomatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Callisto?~ DO ~SetGlobal("c-callistomatch","LOCALS",1)~ + c-callistomatch1 IF ~InParty("Chloe") Global("c-chloematch","LOCALS",0)~ THEN REPLY ~[PC] You Chloe. Aran, let me smell your breath. I want to see exactly how drunk you are right now.~ DO ~SetGlobal("c-chloematch","LOCALS",1)~ + c-chloematch1 IF ~InParty("E3Fade") Global("c-fadematch","LOCALS",0)~ THEN REPLY ~[PC] Fade really does not seem to talk to you at all, Aran.~ DO ~SetGlobal("c-fadematch","LOCALS",1)~ + c-fadematch1 IF ~InParty("Keto") Global("c-ketomatch","LOCALS",0)~ THEN REPLY ~[PC] This should be fun. You think Ketop might be a good match for you. By all means, tell me why.~ DO ~SetGlobal("c-ketomatch","LOCALS",1)~ + c-ketomatch1 IF ~InParty("R#Kitanya") Global("c-kitanyamatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Kitanya?~ DO ~SetGlobal("c-kitanyamatch","LOCALS",1)~ + c-kitanyamatch IF ~InParty("SAERILETH") Global("c-saerimatch","LOCALS",0)~ THEN REPLY ~[PC] I know you like younger women, Aran, but a Paladin of Tyr is a bit out of your league...~ DO ~SetGlobal("c-saerimatch","LOCALS",1)~ + c-saerimatch1 IF ~InParty("CMNIKITA") Global("c-nikimatch","LOCALS",0)~ THEN REPLY ~[PC] Nikita? Do you have a death wish?~ DO ~SetGlobal("c-nikimatch","LOCALS",1)~ + c-nikimatch1 IF ~InParty("CMNINAF") Global("c-ninamatch","LOCALS",0)~ THEN REPLY ~[PC] Ninafer really does not seem like your type.~ DO ~SetGlobal("c-ninamatch","LOCALS",1)~ + c-ninamatch1 IF ~InParty("DL#BWN") Global("c-branwen2match","LOCALS",0)~ THEN REPLY ~[PC] Branwen?~ DO ~SetGlobal("c-branwen2match","LOCALS",1)~ + c-branwen2match1 IF ~InParty("K#Sarah") Global("c-sarahmatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Sarah? Aran, have you ever realy talked to her?~ DO ~SetGlobal("c-sarahmatch","LOCALS",1)~ + c-sarahmatch1 IF ~InParty("TASHIA") Global("c-tashiamatch","LOCALS",0)~ THEN REPLY ~[PC] Tashia? I did not think you found her interesting.~ DO ~SetGlobal("c-tashiamatch","LOCALS",1)~ + c-tashiamatch1 IF ~InParty("YASRAENA") Global("c-yasraenamatch","LOCALS",0)~ THEN REPLY ~[PC] You are not seriously considering Yasraena...~ DO ~SetGlobal("c-yasraenamatch","LOCALS",1)~ + c-yasraenamatch1 IF ~InParty("D#SILVER") Global("c-silvermatch","LOCALS",0)~ THEN REPLY ~[PC] Who, Silverstar?~ DO ~SetGlobal("c-silvermatch","LOCALS",1)~ + c-silvermatch1 END // The Competition IF ~~ c-jaheiramatch1 SAY ~[ARAN] There's Jaheira. Well, now she is a right fine woman. She's smart, a bit bossy, an' she can partner right quick in th' cookin' area. She's a bit motherin', but then again, she's an older woman in real years, if not in th' equivalent. She might take a shine to me.~ IF ~~ THEN REPLY ~[PC] Leave her alone, Aran. She has lost the love of her life, and is in a great deal of pain. She does not need you distracting her and bothering her.~ IF ~~ THEN REPLY ~[PC] I think that is a great idea. You can go worship trees together.~ + c-aranbg2rom3challenging 1 2 3 4 5 6 IF ~~ THEN REPLY ~[PC] <<TEXT>> ~ + c-aranbg2rom3challenging 1 2 3 4 5 6 END IF ~~ c-aeriematch1 SAY ~[ARAN] Aerie is a fine girl. She just reaches out wi' those eyes, an' tugs at your heartstrings. It might be the Aavariel, but then again, it might just be she looks like she needs a right stong man to protect her an' look out for her. It's nice to be needed.~ IF ~~ THEN REPLY ~[PC] A great way to establish a relationship, Aran. Choose the frail, self-consious waif who has image problems and has suffered traumatic abuse. A truly equal relationship.~ + c-aranbg2rom3challenging 1 2 3 4 5 6 IF ~~ THEN REPLY ~[PC] She has been hurt rather badly, Aran. I would be careful of offering her more than you intend. Breaking her heart woud be easy to do, and a disaster for this party as well as for her.~ + c-aranbg2rom3challenging 1 2 3 4 5 6 IF ~~ THEN REPLY ~[PC] What is it with men and elves?~ + c-aranbg2rom3challenging 1 2 3 4 5 6 END IF ~~ c-imoenmatch1 SAY ~[ARAN] <<_TEXT_>> ~ IF ~~ THEN REPLY ~[PC] <<_TEXT_>> ~ + c-aranbg2rom3challenging 1 2 3 4 5 6 IF ~~ THEN REPLY ~[PC] <<_TEXT_>> ~ + c-aranbg2rom3challenging 1 2 3 4 5 6 END IF ~~ c-mazzymatch1 SAY ~[ARAN] Mazzy is right pretty, in her own way. I don't know, though. She is a mighty riteous Han. She might not take kindly to me flirtin', an' all. Besides, most o' the Halfling folk seem tied up wi' bonds o' family an' obligation. I never heard o' a halfling an' a human fallin' for eachother. IF ~~ THEN REPLY ~[PC] <<_TEXT_>> ~ + c-aranbg2rom3challenging 1 2 3 4 5 6 IF ~~ THEN REPLY ~[PC] <<_TEXT_>> ~ + c-aranbg2rom3challenging 1 2 3 4 5 6 END // snip END // IF ~~ c-aranbg2rom3remembered SAY ~[ARAN] Hey, I just remembered. I met you in an Inn, right?~ IF ~~ THEN REPLY ~[PC] Have you noticed you keep describing all these women's physical attributes?~ + c-aranbg2rom3harm IF ~~ THEN REPLY ~[PC] I was slumming. If I remember correctly, you approached me about some employment, or something. I do not seem remember candlelight and roses.~ + c-aranbg2rom3slumming IF ~~ THEN REPLY ~[PC] You meet all sorts of people in taverns. I keep a watchful eye on most of the crowd.~ + c-aranbg2rom3slumming END IF ~~ c-aranbg2rom3harm SAY ~[ARAN]I don't mean no harm. I guess that's just the way menfolk think.~ IF ~~ THEN REPLY ~[PC] I don't believe that. I think that is the way boys think. A real man would see people, not objects.~ + c-aranbg2rom3slumming IF ~~ THEN REPLY ~[PC] Women think that way sometimes too, you know.~ + c-aranbg2rom3slumming IF ~~ THEN REPLY ~[PC] Men think?~ + c-aranbg2rom3slumming END IF ~~c-aranbg2rom3slumming SAY ~[ARAN] Well, now, you might be right there. I suspect we boys do more'n occasionally run to the shallow side o' life at times. I'd say women, too, based on where I see your eyes lingerin' sometimes. Then again, I see your eyes linger on some folks a mite more than a casual one over, yourself.~ IF ~~ THEN REPLY ~[PC] That might not mean anything. After all, I am looking at you right now.~ + c-aranbg2rom3boss IF ~~ THEN REPLY ~[PC] So many choices, so little time...~ + c-aranbg2rom3boss IF ~~ THEN REPLY ~[PC] That is different.~ + c-aranbg2rom3boss IF ~~ THEN REPLY ~[PC] That sounds like you might be a little jealous.~ + c-aranbg2rom3boss IF ~~ THEN REPLY ~[PC] So, how would you describe me, Aran?~ + c-aranbg2rom3game END IF ~~ c-aranbg2rom3boss SAY ~[ARAN] If you say so, <CHARNAME>. If you say so.~ IF ~~ THEN EXIT END IF ~~ c-aranbg2rom3game SAY ~[ARAN] Oh, I'm not fallin' for that, <CHARNAME>. I know that game too well. I'd say "<CHARNAME>. You know, the one what's in charge o' this here party". I get to describin' you, an' I'm likely to dig a hole an' have you kickin' the dirt over my head right quick!~ IF ~~ THEN EXIT END So, Why Did This Talk Not Work Out? Why Is It On The Recycling Or Disposal Pile? Well, the idea is sound, and it does a good job of showing off some ways of variable manipulation - even more fun would be the "undo state", where we DE-advance the variable - + ~Global("c-silvermatch","LOCALS",1)~ + ~[PC] Are you sure SilverSatr is not that attractive to you? Do you want to think about her again?~ DO ~SetGlobal("c-silvermatch","LOCALS",0)~ but the devil is in the details. Looking through this, there are some problems to be worked on. Number one, the project has moved on, and we have code example in play that already show these kinds of usages (though I want to go back and put a randomizing script block in there, because it is just way cool). Second problem - effort vs. playability. The way this is created, I either have to assume PC is straight to build a corresponding set of choices - otherwise it will be over a month of writing to get specific reactions for all available NPCs. Even using Aran's straightness to get specifics down to female NPCs, there is alot there. So unless inspiration hits, this one is a tough one to write. We can keep it positive, and search for good reasons for a match, aviding disrespect for other NPCs, but then we get a way too cheery, upbeat, unrealistic view, but that is not so cool. The real life conversation would be a bit harsher - "You would go out with *her*? I mean, that voice just cuts like a kife, man. Plus, she seems so needy. And the scars on her back... yuck. Drop the damaged elf-chick, and go for a real woman." Third Problem - psychology. It works as a friend setting up Aran, but there is no opportunity for him to follow through, unless the player is doing something with Amber and being careful about how it is all set up. So each way I try to rewrite it, starting as a lovetalk means that PC is trying to foist him off on others, or having to listen to him go "hey, perhaps she would like me". Perhaps a bit too realistic and annoying, having Aran talk about why others might be preferable to PC - and completely a waste of her time if she just wants to be friends. And with a guy PC, things get even more difficult to work through without it being odd. Aran is not going to mind talking openly about how a two male or two female pairings might work out, being an open-minded dude in FR, where open-mindedness includes romances that cross species as well as gender. But the PC, well, not so easy to guage reaction and account for pathways. But most of all, #4, the big question - how much is this advancing the relationship, versus how much is this just fluff? Can we have a similar kind of discussion to foster that sense of "good friendship developing that might become more"? Given the number of talks already in place, is this getting us anywhere exploring either Aran's personality or the Player's roleplaying personality in a way not covered by other talks? So, some salvage work... A way around some of the challenges is to adjust the level of detail. We might be able to salvge some of the reactions, by making them more generic: IF ~InParty(Player2) Gender(Player2,FEMALE) !HasItemEquiped("belt05",Player2) !Name(Player2,"c-aran")~ + ~[PC] What about <PLAYER2>? She might be just what you want.~ + newstate IF ~InParty(Player3) Gender(Player3,FEMALE) !HasItemEquiped("belt05",Player2) !Name(Player3,"c-aran")~ + ~[PC] What about <PLAYER3>? She might be just what you want.~ + newstate IF ~InParty(Player4) Gender(Player4,FEMALE) !HasItemEquiped("belt05",Player2) !Name(Player4,"c-aran")~ + ~[PC] What about <PLAYER4>? She might be just what you want.~ + newstate IF ~InParty(Player5) Gender(Player5,FEMALE) !HasItemEquiped("belt05",Player2) !Name(Player5,"c-aran")~ + ~[PC] What about <PLAYER5>? She might be just what you want.~ + newstate IF ~InParty(Player6) Gender(Player6,FEMALE) !HasItemEquiped("belt05",Player2) !Name(Player6,"c-aran")~ + ~[PC] What about <PLAYER6>? She might be just what you want.~ + newstate IF ~InParty(Player2) !HasItemEquiped("belt05",Player2) !Name(Player2,"c-aran")~ THEN BEGIN z100 SAY ~[ARAN] What about <PLAYER2>? You know, <HESHE> might be just what you want.~ + newstate IF ~InParty(Player3) !HasItemEquiped("belt05",Player3) !Name(Player3,"c-aran")~ THEN BEGIN z101 SAY ~[ARAN] What about <PLAYER3>? You know, <HESHE> might be just what you want.~ + newstate IF ~InParty(Player4) !HasItemEquiped("belt05",Player4) !Name(Player4,"c-aran")~ THEN BEGIN z102 SAY ~[ARAN] What about <PLAYER4>? You know, <HESHE> might be just what you want.~ + newstate IF ~InParty(Player5) !HasItemEquiped("belt05",Player5) !Name(Player5,"c-aran")~ THEN BEGIN z103 SAY ~[ARAN] What about <PLAYER5>? You know, <HESHE> might be just what you want.~ + newstate IF ~InParty(Player6) !HasItemEquiped("belt05",Player6) !Name(Player6,"c-aran")~ THEN BEGIN z104 SAY ~[ARAN] What about <PLAYER6>? You know, <HESHE> might be just what you want.~ + newstate Of course, we run into the difficulty of scripting PC response to potential cross-gender suggestions - which is fine for me to present with Aran. but tougher for scripting PC responses to. Plus, it leaves little "punch" to the dialog, wheras saying things Note I wimped out on the Girdle of gender Change, too ( !HasItemEquiped("belt05",Player2) ) . Too hard to come up with a way of filtering out whether or not Aran would react well, or the PC, for that matter, to romancing Edwina with the belt on. Great ground for lots of stuff, but way too hard to anticipate player intent and keep things non-jarring. So, this one has lingered since October of 2008, waiting for inspiration to strike, or parts to be salvaged. Workrooms at many hosting sites, closed or open in forums, are littered with materials like this, so if you have some of these tossed in a file somewhere, you are not alone. Perhaps the ideas will make their way out, or perhaps they will be tossed out with the next crash of your hard drive, but either way, thinking through the reasons why it might or not make it is a useful exercise in making choices about your mod. Sometimes, for whatever reason, several months of work need to be scrapped. At least we are not pro writers, who may have to dump draft after draft!
  10. Have Pen, Will Travel. We need Aran to have a sideline scribing scroll for PC. We can work on lovenotes and doodles and starry-eyed descriptions for the lady PCs later, us dudes need some meat and potatoes too. We are creating a uniqueness, a marker that sets him apart as special, but nothing that sets him apart as all-powerful. So what happens if a guy is born with only a smattering of connection to The Weave, but not enough to truly move into wild magic? Perhaps the more he studies his language and scribing, the more he unconsciously flexes those connections, until (with a great deal of effort and concentration, in conjunction with skilled study by either himself if he is a mage or someone else if they are)... he can prepare scrolls that are hospitable enough to the undercurrent of magic that they can come into power through collaboration. OK, a little heavy on the BS there, but hey, I started out a DM, and if there isn't a heavy layer of that stuff lying around, how is anything going to grow? So, the "special ability" is to be able to create scrolls, whether or not he is actually following the classes in MAGE_ALL. What about the other magics, like druidic/cleric? Nope - I have an ok backstory and I am sticking to it. If the dude is gathering weak links to the weave and using it to create scrolls, the divine magics are out, because they expect true divine intervention or agency. In 2E terms, mages craft magic from knowledge and control, clerics craft from faith and divine gifting. Since mages are controlling aspects of the weave to make things work, but do not have that divine intervention, then Aran should be able to 'mimic' the mage's works, and with his connection do well enough that collaboration (either with his own spellbook and knowledge or with someone else's) 'trick' the magic into occupying the scroll. No divine agent would look down and say "whoa, dude, cool scroll - far out, man! Sure, I will send down that 'Cyric's Nuclear Option of Doom' right away, even though you don't follow Cyric, because you are JUST THAT KEWEL, DUDE!". So, mage spells only. And now we have an FR rationale and backstory to play with (slightly bent, but not completely broken - hey, *I'm* not having tons of half-drow running around Faerun happily being good and playing well with the local constabulary! Don't poke me, I don't want any trouble!) Creating a Special Ability Well, there are a bunch of things out there that can handle this in different ways. Rogue Rebalancing allows you the choice of spells and potions to build, with the following (by the way, this is my new "go look at this' for fellow modders - aVENGER (RR) comments everything, and his code in a highlighter is a darned good minimalist painting, all ordered and clean, and easy to follow even when exactly what he is doing doesn't hit your brain.... which means it is organized in a painstaking way that will allow you to learn by watching what he does and following it, instead of going "why that, and what does it get associated with?". For the how-not-to example, just read the last sentence. He does things the opposite of that grammatical construction.) Here is where he gets busy in the .tp2, and I don't even need to explain - he does it for me: COPY ~RR/RR_STIM/ITEMS/RR#INV.ITM~ ~override~ // Invulnerability item for cutscene creatures COPY ~RR/RR_CORE/ACTORS/RR#ALCH.CRE~ ~override~ // Alchemy invisible creature (used for initiating the dialogue) COPY ~RR/RR_CORE/SPELLS/RR#ALCH.EFF~ ~override~ // Alchemy invisible creature summoning EFF COMPILE ~RR/RR_CORE/COMPILE/RR#ALCH.D~ // Alchemy invisible creature dialogue file (used for choosing potions) COMPILE ~RR/RR_CORE/COMPILE/RR#ALCH.BAF~ // Alchemy invisible creature AI script (used for initiating the dialogue) COPY ~RR/RR_CORE/SPELLS/RR#ALCHT.SPL~ ~override~ // Alchemy (Thief version) SAY UNIDENTIFIED_DESC @8100 SAY DESC @8100 From this, even before we go poking about the files, we can infer some things. First, he is using the "invisible creature" trick, where you build a .cre and make it invulnerable and invisible, and script it to spawn/self-destruct in game, thus giving your NPC (and/or PC) the ability to talk to yourself. JCompton did that with some cool Boo dialogs, and lots of people have done this with all sorts of things - Galactygon's Spell Pack over at BWL uses it in spell scripting to create all sorts of things like ofscreen targeting and pathing, in BG1NPC Domi used it to make Gorion's letter "talk", etc. - basically, the "invisible creature" trick is one of the big 'everybody does this to make hard-to-get-to-work stuff work' trick. Just a reminder - don't use cutspy.cre as your base. It is flagged as not interactable. I found that one out the hard way, trying to figure out why dialog wouldn't fire. That was several hours of my life wasted. Do we need to do all this? I mean, that looks like extra work, and we want to finish before 2062AD... Well, no. We do not. The same concept could simply be scripted out in dialog, with the following formula: Set a variable to 1 to show Aran can scribe a scroll, and set a timer (say, 1 in-game week, for instance) to limit the number of times a player can use the ability. When the variable is at 1 and the timer is expired, it enables a PID choice. When the PID choice is chosen, go to the kind of dialog setup listed below, and at the end loop back to 1. Or, if we want to be really, really picky, set up the timer and creation of scroll in a .bcs block, so that When a variable is 0, Aran can scribe spells, and a PID option shows up for it. Choosing the PID option runs a set of "choice" dialog states, sets the appropriate variable to 1, the type of scroll attached to a specific number, so (for instance) c-aranscribe = 1 = scroll of invisibility c-aranscribe = 2 = scroll of haste etc. and set a timer (say, 1 in-game week, for instance) to limit the number of times a player can use the ability. When the variable is at 1 and the timer is expired, it is picked up by a .bcs block, which either creates the item on Aran and gives him a DisplayStringHead() that indicates he has finished scribing the scroll, or does a StartDialogNoSet(Player1) that fires a banter giving the scroll to Player 1 - and of course sets the variable back to 0, ready for the next round. But then again, that Special Ability Icon is way cool, and makes my NPC look pro, so how would that work? OK, but first let's go see how aVENGER (RR) creates the dialog, because it will be useful in both invisible .cre and straightforward dialog approaches. Again, all his comments, not mine - file RR#ALCH.D // creator : aVENGER // argument : RR#ALCH BEGIN ~RR#ALCH~ IF ~NumTimesTalkedTo(0)~ THEN BEGIN a0 SAY @8121 // (With cleverness innate to the class, an experienced rogue has seen enough potions in his or her adventuring career to simulate the creation of one. However, the costs for any raw materials that are used in the process must be paid.) = @8122 // (This ability allows a rogue to brew one of the potions from the following list:) IF ~Class(LastTalkedToBy(Myself),THIEF_ALL) PartyGoldGT(199)~ THEN REPLY @8130 DO ~TakePartyGold(200) GiveItemCreate("POTN36",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Master Thievery (200 gp) IF ~Class(LastTalkedToBy(Myself),THIEF_ALL) PartyGoldGT(174)~ THEN REPLY @8131 DO ~TakePartyGold(175) GiveItemCreate("POTN39",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Perception (175 gp) IF ~Class(LastTalkedToBy(Myself),THIEF_ALL) PartyGoldGT(124)~ THEN REPLY @8132 DO ~TakePartyGold(225) GiveItemCreate("POTN10",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Invisibility (125 gp) IF ~Class(LastTalkedToBy(Myself),BARD_ALL) PartyGoldGT(249)~ THEN REPLY @8140 DO ~TakePartyGold(250) GiveItemCreate("POTN37",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Mind Focusing (250 gp) IF ~Class(LastTalkedToBy(Myself),BARD_ALL) PartyGoldGT(349)~ THEN REPLY @8141 DO ~TakePartyGold(350) GiveItemCreate("POTN21",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Clarity (350 gp) IF ~Class(LastTalkedToBy(Myself),BARD_ALL) PartyGoldGT(249)~ THEN REPLY @8142 DO ~TakePartyGold(250) GiveItemCreate("POTN42",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Regeneration (250 gp) IF ~PartyGoldGT(349)~ THEN REPLY @8133 DO ~TakePartyGold(350) GiveItemCreate("POTN24",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Defense (350 gp) IF ~PartyGoldGT(224)~ THEN REPLY @8134 DO ~TakePartyGold(225) GiveItemCreate("POTN52",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Extra Healing (225 gp) IF ~PartyGoldGT(49)~ THEN REPLY @8135 DO ~TakePartyGold(50) GiveItemCreate("POTN20",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Antidote (50 gp) IF ~PartyGoldGT(249)~ THEN REPLY @8136 DO ~TakePartyGold(250) GiveItemCreate("POTN14",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Oil of Speed (250 gp) IF ~Class(LastTalkedToBy(Myself),THIEF_ALL) PartyGoldGT(249)~ THEN REPLY @8137 DO ~TakePartyGold(250) GiveItemCreate("POTN13",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Oil of Fiery Burning (250 gp) IF ~Class(LastTalkedToBy(Myself),BARD_ALL) PartyGoldGT(124)~ THEN REPLY @8143 DO ~TakePartyGold(125) GiveItemCreate("POTN45",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Freedom (125 gp) IF ~PartyGoldGT(374)~ THEN REPLY @8138 DO ~TakePartyGold(375) GiveItemCreate("POTN56",LastTalkedToBy(Myself),1,1,1) DestroySelf()~ EXIT // Potion of Frost Giant Strength (375 gp) IF ~~ THEN REPLY @8150 DO ~DestroySelf()~ EXIT // (Do not brew any potions.) END We don't need to see the dialog strings to see how this could be useful this kind of dialog structure is - and how easy this could be to adapt for any number of things. Want a smithing character? Set this up in PID or a specific talk. An alchemist? Voila - most of the code work is right there, all set up. By the way, if you want a really interesting way of making things more or less expensive based on the current party status, try BG1NPC Bardic reputation Adjustment. Berelinde set up this little coding number, changing out costs by reputation through dialog branching. I am going to make the text small, so watch out for squinting eyes: in /* the deal is done */ APPEND ~X#LP1REP~ IF ~~ THEN X#Troubador1MakeBad SAY @110 + ~Reputation(Player1,20)~ + @111 + X#T1MB20.1 + ~Reputation(Player1,19)~ + @112 + X#T1MB19.1 + ~Reputation(Player1,18)~ + @112 + X#T1MB18.1 + ~Reputation(Player1,17)~ + @112 + X#T1MB17.1 + ~Reputation(Player1,16)~ + @112 + X#T1MB16.1 + ~Reputation(Player1,15)~ + @112 + X#T1MB15.1 + ~Reputation(Player1,14)~ + @112 + X#T1MB14.1 + ~Reputation(Player1,13)~ + @112 + X#T1MB13.1 + ~Reputation(Player1,12)~ + @112 + X#T1MB12.1 + ~Reputation(Player1,11)~ + @112 + X#T1MB11.1 + ~Reputation(Player1,10)~ + @112 + X#T1MB10.1 + ~Reputation(Player1,9)~ + @112 + X#T1MB9.1 + ~Reputation(Player1,8)~ + @112 + X#T1MB8.1 + ~Reputation(Player1,7)~ + @112 + X#T1MB7.1 + ~Reputation(Player1,6)~ + @112 + X#T1MB6.1 + ~Reputation(Player1,5)~ + @112 + X#T1MB5.1 + ~Reputation(Player1,4)~ + @112 + X#T1MB4.1 + ~ReputationLT(Player1,4)~ + @112 + X#T1MBNotPossible + ~Reputation(Player1,20)~ + @113 + X#T1MB20.2 + ~Reputation(Player1,19)~ + @113 + X#T1MB19.2 + ~Reputation(Player1,18)~ + @113 + X#T1MB18.2 + ~Reputation(Player1,17)~ + @113 + X#T1MB17.2 + ~Reputation(Player1,16)~ + @113 + X#T1MB16.2 + ~Reputation(Player1,15)~ + @113 + X#T1MB15.2 + ~Reputation(Player1,14)~ + @113 + X#T1MB14.2 + ~Reputation(Player1,13)~ + @113 + X#T1MB13.2 + ~Reputation(Player1,12)~ + @113 + X#T1MB12.2 + ~Reputation(Player1,11)~ + @113 + X#T1MB11.2 + ~Reputation(Player1,10)~ + @113 + X#T1MB10.2 + ~Reputation(Player1,9)~ + @113 + X#T1MB9.2 + ~Reputation(Player1,8)~ + @113 + X#T1MB8.2 + ~Reputation(Player1,7)~ + @113 + X#T1MB7.2 + ~Reputation(Player1,6)~ + @113 + X#T1MB6.2 + ~Reputation(Player1,5)~ + @113 + X#T1MB5.2 + ~Reputation(Player1,4)~ + @113 + X#T1MBALittle + ~ReputationLT(Player1,4)~ + @113 + X#T1MBNotPossible + ~Reputation(Player1,20)~ + @114 + X#T1MB20.3 + ~Reputation(Player1,19)~ + @114 + X#T1MB19.3 + ~Reputation(Player1,18)~ + @114 + X#T1MB18.3 + ~Reputation(Player1,17)~ + @114 + X#T1MB17.3 + ~Reputation(Player1,16)~ + @114 + X#T1MB16.3 + ~Reputation(Player1,15)~ + @114 + X#T1MB15.3 + ~Reputation(Player1,14)~ + @114 + X#T1MB14.3 + ~Reputation(Player1,13)~ + @114 + X#T1MB13.3 + ~Reputation(Player1,12)~ + @114 + X#T1MB12.3 + ~Reputation(Player1,11)~ + @114 + X#T1MB11.3 + ~Reputation(Player1,10)~ + @114 + X#T1MB10.3 + ~Reputation(Player1,9)~ + @114 + X#T1MB9.3 + ~Reputation(Player1,8)~ + @114 + X#T1MB8.3 + ~Reputation(Player1,7)~ + @114 + X#T1MB7.3 + ~Reputation(Player1,6)~ + @114 + X#T1MB6.3 + ~Reputation(Player1,5)~ + @114 + X#T1MBModerate + ~Reputation(Player1,4)~ + @114 + X#T1MBALittle + ~ReputationLT(Player1,4)~ + @114 + X#T1MBNotPossible END IF ~~ THEN X#T1MB20.1 SAY @115 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1499)~ + @117 DO ~TakePartyGold(1500) DestroyGold(1500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB19.1 SAY @118 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1199)~ + @117 DO ~TakePartyGold(1200) DestroyGold(1200) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB18.1 SAY @119 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(999)~ + @117 DO ~TakePartyGold(1000) DestroyGold(1000) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB17.1 SAY @120 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(499)~ + @117 DO ~TakePartyGold(500) DestroyGold(500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB16.1 SAY @121 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(499)~ + @117 DO ~TakePartyGold(500) DestroyGold(500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB15.1 SAY @122 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(399)~ + @117 DO ~TakePartyGold(400) DestroyGold(400) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB14.1 SAY @123 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(199)~ + @117 DO ~TakePartyGold(200) DestroyGold(200) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB13.1 SAY @124 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(299)~ + @117 DO ~TakePartyGold(300) DestroyGold(300) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB12.1 SAY @125 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(399)~ + @117 DO ~TakePartyGold(400) DestroyGold(400) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB11.1 SAY @126 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(499)~ + @117 DO ~TakePartyGold(500) DestroyGold(500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB10.1 SAY @127 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(699)~ + @117 DO ~TakePartyGold(700) DestroyGold(700) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB9.1 SAY @128 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(899)~ + @117 DO ~TakePartyGold(900) DestroyGold(900) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB8.1 SAY @129 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1199)~ + @117 DO ~TakePartyGold(1200) DestroyGold(1200) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB7.1 SAY @130 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1499)~ + @117 DO ~TakePartyGold(1500) DestroyGold(1500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB6.1 SAY @131 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1999)~ + @117 DO ~TakePartyGold(2000) DestroyGold(2000) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB5.1 SAY @132 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2499)~ + @117 DO ~TakePartyGold(2500) DestroyGold(2500) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB4.1 SAY @133 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(4999)~ + @117 DO ~TakePartyGold(5000) DestroyGold(5000) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MB20.2 SAY @134 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2399)~ + @117 DO ~TakePartyGold(2400) DestroyGold(2400) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB19.2 SAY @135 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1899)~ + @117 DO ~TakePartyGold(1900) DestroyGold(1900) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB18.2 SAY @136 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1299)~ + @117 DO ~TakePartyGold(1300) DestroyGold(1300) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB17.2 SAY @137 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(899)~ + @117 DO ~TakePartyGold(900) DestroyGold(900) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB16.2 SAY @138 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(799)~ + @117 DO ~TakePartyGold(800) DestroyGold(800) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB15.2 SAY @139 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(499)~ + @117 DO ~TakePartyGold(500) DestroyGold(500) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB14.2 SAY @140 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(449)~ + @117 DO ~TakePartyGold(450) DestroyGold(450) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB13.2 SAY @141 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(599)~ + @117 DO ~TakePartyGold(600) DestroyGold(600) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB12.2 SAY @142 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(799)~ + @117 DO ~TakePartyGold(800) DestroyGold(800) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB11.2 SAY @143 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(999)~ + @117 DO ~TakePartyGold(1000) DestroyGold(1000) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB10.2 SAY @144 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1399)~ + @117 DO ~TakePartyGold(1400) DestroyGold(1400) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB9.2 SAY @145 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1799)~ + @117 DO ~TakePartyGold(1800) DestroyGold(1800) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB8.2 SAY @146 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2399)~ + @117 DO ~TakePartyGold(2400) DestroyGold(2400) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB7.2 SAY @147 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2999)~ + @117 DO ~TakePartyGold(3000) DestroyGold(3000) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB6.2 SAY @148 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(3999)~ + @117 DO ~TakePartyGold(4000) DestroyGold(4000) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB5.2 SAY @149 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(6499)~ + @117 DO ~TakePartyGold(6500) DestroyGold(6500) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MB20.3 SAY @150 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2799)~ + @117 DO ~TakePartyGold(2800) DestroyGold(2800) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB19.3 SAY @132 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2499)~ + @117 DO ~TakePartyGold(2500) DestroyGold(2500) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB18.3 SAY @131 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1999)~ + @117 DO ~TakePartyGold(2000) DestroyGold(2000) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB17.3 SAY @151 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1499)~ + @117 DO ~TakePartyGold(1500) DestroyGold(1500) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB16.3 SAY @138 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(799)~ + @117 DO ~TakePartyGold(800) DestroyGold(800) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB15.3 SAY @152 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(699)~ + @117 DO ~TakePartyGold(700) DestroyGold(700) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB14.3 SAY @153 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(699)~ + @117 DO ~TakePartyGold(700) DestroyGold(700) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB13.3 SAY @154 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(899)~ + @117 DO ~TakePartyGold(900) DestroyGold(900) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB12.3 SAY @155 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1199)~ + @117 DO ~TakePartyGold(1200) DestroyGold(1200) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB11.3 SAY @156 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(1599)~ + @117 DO ~TakePartyGold(1600) DestroyGold(1600) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB10.3 SAY @157 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2199)~ + @117 DO ~TakePartyGold(2200) DestroyGold(2200) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB9.3 SAY @158 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(2799)~ + @117 DO ~TakePartyGold(2800) DestroyGold(2800) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB8.3 SAY @159 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(3699)~ + @117 DO ~TakePartyGold(3700) DestroyGold(3700) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB7.3 SAY @160 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(3999)~ + @117 DO ~TakePartyGold(4000) DestroyGold(4000) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MB6.3 SAY @161 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(7499)~ + @117 DO ~TakePartyGold(7500) DestroyGold(7500) ReputationInc(-3)~ + X#Troubador1Final END IF ~~ THEN X#T1MBALittle SAY @162 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(4999)~ + @117 DO ~TakePartyGold(5000) DestroyGold(5000) ReputationInc(-1)~ + X#Troubador1Final END IF ~~ THEN X#T1MBModerate SAY @163 ++ @116 + X#Troubador1NoCoin + ~PartyGoldGT(7499)~ + @117 DO ~TakePartyGold(7500) DestroyGold(7500) ReputationInc(-2)~ + X#Troubador1Final END IF ~~ THEN X#T1MBNotPossible SAY @164 IF ~~ THEN EXIT END IF ~~ THEN X#Troubador1NoCoin SAY @165 IF ~~ THEN EXIT END IF ~~ THEN X#Troubador1Final SAY @166 IF ~~ THEN DO ~SetGlobal("X#TT1Deactivate","GLOBAL",1)~ EXIT END END So we can see how a merger of these two ideas can create dialog that can be very tightly tailored to the party, yet give a huge range of options. In this respect, it is a huge step up from Cromwell and Cespy forging, from a role-playing perspective - perhaps your Quest Blacksmith really likes dwarves and hates elves, so his forging prices and availability scale (or perhaps he offers different products to dwarves than elves, or figures out what store to start based on party gold)? Or perhaps reputation has an effect on what types of skills and services are offered? Or what if your crafter NPC operated by level, getting better items to forge, and crosschecked by the reputation of Player1, so that evil <CHARNAME>s got offered Daggers of Hideous Bloodletting, and Paladiny <CHARNAME>s got Daggers Of Riteous Providence? *cough* *cough* sorry, got carried away for a second there. Anyways, back to aAVENGER (RR). The AI for the invisible .cre is nicely set up, so summoning the .cre to access the dialog ("using the ability" in player terms) has the following script: IF OR(2) !Detect(LastSummonerOf(Myself)) StateCheck(LastSummonerOf(Myself),CD_STATE_NOTVALID) THEN RESPONSE #100 DestroySelf() END IF OR(4) Detect([EVILCUTOFF]) ActuallyInCombat() CombatCounterGT(0) AttackedBy([ANYONE],DEFAULT) THEN RESPONSE #100 DisplayStringNoNameHead(LastSummonerOf(Myself),@8120) // This ability cannot be used in a hostile environment DestroySelf() END IF NumTimesTalkedTo(0) Exists(LastSummonerOf(Myself)) !StateCheck(LastSummonerOf(Myself),CD_STATE_NOTVALID) THEN RESPONSE #100 StartDialogueNoSet(LastSummonerOf(Myself)) END That means block 1 deletes the .cre if the summoner disappears, if there is some kind of combat going on, or if a fireball trap just went off in the vacinity toasting the .cre... but if everything is a-ok, then the invisible .cre will start dialog with the actor that brought it into existence, accessing those options. OK, so far we have option 1 - build it through dialogs and timers, resolving it with either immediate creation and a "cooldown period", or commission and creation after the end of the timered "creation interval". option 2 - set up a spell that Aran can cast from either an innate ability/special ability slot or a dialog option that launches this invisible .cre and allows access to the menu. We haven't figured out *how* the .cre gets summoned yet, but we know it is attached to the way HLAs work, and we know that because aVENGER (RR) is looking at modifying and expanding existsing HLAs, which brings in the idea that perhaps cloning existing HLAs and adding them to Aran might be fun too, but I am nipping that line of inquiry in the bud because it involves much more research than even I find interesting. That is a level of script-guru stuff that I would rather beg the Big Boyz And Big Girlz to help me with if I ever have to. I don't mind going to the dentist, but I sure as heck don't volunteer for root canals without anaesthetic! Hey, so far this is pretty fun. Why don't we give it a twist further into the deep, and instead of using dialog or existing HLAs, build a level-advancing special ability that uses the special ability slots? Who does that? Well, Amber does. Emulating HLA Behaviors With Custom Stuff. Here is a snippet of Darios & Miera's Amber m#amber.baf, starting at line 3144. // Amber's racial special abilities IF XPGT(Myself,220000) GlobalLT("M#AmberLvl","GLOBAL",11) THEN RESPONSE #100 ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END IF XPGT(Myself,440000) GlobalLT("M#AmberLvl","GLOBAL",12) THEN RESPONSE #100 ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END IF XPGT(Myself,660000) GlobalLT("M#AmberLvl","GLOBAL",13) THEN RESPONSE #100 ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END IF XPGT(Myself,880000) GlobalLT("M#AmberLvl","GLOBAL",14) THEN RESPONSE #100 ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END IF XPGT(Myself,1100000) GlobalLT("M#AmberLvl","GLOBAL",15) THEN RESPONSE #100 ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END IF XPGT(Myself,1320000) GlobalLT("M#AmberLvl","GLOBAL",16) THEN RESPONSE #100 AddSpecialAbility("M#CONTAG") ApplySpellRES("M#INCFR",Myself) IncrementGlobal("M#AmberLvl","GLOBAL",1) END So what is happening here? Well, Darios and Miera are taking advantage of the same set of resources that aVENGER(RR) is modifying. They are creating a leveling structure outside of HLA tables to create a custom HLA that improves as we go up in level. in this case, they want Amber to get progressively more fire resistant, and gain some tiefling abilities, but since BG2 didn't create tieflings as a race, they are adding these abilities to her this way: OK, so the script is adding a spell. In the first case, skipping the whole spell-adding-to-ids thing, and just using the spell as a way of adding a permanent effect to the target, and in the second adding it as a special ability, with its own cool icon, and space on the menu. Yeah, right. How? How is that spell called, and what does it actually do? Opening up NI, we find that a custom spell M#INCFR is added by Amber as a Fire Resistance Bonus (30) with a living Actor as target. OK, we have the custom spell we can build a resource that adds an effect, and then use ApplySpellRES(S:RES*, O:Target) to dump it onto our NPC via script. Now for the Special Ability - This one has an icon (SPWI409B.BAM) assigned, and is named "Contageous Eye", has its spell type set as innate, and a secondary type = disabling, and a whole set of effects (disease, playing a character string, etc. - all sorts of stuff). Lots of fun stuff to go poke around with in NI or DLTCEP. So to add in a Special Ability that casts like a spell, we can do all sorts of stuff, and add it as an innate ability by simply scripting that AddSpecialAbility(S:ResRef*). But what about summoning that .cre? The spell itself does that - how? Let's go back and look more closely at aVENGER (RR)'s Alchemy work. What does his RR#ALCHT.SPL do? ok, so it plays a sound, throws some color around, and accesses an EFF file. and what does that RR#ALCH.EFF do? So now we have a way of doing this in an innate slot, as well - we can create a leveling script that allows him to call a .cre into being, so if we wanted to we could make the .cre called dependent on both level and type, swapping all sorts of .cres in an invisible .cre shell game if we wanted to - we could even drive the player nuts, and make not only the choices random but the type of spell random (or dependent on what classes are in the party). We could get really crazy with this, if we wanted.
  11. Love Talks OK. Looking through both BioWare materials and all of the NPC modded romances I can find out there, we have a couple of things to think about with regards to the lovetalk sequence. The standard approach is to ask about family, share some personal background, develop a sense of friendship and intimacy, and to hold off on any deep pronouncements of attraction until late in the game. This is a solid model mimicking real life; gradual expansion of the idea that a person is interesting, developing a sense of rapport, and slowly building intimacy. (OK, so not so much for Saerileth, but what do you expect from a massively hormonally driven 15 year old Paladin of Tyr who has obviously read way too many romance novels back on her home plane - all that power, energy, lust, and excitement coupled with a heavy dose of Romatic Idealism and first love, and you have a "Mine Own True Prince Charming True Love At First Sight with a heavy dose of Shakespearean Angst® and Faustian Promise©. She feels things so deeply that if you break her heart, she dies of it - only a massive convergence of Tyr's power, the rush of first adolescent love, and the intense focus of a fanatic could produce that result even in a fantasy setting. So let's just forget she exists for the purposes of this discussion. If anything she is the anti-Aran, anyways. If he gets thrown over for someone else, he is more likely to get very angry, very drunk, and hit every bar and brothel in Western Faerun, starting in Amn. He probably ends somewhere deep in the pleasure quarter of a backwater Calimshan dock, running the "Extra-Planar Casa Blanca Humphrey Bogart Gin Joint for Disposessed Lovers and Angy Young Men" (courtesy of Billy Joel, with an infinite loop of Angry Young Man, Shades of Grey, and All for Leyna running over Film Noir backdrops.) The commonalites: Gradually developing storyline exploring eachother's background, usually driven by the NPC (showing increasing interest). Indistinguishable from friend talks for the first several in the series. Mimics the RL "I am talking to <prohimher> more than to other folks because I think I might like him." Increasingly tailored responses, with several opportunities for the NPC to "break up" - the NPC is evaluating PC and determining if they meet the criteria. And vice versa, of course... Attempts to shut down if the romance goes committed to another NPC, or if the criteria set is no longer met. There is another commonality - the "Conditioned Lovetalk". You know, the one where you have to be resting outdoors to get the next lovetalk, or resting in an inn... basically, the author needs to set the scene a certain way for the interaction to occur - and the lovetalks go into a holding pattern until the player meets those conditions. Those, well... I hate 'em. They work beautifully from a storytelling standpoint, they make sense, and they are some of the nicest vignettes in game - and they even have good gaming value because they stretch content out across the entire game. My absolute favorite is Domi's BG1NPC Dancing With Dynaheir lovetalk. And I still hate 'em. They are in character, like Nalia needing to return to the Keep for consummation because that "wait for the special person and everything should be just right" is a fantasy that people try to play out in real life, too. And it is silly for Ajantis to try to do a rose flirt under the stars when there are no stars and you are in Underdark, making it imperative that conditions for the talk are set to make it fit. It makes sense from a "relationship plateau" standpoint, where the will-she-or-won't-she-show-some-interest stalls while characters get up the nerve. It even makes sense for the player to have to "work for it", because a game where there is no challenge is a game played once and forgotten. A character has to play hard to get just like a human does, at times and situations, to show self-respect and self-awareness. But I can't get past the fact that I hate 'em. I hate them because they demand that the sequence wait for a set of conditions to fulfill, for the "stars to be aligned"... for the player to do something specific without realizing it. Which leads to metagaming. Which makes folks post stuff like "Aran hasn't talked to me in three chapters - was I wrong to tell him to sleep with whom he chooses... did I break the romance?" to which I have to reply "No, not at all - you need to be a Half-Elven Female Lawful Good Paladin with a Charisma of 18, Intelligence of 16+, wisdom of 12-, after sleeping in an outdoor area three times, be resting in an inn in Brynlaw, have only elven female Fighter/Mages in the party, have killed three vampires in the last 14 script cycles, game time must be greater than 16 hours, it needs to be night, and you must have installed Divine Remix. Oh, and it only works if you have correctly answered three riddles in the 12 riddle sequence while battling vampiric shades in Firkaag's Lair." So, what ideas can I twist to make the standard NPC format work, but avoid this? Well, "Floaters". Aran's "Sequences vs Floaters" For Aran, let's try straight friendship track, based on the timer and no other basic conditions. The player gets to set how often they might be triggered. straight romance track, based on the timer and no other basic conditions. The player gets to set how often they might be triggered. a pool of "Floater" talks. These talks/events can be triggered after certain lovetalks, and tightly conditioned. They become "Easter Eggs", or unlocked content after a lovetalk has passed, just like the Filrt Sequence "I have had enough teasing, I want you" material. This separation allows a simple and easily scripted sequence that still can be derailed by either player or NPC based on reactions and answers, but provides the opportunity to have event-specific or conditioned content. Most of all, the main sequence of the story can play out even if Player1 decide to never, ever, ever rest in an inn, becuse their Druidess absolutely would die rather than sleep in the Great Blight That Is Civilization. Since I like music, and it can serve as inspiration for either mood or content, let's play around with using musical analogies/temes/evoked mood to gain inspiration. No need to re-invent the Bb Major Scale; love has been around as long as humans have, and the themes are good fun to play arond with and take in different directions. We follow the standard Romantic Comedy sequence - attraction but separation, leading to attraction but conflict, leaading to resolution, leading to misunderstanding and/or barriers and self-sabotage, leading to breakup. leading to soul-searching, leading to a. Dissolution (Tragedy: It Was Never To Be), b. Resolution (Comedy/Romance: Happily Ever After) or Transmutation (Comedy/Romance: The Other Girl Was the Protagonist's Soul Mate From The Start). This is more risky than the standard story/film/play/anime-based graphic novel line; the player still has to work through these things with a real chance of failure. The escape lines for both NPC and PC mean that some content may never be unlocked; but it frees us up to a new idea necessary for an NPC - how do you write for diferent players? Remember, he is a Companion Mod. The fun is figuring out how it all works for Aran and PC, and gives them a chance at having the romance in a roleplay that takes players into account. The same lovetalk, under this model, could be four separate scenes, even before we add in pathways for the PC to alter the action and direction: EVIL vs ARAN GOOD vs ARAN (and if you don't know the scene that sparked this idea, go see Notting Hill again. Good screenplay, if trivial). CHAOS vs ARAN LAW vs ARAN With that in mind, let's get an outline of a set of ovetalks that follows the Romantic Comedy conflict setup of will she? Won't she? Does she? SHE DOES! EWait a sec... you mean i have to... Hey, that wasn't good. No Fair. Who is *he*. What is going on here? [misunderstanding/conflict] Central Lovetalk Pathway Index: Inspiration Playlist 33 base sequence talks, combined between SoA and ToB. Only 4 fit with ToB, with Marriage and Eternity talks, so either move some around or add some, or cut some, I think. This is an inspirational playlist, not a guide direct content - the idea is to either evoke the song's feeling for the female player, or to provide what Aran is feeling, depending on the song. Please note I am still a dude - and I like a very large range of stuff musically, so while all this stuff has complete playthrough in my head, it shares it with avante-garde classical, Stravinsky, Grateful Dead, Dave Mathews band, Green Day, Feist, and a heavy dose of grunge, alternative, pretty much anything except mysogynistic rap. Oh, and I can't get "Amish Paradise" out of my head - thanks alot, Al Yankovic. MAIN LOVETALK SEQUENCE >>> /* Romance ended, buddy - it's Over. Go back to work, SellSword. //* Dixie Chicks - Hello, Mr. Heartache */ >>> 1. /* Hey - I'm available, even though you aren't or might be on the fence */ //* Mary Chapin Carpenter - I Take My Chances */ //* BG2 LoveTalk 1, c-aranbg2rom = 1 c-aranromtimer,C-ARAN_ROM */ //* Dixie Chicks: Ready To Run */ //* BG2 LoveTalk 2, c-aranbg2rom = 3 c-aranromtimer,C-ARAN_ROM */ //* Queen - Somebody To Love */ 2. /* I like you - do you like me? */ //* ABBA - Name of the Game */ //* Billy Joel - You may be Right/We Didn't Start The Fire mixology */ //* ABBA - Take A Chance On Me: */ /* I want you - do you want me? */ //* Dixie Chicks - If I Fall: */ //* Police - Every Little Thing She Does Is Magic */ //* Dixie Chicks - Long Time Gone: */ //* Billy Joel - Blonde Over Blue */ (I really love this one) 3. /* You have me - do I have you? */ //* Billy Joel - Up Town Girl */ Uptown Girl //* Journey - Any Way You Want It */ >>>>I was alone >>>>I never knew >>>>What good love could do >>>>Ooh, then we touched >>>>Then we sang >>>>About the lovin things 4. /* You don't really want me, do you. */ //* Billy Joel - Shades of Grey */ //* Police - Wrapped around Your Finger */ /* Dating a Once and Future Goddess stinks. */ //* Police - Roxanne */ //* Billy Joel - Everybody Loves You Now */ Visiting the very dark side, the great subtext - like ABBA, upbeat and funny, fun, interesting, until you listen carefully... and then the irony kicks you in the teeth and you realize that all the pretty colors are the side-effect of a 20th level mage casting Color Spray.. Everybody Loves You Now //* Police - Every Breath You Take */ Sinister and loving at the same time. Creepy. 5. /* I hate you. */ //* ABBA - I'm A Marrionette */ //* Billy Joel - Big Shot */ //* Billy Joel - Captain Jack */ 6. /* I can't live without you. */ //* Billy Joel - All for Leyna */ //* Phil Collins - Take a look At Me Now */ //* Mary Chapin Carpenter - Shut Up and Kiss Me */ 7. /* Will you be here forever? */ //* Billy Joel - Honesty */ //* ABBA - One Man, One Woman */ 8. /* I am yours, completely, without reservations. */ //* 10,000 Maniacs - Because the Night: Because the night belongs to lovers, Because the night belongs to us */ This one may have to move to the middle of SoA if we are going for Romantic Comedy - or it might have to be a close to the end of ToB full Destiny or Desire moment. Save this one for the full on heavy duty erotic moment. Apparently, it is alot more popular than I thought, judging by the videos available. I thought only old dudes like me listened to this stuff. [EDIT - Wow. Agressive Copyright Enforcement. Cutting out six links that no longer work] Original - Bruce Springsteen's version doesn't capture the raw energy even though they wrote it together. But, I'm a sucker for more smooth and demanding, yearning, insistent voices that curl around your psyche and sweep you along - so 10000 Maniacs with Natalie Merchant instead - Wow. I must really like this song. //* Mary Chapin Carpenter - This Shirt */ //* Billy Joel - She's Always A Woman To Me */ 9. /* Marry me? Or just live together forever? Or even if you become a goddess... can I worship you? //* Peter Gabriel - In Your Eyes */ //* Lee Ann Womak - I Hope You Dance */ /* Choosing to Be A Goddess Or Not */ //* Mr. Mister - Kyrie */ >>>>Kyrie eleison, down the road that I must travel >>>>Kyrie eleison, through the darkness of the night >>>>Kyrie eleison, where I'm going will you follow >>>>Kyrie eleison, on a highway in the light //* Chicago - Love me Tomorrow */ OK, this gives us an outline. Some of these will be slashed and burned, too - if it just doesn't work, it just doesn't work. But we have a basic framework to build from. Let's try a first lovetalk: /* Mary Chapin Carpenter - I Take My Chances */ /* BG2 LoveTalk 1, c-aranbg2rom = 1 c-aranromtimer,C-ARAN_ROM */ /* Link to net reference, but the CD is much better :: www.youtube.com/watch?v=wYhjNDFMMc0 */ IF ~Global("c-aranbg2rom","GLOBAL",1)~ THEN BEGIN c-aranbg2romtalk1 SAY ~[ARAN] Are ye needin' somethin', <charname>?~ ++ ~[PC] No. Why do you ask?~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",C-ARAN_ROM)~ GOTO c-aranbg2rom1ask ++ ~[PC] I was about to ask you the same question.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",C-ARAN_ROM)~ GOTO c-aranbg2rom1question ++ ~[PC] Yes. After I box your ears. Touch me again without my permission, and I will do far worse.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",C-ARAN_ROM)~ GOTO c-aranbg2rom1boxed ++ ~[PC] Yes, I do. I need you to watch our surroundings, and stop watching me.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",C-ARAN_ROM)~ GOTO c-aranbg2rom1watchingme ++ ~[PC] You flatter yourself, boyo.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",1) RealSetGlobalTimer("c-aranromtimer","GLOBAL",C-ARAN_ROM)~ GOTO c-aranbg2rom1boyo <<standard exit="" block="">> END IF ~~ c-aranbg2rom1ask SAY ~[ARAN] Well, you keep strayin' your eyes my way, is all. An' I do believe I was a mite forward, back there, with my hands. You should box my ears but good. Sune knows I deserve it. Or was you goin' to tell me that I have permission to be a scoundrel?~ ++ ~[PC] You have my permission, Aran. If you are man enough for the task.~ + c-aranbg2rom1manenough ++ ~[PC] Scoundrel. Aran, you surprise me. You actually know a word longer than 'aye'.~ + c-aranbg2rom1wordlonger ++ ~[PC] Again with the romance. Some men don't take a hint. Look, drop it, Aran. And touch me again and you will be very sorry.~ + c-aranbg2rom1verysorry ++ ~[PC] You flatter yourself, boyo.~ + c-aranbg2rom1boyo <<standard exit="" block="">> END IF ~~ c-aranbg2rom1question SAY ~[ARAN] Well, I hinted back there, is all. My eyes be strayin' your way too, I guess. An' you didn't box my ears back there when my hand kinda wandered a bit.~ ++ ~[PC] Touch my rear again without my permission, and I will do far worse.~ + c-aranbg2rom1boxed ++ ~[PC] You have my permission, Aran. If you are man enough for the task.~ + c-aranbg2rom1manenough ++ ~[PC] You flatter yourself, boyo.~ + c-aranbg2rom1boyo <<standard exit="" block="">> ++ ~[PC] Scoundrel. Aran, you surprise me. You actually know a word longer than 'aye'.~ + c-aranbg2rom1wordlonger END IF ~~ c-aranbg2rom1boxed SAY ~[ARAN] Aye, I do believe I was a mite forward. You should box 'em but good. Sune knows I deserve it. Or was you goin' to tell me that I have permission to be a scoundrel?~ ++ ~[PC] Scoundrel. Aran, you surprise me. You actually know a word longer than 'aye'.~ + c-aranbg2rom1wordlonger ++ ~[PC] Forward is good. But there is a time and place.~ + c-aranbg2rom1timeandplace ++ ~[PC] *whack*~ + c-aranbg2rom1whacked ++ ~[PC] You flatter yourself, boyo.~ + c-aranbg2rom1boyo <<standard exit="" block="">> END IF ~~ c-aranbg2rom1watchingme SAY ~[ARAN] Well, I do admit you are a sight to be watched, <charname>. But I can watch you an' keep lookout too.~ ++ ~[PC] You misunderstand me. If you think I am watching because you are attractive, you flatter yourself, boyo. I just can't trust you to keep your mind on the job.~ + c-aranbg2rom1boyo ++ ~[PC] I don't mind the glances, Aran. But there is a time and place.~ + c-aranbg2rom1timeandplace ++ ~[PC] Oh, Aran, my dearest love, come and we shall frolic freely among the stars, and be one together for all eternity... + c-aranbg2rom1joking END IF ~~ c-aranbg2rom1joking SAY ~[ARAN] Aye, that's right. Make fun o' the poor lad what just was flirtin' with you. Go on wi' ye. ~ ++ ~[PC] Well, stop with all the love stuff and let's just stick to business, shall we?~ + c-aranbg2rom1chances ++ ~[PC] No, no, it's true. You are my destiny, Aran. That, or I am supposed to be the doing something about prophecies, or something. We can't just leave all that to chance, can we?~ + c-aranbg2rom1chances ++ ~[PC] What is sauce for the goose is sauce for the gander, Aran. You have been teasing me with all this looking and touching.~ + c-aranbg2rom1chances ++ ~[PC] You have a good deal to learn about women, Aran.~ + c-aranbg2rom1chances END IF ~~ c-aranbg2rom1boyo SAY ~[ARAN] Well, not to flatter myelf, exactly. I just believe in takin' some chances, is all.~ ++ ~[PC] Chance is fine when it comes to some things. But you are treading dangerous ground here.~ + c-aranbg2rom1chances ++ ~[PC] Chance is something to be avoided at all costs. There is an order to all things, Aran.~ + c-aranbg2rom1timeandplace ++ ~[PC] So you believe that taking your life into your hands and accosting me is worth the risk?~ + c-aranbg2rom1chances ++ ~[PC] If you want a chance with me, you had better behave.~ + c-aranbg2rom1chances ++ ~[PC] No chance here, Aran. I have my attentions placed elsewhere. Stop bothering me.~ + c-aranbg2rom1chances END IF ~~ c-aranbg2rom1manenough SAY ~[ARAN] Oh, I be man enough. Just not sure where the rules an' regulations put us, you bein' you an' all. Then again, I do believe in takin' chances.~ ++ ~[PC] Chance is fine when it comes to some things. But you are treading dangerous ground here.~ + c-aranbg2rom1chances ++ ~[PC] Chance is something to be avoided at all costs. There is an order to all things, Aran.~ + c-aranbg2rom1chances ++ ~[PC] So you believe that taking your life into your hands and accosting me is worth the risk?~ + c-aranbg2rom1chances ++ ~[PC] If you want a chance with me, you had better behave.~ + c-aranbg2rom1chances ++ ~[PC] Some things I leave to chance, Aran. But I like the odds better when the person is much better educated. + c-aranbg2rom1wordlonger END IF ~~ c-aranbg2rom1wordlonger SAY ~[ARAN] Oh, you know how to hurt a lad, you do. I didn't do all this scribin' blind. There be some words I can't pronounce, but I can even do a bit of Dwarven an' Illuskan script. 'Scoundrel' has been used about me before, too. Sometimes for good, sometimes meanin' bad... an' always meanin' trouble.~ ++ ~[PC] Your mother must be so proud.~ + c-aranbg2rom1mocking ++ ~[PC] And you chose to use this extensive vocabulary on me because...~ + c-aranbg2rom1boyo ++ ~[PC] Good, bad, or indifferent, you are welcome to try sparring with me, Aran. But aren't you taking a big chance, here?~ + c-aranbg2rom1chances ++ ~[PC] Somehow this conversation has gotten sidetracked. Keep your eyes and hands to yourself, sellsword. I won't give many second chances.~ + c-aranbg2rom1chances END IF ~~ c-aranbg2rom1timeandplace SAY ~[ARAN] Now, I don't rightly believe that. There is naught but little time to spend on Faerun, an' it don't serve the time we have to play it so safe.~ IF ~~ THEN GOTO c-aranbg2rom1chances END IF ~~ c-aranbg2rom1whacked SAY ~[ARAN] SUNE'S RUMP! That bloody well hurt!~ ++ ~[PC] Forward is good. But there is a time and place. Learn it, and yours.~ + c-aranbg2rom1timeandplace ++ ~[PC] Keep your eyes and hands to yourself, sellsword. I won't give many second chances.~ + c-aranbg2rom1chances ++ ~[PC] Shall I kiss it and make it better, Aran?~ + c-aranbg2rom1mocking ++ ~[PC] I mean what I say. Stop flirting with me, or risk my wrath.~ + c-aranbg2rom1chances END IF ~~ c-aranbg2rom1verysorry SAY ~[ARAN] I already bloody well am sorry I brought anythin' up. You need to lighten up, <charname>, an' take some chances. ~ IF ~~ THEN GOTO c-aranbg2rom1chances END IF ~~ c-aranbg2rom1mocking SAY ~[ARAN] Selune's Sweet Breath, you are mockin' me! Well, now, can't say as I blame you. I did come on a bit strong.~ IF ~~ THEN GOTO c-aranbg2rom1chances END IF ~~ c-aranbg2rom1chances SAY ~[ARAN] Look, most times it is better to dive in, an try. An' if there be some problem, the folks you want to be around forgive you freely, an' the folks you want naught to do with try to extract some price. When Tymora lets fly a coin, I jump right in an' wager high. I take my chances every chance I get. ~ IF ~~ THEN EXIT END </charname></charname></standard></standard></standard></standard></charname></charname></charname></charname></charname></charname></charname></prohimher>
  12. OK. In no particular order, we have a soundset sketched and coded sans the actual sounds, and that has given a "voice" to our dude. We also have a set of SoA banters, 2 banters per canon BioWare™ NPCs, to define Aran's outlook to the reader/player through how he interacts with the other members of the party. The writing on ToB banters is slower going, because frankly while I have played SoA to death, playing ToB has not always been on the ticket. So we will let that ruminate a bit more, and perhaps even wait for another week, while things percolate. Let's go ahead and sketch out the friendship talks in rough form. Preparation and Thought-Experiments otherwise known as a variant on the spells "Confusion" and "Horror" called recently on the forums "Wall of Text", wherein the author creates meaningless psychological, sociological, and revisionist studies for his own amusement and the purposes of stunning and confusing the reader into accepting his basic premise without thinking too deeply. Go me! OK, notes to myself. Also called "Journaling", by all these new kids. For good thought-provoking discussion on dialog writing, banters, and characterization, the place I like to go is PPG and JCompton. If you follow that link, it is just the Mod general discussion board; poke around at the other stuff, and you get more threads dealing with this kind of stuff. He says up front that all of his ruminations on guidelines may or may not have been broken in stuff he writes, and that there are lots of ways to do this dialog integration thing. Sure. I agree that slavishly following a set of blueprints of any kind is anathema to creative expression; but his discussion threads bring experienced coders, writers, and readers to the table and get them discussing what makes decent gameplay and dialog work together. Plus he wrote Keto, who has to be one of the coolest "companion" - like mods out there, in my opinion, even though there is no romance track (or perhaps because there is no romance track). So reading that is good prep. And I have very seldom read something that I though was a bad idea on those explorations - he knows his stuff. At least then when I chose to do something odd, it will be because I am making a choice, instead of just blindly leaping into the void. And, of course, there is playing experience - I know what I like about other NPCs and what I find frustrating/lacking, so that helps - reading other folks' stuff is like listening to decent jazz players and seeing how they take the changes, modify the melody, and make a "standard tune" their own. (OK, let's be really painfully truthful - sometimes it provides the "how-not-to" demonstration. But negative energy rips years off of your life. And sometimes what you don't like about someone else's stuff helps figure out what you do like, and might make your work better). This one comes with a caveat. I am writing Aran for my own amusement, but I would like it if one or two folks have some fun too. So probably leaving him open to more possibilities is a good idea. I play way too many Paladin runs. Then again, all this deep philosophical stuff really is moot. It's a mod, not a dissertation. And most folks these days seem more interested in pages and pages of discussion rather than actually creating anything for players to play - so I'll cut off the additional twenty pages of deep philosophical blather, and simply refer you to the "Cathedral" vs "Parlor" debate summarized best by Wrye in Morrowind modding, the various threads around the i.e. community that ask deep questions, and let you knock yourself senseless against *other* peoples' Wall of Text™ spellcasting, unless you make your Save vs Insanity. I find thse have increasingly distracted me from actually doing stuff I like doing, so I am going all tough love on myself - tTo quote my favorite sports movie, Jerry MacGuire - "Show me the money". OK, no cash, so my old Junior High shop teacher - "Lots of talk. Who cares. Build the *&^%^& thing. Then we'll talk." Friendship Paths and FriendTalks and Friendhip Talks and Friend Banters So, what's in a name? At base, all friendtalks are PC>NPC banters. In fact, though I agree with JCompton that railroading a player through only one dialog choice is a waste of material, technically all that is required to build a friendtalk is to have Of course, that's boring. So what do we do? Before we go exploring all the ways to mess with player's heads add all sorts of cool stuff to branch out different options for the NPC and PC, it might be a good idea to sketch out an organization. It will help keep the writing focused and on-task, provide a guide for me to see how close things are to a finishing point, and most of all it will be a good idea-sparker while playing BG2 and seeing how Aran might react. I see two basic ways that would work for my style and my patience level. We can go all Pointilistic/Atomistic/Impressionist, and randomly write some scenes that appeal to us between Aran and the PC, and see what happens. Fun to do, and the way many NPCs are coded. Here, a couple of scenes that have no relation to eachother get tucked into the story. We could always build a "friendship track", where a series of talks lead from an initial lightweight banter through the development of a friendship - basically, a "Platonic Love Talk Sequence", as opposed to a "Romantic Love Talk Sequence". Here, the depth of the relationship is patterened, and there are opportunities for the PC and Aran to "break up" as friends, or at minimum to become "frenemies" [what a horrible word. Yuck.]. Guess what - I like both ideas. But I am not writing the Next Great American Novel™, so how about we ignore the list completely, and go with a middle ground - a "sequence" of talks, so that I have some targets and goals to shoot for and an idea of what kind of topics/stuff I want to have Aran and PC talk about, plus some semblance of a track. But all those random ideas that may not fit into a track, or may have conditions, set them up as "floaters", outside of the sequence. Later on, I can add in the changes needed to adjust to romance/no-romance, and perhaps even for more specific situations.
  13. In honor of the G3 Anniversary, I asked fellow Gibberlings to let me ramble on here ad nauseum. Don't worry, I will come up with suitable bribes later. But for now, here goes - we'll announce him when we have the other Anniversary projects ready for Prime Time™. Special thanks to berelinde, jastey, Amaurea, and theaceface for poking about and offering suggestions and making sure I didn't go wandering too far off the deep end. Especially the whole characterization-through-dialog thing. A quick note about the development threads posted here. Lots of good NPC mod ideas stall at the initial stages of writing. Lots of good tutorials exist that can describe how to use WeiDU to creat great NPC mods. The best way of learning to mod, though, is always looking at other people's code, and blatantly stealing it. We call it 'quoting' in jazz, or 'music theory' in classical - but at its heart, code is just a way of delivering a set of new ideas to the end user. Heck, any good writer will tell you that the language is a toy to play with, and even plots and dialogs have probably been worked through in some way - "ain't nothin' new under the sun". The creativity lies in creating an interesting, immersive character and getting him or her to live in people's heads for a passing moment. But sometimes, looking at that code makes folk's heads hurt. So there is a gap between the tutorials and the existing mods - the place where Lortie's "apprenticeship of observation" throws itself into the mix. I had Domi, luckily, and lots of patient folks all over the forums to guide projects I help on. In that spirit, I am experimenting with Aran. He gets to be the test subject while I think out loud through developing him. Dunno why I thought this was a good idea, but heck - sometimes writing down why I make the decisions I do can help me remember what I've missed, and sometimes it might help someone else. Of course, I would like to point out that you can do just as well on your own - read other folk's mods. Read the tutorials. Play the game, and write down how your story fits in. Pretty much, I am blogging here. And to be blunt, I am writing for me, not for you - not that I don't like you or anything, 'cause I probably don't know you, but because only a crazy person would actually read someone's thoughts while they attempt to write a mod. If you have no idea at all what "create a .d file and start with your regular IF THEN code", then stop right now, and go visit some of the basic tutorials that tell you how things work. Sometimes I will break it down to absolute basics, but for the most part, you are going to want to read over stuff on the G3 tutorials, the Pocket Plane Group Tutorial page and the newly updated and expanded SpellholdStudios Tutorial links. These are all places I strongly recommend visiting. All three of these communities have folks who are good at helping new modders out with code. There are other places with good stuff, too; Black Wyrm Lair and TeamBG.eu, currently down due to moving a server, have offerings, and Chosen of Mystra has materials both old and new, some rescued from the old CoM boards (some big names out of the past, and some new names too). But now that that is out of the way, I am going to proceed as if the basics are not completely new to the reader. If you get confused, don't worry - it's likely me. But cross references eventually appear, so that you can see what's already out there. By the way, I strongly and highly recommend a brand new tutorial, K'aeloree's "How to code friendships and romances!". Several of the most respected i.e. modders have used this kind of organization and structure for years, but this is a clean, comprehensive, step by step through the basics of organizing, planning, and working out code - stuff that most modders for years have been coming to in various ways through trial and error. For examples of mods already in circulation that give good examples of organization and commenting, I personally find the following mods easiest to explore and see planning in action, whether they set out from a purely story-driven standpoint or from a more organized plot-point schematic, both regular stuff in amateur-writer-land - Kivan [and sections of BG1NPC] (Domi/Ashara at G3), Gavin (berelinde at everywhere), Xan (kulyok at ppg), and Ajantis [both in BG1NPC and in the expanded Ajantis Expansion (jastey at everywhere). Gavin in particular is commented clearly, as per this example below of berelinde's index at the top of b!gavinj.d: /* ~B!GAVINJ~ */ /* CONTENTS */ /* Reputation talks */ ///* Reputation break point */ ///* Unhappy */ ///* Happy */ ///* Delighted */ /* Interjections */ ///* Song of the Morning - Dawn Priest Blane */ ///* Song of the Morning - Dawn Priest Bram */ ///* Song of the Morning - Drunk north of temple */ ///* Beregost - Mirianne */ ///* Beregost - Galteran in Gavin's old house */ ///* Beregost - Neighbor Davis */ ///* Beregost - Borland */ ///* Beregost - Golin Vend, the tour guide */ ///* Beregost - Bartender at the Red Sheaf */ ///* Beregost - Karlat */ ///* Friendly Arm Inn - Tarnesh */ ///* Coastway - Jase, boy by Kagain's caravan */ ///* Coastway - Bandit leader setup for Silvershield fibula */ ///* Fisherman's Lake - Teyngan */ ///* Fisherman's Lake - Drizzt */ ///* Fire Leaf Forest - Albert */ ///* Gibberling Mountains - Gellana and Samuel */ ///* Nashkel - Oublek */ ///* Nashkel - Oublek, regarding Brage */ ///* Nashkel - Berrun Ghastkill */ ///* Nashkel - Joseph's wife */ ///* Nashkel - Noober */ ///* Nashkel - Neira */ ///* Nashkel - Nimbul */ ///* Nashkel - Samantha and Jamie */ ///* Dryad Falls - Caldo, Krumm and the Cloudpeak Dryad */ ///* Eldoth */ ///* Viconia */ ///* West Baldur's Gate - Varci */ ///* West Baldur's Gate - Tremain */ ///* West Baldur's Gate - Abela the Nymph ///* North Baldur's Gate - Ramazith's proposal */ ///* Flaming Fist - Neb */ ///* Flaming Fist - Duke Eltan ill */ ///* Nashkel Mines - Prism */ ///* Cloakwood 2 - Tiber */ ///* Cloakwood 2 - Centeol */ ///* Candlekeep - Theodon */ ///* Nashkel Carnival - The Great Gazib */ ///* Nashkes Mines 1 - Dink and Kylee's Dagger */ ///* Nashkel Mines 4 - Mulahey */ ///* Baldur's Gate Docks - Basilisks loose */ ///* Red Canyons - Bassilus Quest Interjections */ ///* Cloakwood Mines */ ///* Cloakwook Mines 4 - Davaeorn */ ///* Tamoko */ ///* Lighthouse - Arkushule */ ///* Mutamin's Garden - Tamah */ ///* Cloakwood 2 - Finding Chelak */ ///* Cloakwood 2 - Centeol's Lair */ ///* South Beregost Road - Roe's letter */ ///* Beregost - Visiting Gavin's old house */ ///* Beregost - Greta's house */ ///* Spider body in party inventory */ ///* spider body in Gavin's inventory */ ///* Fire Leaf Forest - Rufie */ ///* Coastway - Silvershield Fibula */ ///* Joseph's Ring */ ///* Girdle of Gender Bender */ ///* On the roof of the Iron Throne */ ///* Bhaal heritage revealed */ ///* Many bounty notices */ /* Xan's break with a half-elf */ /* Saw a spider */ /* CHARM TALKING - doesn't work, as far as I know, but just in case */ /* DRUNKEN BANTERS */ ///* Just friends */ ///* Early Relationship */ ///* Early Romance Aftermath */ ///* Later relationship */ ///* Later relationship aftermath */ ///* Committed drunk */ ///* Committed drunk aftermath */ ///* Drunk sex */ ///* Drunk sex aftermath */ ///* Picking up Dynaheir */ ///* Picking up Viconia */ /* FRIENDTALKS */ /* Friendship warnings and breaks */ ///* Offense warning 1 */ ///* Offense warning 2 */ ///* Offense break */ /* Friendtalks */ ///* Friendtalk 1 - Gavin, cleric of Lathander */ ///* Friendtalk 2 - why is pc on the road */ ///* Friendtalk 3 - Gavin on religion */ ///* Friendtalk 4 - Lathander and racial harmony */ ///* Friendtalk 5 - Gavin's brown thumb */ ///* Friendtalk 6 - What will pc do when quest is over */ ///* Baldur's Gate */ ///* Entrance to the temple of Bhaal, final peptalk */ /* CHAPTER TALKS */ ///* Chapter 2 - What to do about the iron shortage */ ///* Chapter 3 - Mines are clear, now what? */ ///* Chapter 4 - powerless in the face of human suffering */ ///* Chapter 5 - reaction to Davaeorn's death */ ///* Chapter 6 - About Lanie */ ///* Chapter 7 - catacombs */ ///* Chapter 8 - going to get Lanie */ The organization can follow along after the product if you want, but frankly, I work better knowing how the puzzle is over-all structured beforehand. Most modders have evidence of both in their distributed files - sections where there is evidence of an original sequence, and then it has grown and been fleshed out as a new idea surfaces. So the skeleton is just that - stuff to be fleshed out and expanded, not set as a confining exo-skeleton locked into place from the beginning. And I like it when I can follow a modder's contents and see what they are trying to do, even when only three or four other people in the world will probably look at it. Read Nythrun's comments in her various snippets of code sometime. Definitely way cool and funny. One final note - if you see stuff here that's useful, great - but I still advise going and taking a look at how other folks are doing similar stuff. The more you read through other folk's work, the more you learn about how you can get your story to work the way you want it to. Plus, I learned it that way. Even when I choose to ignore common sense and do something completely off the beaten track. So, happy modding. And if I'm lucky, he'll turn out ok.
  14. Background The Crossmod Banter Pack (CBP) was started to provide a central clearinghouse for banters which take place between two or more mod-created NPCs, allowing interaction between said NPCs without tying the content to one NPC mod or the other, or requiring one NPC mod to be installed in a certain sequence relative to another NPC mod. One of its organizational features is that it requires express consent be given by the authors of all involved NPCs before it will publish any new content. That feature is the subject of this position paper. Position I have long opposed that organizational feature on the grounds that it affords a special status to mod content above and beyond that granted to core game content. Few, if any, modders have expressly sought the permission and approval of Bioware before publishing mods which augment or change core game content. The idea that a modder is deserving of greater consideration is distasteful to me and I can find no sensible moral basis for it. My stance is that content is content, and all is fair game. Furthermore, I assert that the "mutual consent" system demonstrably produces banters in both limited quantity and limited quality. Some modders choose not to participate for fear of their characters being compromised, some (myself included) have distanced themselves out of reluctance to lend credibility to the "permission" system at all. And the depth and interest of the subject matter explored in "approved" banters has tended to be limited--many reduced to glorified pattycake sessions between two characters whose authors were afraid to dig deep for fear of alienating one another. Recent Silliness Relatively fresh from his latest momentous return to modding, Moongaze (known now as "Moongaze II: The Richard Donner Cut") attempted to withdraw permission for NPCs and crossmod banters already in the pack, stating as his reason his contempt for one of the CBP maintainers. To their credit, the CBP maintainers swiftly denied his request. However, the episode was rather embarrassing and put in sharp contrast the weakness of the "permission" system--it can be based on as little as spite. Despite the fact that nothing actually happened, I assert that this put the nail in the coffin of the "permission" system, which has not generated a terribly inspiring body of work in the years it has been in operation. When I Say "Freeze", I Do Not Mean "This Is a Stickup!" I propose, therefore, that development of CBP be immediately frozen. Mothballed. Suspended. No new submissions be accepted for it and no new editions be published except in the highly unlikely event that a bugfix be made. Its maintainers would direct authors interested in creating crossmod content to an alternate venue. They may see fit to create it, or use one of the existing banter-related mods if appropriate. Such a venue would have a strong, theoretically detached editor or editors whose goal would not be to protect anybody's feelings about a particular character or characters, but to aid submitting authors in refining their content, as needed, to produce more interesting and engaging content. They would reject or suggest changes to something which is pointless, disjointed, far too verbose, wildly out of character, etc. etc. "But, Crockpot, aren't you just replacing the approval of the second mod's author with the approval of this uber-editor?" you ask. The major difference in my mind is that "single writer plus theoretically detached editor" is far more likely to turn out something of substantial interest than "two authors hesitantly feeling each other out for stuff each will let the other get away with in a banter." "But, Crampart, I don't believe there is any such thing as a detached editor in our contentious little circle. I certainly wouldn't trust you to edit my NPC's words!" you say. Perhaps not. I still suspect that even a modestly flawed editor in the single-author system would produce better content than the current "permission" system does. It would also make it far more realistic for a third party (one not involved in the creation of any mod NPC) to develop intriguing content for the NPCs, as they would be free from the requirement of seeking out both/all mod NPC authors involved. Between the wider talent pool and the emphasis on quality, rather than permissibility, I suspect players will be far better served.
×
×
  • Create New...