Jump to content

Search the Community

Showing results for tags 'mod development'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Categories

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

Categories

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

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 60 results

  1. Bogstandard BioWare™ copying for the setup, but then we go slightly off the usual track for the cutscene and talk. For your own research, check LOVEDONE .d's, and HGWRA01's jumping around between all the possibles. CODE /* Master Wraith Talk. */ /* At top of c-arantobdialog.d, */ BEGIN C-ARWRTH Reminder to self - beg/bribe Peachplums for another picture... spectral fighter. CODE /* In .tp2, creature C-ARWRTH */ COPY ~aranw/portraits/peachplums_deadman.bmp~ ~override/c-aw01p3.bmp~ // Dead Mercenary portrait (Peachplums) COPY_EXISTING ~kpchap01.cre~ ~override/c-aw01p3.cre~ SAY NAME1 ~Stedd~ SAY NAME2 ~Stedd~ LAUNCH_PATCH_MACRO ~support_cre_cleanup~ */ in c-arantobdialog.d, CODE /* break in and set up the talk if in a romance */ EXTEND_BOTTOM HGWRA01 18 IF ~Global("c-aranrom","GLOBAL",2) InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID)~ THEN DO ~SetGlobal("c-aranlovedone","GLOBAL",6)~ EXTERN HGWRA01 c_wraith_trashtalk END /* Create the EXTERN, as we want only one of these to play */ CHAIN HGWRA01 c_wraith_trashtalk ~What of the inevitable pain you must cause to the one you love? This man, the one whom you call "Aran".~ == C-ARN25J ~[ARAN] What in Cyric's Blighted Breath do this windbag be talkin' about? You be in control o' th' bloodurges...~ EXTERN HGWRA01 24 /* draw off the romance-triggered sob stories to a new one */ EXTEND_BOTTOM HGWRA01 24 IF ~Global("c-aranrom","GLOBAL",2)~ DO ~ClearAllActions() StartCutSceneMode() StartCutScene("C-ACT218")~ EXIT END /* start the waterworks */ CHAIN IF ~NumTimesTalkedTo(0)~ THEN C-ARWRTH c_start_wraith_talk ~[C-ARWRTH] Aran? Whitehand, light a torch or somethin'. It is as dark as hells here...~ [C-ARW001] == C-ARN25J ~[ARAN] What in th' nine hells... you be dead an' buried. Someone get me some holy water right quick, eh? You were no good when you was alive, an' I don't rightly want to see you now you be dead.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] You have come up in th' world. Who is th' wench?~ [C-ARW002] == C-ARN25J ~[ARAN] Keep a guard on your tongue, bastard.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Oho, a new lover? Stedd sees all now, Whitehand. You sorry weakling, you actually think you can keep her? Does she know?~ [C-ARW003] == C-ARN25J ~[ARAN] Shut your filthy mouth.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Hah! She doesn't know! You remember, don't you? Th' smell of flesh burnin', th' screams of th' children...~ [C-ARW004] == C-ARN25J ~[ARAN] I did what you ordered. Bane Blight your soul, I didn't know.~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] You lie, you piece of dung. You acted so high an' mighty, and then you go blindly followin' without a care or thought in th' world. Th' blood's on your hands, and those screams will haunt you past death's door. Think you will keep her precious lips close to you now, mercenary?~ [C-ARW005] == C-ARN25J ~[ARAN] Gods...~ [ARAN_SOUND_HERE] == C-ARWRTH ~[C-ARWRTH] Murderers all, we happy few. And you with th' weak stomach cryin' like a baby, battin' at the flames while your comrades died. Twice murderous, bastard. Charred flesh was not about to rise, an' we died because you had no stomach for th' collateral damage. Are you cryin' now?~ [C-ARW006] END ++ ~[PC] Don't say those things to Aran! He did what he had to!~ EXTERN HGWRA01 25 ++ ~[PC] I... I knew you had done some difficult things in your past, but you never told me about this, Aran.~ EXTERN C-ARN25J c_wraith_below_belt ++ ~[PC] Stop tormenting Aran, spirit! ~ EXTERN HGWRA01 25 ++ ~[PC] Gorion, stop this! I won't let this go any further!~ EXTERN HGWRA01 25 + ~CheckStatGT(Player1,16,WIS)~ + ~[PC] Aran, this isn't real. Don't listen to it!~ EXTERN C-ARN25J c_wraith_below_belt APPEND C-ARN25J IF ~~ c_wraith_below_belt SAY ~[ARAN] By Ilmater's Tears, that don't help th' feelin's this bastard be slappin' me with. For th' sake o' mercy, can we shut him th' blighted hells up?~ IF ~~ THEN EXTERN HGWRA01 25 END END in c-arn25.baf [code] /* Master Wraith Post-Traumatic Stress Disorder Amelioration Talk */ IF Global("c-aranpostwraith","GLOBAL",0) GlobalGT("WraithPunish","GLOBAL",0) Global("c-aranlovedone","GLOBAL",6) InParty(Myself) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY]) THEN RESPONSE #100 SetGlobal("c-aranpostwraith","GLOBAL",1) END IF Global("c-aranpostwraith","GLOBAL",1) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 PlaySong(0) PlaySound("C-ARANS") StartDialogueNoSet(Player1) END in c-arantobdialog.d, in APPEND to C-ARN25J, CODE /* ToB Plot Talk : Post Wraith Talk™ */ IF ~Global("c-aranpostwraith","GLOBAL",1)~ c_post_wraith_talk_starts SAY ~[ARAN] Gods.~ ++ ~[PC] They had a little to do with it, I think. But not much. We survived through our own strength.~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_survived_it ++ ~[PC] Was... was what that ...thing... said. Was it true?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_was_it_true ++ ~[PC] Are you crying?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_arms_wrap ++ ~[PC] (Throw yourself into his arms and press your face against his chest.)~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_arms_wrap ++ ~[PC] I don't know what to say.~ + c_survived_it ++ ~[PC] So, a little history lesson for both of us?~ DO ~SetGlobal("c-aranpostwraith","GLOBAL",2)~ + c_survived_it END IF ~~ c_arms_wrap SAY ~[ARAN] (His arms crush you close, his face hidden from your sight.)~ IF ~~ THEN GOTO c_survived_it END IF ~~ c_survived_it SAY ~[ARAN] That thing... it might have been only a powerful spirit, a reflection. But... It spoke o' things we have not talked about.~ ++ ~[PC] It spoke twisted lies to hurt and confuse us, and to separate us.~ + c_tell_the_truth ++ ~[PC] I don't want to hear any more. The past is the past. For both of us, the past is the past.~ + c_tell_the_truth + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] If it spoke only a little truth, then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] Aran, look at me... Look into my eyes. I love you.~ + c_tell_the_truth ++ ~[PC] You heard a twisted view of my life. I heard a twisted view of yours. It is over, and I never want to discuss it ever again. We need to move on, now. Pick up your gear, and help me get things back in order.~ + c_aye_can_do END IF ~~ c_tell_the_truth SAY ~[ARAN] Truth be th' only way to really clear this burden. What that abomination said, it were true, to a point.~ = ~[ARAN] There be times when you know an order be just plain wrong, an' you have to make a choice. I chose to follow.~ = ~[ARAN] Th' details don't rightly matter, but th' result be an ugly truth. Good men can do horrible evil, just by followin' instead o' thinkin'.~ + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] Then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] I don't want to hear any more. The past is the past. For both of us, the past is the past.~ + c_tell_the_truth ++ ~[PC] You really burned innocent children alive, and broke down in battle?~ + c_can_you_handle_the_truth END IF ~~ c_can_you_handle_the_truth SAY ~[ARAN] I'd say it different. I'd say I followed th' orders to set th' village afire. I'd say I thought there might be some innocents there, an' mayhap th' enemy was shieldin' themselves. I'd say that when I saw th' sight an' heard th' screams, I ran to see if I could undo what had been done...~ = ~[ARAN] What I had done.~ = ~[ARAN] But when it be th' truth between my soul an' you, yes. I did.~ ++ ~[PC] Get. away. from. me.~ + c_no_longer_welcome + ~Alignment(Player1,MASK_EVIL)~ + ~[PC] Then you have more strength in you than I thought.~ + c_evil_strength + ~Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_good_strength + ~!Alignment(Player1,MASK_GOOD) !!Alignment(Player1,MASK_GOOD)~ + ~[PC] Then you have more strength in you than I thought.~ + c_neutral_strength ++ ~[PC] You had no choice. An order is an order. You could not have been sure. It was not your place to make that choice.~ + c_we_all_have_choices ++ ~[PC] Why have you not told me this before now?~ + c_how_can_you_tell ++ ~[PC] I could say that everything that has happened to us is my fault. That would not be truth. It would be self-pity.~ + c_self_pity END IF ~~ c_self_pity SAY ~[ARAN] You could say that it be self pity. But there be a difference in my case. You didn't choose your blood or th' things what followed. Me, I could say I had no choices...~ IF ~~ THEN GOTO c_we_all_have_choices END IF ~~ c_evil_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would see this as an opportunity, a weakness in your character that I could exploit. You held it from me, even while showing me how much you care for me. That kind of inner strength, I can respect. Can you understand that?~ + c_aye_can_do ++ ~[PC] You followed orders, even when you felt that they were wrong. You may have regretted doing so, but you followed. I know now that you will do anything for me, even if it goes against your very soul to do so. That is the kind of control I crave. Can you understand that?~ + c_aye_can_do ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] You knew even I have limits on what I am willing to do to further my own ends, and you sought to hide something I would never condone so that you could be with me. I don't like that, but I respect that. Can you understand that?~ + c_aye_can_do ++ ~[PC] You risked everything to tell me the truth. If that is not love, then I do not know what love really is. Can you understand that?~ + c_aye_can_do END IF ~~ c_good_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would not be able to handle the burden of your feelings and my own guilt and frustration. You held this burden away from me. That takes strength.~ + c_mayhap_stronger ++ ~[PC] You risked everything to tell me the truth. If that is not love, then I do not know what love really is. Do you understand what I am saying to you?~ + c_aye_can_do ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] I try to do the right thing. But my hands are stained with innocent blood too; there can be no mortal way of stopping the consequences of violent action. But the pain you feel, the guilt, shows a strong conscience. I can love a man who takes responsibility for his actions.~ + c_mayhap_stronger ++ ~[PC] You managed to lie to me every day that we have known each other. You know, I do not need your twisting and hiding the truth. You should leave.~ + c_no_longer_welcome END IF ~~ c_neutral_strength SAY ~[ARAN] What do you mean?~ ++ ~[PC] You knew I would not be able to handle the burden of your feelings and my own guilt and frustration. You held this burden away from me. That takes strength.~ + c_mayhap_stronger ++ ~[PC] I do not see things the same way you do, Aran. I know you are hurting, and I hurt because you hurt... but in my eyes, you are blameless. War destroys all it touches, which is why we wield it very carefully. Can you understand that?~ + c_aye_can_do ++ ~[PC] There is no right or wrong in these things, Aran. The same hand that sweeps away a Tyrant kills innocents. Balance, chaos, order... all of those are a part of life on Faerun. We just have to make sense of this for ourselves, and remember we are just passengers on this plane of existence. Do you understand?~ + c_mayhap_stronger ++ ~[PC] Strength of character. You decided when to tell me what you are capable of. I can love a man who shows that kind of restraint.~ + c_mayhap_stronger ++ ~[PC] You managed to lie to me every day that we have known each other. You know, I do not need your twisting and hiding the truth. You should leave.~ + c_no_longer_welcome END IF ~~ c_we_all_have_choices SAY ~[ARAN] That be a lie. We all have choices, every second o' every day. An' when we make th' wrong ones, we with death in our hands an' blood in our hearts... we kill people. We make that choice.~ ++ ~[PC] Would you ever have told me?~ + c_ever_told ++ ~[PC] Then I am making a choice right now. I think you should leave.~ + c_no_longer_welcome ++ ~[PC] Then I make a choice every minute of every day. I chose to love you.~ + c_i_love_you ++ ~[PC] Aran... You and I know you are not the only person in my life. But I keep choosing to be with you. That should tell you that I can handle both the good and the bad in you. I love you.~ + c_i_love_you ++ ~[PC] I have done worse things than you could ever imagine. War claims all in its path as victims. As I see it, you have no more need of self-recrimination than I need apologize for being the child of a dead god. I can live with that. Can you?~ + c_aye_can_do END IF ~~ c_how_can_you_tell SAY ~[ARAN] I have told no one. Never. Until now.~ ++ ~[PC] Would you ever have told me?~ + c_ever_told ++ ~[PC] And you say you love me. You really think I am that weak.~ + c_that_weak ++ ~[PC] Thank you for telling me the truth. I understand... there are things in all of our pasts that we want buried forever. Do you love me?~ + c_of_course_i_do ++ ~[PC] Aran... You and I know you are not the only person in my life. But I keep choosing to be with you. That should tell you that I can handle both the good and the bad in you. I love you.~ + c_i_love_you END IF ~~ c_that_weak SAY ~[ARAN] Now, hold on, I was tryin' to keep th' guilt off of...~ ++ ~[PC] I can handle guilt. I can handle blood. I was born to it. What I can't handle is someone who claims to love me, but will hide things from me. You should leave. Now.~ + c_no_longer_welcome ++ ~[PC] I... I understand. You did not think I was strong enough. I don't think you realize how strong a woman can be for the man she loves.~ + c_mayhap_stronger ++ ~[PC] Don't you love me?~ + c_of_course_i_do ++ ~[PC] I have held things back from you, too. Did you know that I envied Imoen? That I hated Gorion for keeping me away from a life outside the library? That I have killed without remorse, tricked and lied my way through life, and that in spite of it all I can't stop loving a silly do-gooder who can't seem to see exactly how wrong I am for him? Love stinks, doesn't it.~ + c_mayhap_stronger ++ ~[PC] No, you misunderstand me. I am that weak. I... I can see myself, and I hate that woman. I needed to think you were different. Perhaps it is time I grew up, and realized that we all carry burdens. I... I just need your help, sharing the weight between the two of us.~ + c_mayhap_stronger END IF ~~ c_ever_told SAY ~[ARAN] Told you wi' out all this? On th' truth an' respect I have for you... no. I would not.~ ++ ~[PC] Don't you love me?~ + c_of_course_i_do ++ ~[PC] You were wise. I can't have the blood and guilt you bring added to my burdens. You need to find your own path.~ + c_no_longer_welcome ++ ~[PC] I can handle guilt. I can handle blood. I was born to it. What I can't handle is someone who claims to love me, but will hide things from me. You should leave. Now.~ + c_no_longer_welcome ++ ~[PC] I... I understand. You did not think I was strong enough. I don't think you realize how strong a woman can be for the man she loves.~ + c_mayhap_stronger ++ ~[PC] I have held things back from you, too. Did you know that I envied Imoen? That I hated Gorion for keeping me away from a life outside the library? That I have killed without remorse, tricked and lied my way through life, and that in spite of it all I can't stop loving a silly do-gooder who can't seem to see exactly how wrong I am for him? Love stinks, doesn't it.~ + c_mayhap_stronger END IF ~~ c_of_course_i_do SAY ~[ARAN] O' course I do.~ ++ ~[PC] Then trust me. No secrets. I am a Child of Murder. If I can handle that truth, then I can handle your truth.~ + c_mayhap_stronger ++ ~[PC] Then say no more about this. What is past is past, and we have a future to plan. Don't let old blood drown a new life together.~ + c_mayhap_stronger ++ ~[PC] Then... I need you to leave. I have the weight of my own guilt to carry. I can't handle both yours and mine.~ + c_no_longer_welcome ++ ~[PC] Then kiss me, and forget the past. We have to focus on what is ahead of us, not what is behind us.~ + c_mayhap_stronger END IF ~~ c_no_longer_welcome SAY ~[ARAN] I... ~ = ~[ARAN] ... ~ IF ~~ THEN DO ~SetGlobal("c-aranrom","GLOBAL",3) GivePartyAllEquipment() LeaveParty() EscapeAreaDestroy()~ EXIT END IF ~~ c_mayhap_stronger SAY ~[ARAN] Mayhap you be right. I learn somethin' new about you almost every day.~ IF ~~ THEN GOTO c_i_love_you END IF ~~ c_i_love_you SAY ~[ARAN] I don't think I say this right strong enough, or often enough.~ = ~[ARAN] I love you.~ IF ~~ THEN EXIT END IF ~~ c_aye_can_do SAY ~[ARAN] Aye.~ IF ~~ THEN EXIT END As always, commentary welcome!
  2. Discussion started from Aran Whitehand development - Synopsis: AreaCheck() does not cover mod added areas without specific addition AreaType() does not cover mod added areas without specific addition AreaType(CITY) was intended to cover city outdoor areas Looking for a way of getting all areas, vanilla and modded, to be able to be checked for being in a city and an inn, so that the appropriate movie can be triggered and content can be tailored and still make sense Suggestions so far: Worse: Research and create mass "MYAREA" script extensions for all such areas Better: Create and identify new AreaType()s and set them up as community resources [-cmorgan AreaType() checks fail. Keep that in mind. You will need a more robust check than AreaType(CITY) to determine where the party is sleeping and cue the appropriate cutscene. You may need to do an extensive OR() block area check for this. Just saying. I've got the code up elsewhere and can post it here if you need it.
  3. OK, letters sidestory. One of the things that makes characters interesting is *not* knowing everything up front. With Aran, that is accomplished a few ways - primarily by the use of RandomNum() as a way of making things a little different every time you try the same talk, or at least giving a chance to have that happen. The second way is "backstory", filled out via some dialog, some storytelling (if asked) and through the possibility of being a born thief and rummaging through his stuff. For male PCs, the letter thing is very short, with some fun after three letters. No need for tons of stuff, as it is unlikely a guy would do more than peruse some letters, figure out Aran isn't spying on him, and let it go. Unfortunately or fortunately, from a storytelling standpoint, I once had a girlfriend who snooped into everything. Natural curiosity combined with a jealous nature combined with low self-image... let's just say, never date proto-sopranos or proto-ballerinas unless you are fully aware of just how far personal lines can be crossed. Luckily, in a story, we don't have to worry about it - if the Heroine™ doesn't 'accidentally' read a letter, someone sends it to her, or (like Downton Abbey) the rumor mill reaches her. With our PC, we can even allow for some roleplay, where she (or he) can play the search any way s/he wants... "I was just cleaning up your stuff. Didn't mean to see it." "So, who is this Elena chick you are writing to? Should I be jealous?' "Who do you think you are, a dirty version of Volo?" There are a few other implementations dropping into these states, but a2913 summarizes this pretty straightforwardly. Dudes see the general letters, and if a female PC is a persistent little stalker, she can get a view of some of the things Aran is thinking about her "behind the scenes" in the form of letters to his sister. CODE IF ~~ a2913 SAY ~[ARAN] (The normal clutter of tools and gear, neatly rolled and folded clothing in oilskins, and the occasional odd trinket catch your eye, but there is little of interest you have not already seen. The scraps of parchment, though, show signs of use.)~ + ~Global("c-pcletter","LOCALS",0)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",1)~ + c-aranletter1 + ~Global("c-pcletter","LOCALS",1)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",2)~ + c-aranletter2 + ~Global("c-pcletter","LOCALS",2)~ + ~[PC] (You examine his writings.)~ DO ~SetGlobal("c-pcletter","LOCALS",3)~ + c-aranletter3 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",3)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",4)~ + c-aranletter4 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",4)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",5)~ + c-aranletter5 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",5)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",6)~ + c-aranletter6 + ~Gender(Player1,FEMALE) CheckStatGT(Player1,12,INT) Global("c-pcletter","LOCALS",6)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",7)~ + c-aranletter7 + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",3)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",4)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",4)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",5)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",5)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",6)~ + c-aranletterblocked + ~Gender(Player1,FEMALE) CheckStatLT(Player1,13,INT) Global("c-pcletter","LOCALS",6)~ + ~[PC] (You take advantage of the opportunity to rummage in search of interesting things to read.)~ DO ~SetGlobal("c-pcletter","LOCALS",7)~ + c-aranletterblocked + ~Gender(Player1,MALE) GlobalGT("c-pcletter","LOCALS",2)~ + ~[PC] (You take advantage of the opportunity to rummage through his pack. There are any number of odd scraps of writing and sketches to shuffle through.)~ + c-aranletterallgone IF ~Gender(Player1,FEMALE) GlobalGT("c-pcletter","LOCALS",6)~ THEN GOTO c-aranletterallgone END IF ~~ c-aranletterallgone SAY ~[ARAN] (The scraps contain notes and ideas for a story of sorts, but not one that would be given a place at a family gathering. They read...)~ IF ~RandomNum(4,5)~ THEN GOTO c-aranstoryscrap1 IF ~RandomNum(4,4)~ THEN GOTO c-aranstoryscrap2 IF ~RandomNum(4,3)~ THEN GOTO c-aranstoryscrap3 IF ~RandomNum(4,2)~ THEN GOTO c-aranstoryscrap4 IF ~RandomNum(4,1)~ THEN GOTO c-aranstoryscrap5 END IF ~~ c-aranstoryscrap1 SAY ~[ARAN] 'Deborah sighed gustily as she looked out across the valley. She could not forget the sight of his chest, bronzed and muscular, glistening with sweat as he worked the forge. She knew it was wrong to have such feelings for a commoner of the Dales, but she could not help herself. The blush of wanton desire spread across her cheeks as she imagined him working her, rather than the forge, his hammer rising and falling to the beat of her pulse and the racing of her heart.'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap2 SAY ~[ARAN] "No, no!" Deborah's broken pleas slipped from her lips, even as they pressed themselves to him. "I can not! I have never..." His strong hands held her poised above him, ready to go where no man had gone before. His desire was palpable. Note: where no man had gone before? Where no man had explored? To drive into the unknown?~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap3 SAY ~[ARAN] 'There were no words as Deborah created crafted crufted crinfalled There were no sonunds there were scratch this. Note: look for good descriptors that can translate to Dwarven without taking on the wrong meanings. Pradeep of Westhaven might buy this thing if I can just get the writing open for gnomish and dwarven translation. Second Note: remember that dwarves find beards appealing on both women and men. May have to rewrite. Third note, get a good proofreader before I send anything.'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap4 SAY ~[ARAN] 'She flung herself in front of him, begging to be taken, begging to be his. Buck sat stone-faced, unmoving. "Do you think that a commoner has no feelings? I share everything with you, and you sleep with him. My forge may take on many projects, but only one heart commands it. Who's heart commands your forge, Deborah?'~ IF ~~ THEN EXIT END IF ~~ c-aranstoryscrap4 SAY ~[ARAN] 'Buck's bronzed form glistened in the lamplight, his dark beard covering everything. Deborah could not help herself. Her eyes dropped lower, lower. Her face burned in the darkness, a beacon in the stone cave. "It is glowing", she whispered. "Aye." he answered.'~ IF ~~ THEN EXIT END /* Letter Responses */ IF ~~ c-aranletter1 /* aran letter #1 (everyone, c-alttr8.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] Mae Govannen Mae govannen. An lema? Amin naa lle nai. I'narr en gothrim glinuva nuin I'anor. Ohtar hanwa edan yesta sii'lle vakha. Amin tengwa Naug, i'lambe tel' Eldalie. Dwarven, Elven, and Common Trade Language spoken and written, contracts translated, copywork accepted. Experienced Caravan Guard and Scrivner. Reasonable rates. Inquire at Ten Veils Public House for Whitehand. Have Sword, Will Travel. No Job Too Small. No Dragons. Experienced Caravan Guard, Scrivner, OutRider, Oarsman. Trade Contracts and Copywork Drawn. Reasonable Rates. Inquire at Public House for Whitehand.~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT // c-alttr2.itm ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter2 /* aran letter #2 (everyone, c-alttr2.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] My Dearest Elena, I read your message with great happiness. Congratulations on your being advanced to choice! By the time you read this there will only be a few more months and you will be in your final year of apprenticeship. And Mystra is a good Goddess to serve, I hear. I always thought you would lean towards The Wise One, Oghma, and go with the Estelmer family nobility as benefactors, but you know your own heart. If your calling is to Mystra, then I guess you couldn't do any better than to Eltorchul family. There are some stories about a few of them, but they generally get written about as good people, for nobles and wands. Good but not lockstep; some of them are pretty wild, if trail stories and news broadsides talk about the same family. The Thunderstaffs follow Mystra, but from my end - plenty of warmages from that family, that is for sure! I was pretty sure you wouldn't end up following them, anyways. I am really glad your benefactor was happy, too. I thought it was like a trade apprenticeship, and you would be with The Lady Mage all the way. I guess I didn't understand about the schools, and how you work your way up. I love the emerald, and I will figure out what you mean about saying the inscriptions in private once we are on the trail. I hope this isn't one of your practical jokes, though. That is too fine a gem just to put a joke on. And the colors were beautiful. It lasted a full thirty seconds before dissolving into smoke, and it was a deep, shiny green with gold and silver and sky blue. Plus, it only erased a little bit of the parchament, so I got to read most of the message. That is so much better than the one where you tried the acid-flowers, and it burned through the whole letter. I know you want to have each message destroy itself, though I do not understand why all mages seem to need such secrecy. I do have some news. I have started working with a new group. There is not much to say yet, but it is not a regular mercenary group. <CHARNAME>, the one who leads, is different. I will have more to say later, I am sure. In the meantime, keep up your studies, and I will try to send you some of the spell components you asked about as best I can. Judging by the look of things, I may be able to get some very rare components for you just by keeping my eyes open and wits sharp. Yours Faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter3 /* aran letter #3 (everyone, c-alttr3.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] My Dearest Elena, I am writing from the trail, so please excuse the occasional blot or crease staining the writing. There is so much to report, but most of it is not to be trusted to letters. When I next see you, remind me to tell you about <PLAYER1>. Things are working out well enough on so far. Well as well as can be expected given our challenges. I have not had as much combat in so short a timeframe since the pitched battles back near Baldur's Gate. Even in the Axes, there were months with no combat, and now it seems to happen every day. I am glad to hear that your roommate is not making your life easy. I know that sounds unsupportive, and I am sure you don't appreciate it, but from my standpoint it means you are telling me things and not hiding the challenges and problems. You are smart enough to get past this. Just don't do what you did to Kimili when she called you those names. I bet now that you have some real training, it would not be a few curls set on fire... you might accidentally incinerate her head. I did hear from Nathan the other day, and his letter asked after you. I told him you were away in the Dale lands, rather than the truth. I know you think that he is cute, but I know him. He is not a nice person. I may sound overprotective, but he has done some things you just do not want to know about. Well, I must close, as I am out of room, and low on supplies. Time to mix up some more ink, too. As always. Yours Faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter4 /* aran letter #4 (rom, c-alttr4.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope that all is well with you. For me, I am sorely in need of your guidance. I know we have written about this several times, but I need to clear my head and think and you are always good at helping me do that. I cannot stop thinking about her. I cannot stop watching her. It has me off balance, even worse than when I fell for that half-elven bard you warned me against. I simply do not understand how I could be pulled so far under her spell in such a short time. I know I am not an apprentice, but I certainly feel like one. I know I wrote to you of my feelings, and I know we joked about the difficulties of falling for one's employer, but now I am serious. I do not know if you would like her, or not. But do not believe the stories that must be floating around about what we are doing. All I can say is that she has captivated my attention in a way no other woman has. Yes, even more than SilverEyes. I just have difficulties seeing what I can offer her in return. I have no wealth or title, no real prospects, and I do not even know if she truly would have me. But that is how serious my situation seems to have become. For Sune's Blessing and for the love of your brother, help me. I need to know what a woman of power really wants. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter5 /* aran letter #5 (rom, c-alttr5.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope that all is well with you, and with your pet lizard (yes, I know he is a pseudodragon, but someone has to put her in her place!). I am happy your work in runescribing is coming along, but please remember about spell duration. Half of your last message burned through your last three letters to me, and nearly turned my pack into a bonfire. I know you prefer secrecy, but surely I can keep one or two of your missives? There are many things going on right now, and I am not at liberty to write much about them. Our goals are being met, though the victories seem very costly. Perhaps it is more that I have made a stronger commitment to this quest than I have before. Your advice was appreciated. I am happy you see me that way, but I am pretty sure that you did not really mean "just kiss her and keep kissing her until she either kills you or professes her love". I understand what you are saying about power being of many kinds, and that sometimes just being yourself is what she might need. I do not know the best way to proceed right now, but I will take your advice under advisement and continue as best I can. In the meantime, I will be enclosing a small packet of wildspeare flowers for your component pouch when I get a chance to send this. I hope that it helps your studies. Please try not to turn Jill into a flowerpot again. I know that the polymorph spell usually results in squirrels, berrygobblers, or chipmunks rather than inanimate objects, so study hard and next time it might go better. Yours faithfully, Aran.~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter6 /* aran letter #6 (rom, c-alttr6.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, Congratulations on winning your competition! I had no idea that things were so competitive at the academy, and I am very glad that the Priests of Ilmater were there when that boy got caught in the fireball. I am so happy you won, and you even gave me ideas for a new set of tactics to use. I doubt I will often be able to spread oil or grease before a battle, but the use of multiple layers of magic is not something I have studied very much. The way things are going around here, we may need all the tactical advantages I can come up with. As for your enquiries, she is holding her own against the power of her blood. I do not have any real answers for you as to whether she sees me as someone who she could be with forever, or just someone she can use temporarily. I hear her words, and I see her responses, but I often am not quite sure where she really is coming from. She may be shouting her truth at me all the time, for all I know, but I am simply not sure if I am hearing reality or something I have constructed all in my head. You know as well as I do that I have done that before, and the results have been less than positive. There will be time enough to write more later. I will be enclosing a few odds and ends gleaned from our last few combats, but I am unsure as to how to stop them from breaking when transported to you. If the letter you are holding is a bright black on one corner, then I would seek out the Priests for healing immediately. I am never sure why you want me to send you these things, as my training has been in writing, not herbalism, but you know that I would do anything for you. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletter7 /* aran letter #7 (rom, c-alttr7.itm) */ SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing, but it takes awhile to figure out his cipher. He has started using a quaint childlike encoding.)~ = ~[ARAN] My Dearest Elena, I hope my letter finds you in good health and spirits. I will get straight to the point and remind you that you are too special and to smart to fall into any traps. Be careful. I do not know anything about Court and have never really seen a Masked Lord or even an un-masked one, but I have been around long enough to be suspicious of anyone who makes bold passes at you. I wish I were there, so that he would know that you have a protector. I know you can take care of yourself, but it still worries me. If you need proof, remember how I have acted around Giselle and Rani, and how you had to send a spark at me to stop me from behaving badly with your friends. Yes, I know I have a double standard, but I have always been very interested in all of this romantic sparking, while you have avoided it like the plague. And our situations are not as similar as you made it sound. <CHARNAME> is more complicated than what we are talking about. If it were just for fun, that would be one thing, but I seem to have developed some attachments that make things more painful for me if I do things that she might not like. I always try to fit what she seems to want, but it is hard sometimes. In fact, it seems almost impossible at times. But I trust in Tymora, and She will make the coin toss. What is meant to be, is meant to be. In your case, though, your benefactor might not take kindly to that particular young man. Do not take this the wrong way, but you have to ask yourself if he is really interested in you, or if he wants information. I trust you to make the right choice for you, of course. I would send for you to join us for a little bit, so you could get away and think, but I am afraid things here have gotten very difficult. Our adversaries are the stiff of legends and folktales, only they turn out to be real. Usually, they also turn out to be able to crush me into goo. No matter what is going on there, things are worse here. Do not worry for me, though. I have always had an eye out for trouble, and I think I enjoy feeling part of something that will make a difference. Yours faithfully, Aran~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-aranlettertalk","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END IF ~~ c-aranletterblocked SAY ~[ARAN] (The rough parchment crinkles under your fingertips as you read through the carefully shaped lines of writing...)~ = ~[ARAN] (Unfortunately, Aran has begun writing in a language or cipher you cannot understand. You will have to ask him to read the letter to you.)~ ++ ~[PC] (You carefully slip the letter back where you found it.)~ DO ~SetGlobal("c-aranletterblocked","LOCALS",1)~ EXIT ++ ~[PC] (You take the letter.)~ DO ~SetGlobal("c-arlettertake","GLOBAL",1) SetGlobalTimer("c-arlettertake","GLOBAL",ONE_DAY)~ EXIT ++ ~[PC] (You hunt through his writing kit and find his quill, and print 'No Secrets' in Common across the top of his letter. Then you slip the letter back into his pack.)~ DO ~SetGlobal("c-arannosecrets","GLOBAL",1)~ EXIT END /* add bcs block to trigger, Global("c-arannosecrets","GLOBAL",1) */ IF ~Global("c-arannosecrets","GLOBAL",1)~ THEN BEGIN a2908 SAY ~[ARAN] Hey, there, I got a question for you. Do you mind if I rummage about in your undergarments a bit, an' poke through your stuff? Mayhap I can ink up some o' your gear, random like?~ [c-aws107] ++ ~[PC] I meant no harm. You scribble and scrawl all the time, and I was just curious. I want to know what is going on.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] I want to know if any member of this party is discussing anything with the outside world. Even little things.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] Don't keep any secrets from me. I will not be happy if you hide anything, anything at all.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] Well, perhaps I went a little overboard. But I don't like to be kept in the dark, and it seems like you are writing things I should know about.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 ++ ~[PC] I hold the coin for the party. I want to know how you are using it, and to what purpose.~ DO ~SetGlobal("c-arannosecrets","GLOBAL",2)~ + a2909 END IF ~~ a2909 SAY ~[ARAN] Right, then. I blighted well thought a letter to my sister were naught buy my own business. You want somethin' translated, I'll do it. I don't give a rat's arse if you want to poke an' pry, but th' inference be that you don't trust me. Lovitar's Lash, that hurts a lad.~ IF ~~ THEN EXIT END /* add bcs block to trigger, ("c-arlettertake","GLOBAL",1) */ IF ~Global("c-arlettertake","GLOBAL",1)~ THEN BEGIN a2910 SAY ~[ARAN] Hey, there, I got a question for you. Do you know who has been messin' about in my pack, smudgin' up my writin' space?~ [c-aws108] ++ ~[PC] Yes, I do. I did. What are these letters you keep writing all about?~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ EXIT ++ ~[PC] No, I don't.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ EXIT ++ ~[PC] You must be mistaken. I did not leave a single smudge or telltale sign of my browsing.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ + a2909 ++ ~[PC] Search me.~ DO ~SetGlobal("c-aranlettertaken","GLOBAL",2)~ + a2911 END IF ~~ a2911 SAY ~[ARAN] I would, but other than rufflin' my feathers, there be no real harm done. There be precious little what be private in a group like this. If you want to know what I be writin' to my sister, you don't have to poke about. You could just ask, eh?~ IF ~~ THEN EXIT END Note to anyone looking for a good editor - jEdit rocks. Very configurable, free, and even I can manage lots of project files cross-platform. Serious editor for serious folks... I am barely touching its possibilities.
  4. Getting the subquest from Orin started requires multiple (7, I think) conversations before he feels comfortable giving the quest. I will need to recheck if that means Aran must be in the party each time, or only on the seventh time. Non-quest-giving characters all have at least 5 different random dialogs. But random numbers can roll 1,1,1,1,1... Same for Aran and non-quest character interactions. They will not trigger every time. The idea was to reward making the bar a 'home' for awhile. In the current alpha, Teldra has no conversation. (Becasue her quest area and relevant sub-characters are not done yet.) So Orrin points to her, Erika points to her, but she won't talk. Probable bug; while each character's PID tailored responses work fine, but for both male and female players, PID triggers the first friendtalk/interest talk. Either the initial timer is still on testing (10) or something else is going on. Several talks need smoothing out from the 'flippant' PC responses. For some reason, both "day" and "night" city PID responses show up at the same time. Need to recheck. Some PID responses have up to 5 random responses, some only have one possible. Not sure how I feel about that. On the one hand, there isn't much to say in many places. on the other hand, if I am rewarding multiple passes at the same question in one area, but making a person read the same thing at least 4 times in another, meh. PID list for female PCs is too long. 17 or so responses in some areas. I may need to sub-menu them down.
  5. Ideas from Petals And Thorns Folks: /* The Bar Fight - Protect My Honor (whether I instigate it or not). */ // One version of this is hidden away in the PD initiated bar flirts - this one can run from an area script, and can be independent from the other. Will have to choose an inn that does not get as much action. // still needs names ad perhaps tightening up. [NPC1] Well now, here's a pretty sight. One <PRO_RACE> girl, not too bad looking, and here we have all three of us just looking a good time. Get out on the dance floor with NPC2 here, and if you are friendly enough, there might not be no trouble.~ >> [PC] Me? How dare you! Aran, are you going to let these people talk to me like this? [EXTERN A] >> [PC] I do not bother with trivialities and insignificant worms. Aran, go take care of these idiots. [GOTO K] >> [PC] (Hide behind Aran and grip his arm tightly, pushing him towards the group.) [EXTERN K] >> [PC] Aran, I think that you should take care of this situation... [EXTERN D] >> [PC] Out of my way, Aran. I would take their heads off, but it probably would do no harm. I will start with their feet, instead. [EXTERN E] [C-ARANJ] A [ARAN] Well, I thought it might be a bit more subtle-like if... >> [PC] ... you acted like a big coward? [goto K] >> [PC] They are treating me badly! Why won't you stand up for me? [goto K] > ROMANCEACTIVE > [PC] I thought you loved me. [goto K] >> [PC] Aran... they are scaring me a little... [goto B] >> [PC] You. Yes, you... the one with the troll face and the breath that smells like a sewer. Five gold says Aran can take all three of you without breaking a sweat. [EXTERN L] [NPC1] K [NPC1] Oh, come on, girl. You haven't had a good time until you have danced with the three of us. And this piss-ant sellsword couldn't handle me, let alone me and my friends. >> [PC] He can hold his own in a fight. But you should be more worried about me. I tend to get over-excited, and might end up removing that tongue. Or perhaps other parts of your body. [EXTERN G] >> [PC] Insignificant, insolent worm. You are beneath my notice. Aran, kill him slowly. I want to hear him scream for mercy. [EXTERN C] >> [PC] (Hide behind Aran and grip his arm tightly, pushing him towards the group.) [EXTERN C] >> [PC] Aran, I think that you should take care of this situation, quickly. [EXTERN D] >> [PC] Out of my way, Aran. I would take their heads off, but it probably would do no harm. I will start with their feet, instead. [EXTERN E] /* Shy/Wants Aran To Be Protector PC EXIT */ B [ARAN] Right, then. You heard the lady, lads. Do you be wantin' to settle this on arm wrestlin', brawlin', or should we just skip right to it an' see what th' insides o' your guts look like when they be spread over th' wall over there? [EXTERN I] I [NPC1] Look who's a big man, now. Are you looking for a fight? [EXTERN J] J [ARAN] Well, now, laddie... I don't rightly look for fights. But by Bane's Bloody Buttocks, so far there's naught that I have left unfinished. You care to step outside? DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ C [ARAN] Now then, lads, th' lady don't rightly take kindly to...[EXTERN N] /* PC Orders Aran to Handle Things EXIT */ D [ARAN] Who, me,? Aye, then, I guess I could do that. You go on about th' business, an' let me handle 'em. = [ARAN] (Pssst - here, then, lads - a round on me. You wouldn't want to cross her right now, eh? She's a mite more powerful than she looks.) >> [PC] Why didn't you fight for my honor? You acted like a big coward. [goto M] >> [PC] They are treating me badly! Why won't you stand up for me? [goto M] > ROMANCEACTIVE > [PC] I thought you loved me, and would protect me. But you just paid them coin and let them get away with it. [goto M] >> [PC] That was unpleasant. I am glad you found a way to make them go away without spilling their blood. [goto M] >> [PC] Oh, for heaven's sake... You. Yes, you... the one with the troll face and the breath that smells like a sewer. Five gold says Aran can take all three of you without breaking a sweat. [EXTERN L] /* No Bloodshed Exit */ M [ARAN] I was watchin' you close, I was. I figured you didn't want a couple o' drunk buggers to get blood all over your nice clean clothes, so it seemed like a good idea to let 'em down easy. Besides, we have real enemies what to fight. If we go killin' every set o' drunken bastards what act like idiots, we will depopulate Amn. EXIT /* Aggressive PC Exit */ E [ARAN] Now, <CHARNAME>, be easy... they be just little gnats. You might mess up a nail or somethin', an then where's you be? I'll tell you what. You go get a nice cup o' tea, an' sit right there, an' I'll give you a good show. You want one o' their eyes, or mayhap a nose, or do you just want an ear or two to hang next to your collection o' Drow ears an' Dragon's teeth? >> [NPC1] Drow ears? >> [NPC2] Dragon's teeth? >> [NPC3] Err... we were just leaving. Just a few high-spirited remarks, no harm meant. [goto F] F [ARAN] No problem, lads. Only don't be comin' round here much, eh? Me, you might be able to fight to a standstill. Her, she looks like a shrinkin' violet, right up until th' time you realize her hand's holdin' what's left o' your intestines. An' then she starts gettin' mean. EXIT /* Mediation Fails */ [NPC1] So, big protector, eh? I didn't know prostitutes around here had the money for a mercenary escort. You get out of the way, or you will be sorry. [EXTERN O] O [ARAN] I'm goin' to rip your head off an' piss down your neck. DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ EXIT /* PC Protective of Aran or just Fiesty Exit */ G [NPC1] Oh, big man, having her fight your battles for you. [EXTERN H] H [ARAN] Believe me, son, you don't be knowin' her like I do. Last one who ticked her off only lost a few pints o' blood an half his scalp. O' course, that was me, an' she needs me around for to carry stuff an' such. You, not so much. [EXTERN L] L [NPC1] I hear lots of hot air, but you don't look that tough, either of you. Come on, boys... they don't need all that coin. Get 'em. DO ~SetGlobal("c-arbarfight",LOCALS",1) ActionOverride("npc1",Enemy()) ActionOverride("npc2",Enemy()) ActionOverride("npc3",Enemy())~ EXIT /////////// You folks have to tell me when things go to far with language and imagery. Evoking strong reactions with language is a fun goal, but I am not interested in evoking the "I am uninstalling this mod and never playing it again" reaction. //////////// /* From P&T - I always wondered why no PC ever really embarrassed themselves with their love interest... with all the packing they must do, it's amazing no PC has accidentally left something private or incriminating out which was then found by another party member. */ /* Umberlee's Undulating Undergarment */ /* Embarrassing Things Aran > PC */ [ARAN] Now, I don't rightly think that this be mine, eh? >> [PC] ARAN! Put that away before someone sees you! [goto A ] >> [PC] No, I think those are mine. Where did you find them? [goto B] >> [PC] No, they are not mine. Do you want to explain why you have another woman's undergarment in your pack? [goto C] >> [PC] I did not realize you liked women's clothes so much. We should put you in some of the 'armor' they make available to us, and see how you like having a chainmail bikini to hide your most intimate parts. [goto D] A [ARAN] What I be tryin' to figure is why all th' fuss over a scrap o' linen. Although I suspect it has a mite to do wi' exactly what that scrap be coverin'. How about next time we do some clothes washin', you check where things be stored? People might get th' wrong idea. EXIT = IF ROMANCE ACTIVE [ARAN] Or worse, they might get the right idea. EXIT B [ARAN] Mixed up in thy' socks an' such in my pack. Last time I did th' party chores, I must o' not sorted so well. Sorry about that. No harm done, eh? >> [PC] Those are some of my most private possessions! Give them to me right now. [goto E ] >> [PC] From now on, I will do my own washing. You stick to things that you are less likely to mess up. [goto E ] > NOROMANCE > [PC] Well... I guess you could keep them... [goto F ] > ROMANCE > [PC] Well... I guess you could keep them... [goto G ] C [ARAN] Well, Sune's Sweet Stomach, if they be not yours, then... [goto CANONICAL_WOMEN_IN_PARTY] CANONICAL_WOMEN_IN_PARTY AERIEJ [AERIE] ARAN! Th... those are mine. [goto H ] NALIAJ [NALIA] That is personal property, and finding quality silk and lacework around here is difficult. Give them to me, please. [goto H ] EDWINA ? [EDWINA] You foul creature! Unhand my undergarments, you moronic baboon. And keep your lusts to yourself. I may be a magnificent looking woman, but I am still Edwin Odesseiron, Red Wizard. Indignities will be met with swift and horrific punishment! [goto H ] JAHEIRAJ [JAHEIRA] Underclothing is functional protection provided for the comfort of the wearer. I reclaim mine now, Aran. [goto I ] VICONIJ [VICONIA] Spidersilk is expensive, rivvil. If a single strand is damaged, I shall carve temporary patches out of your skin. [goto I ] IMOEN2J [iMOEN] Hey! That's mine! Give 'em here! [goto I ] H [ARAN] Bane's Blood, she be blushin' worse than a beet at fall harvest. She damned near glows! I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. I [ARAN] Itishia's Icy Iris, that were one cold glance she just gave me. Gave me th' chills, it did. I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. IF ! AERIE ! NALIA ! EDWINA ! JAHEIRA ! VICONIA ! IMOEN [ARAN] Bane's Blood, I don't rightly know whose this be. But somemone be missin' some right private clothin'. I guess I will not be volunteerin' to do no more o' th' group laundry anytime soon. D [ARAN] Just th' though o' that hurts in places not mentionable in polite company, eh? But no, I don't find no excitement in these kinds o' clothin' unless th' owner be showin' em off to me with 'em on. You be sure they are not yours? >> [PC] Those are some of my most private possessions! Give them to me right now. [goto E ] > NOROMANCE > [PC] They are mine. But... I guess you could keep them... [goto F ] > ROMANCE > [PC] They are mine. But... I guess you could keep them... [goto G ] >> [PC] Not mine, oh great washer of clothing. But by all means, keep holding a woman's private undergarments up and waving them about like a flag. It makes you look so masculine. [goto CANONICAL_WOMEN_IN_PARTY] E [ARAN] All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. But here you go. Don't want no one to think I be keepin' your panties as no souvenier or naught like that. Bad for morale, eh? F NOROMANCE [ARAN] No why would I want to be doin' that? It seems a right strange thing to use as a token or favor, an' I be no knightly jouster. All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. Here you go. Otherwise, it might be bad for morale, eh? G ROMANCE [ARAN] Now why would I want to be doin' that? Me, I'm a right simple soul. I'd much rather get rid o' such nonsense an' see you th' way th' gods created you. All that fuss over a little scrap o' clothin' no bigger than a good-sized handkerchief. Here you go. I'll be a mite more careful sortin' next laundry day. /* The Scroll Of Blushing */ /* Embarrassing Things PC > Aran */ [ARAN] Hey! Put that down! That don't rightly belong to you! >> [PC] This little scrap of paper? Here, I did not realize that it was yours. [ A ] >> [PC] Anything left out in public is mine. Why? What is on it? [ B ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] A [ARAN] Thank you right kindly. You didn't read it, now, did you? >> [PC] Unfortunately, yes. The imagery was quite... detailed. one might even say explicit. [ G ] >> [PC] Not yet. But anything left out in public is mine. Why? What is on it? [ B ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] >> [PC] Of course not. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] B [ARAN] Nothin' much. Just some scrapped practice writin'. Nothin' there, no ma'am, nothin' to see. >> [PC] Unfortunately, I just lied to you. I read it. The imagery was quite... graphic. One might even say explicit. And apparently, you are very creative in your approach to spelling. [ G ] >> [PC] A random scrap of parchment lying around has no owner. I think I shall read it aloud, though, since you seem so worried about me picking it up... [ C ] >> [PC] You should keep a closer eye on your belongings. Your punishment for carelessness is that I shall read it aloud. [ C ] >> [PC] Of course not. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] C [ARAN] Come on, <CHARNAME>... be a good <PRO_MANWOMAN>, a credit to all what call themselves '<PRO_RACE>'. It were a rough draft, and a bad one at that. Just give me th' blasted thing an' forget you ever saw it, eh? >> [PC] "My Dearest Love, how can I count the ways that you excite me, how you arouse my innermost passions and lusts." Hey, Aran, you misspelled 'excite', unless Chondathan somehow borrowed several Rashemite alphabet characters while I was not paying attention. "The way that both your..." not going to read that word... nor that one... "move, bouncing like twin horses tethered in tandem, two terrific trepidacious terrific..." No, you spelled that wrong, too... err... I have never heard that body part described quite that way. Hmmm. So, you are a leg man, too? No, you seem to go on and on about wonderous caves of passion, and something about spelunking, and here you have split an infinitive... 'to boldy go where no man has gone before?' Quite colorful. I think you should go into comedy writing with Volo. [ D ] >> [PC] Of course I will give it to you. Though if it is private, I think you should be more careful about how you dispose of things like this in the future. [ G] >> [PC] Of course I will give it to you. Though I did get a glimpse at the salutation. 'My Dearest Love'? Who were you writing to? [ F ] D [ARAN] <CHARNAME>, for th' love o' th' gods, stop readin' that an' give it back, eh? >> [PC] Oh, no. I intend to keep this and read it at our next inn. It should be good for a laugh and a free round of drinks. You couldn't get a professional Bard to write some of this stuff! >> [PC] Only one question... who was this draft intended for? What gracious woman were you intending to reduce to a puddle of laughter with this missive of misplaced words and awkward imagery? [ F ] >> [PC] I had no idea you were so colorful in your writing, Aran. I thought you might parse a love letter "If the party in the foresaid paragraph, to be henceforth referred to as 'The Lover', does agree to a private meeting the time of which to consist of not less than one-half (1/2) hour, as determined by the established Dale Reckoning Sundial, then aforesaid party shall indicate acceptance by..." [ G ] F [ARAN] Wild horses couldn't get that answer out o' me, no way, no how. Oh, Bane's Blood, go on then. Laugh away. I'll be on about my business. G [ARAN] Banes Broken Bones. I should take to eatin' my trail versions just to make sure they don't fall into th' wrong hands. ////////// As always, if someone sees another pathway that should be incorporated, or has suggestions, fire away!
  6. 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
  7. AreaCheck resources, formatted and commented: /* SoA Area Checks */ AreaCheck("AR0011") // Candlekeep Dream 1 (Do you remember Candlekeep?) AreaCheck("AR0012") // Candlekeep Library (Main Door Trigger) AreaCheck("AR0013") // Candlekeep Library (Stairway Triggers Up and Down) AreaCheck("AR0014") // Candlekeep Library (Stairway Trigger Down) AreaCheck("AR0015") // Baldur's Gate Estate (Tutorial starts here) AreaCheck("AR0016") // Baldur's Gate Estate (Tutorial area) AreaCheck("AR0017") // Baldur's Gate Estate (Tutorial area) AreaCheck("AR0018") // Baldur's Gate Estate Cellar (Tutorial area) AreaCheck("AR0020") // City Gates AreaCheck("AR0021") // Crooked Crane 1st Floor AreaCheck("AR0022") // Crooked Crane 2nd Floor AreaCheck("AR0028") // Candlekeep Dream (After PC Soultheft) AreaCheck("AR0041") // Random Encounter City AreaCheck("AR0042") // Random Encounter Outdoor AreaCheck("AR0043") // Random Encounter Outdoor (With rocks) AreaCheck("AR0044") // Random Encounter Outdoor (sand) AreaCheck("AR0045") // Random Encounter City AreaCheck("AR0046") // Random Encounter City (bridge) AreaCheck("AR0069") // Government Building (Cowled Cutscene -- "Why is this man not gagged?") AreaCheck("AR0070") // Spellhold (Irenicus Cutscene -- "I cannot be caged...") AreaCheck("AR0071") // Spellhold (Imoen Soultheft Cutscene -- "Silence do, you have no purpose...") AreaCheck("AR0072") // Ust Natha Temple (Irenicus/Bodhi, Ardula/Phaere Cutscene) AreaCheck("AR0082") // Lich Grave in Bridge District Inn AreaCheck("AR0083") // Candlekeep Library (Dream: PC learns to control the Slayer) AreaCheck("AR0084") // Candlekeep Library (Stairway trigger down) AreaCheck("AR0085") // Tree of Life AreaCheck("AR0086") // Wooded Area AreaCheck("AR0087") // Elven Dining Room AreaCheck("AR0201") // Ghouls village under Temple District AreaCheck("AR0202") // The Unseeing Eye Cult Hideout AreaCheck("AR0203") // Temple of the Forgotten God -- Amaunator (Unseeing Eye Plot) AreaCheck("AR0204") // The Forgotten Believers -- Temple City (Unseeing Eye Plot) AreaCheck("AR0205") // The Beholder Hideout (Unseeing Eye Plot) AreaCheck("AR0206") // The Halfling Village in the Sphere AreaCheck("AR0300") // The Docks AreaCheck("AR0301") // Mae'Var's Hide Out AreaCheck("AR0302") // Mae'Var's Inn 1st Floor -- Entrance AreaCheck("AR0303") // Mae'Var's Inn 2nd Floor -- Training Area AreaCheck("AR0304") // Mae'Var's Inn 3rd Floor -- Edwin AreaCheck("AR0305") // Shadow Thieves Guild Entrance AreaCheck("AR0306") // Renal Bloodscalp's Hideout AreaCheck("AR0307") // Aran Linvail's Hideout AreaCheck("AR0308") // Harper's 1st Floor AreaCheck("AR0309") // Harper's 2nd Floor AreaCheck("AR0310") // Pirates' Hideout in Sea Bouny Tavern AreaCheck("AR0311") // Living Room (Entry points outside and up) -- Gaelan? AreaCheck("AR0312") // Sleeping Room (Entry poin down) -- Arledrian AreaCheck("AR0313") // Sea Bounty Tavern 1st Floor AreaCheck("AR0314") // Sea Bounty Tavern 2nd Floor AreaCheck("AR0315") // Living Room (Favour for Edwin -- Mae'Var Plot) AreaCheck("AR0316") // Sleeping Room (Favour for Edwin -- Mae'Var Plot) AreaCheck("AR0317") // Sleeping Room (Favour for Edwin -- Mae'Var Plot) AreaCheck("AR0318") // Storage Room AreaCheck("AR0319") // Temple of Oghma AreaCheck("AR0321") // Thief Stronghold (Hideout) AreaCheck("AR0322") // Thief Stronghold (1st Floor) AreaCheck("AR0323") // Thief Stronghold (2nd Floor) AreaCheck("AR0324") // Thief Stronghold (3rd Floor) AreaCheck("AR0325") // Corthala House 1st Floor AreaCheck("AR0326") // Corthala House 2nd Floor AreaCheck("AR0327") // Shadow Thief Entrance (sided with Bodhi) AreaCheck("AR0328") // Shadow Thief 1st Floor (sided with Bodhi) AreaCheck("AR0329") // Aran's Hideout (sided with Bodhi) AreaCheck("AR0330") // House 1st Floor (Kangaxx) AreaCheck("AR0331") // House Cellar (Kangaxx) AreaCheck("AR0332") // Barracks in the Docks AreaCheck("AR0333") // Barracks in the Docks AreaCheck("AR0334") // Cromwell's Shop AreaCheck("AR0335") // Sleeping Room AreaCheck("AR0400") // Slums AreaCheck("AR0401") // Jansen Cellar AreaCheck("AR0402") // Jansen 1st Floor AreaCheck("AR0403") // Jansen 2nd Floor AreaCheck("AR0404") // Sewers beneath Coronet -- Lilarcor AreaCheck("AR0405") // Slaver's Ship Building AreaCheck("AR0406") // Copper Coronet AreaCheck("AR0407") // Prebek's House AreaCheck("AR0408") // Temple of Ilmater AreaCheck("AR0409") // Living Room (Ployer's home) AreaCheck("AR0410") // Sphere: Navigator's room -- Lavok's Hideout AreaCheck("AR0411") // Sphere: Entrance floor AreaCheck("AR0412") // Sphere: Ice and Fire Room AreaCheck("AR0413") // Sphere: Enginge Room AreaCheck("AR0414") // Sphere: Demon Plane AreaCheck("AR0415") // Living Room 1st Floor AreaCheck("AR0416") // Living Room 2nd Floor AreaCheck("AR0417") // Living Room AreaCheck("AR0418") // Myconids AreaCheck("AR0419") // Myconid AreaCheck("AR0420") // Sphere: Lizardmen Hideout AreaCheck("AR0500") // Bridge District AreaCheck("AR0501") // Tanner's Hideout 1st Floor AreaCheck("AR0502") // Tanner's Hideout Cellar AreaCheck("AR0503") // Tanner's Hideout Dock AreaCheck("AR0504") // Saerk's House 1st Floor AreaCheck("AR0505") // Saerk's House 2nd Floor AreaCheck("AR0506") // Noble House 1st Floor AreaCheck("AR0507") // Kidnappers' Hideout 1st Floor AreaCheck("AR0508") // Kidnappers' Hideout 2nd Floor AreaCheck("AR0509") // Five Flagons Inn 1st Floor AreaCheck("AR0510") // Five Flagons Inn Theater AreaCheck("AR0511") // Five Flagons Inn 2nd Floor AreaCheck("AR0512") // Temple of Helm AreaCheck("AR0513") // Calbor's Inn at Bridge District 1st Floor AreaCheck("AR0514") // Inn at Bridge District 2nd Floor AreaCheck("AR0515") // Inn at Bridge District 3rd Floor AreaCheck("AR0516") // Planar Prison AreaCheck("AR0517") // Planar Prison Cell AreaCheck("AR0518") // Planar Prison Cell AreaCheck("AR0519") // Planar Prison Cell AreaCheck("AR0520") // Planar Prison Cell AreaCheck("AR0521") // Planar Prison Cell AreaCheck("AR0522") // Five Flagons Inn (Stronghold) AreaCheck("AR0523") // Five Flagons Theater (Stronghold) AreaCheck("AR0525") // House 1st Floor AreaCheck("AR0526") // Sarcophagus Cellar AreaCheck("AR0527") // House 1st Floor AreaCheck("AR0528") // House 2nd Floor AreaCheck("AR0529") // Neb's Hideout AreaCheck("AR0530") // Storehouse AreaCheck("AR0531") // Commoner House AreaCheck("AR0600") // Circus Tent (phased) AreaCheck("AR0601") // Air Plane in Irenicus's Dungeon AreaCheck("AR0602") // Irenicus's Dungeon 1st Floor AreaCheck("AR0603") // Irenicus's Dungeon 2nd Floor AreaCheck("AR0604") // Circus Tent 1st Floor AreaCheck("AR0605") // Circus Tent 2nd Floor AreaCheck("AR0606") // Circus Tent 3rd Floor AreaCheck("AR0607") // Circus Tent restored AreaCheck("AR0700") // Waukeen's Promenade AreaCheck("AR0701") // The Sewers AreaCheck("AR0702") // Adventurer's Mart AreaCheck("AR0703") // Temple of Ilmater AreaCheck("AR0704") // Mithrest Inn AreaCheck("AR0705") // Mekrath's Hideout in the Sewers (Haer'Dalis Plot) AreaCheck("AR0706") // Armourer/Fletcher AreaCheck("AR0707") // Enge's Shop AreaCheck("AR0708") // Cernd's former home AreaCheck("AR0709") // Den of the Seven Vales 1st Floor AreaCheck("AR0710") // Fennecia's Home AreaCheck("AR0711") // Illithid Hideout in the Sewers (The Hidden Plot) AreaCheck("AR0712") // Den of the Seven Vales 2nd Floor AreaCheck("AR0713") // Store or Inn at Promenade AreaCheck("AR0714") // Debris at Waukeen's Promenade (Irenicus Cutscene in the beginning) AreaCheck("AR0800") // Graveyard AreaCheck("AR0801") // Bodhi's Hideout (sided with Aran) AreaCheck("AR0802") // Netherscroll, Korgan's Book, Edwin AreaCheck("AR0803") // Bodhi's Lair (sided with Aran) AreaCheck("AR0804") // Pai'Na's Hideout AreaCheck("AR0805") // Crypt AreaCheck("AR0806") // Crypt AreaCheck("AR0807") // Crypt AreaCheck("AR0808") // Bodhi's Hideout (Abduction Plot, getting Imoen's soul) AreaCheck("AR0809") // Bodhi's Lair (Abduction Plot, getting Imoen's soul) AreaCheck("AR0810") // Crypt AreaCheck("AR0811") // Crypt AreaCheck("AR0812") // Crypt AreaCheck("AR0813") // Crypt AreaCheck("AR0900") // Temple District AreaCheck("AR0901") // Temple of Helm AreaCheck("AR0902") // Temple of Lathander AreaCheck("AR0903") // Order of the Radiant Heart AreaCheck("AR0904") // Temple of Talos AreaCheck("AR0905") // Pimlico's Estate AreaCheck("AR0906") // Guarded Compound 1st Floor AreaCheck("AR0907") // Guarded Compound 2nd Floor AreaCheck("AR1000") // Government District AreaCheck("AR1001") // Delryn's Estate AreaCheck("AR1002") // Councel Building AreaCheck("AR1003") // Firecam's Estate AreaCheck("AR1004") // Deril's Estate (Cernd Plot) AreaCheck("AR1005") // Prison AreaCheck("AR1006") // Jysstev's Estate (Oisig Plot) AreaCheck("AR1007") // Noble House AreaCheck("AR1008") // Twisted Rune AreaCheck("AR1009") // Noble House (Isaea Roenall's) AreaCheck("AR1010") // Temple of Waukeen AreaCheck("AR1100") // Umar Hills AreaCheck("AR1101") // Valygar's Cabin AreaCheck("AR1102") // Merella's Cabin AreaCheck("AR1103") // Jermien's Cabin AreaCheck("AR1104") // Mayor Lloyd's Cabin AreaCheck("AR1105") // Imnesvale Inn AreaCheck("AR1106") // Umar's Cave AreaCheck("AR1107") // Ranger-Protector's Cabin (Stronghold) AreaCheck("AR1200") // Windspear Hills AreaCheck("AR1201") // Firkraarg's Entrance AreaCheck("AR1202") // Firkaarg's Maze AreaCheck("AR1203") // Firkraag's Hideout AreaCheck("AR1204") // Garren Windspear's Cabin AreaCheck("AR1300") // De'Arnise Keep Destroyed AreaCheck("AR1301") // De'Arnise Cellar AreaCheck("AR1302") // De'Arnise Keep 1st Floor AreaCheck("AR1303") // De'Arnise Keep 2nd Floor (Destroyed) AreaCheck("AR1304") // De'Arnise Keep (Restored, Stronghold) AreaCheck("AR1305") // De'Arnise Keep (Stronghold) AreaCheck("AR1306") // De'Arnise Keep (Stronghold) AreaCheck("AR1307") // De'Arnise Keep (Stronghold) AreaCheck("AR1400") // Shadow Temple Land (restored, Ranger) AreaCheck("AR1401") // Shadow Temple AreaCheck("AR1402") // Shadow Dragon Hideout AreaCheck("AR1403") // Wolfwere Hideout AreaCheck("AR1404") // Shadow Temple Land shadowed AreaCheck("AR1500") // Spellhold AreaCheck("AR1501") // Cave (Spellhold Test) AreaCheck("AR1502") // Fire Room (Spellhold Test) AreaCheck("AR1503") // Spore Room (Spellhold Test) AreaCheck("AR1504") // Crushing Trap Room (Spellhold Test) AreaCheck("AR1505") // Lever Room (Spellhold Test) AreaCheck("AR1506") // Troll Cave (Spellhold Test) AreaCheck("AR1507") // Kobold Room (Spellhold Test) AreaCheck("AR1508") // Final Judgement Spellhold Test AreaCheck("AR1509") // Myconid Room (Spellhold Test) AreaCheck("AR1510") // Sahuagin Room (Spellhold Test) AreaCheck("AR1511") // Elven Table while Spellhold Test AreaCheck("AR1512") // Bodhi's Hunt Level 1 AreaCheck("AR1513") // Bodhi's Hunt Level 2 AreaCheck("AR1514") // Bodhi's Hunt Level 3 (1st Slayer Change Happens here) AreaCheck("AR1515") // Spellhold (Irenicus' Living Room) AreaCheck("AR1516") // Spellhold (Soultheft Level) AreaCheck("AR1600") // Brynnlaw AreaCheck("AR1601") // Desharik's Estate AreaCheck("AR1602") // Brynnlaw's Inn AreaCheck("AR1603") // Brynnlaw's Shop AreaCheck("AR1604") // Temple of Umberlee AreaCheck("AR1605") // CW's House AreaCheck("AR1606") // House of Desharik's Lover AreaCheck("AR1607") // Githyanki Assault AreaCheck("AR1608") // Cellar of Brothel AreaCheck("AR1609") // Courtesan Room AreaCheck("AR1610") // Brothel Prison AreaCheck("AR1611") // Brothel AreaCheck("AR1612") // Brothel Kitchen AreaCheck("AR1613") // Brothel HQ AreaCheck("AR1700") // Small Teeth Pass AreaCheck("AR1800") // North Forest AreaCheck("AR1900") // Druid Grove Area AreaCheck("AR1901") // Druid Grove AreaCheck("AR1902") // Storehouse (Ihtafeer's Storehouse) AreaCheck("AR1904") // Troll Hill AreaCheck("AR1905") // Store Tower AreaCheck("AR2000") // Trademeet AreaCheck("AR2001") // The Smithy AreaCheck("AR2002") // Fentan's House AreaCheck("AR2006") // Tiri's Home AreaCheck("AR2007") // High Merchant's Estate AreaCheck("AR2008") // Temple of Waukeen AreaCheck("AR2009") // High Merchant Prison AreaCheck("AR2010") // Trademeet's Inn AreaCheck("AR2011") // Alibakkar's Estate AreaCheck("AR2012") // Lurraxol's Estate AreaCheck("AR2013") // Trademeet Crypt AreaCheck("AR2014") // Djinni's Tent AreaCheck("AR2015") // Merchant Tent AreaCheck("AR2016") // Raffee's Tent AreaCheck("AR2017") // Courtesan Tent AreaCheck("AR2018") // Tent (no exit) AreaCheck("AR2100") // Underdark AreaCheck("AR2101") // Beholder Cave in Underdark AreaCheck("AR2102") // Adalon's Cave AreaCheck("AR2200") // Ust Natha AreaCheck("AR2201") // Temple in Ust Natha AreaCheck("AR2202") // Inn in Ust Natha 1st Floor AreaCheck("AR2203") // Inn in Ust Natha; 2nd Floor AreaCheck("AR2204") // House in Ust Natha AreaCheck("AR2205") // House in Ust Natha AreaCheck("AR2206") // Qilue's House in Ust Natha AreaCheck("AR2207") // Deirex's Tower in Ust Natha AreaCheck("AR2208") // Jarlaxle's House wherever AreaCheck("AR2209") // Jae'llat's House AreaCheck("AR2210") // Deirex's Cave AreaCheck("AR2300") // Sahuagin City AreaCheck("AR2400") // Mind Flayers in Underdark AreaCheck("AR2401") // Cave Between Underdark and Exit from Underdark AreaCheck("AR2402") // Kuo Toa in Underdark AreaCheck("AR2500") // Elven Temple at Underdark Exit AreaCheck("AR2600") // Thetyr Wood AreaCheck("AR2601") // Meet Drizzt Do'Urden AreaCheck("AR2602") // Cave in Woods to Suldanesselar AreaCheck("AR2603") // Coran's Cabin AreaCheck("AR2700") // Ancient Spirits? AreaCheck("AR2800") // Suldanesselar AreaCheck("AR2801") // House of High Priestess of Suldanesselar AreaCheck("AR2802") // House in Suldanesselar AreaCheck("AR2803") // Rillifane Temple AreaCheck("AR2804") // To the Tree of Life (Entrance Hidden) AreaCheck("AR2805") // To the Tree of Life (Entrance Revealed) AreaCheck("AR2806") // Tree of Life AreaCheck("AR2807") // Black Dragon's Hideout AreaCheck("AR2808") // House in Suldanesselar AreaCheck("AR2810") // House in Suldanesselar AreaCheck("AR2811") // House in Suldanesselar AreaCheck("AR2812") // Temple of Rillifane after the Battle AreaCheck("AR2900") // The Abyss AreaCheck("AR2901") // Fear (Abyss) AreaCheck("AR2902") // Pride (Abyss) AreaCheck("AR2903") // Greed (Abyss) AreaCheck("AR2904") // Selfish (Abyss) AreaCheck("AR2905") // Sarevok (Abyss) AreaCheck("AR2906") // Jon Battle ? /* ToB Area List */ AreaCheck("AR3000") // Watcher's Keep AreaCheck("AR3001") // Watcher's Keep -- Altar level AreaCheck("AR3003") // Watcher's Keep -- Compass level AreaCheck("AR3004") // Watcher's Keep AreaCheck("AR3005") // Watcher's Keep -- tieflings AreaCheck("AR3006") // Watcher's Keep -- Succubus AreaCheck("AR3007") // Watcher's Keep --Cambion AreaCheck("AR3008") // Watcher's Keep -- Baalor (Paladin Sword) AreaCheck("AR3009") // Watcher's Keep -- Wild Magic ? AreaCheck("AR3010") // Watcher's Keep -- Tanar'ri -- Obelisk AreaCheck("AR3011") // Watcher's Keep -- Bard's Gloves, Manman's Journal AreaCheck("AR3012") // Watcher's Keep -- Tahazzar AreaCheck("AR3013") // Watcher's Keep -- Ka'rashur AreaCheck("AR3014") // Watcher's Keep -- White Dragon Scales AreaCheck("AR3015") // Watcher's Keep -- Aesgareth AreaCheck("AR3016") // Watcher's Keep -- Chromatic Demon; Elementalist Level AreaCheck("AR3017") // Watcher's Keep -- Carston and the machine AreaCheck("AR3018") // Watcher's Keep -- Saladrex (Dragon) AreaCheck("AR3019") // Watcher's Keep -- Helmite Level -- Last Seals AreaCheck("AR3020") // Watcher's Keep -- Imprisoned One AreaCheck("AR3021") // Watcher's Keep -- Ilithids AreaCheck("AR3022") // Watcher's Keep -- Anti-Paladins AreaCheck("AR3023") // Watcher's Keep -- "Adventure Level" (Mini Map!!!) AreaCheck("AR3024") // Watcher's Keep -- Dragon -- Fear Challenge AreaCheck("AR3025") // Watcher's Keep -- Orcs -- Ixil's Nail AreaCheck("AR3026") // Watcher's Keep -- Imp -- Game AreaCheck("AR3027") // Watcher's Keep -- Crypt -- Demi-Lich AreaCheck("AR4000") // Spirit Heads AreaCheck("AR4500") // Pocket Plane AreaCheck("AR5000") // Saradush AreaCheck("AR5001") // Gromnir 1st Level AreaCheck("AR5002") // Gromnir's Hideout AreaCheck("AR5003") // Saradush Tavern (Tankard Tree) AreaCheck("AR5004") // Temple of Waukeen AreaCheck("AR5005") // Gromnir's Barracks AreaCheck("AR5006") // Saradush Prison AreaCheck("AR5007") // Basement Entrance to Gromnir's Hideout AreaCheck("AR5008") // Kiser's Home AreaCheck("AR5009") // House (no exit?) AreaCheck("AR5010") // Countess Santele's Home AreaCheck("AR5011") // Arcana Archives AreaCheck("AR5012") // House AreaCheck("AR5013") // Sewers beneath Saradush AreaCheck("AR5014") // Kiser's Home -- Cellar AreaCheck("AR5015") // Saradush Militia Entrance AreaCheck("AR5016") // Saradush Castle Jail (Kiser Plot) AreaCheck("AR5200") // Fire Giant Entrance Area AreaCheck("AR5201") // Fire Giant Keep AreaCheck("AR5202") // Nyalee's Hideout; Gorion Wraith AreaCheck("AR5203") // Yaga-Shura's Camp AreaCheck("AR5204") // Yaga-Shura's Keep AreaCheck("AR5500") // Amkethran AreaCheck("AR5501") // Amkethran Inn AreaCheck("AR5502") // Kerrick the Smith's House AreaCheck("AR5503") // Chyil's House AreaCheck("AR5504") // Smuggler Cave AreaCheck("AR5505") // Balthazar's Home AreaCheck("AR5506") // Commoner's Home AreaCheck("AR5507") // Empty Home AreaCheck("AR5508") // Faheed's Home AreaCheck("AR5509") // Amkethran Crypt AreaCheck("AR6000") // Abazigal's Entrance AreaCheck("AR6001") // Abazigal's Lair Entrance Hall AreaCheck("AR6002") // Abazigal's Lair -- Cells AreaCheck("AR6003") // Abazigal's Lair -- Iycanth the Mad, Bondari AreaCheck("AR6004") // Abazigal's Lair -- Fll'Yissetat AreaCheck("AR6005") // Abazigal's Hideout AreaCheck("AR6008") // Frost Salamander Cave AreaCheck("AR6011") // Orbs and Gauth AreaCheck("AR6012") // Pool Home -- breath under water AreaCheck("AR6100") // Area outside Sendai's Hideout AreaCheck("AR6101") // Main Entrance Sendai's Lair AreaCheck("AR6102") // Sendai's Lair -- Slavemaster AreaCheck("AR6103") // Sendai's Lair -- Spiders AreaCheck("AR6104") // Sendai's Lair -- Crossway AreaCheck("AR6105") // Sendai's Lair -- Diaytha, Abishai AreaCheck("AR6106") // Sendai's Lair -- Captain Egeissag AreaCheck("AR6107") // Sendai's Lair -- Mithykyl AreaCheck("AR6108") // Sendai's Lair -- Sendai AreaCheck("AR6109") // Sendai's Lair -- Drow AreaCheck("AR6110") // Sendai's Lair -- Odamaron AreaCheck("AR6111") // Woodcutter's House -- Sendai's Area AreaCheck("AR6200") // The Throne of Bhaal AreaCheck("AR6300") // Oasis in Tethyr AreaCheck("AR6400") // River Area
  8. Telling stories. I could go into a long intro here about the psychology and sociology of male and female bonding using storytelling, establishment of social hierarchies and patterns of mutual attraction as shown through trading of backgrounds, etc.... but really, it's just a toy, not a thesis. So, stories... folks like them. Let's let Aran have some more to share. We have some little "reveals" in place, where storytelling has a point, like Anomen vs Aran over swearing and the vignette about stuffing a stuffy officer in the hold of a trading ship bound for Calimport; we have a past/former/chick-is-toast story for the romance, and here and there we have other small reveals that slip little bits of insight into the character within the existing mod dialog. But one thing that people do while camping, hiking, sitting around in the workroom/lounge, etc., is tell stories to entertain and distract. War stories in particular, among people who are friends and 'been there, done that". Like singing, or telling jokes, or discussing things, these stories can serve as a distraction or as a way of opening up; most of the time, they don't involve bragging (though I am sure we all have a friend who drives everyone nuts by telling stories that do brag - or worse, things like "So, this one time, at Band Camp"... no points for the cultural referent, and shame on you for watching teen raunch flicks in the first place ). We have an extensive backstory for Aran already available to mine for ideas, and all of the areas he has visited for more ideas - writing the stories is not the problem. Keeping them short enough, putting them deep enough in the dialog structure so only players who really, really want that deep an engagement with Aran's dialog will see them (we don't want action-oriented players to have to be going "crap, he is talking again.... hit the spacebar 12 times quickly, and maybe we can page through all this and get to the good stuff"). We also want some of them to be scattered about, and some of them to be available via PID or friendtalk as a panel of stories, so if a player is in the mood for a diversion he or she can ask for a few of them in a single sitting. There ends up being three or four simple approaches to this. The first is to write a dialog response that asks or leads directly to the story, and never refer to it again: 1. The Straightforward Single-Shot Story CODE ++ ~[PC] So, Aran, tell me about this lost love of yours. Was she pretty?~ + c-arans_lost_love_story This is simple, allows the PC one crack at hearing the story, and even can be varied by allowing players to reference the information later, as other materials in Aran's workthreads around here have already shown: CODE ++ ~[PC] So, Aran, tell me about this lost love of yours. Was she pretty?~ DO ~SetGlobal("c-arans_lost_love_story_told","GLOBAL",1)~ + c-arans_lost_love_story with later on, CODE + ~Global("c-arans_lost_love_story_told","GLOBAL",1)~ + ~[PC] You would think you would never look at another redhead in your life, after what's-her-name up in Moonshea broke your heart and croaked.~ + c-oh_yeah_I_really_appreciate_being_reminded_you_jackass We can expand this with three other variants, much like Cromwell's or Cespy's materials run, by creating a pool of potential stories and then either creating a list or creating a loop - or running it the way PIDs create more interest, using a Random approach. Lists A simple list just gives the player a set of options. the simplest of these goes like this: CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. What do you be wantin' to hear about?~ /* Pool of Stories to Tell */ ++ ~[PC] Tell me a story about cooking.~ + c-carbonanottold ++ ~[PC] Tell me a story about getting to Calimport the fiorst time you saw it.~ + c-arancalimportnottold ++ ~[PC] Tell me a story about that inn where we picked you up. What was his name... Gerris?~ + c-arangerrisnottold ++ ~[PC] Tell me a story about your childhood.~ + c-arandadtradenottold ++ ~[PC] Tell me a story about how you joined the Flaming Fist.~ + c-aranfistfightnottold ++ ~[PC] Tell me a story about fighting in the Moonshea Isles.~ + c-aranmoonfightnottold ++ ~[PC] On second thought, your stories are not that entertaining. Let's just keep going.~ EXIT END This works well - it can be repeated, or linked back in any number of ways, and is very efficient. If a player wants to hear a specific story again, it is right there. We could get fancy, and make a story unavailable after each one by adding globals, which is the way many folks handle giving information - clear out the talks already taken, so that the remaining ones are left for the player to follow. BUT - real folks don't walk around handing out a menu of available "stories". And sometimes they are in the mood or remember different ones. And very seldom do I find myself saying to a friend "Hey, tell me a story about how you became a musician". So, a more interactive approach would be to use the loop CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. Let's see...~ /* Pool of Stories to Tell */ IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-all_stories_told IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO c-carbonanottold IF ~Global("c-arancalimport","LOCALS",0)~ GOTO c-arancalimportnottold IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerrisnottold IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtradenottold IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfightnottold IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfightnottold END IF ~~ c-carbonanottold SAY ~[ARAN] Well, I could tell you about th' rats an' th' Coster waggon...~ = ~[ARAN] <STORY_GOES_HERE>>~ IF ~~ THEN DO ~SetGlobal("c-arancarbonara","LOCALS",1)~ EXIT END IF ~~ c-all_stories_told SAY ~[ARAN] Well, I already done told you all th' stories I can think of. I'll think on it, but right now I be stumped.~ IF ~~ THEN EXIT END This "loop" is designed so that each time a different state calls to it, the bottom-most story gets "peeled off" - it plays, sets a global, and the next time through the first reply from the bottom is evaluated false and skipped, allowing the second one to play. This construction is good for PIDs and such, or for (in this case up to 6 ) multiple references in several talks, as every time a player asks to hear a story, a new one is played, until all are exhausted. It has some drawbacks, too - you can't repeat a story, so one misplaced click and it is either reload from a previous save or break out NI or DLTCEP or wade through the .tras - it also does not mirror more natural talk patterns, where people can refer to or say "hey, that Moonshea stuff you were talking about... how did that go again?" The Random approach is repeatable as well, with a different focus. Here, only one story is told in the state, and it can be referred to any number of times, but if every story has been told you can still draw the player off of it: CODE ++ ~[PC] So, Aran, tell me a story.~ + c-aran_story_time // <-- snip --> IF ~~ c-aran_story_time SAY ~[ARAN] Well, to be sure, I can tell a tale, tall or not. Let's see...~ /* Pool of Stories to Tell */ IF ~RandomNum(6,1)~ GOTO c-carbonanottold IF ~RandomNum(6,2)~ GOTO c-arancalimportnottold IF ~RandomNum(6,3)~ GOTO c-arangerrisnottold IF ~RandomNum(6,4)~ GOTO c-arandadtradenottold IF ~RandomNum(6,5)~ GOTO c-aranfistfightnottold IF ~RandomNum(6,6)~ GOTO c-aranmoonfightnottold IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-all_stories_told END IF ~~ c-carbonanottold SAY ~[ARAN] Well, I could tell you about th' rats an' th' Coster waggon...~ = ~[ARAN] <STORY_GOES_HERE>>~ IF ~~ THEN DO ~SetGlobal("c-arancarbonara","LOCALS",1)~ EXIT END IF ~~ c-all_stories_told SAY ~[ARAN] Well, I already done told you all th' stories I can think of. I'll think on it, but right now I be stumped.~ IF ~~ THEN EXIT END This has some fun in that Aran can tell random stories, and even repeat himself, as people often do. After all possible stories are told, the dialog politely lets the player know that no matter how many million times they click, all potential pathways have been taken. But this one, well - let's just say that it is bad enough in RL to hear the story of how Jerry got into Harvard for the 17000th time.... so this one is a little too real for me. So, let's play with the loop variant, add a CHAIN to explore how we might allow a player to get an old story retold, and in general "prettify" the whole concept. Let's see what we can do to extend it to allow some repetiton and more interactivity for the player, too. CODE APPEND ~C-ARANJ~ /* <<WHATEVER_STATE_I_AM_COMING_FROM>> has three replies added- */ + ~!Class("c-aran",BARD_ALL)~ + ~[PC] This is depressing and dark. Come on, Aran, liven things up a bit. Tell me a story.~ + c-aran_tell_untold_story + ~Class("c-aran",BARD_ALL)~ + ~[PC] This is depressing and dark. Come on, Aran, liven things up a bit. Tell me a story.~ + c-aran_tell_untold_story_bard + ~OR(6) ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ + ~[PC] Hey, Aran, I remember you telling a story... can you tell it to me again?~ + c-aran_tell_told_story /* and then, the reply sequence to the above... */ IF ~~ c-aran_tell_untold_story SAY ~[ARAN] I can do that, though I be no bard. Let me see...~ IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO a1433 IF ~Global("c-arancalimport","LOCALS",0)~ GOTO a1432 IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerrisnottold IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtradenottold IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfightnottold IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfightnottold IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-aran_all_stories_told END IF ~~ c-aran_tell_untold_story_bard SAY ~[ARAN] I can do that. Just remember, my bardic days be relatively new, so I don't have them all embellished an' prettified, wi' proper pronunciation an' projection. Sorry about that spittle, there. Somethin' about 'p' words, eh?~ = ~[ARAN] Let me see...~ IF ~Global("c-arancarbonara","LOCALS",0)~ GOTO a1433 IF ~Global("c-arancalimport","LOCALS",0)~ GOTO a1432 IF ~Global("c-arangerris","LOCALS",0)~ GOTO c-arangerris IF ~Global("c-arandadtrade","LOCALS",0)~ GOTO c-arandadtrade IF ~Global("c-aranfistfight","LOCALS",0)~ GOTO c-aranfistfight IF ~Global("c-aranmoonfight","LOCALS",0)~ GOTO c-aranmoonfight IF ~Global("c-arancarbonara","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arancalimport","LOCALS",1) Global("c-arangerris","LOCALS",1) Global("c-arandadtrade","LOCALS",1) Global("c-aranfistfight","LOCALS",1) Global("c-aranmoonfight","LOCALS",1)~ GOTO c-aran_all_stories_told END /* (Of course, they could also be split up and added to several states, if wanted - it is likely that in the final implementation there will be more stories, and certainly two on this list will be screened out if the player has already had the friendtalk that tells of Calimport or the romance talk that tells about the trading incident. ) */ IF ~~ c-aran_all_stories_told SAY ~[ARAN] I can think o' naught that I haven't told you already. Mayhap I can tell you one o' them again?~ ++ ~[PC] No thanks. If you are out of stories, then I hope you come up with some riddles or something, or this will be a very long trip through the Underdark.~ + <<exitstate>> ++ ~[PC] That sounds interesting. Go ahead, tell me something you have already told. Your stories are always interesting.~ + c-aran_tell_told_story ++ ~[PC] I think we have had enough talk. Let's move on.~ + <<exitstate>> ++ ~[PC] Thank the gods you have run out. You stink at telling stories anyways. I was getting tired of humoring you~ + c-aranshutup75 ++ ~[PC] Never mind. I was joking, anyways. I'd rather cut my own throat than hear you blater on about things.~ + c-aranshutup74 END END // of append to c-aranj /* here, we play with CHAIN to allow an expandable state. It only gets triggered if one of those inner conditions is met, so it can build a longer conversation each time a story is told. */ CHAIN ~C-ARANJ~ c-aran_tell_told_story ~[ARAN] Sure thing. I can tell you what I be rememberin', anyways. Let's see...~ == ~C-ARANJ~ IF ~Global("c-arancarbonara","LOCALS",1)~ THEN ~[ARAN]I could tell you about th' rats an' th' Coster waggon again...~ == ~C-ARANJ~ IF ~Global("c-arancalimport","LOCALS",1)~ THEN ~[ARAN] I could tell you about th' first time I got myself to Calimport again, if you want.~ == ~C-ARANJ~ IF ~Global("c-arangerris","LOCALS",1)~ THEN ~[ARAN] I do remember tellin' you about Gerris an' me workin' short haul from Neverwinter to th' Moonshea Isles. That be a tale.~ == ~C-ARANJ~ IF ~Global("c-arandadtrade","LOCALS",1)~ THEN ~[ARAN] I done told you about my father gettin' trapped in th' trade contract... you want to be hearin' it again?~ == ~C-ARANJ~ IF ~Global("c-aranfistfight","LOCALS",1)~ THEN ~[ARAN] I think I told you o' th' time we run off those northmen up in th' Isles, unless you want to be hearin' it again.~ == ~C-ARANJ~ IF ~Global("c-aranmoonfight","LOCALS",1)~ THEN ~[ARAN] I told you about gettin' in wi' th' Fist, but do you want to be hearin' it again?~ == ~C-ARANJ~ ~[ARAN] That be all I can remember tellin' you about, anyhow.~ END + ~Global("c-arancarbonara","LOCALS",1)~ + ~[PC] Tell the story about the rats.~ + a1433 + ~Global("c-arancalimport","LOCALS",1)~ + ~[PC] Tell me about Calimport.~ + a1432 + ~Global("c-arangerris","LOCALS",1)~ + ~[PC] That Gerris fellow - the one you talked about when we first met. Tell me that story again.~ + c-arangerris + ~Global("c-arandadtrade","LOCALS",1)~ + ~[PC] Tell me about the trading gone bad.~ + c-arandadtrade + ~Global("c-aranfistfight","LOCALS",1)~ + ~[PC] Tell me how you ended up in the Flaming Fist again.~ + c-aranfistfight + ~Global("c-aranmoonfight","LOCALS",1)~ + ~[PC] Tell me about that battle up in Moonshea again.~ + c-aranmoonfight ++ ~I think we have had enough talk. Let's move on.~ EXIT APPEND ~C-ARANJ~ IF ~~ c-arangerrisstory SAY ~[ARAN] Gerris were a right fine companion, way back at th' start o' th' Moonshea work I did, an' right before th' Iron Throne got busy makin' life miserable for honest folk. He trained wi' the Old Order, though sometimes he acted more Sun Soul than anythin' else... an' I be right sorry his daughter an' I , we made things right complicated. Happy, though, on account o' it put me in your path, eh?~ = ~[ARAN] But a long time ago Gerris an' I were workin' across to Moonshea on one o' them short-haul galleys what ply that route out o' Neverwinter. Gerris, he trained me right proper, too, an th' cookin' front. He had to be right creative, on account o' most o' th' crew were Luskan fisherfolk, an' thought a good meal were dried fish an' small beer.~ = ~[ARAN] Well, one o' th' older oarsmen, he took a dislike to Gerris right off. There was naught Gerris could do to please th' bastard. He tried cookin' just what th' oarsman wanted, an' makin' it as special as he could, on account o' a trade galley be a small place, an' a little bad feelin' gets magnified right large.~ = ~[ARAN] The bugger would have naught in th' way o' reconciliation, though, and kept gettin' into Gerris' face. Finally, Gerris told him that if he didn't shape up, Gerris would put a curse on him.~ = ~[ARAN] O' course, th' oarsman laughed it off, an' punched Gerris right proper. Gerris didn't say naught, just took the punch, then made some sort o' gesture. Th' two stalked off, an' everyone gave 'em both as wide a berth as possible.~ = ~[ARAN] Well, two days later, th' oarsman came runnin' up from th' head... that be th' latrine, on a boat, a bathroom, right? Well, he came up just hollerin' bloody murder, ran past us, an' dove over th' side. We looked downon him, an' lo an' behold, that bastard was passin' flame instead o' gas!~ = ~[ARAN] We fished him out proper, an' soon he was as right as rain, but Gerris, he just shook his head an' sighed, askin' after th' man's health. He made a few passes wi' his hands in th' air, an' from then on, noone messed wi' him nor wi' me.~ = ~[ARAN] Now, I don't rightly think there were no magic in Geris' hands, him followin' monks ways so short a time. So when I saw him back wi' his wife an' daughter when I got to Amn a few years later, I got him right drunk an' asked him how he did it. An' that's how I learned that a small amount o' fireberries be a great spice... but you put too many in a man's portion, you'd best be gettin' a new set o' clothes lined up right quick, an' some healin' salves on hand. ~ IF ~~ THEN DO ~SetGlobal("c-arangerris","LOCALS",1)~ EXIT END IF ~~ c-aranmoonfight // PLACEHOLDER SAY ~[ARAN] ~ = ~[ARAN] ~ IF ~~ THEN DO ~SetGlobal("c-aranmoonfight","LOCALS",1)~ EXIT END /* Boy, I have been playing a little Mount & Blade, i think... */ IF ~~ c-aranfistfight SAY ~[ARAN] Well, I had just come off o' Moonshea, about as down as a lad can be. My ladylove dead, th' Moonshea companies disbandin' on account o' we thrashed th' Iron Throne bastards... well, more like you thrashed Sarevok an' wiped out their command structure, but th' fightin' in the field was still fierce for a bit afterwards. Sometimes it takes awhile for an army to realize that th' war be over.~ = ~[ARAN] Anyways, I was wanderin' around Nashkel, when th' Guildmaster calls me in an' gives me some work punchin' north on th' Trade way. Small caravan, just a full fist, not anythin' big. A tag along, really, as there were a load o' more powerful costers what had hired th' Flamin' Fist to protect some serious tradin' waggons headed up Neverwinter way, an' we were just really for show more than anythin'. But it was work, so I was not goin' to be turnin' it down, eh? We headed out mid-winter, tryin' our luck.~ = ~[ARAN] Well, we made it up into th' hills north o' Nashkel, an' were just south o' Beregost when we ran into a snow squall in th' middle o' a clear day. Me an' Kalavi... she were th' Stave, but she fought well enough, as she had just recently taken up wi' Ilmater and had been a seasoned fighter same as me... we knew there was more to this than just some freak weather, on account o' no snow squall we ever saw had lightnin' accomanyin' it.~ = ~[ARAN] We spurred up ahead straight into th' storm, keepin' our eyes open, her wi' a big staff an' me wi' my trusty sword ready. Th' wind was somethin' fierce, an' we almost wew about to turmn back out when we broke clear into a bubble o' protection o' some sort. We found ourselves suddenly in th' open, at full gallop across a field o' icy cobblestones, runnin' right up th' arse o' two ice trolls an' a whole mess o' orcs.~ = ~[ARAN] Lucky for us Tymora's Coin was spinnin' our direction. They was too busy payin' attention to th' 'Fist in field plate whackin' at 'em, an' th mage what was holdin' off that magical storm wi' some kind o' big bubble shield. Good thing, too, on account o' we coulnd't have stopped short nohow, not at that speed an' wi' all that ice. Kalavi, she started sayin' somethin', some spell I suppose, but thought better o' it fast enough - tryin' to hold a spell while on horseback is way above what most seasoned clerics can do, an' she had no more than four or five spells total granted by her Cryin' God. Me, I don't fight cavalry-style, but beggars can't rightly be choosers, so I leaned forward an' swung wide, hopin' I wasn't about to kill my own mount leavin' me on th' wrong side o' th' shield wall, so to speak.~ = ~[ARAN] Kalavi came in fast an' brought her staff up like some kind o' fancy lance, an' I'll be damned if it didn't do th' trick. She hit at full gallop, nailin' one o' th' ice trolls in th' head an' knockin' it unconscious wi' one hit, an' then her mount leaped clean over th' shield wall, where she could join in on th' fun proper. Took out one o' th' strongest adversaries, did a nice trick, an' it were a pretty sight.~ = ~[ARAN] Me, on th' other hand... well, i hadn't ever fought no ice Trolls before. So I lopped it's head off beautifully, nice clean arc, before i slipped too far forward an' ended up takin' a right fast rollin' tumble off my horse. She jumped th' line an' was safe, but there I was, all th' wind knocked out o' me, actin' as a bowlin' ball in among the orcs. Well, I scared th' crap out o' some o' them, an' they took to their heels... so I thought I was all in th' clear. I rolled right up to my feet, dusted myself off, an' started walkin' forward to th' line. All those Fist an' Kalavi started whoopin' an' hollerin', and so I just sort o' took a bow, thinkin' they was cheerin' me for scatterin' th' whole mob. Just as I did, I feel a whiff o' ice cold air on th' back o' my neck, an' tripped forward flat on my face.~ = ~[ARAN] Well, long story short, I didn't know that ice trolls just grow back if there be no fire nor acid scattered. My lucky little bow an' trip saved me my sorry hide, as there was now two Ice trolls clawin' at me. Th' Fist an' Kalavi clobbered 'em both pincushionin' them wi' arrows an' sling stones spelled wi' fire, savin' my sorry arse. But th' officer in charge o' th' Fist didn't realize it were my own clumsiness an' a twist o' Tymora's Coin what did the trick. She thought I clobbered th' troll, bowled over th' orcs, took a casual bow in front o' th' two trolls, an cool as a cucumber stopped dropped, an' rolled to allow th' rest o' th' unit to take 'em out. She hired us both on th' spot, an' we never told naught about it.~ IF ~~ THEN DO ~SetGlobal("c-aranfistfight","LOCALS",1)~ EXIT END END // of append to c-aranj Now, a little tweaking, and a test in-game to see if the story can be consolidated into less screens, or perhaps tightened up, and we have successfully created a set of stories that can be used as a resource for several talks, with replication only if the palyer requests. Using the variables, we can even add replies into other states that reference the information, just the way we tell our friends things in referent to their personal experiences.... CODE + ~Global("c-aranfistfight","LOCALS",1)~ + ~[PC] Oh no you don't... you stay back here and get those fire arrows ready. You don't want a repeat of that whole Ice troll incident, now do you?~ + c_great_you_used_my_story_against_me_you_bugger + ~Global("c-arangerris","LOCALS",1)~ + ~[PC] Hells no, you are not doing the cooking tonight. You have been fighting with Viconia again, and Gerris taught you way too many ways to get even!~ + c_who_me?_I_would_never_do_such_horrible_things
  9. 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
  10. In <<this thread>> we were tracing ways of adding in install choices for players. in the meantime, the bigg has come up with some new WeiDU possibilities that allow some interesting ways of "swinging" code into separate branches based on setting/reading variables and matching against their values. Basically, the same kind of thinking that PATCH_IF statements use, but on a larger scale. Never one to do something and let it just sit, let's recast the player choices on install using this new method. He has a bunch of these new commands that might be interesting to heavy coders, but for gadabouts like me, ACTION_MATCH is the simplest to understand and shows basically what he is allowing in various forms by supporting this kind of code behavior. note: Doing this is fun for me, but in this particular case it is hitting a fly with an ICBM. I suspect other code which relies on massive internal checking and patching based on a whole series of variables could be cleaned up using this kind of construction, done better - the code below is very clunky and linear, and does not take advantage of the heaviest potential gains, where separate 'building blocks" could be swapped in based on multiple matches or "guarding conditions" or whatever the big Boyz and Girlz use for terminology. Basically, stuff like IF (A) AND (NOT B) AND © AND (D) AND (NOT E) IF (NOT A) AND (NOT B) AND © AND (D) AND (NOT E) IF (NOT A) AND (B) AND © AND (NOT D) AND (NOT E) etc. etc. can be set up with a series of individual matched blocks of code, and put into play that way rather than creating a whole series of individual 'cases'. The end Result of This As Applied To Aran CODE BEGIN ~Aran Whitehand, "No Choices Wanted" (Fighter)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 5 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Mage Dual-Class stats configuration (Tinker)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 1 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Cleric Dual-Class stats configuration (Tailor)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 2 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Fighter stats configuration (Soldier)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 3 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END BEGIN ~Aran Whitehand, Thief Dual-Class stats configuration (Spy)~ FORCED_SUBCOMPONENT ~Choose Which Aran Configuration to install...~ REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ ~Aran Whitehand must be installed for this to work.~ OUTER_SET class_choice = 4 LAUNCH_ACTION_MACRO customized_cre_choice ACTION_IF FILE_EXISTS_IN_GAME ~ar6111.are~ THEN BEGIN // ToB .cre file COPY_EXISTING ~c-aran7.cre~ ~override/c-aran13.cre~ WRITE_LONG 0x18 2500000 // current XP 2500000, ToB start WRITE_ASCII 0x2cc ~C-ARN25A~ #8 /* dialogue */ WRITE_ASCII 0x280 ~C-ARAN~ #32 /* DV */ WRITE_ASCII 0x248 ~C-ARN25~ #8 /* override script */ END For an "allow me to choose" subcomponent, or we let players just skip all the crap: ACTION_READLN and Other Macros as Building Blocks Instead of the code in the previous thread, first we pull everything we can out into discreet blocks and turn them into "get information from the user" macros and "work on the .cre" macros. That allows us to individualize the class choice ones, change the order, and most of all get everything set up, then copy the .cre once and apply all the changes in one swoop. CODE DEFINE_ACTION_MACRO aran_wealth_selection BEGIN OUTER_FOR( aran_wealth = 0; ~%aran_wealth%~ STRING_COMPARE_REGEXP ~^[123]$~; )BEGIN PRINT ~Please choose from the following choices to modify starting armor and weapons available to him: [1] Aran is down-and-out poor and has sold off most of his good equipment. [2] Aran has kept most of his good gear. [3] Aran has kept the best gear available to a successful mercenary. Please select 1, 2, or 3 and press enter.~ ACTION_READLN aran_wealth END END DEFINE_ACTION_MACRO aran_armor_choice BEGIN OUTER_FOR( aran_armor_choice = 0; ~%aran_armor_choice%~ STRING_COMPARE_REGEXP ~^[12345]$~; )BEGIN PRINT ~Please choose from the following starting armor choices for Aran: [1] Leather [2] Studded Leather [3] Chain [4] Splint [5] Plate Please select 1, 2, 3, 4, or 5 and press enter.~ ACTION_READLN aran_armor_choice END END DEFINE_ACTION_MACRO aran_mage_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[123]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran to Mage. He currently has proficiencies as follows: ** Long Sword ** Quarterstaff ** Dagger Please choose from the following starting weapon choices and press enter: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Quarterstaff [3] Long Sword, Shield, Potions of healing~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_cleric_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[1234]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran to Cleric. He currently has proficiencies as follows: * Long Sword * Hammer * Mace * Flail ** Sword and Shield Style Please choose from the following starting weapon choices: [1] Long Sword, Shield, Mace [2] Long Sword, Shield, Quarterstaff [3] Long Sword, Shield, Hammer [4] Long Sword, Shield, Flail~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_fighter_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[123456]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to leave Aran as a fighter. He currently has proficiencies as follows: ** Long Sword ** Bastard Sword * Long Bow * Sword and Shield Please choose from the following starting weapon choices: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Long Bow [3] Long Sword, Shield, Potions of healing [4] Bastard Sword, Shield, Dagger [5] Bastard Sword, Shield, Long Bow [6] Long Sword, Shield, Hammer~ ACTION_READLN ~weapon_choices~ END END DEFINE_ACTION_MACRO aran_thief_choice BEGIN OUTER_FOR( weapon_choices = 0; ~%weapon_choices%~ STRING_COMPARE_REGEXP ~^[12345]$~; )BEGIN // one way of setting up for READLN PRINT ~You are probably going to Dual-Class Aran as a Thief. He currently has proficiencies as follows: ** Long Sword ** Short Sword * Dagger * Crossbow Please choose from the following starting weapon choices: [1] Long Sword, Shield, Dagger [2] Long Sword, Shield, Crossbow [3] Long Sword, Shield, Potions of healing [4] Short Sword, Shield, Dagger [5] Short Sword, Shield, Crossbow~ ACTION_READLN ~weapon_choices~ END END Now, we have user choices defined, and we can apply them in a new macro, customized_cre_choice. Here, we are looking to "swing" the code into different branches based on the class, chosen, because we are working with two unique building blocks. While wealth and armor are the same for each, we need to bring a different base .cre into play, and the proficiency set (and weapons choices) vary by the base .cre chosen. So we need to a. look at what the player chose, b. swing a block of code temporarily down an alternate track based on that c. remind the player what they chose (and list it in the .DEBUG for troubleshooting) d. then bring everything back to order. So, CODE ACTION_MATCH ~var~ WITH 1 BEGIN <<do case 1 >> END 2 BEGIN <<or else do case 2 >> END DEFAULT <<or if neither 11 nor 2, then do case 3/default actions >> END In Aran's implementation (tested and works; horribly clumsy though), instead of talking I commented stuff: CODE /* Installing one of the 5 forced subcomponents does OUTER_SET class_choice = 1 or 2 or 3 or 4 or 5 (5 = no player choices wanted). */ DEFINE_ACTION_MACRO customized_cre_choice BEGIN // define the instruction set to be called in other places ACTION_MATCH ~%class_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 // the first check. If %class_choice% = 1, the next stuff will work, else check the next BEGIN /* mage dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_mage_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END /* we are using READLN values to set a variable - the mod range of possible combos is 1 to 15 inclusive, so we can't just read it directly */ ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, so 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 2 // Long Sword, Shield, Quarterstaff PRINT ~Long Sword, Shield, Quarterstaff~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of Healing~ PRINT ~~ END DEFAULT // this should never run, but as an emergency fallback OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow PRINT ~Long Sword, Shield, Long Bow~ PRINT ~~ END COPY ~aranw/cre/c-arnmge.cre~ ~override/c-aran7.cre~ // copy the base .cre into the game, and LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-mage swing 2 // the second check. If %class_choice% = 2, the next stuff will work, else check the next BEGIN /* cleric dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_cleric_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 4 // Long Sword, Shield, Mace PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 2 // Long Sword, Shield, Quarterstaff PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 12 // Long Sword, Shield, Hammer PRINT ~Long Sword, Shield, Mace~ PRINT ~~ END DEFAULT // this will run on 4, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 5 // Long Sword, Shield, Flail PRINT ~Long Sword, Shield, Flail~ PRINT ~~ END COPY ~aranw/media/c-arnclr.cre~ ~override/c-aran7.cre~ // the cleric stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-cleric swing 3 // the third check. If %class_choice% = 3, the next stuff will work, else check the next BEGIN /* fighter single-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_fighter_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow PRINT ~Long Sword, Shield, Long Bow~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of healing~ PRINT ~~ END 4 BEGIN OUTER_SET ~aran_weapon_set~ = 7 // Bastard Sword, Shield, Dagger PRINT ~Bastard Sword, Shield, Dagger~ PRINT ~~ END 5 BEGIN OUTER_SET ~aran_weapon_set~ = 8 // Bastard Sword, Shield, Long Bow PRINT ~Bastard Sword, Shield, Long Bow~ PRINT ~~ END DEFAULT // this will run on 6, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 12 // Long Sword, Shield, Hammer PRINT ~Long Sword, Shield, Hammer~ PRINT ~~ END COPY ~aranw/cre/c-arnftr.cre~ ~override/c-aran7.cre~ // the fighter stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of just-a-fighter swing 4 // the second check. If %class_choice% = 4, the next stuff will work, else check the next BEGIN /* thief dual-class build */ LAUNCH_ACTION_MACRO aran_wealth_selection LAUNCH_ACTION_MACRO aran_thief_choice LAUNCH_ACTION_MACRO aran_armor_choice ACTION_MATCH ~%aran_wealth%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 3 BEGIN PRINT ~Aran is successful~ END 2 BEGIN PRINT ~Aran is of average wealth~ END DEFAULT PRINT ~Aran is down-and-out poor~ END ACTION_MATCH ~%aran_armor_choice%~ // the thing we are checking to allow the code to "swing" to variants, the "case" WITH 1 BEGIN PRINT ~Leather Armor~ END 2 BEGIN PRINT ~Studded Leather Armor~ END 3 BEGIN PRINT ~Chain Mail~ END 4 BEGIN PRINT ~Splint Mail~ END DEFAULT PRINT ~Plate Armor~ END ACTION_MATCH ~%weapon_choices%~ // check this value WITH // against the following 3 cases, with 4 or anything else defaulting to a '"standard choice" 1 BEGIN OUTER_SET ~aran_weapon_set~ = 1 // Long Sword, Shield, Dagger PRINT ~Long Sword, Shield, Dagger~ PRINT ~~ END 2 BEGIN OUTER_SET ~aran_weapon_set~ = 9 // Long Sword, Shield, Crossbow PRINT ~Long Sword, Shield, Crossbow~ PRINT ~~ END 3 BEGIN OUTER_SET ~aran_weapon_set~ = 3 // Long Sword, Shield, Potions of healing PRINT ~Long Sword, Shield, Potions of healing~ PRINT ~~ END 4 BEGIN OUTER_SET ~aran_weapon_set~ = 10 // Short Sword, Shield, Dagger PRINT ~Short Sword, Shield, Dagger~ PRINT ~~ END DEFAULT // this will run on 5, or as an emergency fallback OUTER_SET ~aran_weapon_set~ = 11 // Short Sword, Shield, Crossbow PRINT ~Short Sword, Shield, Crossbow~ PRINT ~~ END COPY ~aranw/cre/c-arnthf.cre~ ~override/c-aran7.cre~ // the thief stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of dual-to-thief swing DEFAULT // the fall-through check. If %class_choice% was not 1, 2, 3, or 4, the default code will run PRINT ~No class choice was chosen... installing Aran's Default (Fighter, moderate wealth, long sword and bow)~ /* Set up the variables for a default .cre so BWP folks don't have to deal with READLN */ OUTER_SET ~aran_wealth~ = 2 // experienced mercenary with some resources OUTER_SET ~aran_weapon_set~ = 6 // Long Sword, Shield, Long Bow OUTER_SET ~aran_armor_choice~ = 4 // splint COPY ~aranw/cre/c-arnftr.cre~ ~override/c-aran7.cre~ // the fighter stat L7 .cre LAUNCH_PATCH_MACRO ~aran_cre_setup~ // patch in player choices using this pre-defined code END // of default swing END // of define action macro This usage is interesting to me in that it shows how you can nest both macros and ACTION_MATCH WITH . It is a criminal waste of space to use this for just PRINT materials the way I have; the better usage would be to fully convert the various PATCH_IF statements and that whole pyramid of materials found in aran_cre_setup into a better/tighter logic chain, so that i could do away with SUBCOMPONENT entirely. Using this idea, the whole thing could be built into one component, and we could ask "Default, or choice?" and then if a person chose choice, they could run everything through a single run of code that asked and adjusted for responses. To do this, instead of using LAUNCH_PATCH_MACRO ~aran_cre_setup~ the currently unchanged contents of aran_cre_setup's PATCH_IF statements would be integrated into the above.
  11. 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.
  12. OK, I have set up 12 friendtalks that are light in mood and discussion, working within FR, and set up as the fun sort of trail talk. I have 5 Underdark talks that focus on the feelings engendered by being underground. But for both SoA and Tob content, I am puzzling over how to do something fresh, new, and fun with a few more talks, this time more directed and personal. Except - I don't want to cover the same old territory, done well in other mods. things like "Hey, how do you feel about me?" "What was it like in Candlekeep?", "Gorion was a cool dude, wasn't he?" What I want to have some fun with is showing more friendly intimacy like a long-term comapnion and friend would, on topics that are less discussed. I'll take any brainstorms possible, and will post with my own tomorrow. But here is your chance to suggest something you always wished an NPC wuld bring up with your PC.
  13. 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.
  14. 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
  15. Lots of tutorials out there, I think, on DreamTalks, hassles with Dream Timers, and all sorts of stuff, so this will probably be more of a "post the talks and be done with it". The easiest - a straightforward "on waking, outside, after Underdark". .bcs, .dlg, and PartyRested(). No need t=for the DreamScript, C-ARAJD, as that script only runs at rest - and since there is no before-rest | after-rest pairing, this one is a straightforward one. c-aran.baf addition: /* On waking banter, after Underdark : bcs */ IF InParty(Myself) Global("c-aranwakeup","LOCALS",0) Global("Chapter","GLOBAL",6) CombatCounter(0) !StateCheck(Myself,CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) PartyRested() // this one makes it immediately after rest !RealGlobalTimerNotExpired("c-aransmalltalk","GLOBAL") // not while smalltalk timer is still running, so we don't load up OR(2) AreaType(OUTDOOR) AreaType(FOREST) !AreaType(DUNGEON) THEN RESPONSE #100 SetGlobal("c-aranwakeup","LOCALS",1) RealSetGlobalTimer("c-aransmalltalk","GLOBAL",300) PlaySong(0) PlaySound("c-aranft") StartDialogNoSet(Player1) END c-aranj.d addition, two possibilities - waking up during day, or waking up during night /* On waking banter, after Underdark : dlg */ IF ~Global("c-aranwakeup","LOCALS",1) TimeOfDay(DAY)~ c_nice_to_see_day SAY ~[ARAN] Birds. Daylight. Sunrise. Blighted hells, it be nice to stretch out after a real sleep, an' see th' sky...~ IF ~~ THEN DO ~SetGlobal("c-aranwakeup","LOCALS",2)~ GOTO c_we_made_it END IF ~Global("c-aranwakeup","LOCALS",1) TimeOfDay(NIGHT)~ c_nice_to_see_night SAY ~[ARAN] Stars. Breezes. Selune Herself, shinin' down. Blighted hells, it be nice to stretch out after a real sleep, an' see th' sky...~ IF ~~ THEN DO ~SetGlobal("c-aranwakeup","LOCALS",2)~ GOTO c_we_made_it END IF ~~ c_we_made_it SAY ~[ARAN] for awhile there, I thought we might never get topside again. I did not relish th' thought o' endin' up stuck down in th' Underdark permanent-like.~ ++ ~[PC] Oh, it wasn't so bad. At least we knew almost everything we met was just waiting for a chance to kill us.~ + c_like_they_arent_now ++ ~[PC] The classic Whitehand juxtaposition - say something nice, but add a swear word or two strong enough to blister the ears of young children.~ + c_beautiful_words ++ ~[PC] Good, you are up. Get some food going, fast. I am starving!~ + c_and_not_fungus + ~Global("c-aranrom","GLOBAL",2) Global("c-aransex","GLOBAL",1)~ + ~[PC] Hey, I am not done with you yet. I still have some unattended romantic business to finish...~ + c_going_to_kill_me ++ ~[PC] Shhh. Not so loud. I am going back to sleep for awhile.~ + c_get_up END IF ~~ c_like_they_arent_now SAY ~[ARAN] We don't have to be in Underdark for that to be true, eh? If danger be th' spice o' life, then I think you be cayenne, paprikea, an' burnin' oil all rolled into one!~ IF ~~ THEN GOTO c_get_up END IF ~~ c_beautiful_words SAY ~[ARAN] Fervent feelin's fill foul phrases full, eh? I guess I should o' said "Mystra's Tears", or "Lathander's Smile", or some such.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_and_not_fungus SAY ~[ARAN] Praise be to th' gods, we don't have to worry about no strange creatures showin' up in th' food, an' there be not a mushroom or fungus in sight. Real meal, an' open air.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_going_to_kill_me SAY ~[ARAN] Good gods, woman. You are like to kill me. We can always stop for a mite later, but we'd best be movin' on.~ IF ~~ THEN GOTO c_get_up END IF ~~ c_get_up SAY ~[ARAN] Now, pop right out o' that there bedroll, <CHARNAME>... my cookin' muscles have been all cramped down underground. I can feel a first-class meal comin' on. An' I be in th' mood for a right fine <DAYNIGHT> o' travel an' adventure!~ IF ~~ THEN EXIT END Taking ideas for expansion, but sometimes short and sweet is all the scenery dialog you need. Reminders to self - Classic Modder Mixups to recheck in main files - Posible Mismatches: SCOPE. we set a timer on each fun talk and flirt that tries to space out potential scenery dialog/ fun talks so that you don't end up with several becoming evaluated true at the same time. Some places that tend to load up include the start of every major area, and every chapter, so there is a talk-fest and then not so much. But, is it consistent in its usage? we need to recheck RealSetGlobalTimer("c-aransmalltalk","GLOBAL",300) <-> !RealGlobalTimerNotExpired("c-aransmalltalk","GLOBAL") as a pairing, because if we use the game time timers on either side of this in other code, it will not do what we want it to do. Same with variables - edited above code just now because I set a LOCALS and closed a GLOBAL, which will not work quite as intended... Global("c-aranwakeup","LOCALS",0) <-> SetGlobal("c-aranwakeup","LOCALS",1)
  16. So, the idea was to get detailed, and see what happened in WeiDU with two ideas that have been coded into Aran. 1. - is it really really true that WeiDU does not care if you code things like this: IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END or this, run all into a single line: IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END (We know the answer to this - WeiDU does not care, but the human does. Nothing harder to troubleshoot than unindented stuff. If there is not a decent pattern, then you can't catch the silly things, like a missing tilde, or an IF ~~ THEN EXIT with no END. We are just having some fun with this as a control). So, first off, we create a folder called test1 in the BG2 directory. NOT THAT ONE!!!!! Nope, not the clean, nice, pristine, untouched one you have on your main hard drive. Trust me. Bad idea. Copy the whole BG2 clean version onto another drive, remap the baldur.ini in your copied one to your new one in the nice folder X:\TESTING\BG2, because you might want to get fancy someday and do things like edit creatures, or build macros that are supposed to manipulate values, or something fancier than what we are doing today. And when you do that, you will need to compare the original game structures to the modded ones, so that even before you test in-game, you can see if it is doing basically what you want, or have you accidentally done something like edit every single item in the game to have an extra couple of bytes, thus corrupting everything... believe, or suffer the consequences. I certainly hope you believe, because if you think it is tough to troubleshoot your installation now, just wait until you have been playing around trying to learn modding, and forget to uninstall a test - or worse. OK, on the testing install, I have that folder, and now I grab a copy of another mod's setup-mymod.exe (or just a regular old weidu.exe from its package), and name it setup-test1.exe. I whip up a quick .tp2 (unless I have a test one already created and are just editing it, like I do): setup-test1.tp2 BACKUP ~test1/BACKUP~ AUTHOR ~Me.~ VERSION ~v1~ BEGIN ~Check Dialog format~ COMPILE ~test1/test1.d~ And I grab the dialog thought I want to play with, and toss it in the folder with the .tp2: test1.d BEGIN ~test1~ APPEND ~test1~ IF ~Global("test1","GLOBAL",1)~ THEN BEGIN a100 SAY ~[ARAN] What a blighted great place to be fightin' for our lives at every turn. So do you come here often? How's the food? Know any available converts o' Sune? You thinkin' o' convertin'?~ IF ~!Kit(Player1,NMSUNE)~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT IF ~Kit(Player1,NMSUNE)~ THEN GOTO a101 END IF ~NumTimesTalkedTo(0)~ THEN BEGIN a105 SAY ~[ARAN] Yup, a stupid test~ ++ ~[PC] heya, 101~ + a101 ++ ~[PC] heya, 102~ + a102 ++ ~[PC] heya, 103~ + a103 ++ ~[PC] heya, 104~ + a104 END IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END /* c-aranpidhum */ IF ~~ a102 SAY ~[ARAN] No, naught but tryin' to figure out if you be a native Chondathan, Luskan, or mayhap Rashemi speaker. Must be all that book learnin'. I just can't bloody well place your accent, is all.~ IF ~~ THEN EXIT END /* c-aranpiddwarf */ IF ~~ a103 SAY ~[ARAN] Nothin' wrong. Just tryin' not to trip over your short little sorry arse, eh?~ IF ~~ THEN EXIT END /* c-aranpidorc */ IF ~~ a104 SAY ~[ARAN] Just tryin' to figure out how to avoid tellin' you that you be the ugliest son o' a bitch I ever did lay eyes on. No harm meant, o' course.~ IF ~~ THEN EXIT END END and double-click the file setup-test1.exe. Now, I have weidu showing me a command box, and before I go further, I want to make sure I get all the data I can. In Windows (I am using Win7 pro x64, but it is all variations on a theme), I right click on the top bar of the command prompt (command box, terminal, whatever you want to call it), and I change the properties. First, I set the screen buffer size to something appropriate for my screen resolution. Since I work at 1280 x 1024, it ends up being something huge, like width = 150, height = 300. I make the window size width = 150 and height = 60. And most of all, I toggle options, and put a buffer size of 500, 4 buffers, QuickEdit mode, and Insert mode. Now, the command box will save lots of cool information - and I can cut and paste out of it. It looks pretty silly right now, but on troubleshooting a big install, I have a big wide net cast to discover troubles, and I can either screenshot or copy/paste the errors for forum posting, to bug and annoy share with friendly fellow modders. OK, now I go ahead and press i, installing the mod. Success! If there wasn't, I could do that snipping tool, giving you a cute picture of a black box with text, or just copy the contents and post here, like this: OK, now we have our answers to both questions. It installs, allowing single-line code, and if Divine Remix is not installed before Aran is installed, there will be some parse warnings that show up in the black box and will lead to people checking in and reporting this as an error. Useful information. Side Note: what we just found out was that weidu will allow an install to happen, and will show a successful install in the DEBUG. It will not throw a "Installed with Warnings", or fail outright. In other words, it found the correct structures, and did not choke/scream bloody murder/spit up on us. WE HAVE NOT FOUND OUT IF IT WORKS. WeiDU was designed by trial and error, and is rebuilt and maintained by serious moddarz, not folks who have 14 safety nets for every conceivable situation and way in which the average idiot like me will throw weidu's way. If you tell it politely to do something that sounds reasonable, using the correct language, and in the correct form, it will do it. But, as we are about to find out, what a modder *thinks* they want and what the game engine *actually* wants is not always... err... make that almost never... the same thing. SO, Now we check the files. Lots of ways of doing this, but since many folks starting out do not actually use weidu to look at dialog, let's use DLTCEP and go through the process. (Heh. That is a little joke, because when you are using DLTCEP, you are using a cool, powerful, hardworking tool that acts as a front-end GUI for weidu. It does other stuff, but in this instance, we are just letting DLTCEP form the weidu commands). First off, we point DLTCEP to our new test install, because if you leave it where it is, you will keep going back to the same original installation over and over, scratching your head, trying to figure out why the mod *says* it is installed, but DLTCEP just can't seem to find TEST1.DLG... That's always fun. Now, I choose the EDIT > DLG > Load Dialog, and find TEST1. Yup, it is there, and looks good. But I want to see it all laid out nicely like when I wrote it, instead of hunting down triggers and actions and text strings, all jumbled up - so I do FILE > Export WeiDU. Now I toddle over to my testing directory> script compiler > decompiled, and voila - a TEST1.D is all ready for me. Let's see what it looks like, opened up in Notepad++: OK. Now, there is something interesting to investigate next, another day, by either asking on the forums or trying it out in game. If we look at the decompiled dialog reply states, we has set up the logic "If the player has the kit NMSUNE, then go in this direction. If the player does not have the kit NMSUNE, then go in another direction." But with no entry for NMSUNE, because DR is not installed, the script now says "If the player has the kit 0, then go in this direction. If the player does not have the kit 0, then go in another direction." Before we experiment, of course, we can research. What is Kit=0? IESDP, http://iesdp.gibberl...ids/bg2/kit.htm, and we find... nothing. Nothing matching 0 in the old, incorrect .ids, nothiing in the new one... are we safe? Maybe. But logic tells us we might just have a problem. Because what that lovely piece of code is saying is IF NOT no_kit IF no_kit and there is no entry no_kit (and even un-kitted folks have 0x4000 TRUECLASS as their "kit") - I think we will have a dreaded NVROL "No Valid Replies Or Links" popping up. Lots of ways to solve this, by the way - everything from requiring Divine Remix to be installed before Aran [bad idea to create unneeded dependencies, so not my idea of a good solution] to rejiggering the dialog code to allow a valid link that allows folks who want to play without DR installed, by simply making that ~!Kit(Player1,0)~ into a very simple default condition always available, by using IF ~~ THEN REPLY or its shortcut ++.
  17. Fun little snippets that can only be gathered if you do silly things in-game - the Easter egg is as old as computer gaming itself. One more recent addition to Easter eggs in games are conditional talks that can be triggered if you do something that is really a sideline in the game. In BG2, you can drink, and get intoxicated. The only thing this does is reduce your combat stats for a time, as a single drink or two is more than enough to get rumors at bars, is really not necessary, and as far as I know has no relation to anything at all in the gameplay. Several modders have played with this intoxication, though, using it for entertainment, and Aran seems to be a bar-hopping type of guy. Fortunately or unfortunately, I am not, preferring a quiet, reasonably aged scotch in the company of friends and/or family over wild shenannigans. (Yep. I actually used 'shennanigans' in a sentence. +10 points for SAT prep tests). So, aside from the scripting of the trigger (CheckStat:intoxication), here is a first pass at a series of three 'drunk talks', and a call for ideas to add/take away. The goal is for short, humorous, interesting exchanges that would happen when Three Sheets To The Wind™, Blotto™, or just short of Praying to the Great Porcelain God®. We have plenty of other spots for deep introspection, fun flirts, or other silliness. Here, the player will need to get Aran drunk in order to trigger this set, so we can assume that the player is purposefully searching for a fun relief from the 400th playthrough of required quest cycle, and wants a bit of humor to spice up the game. /* This is fun - Let's paint the town red! */ IF ~Global("c-arandrunk","GLOBAL",1)~ THEN BEGIN c-arandrunk1 SAY ~[ARAN] Now, tha... that last round, it packed one hell o' a... hell o' a wallop. Hey, stop weavin' about so much, <CHARNAME>.~ + ~Gender(Player1,FEMALE)~ + ~[PC] You seem to have had too much to drink. Perhaps we should get you to bed.~ DO ~SetGlobal("c-arandrunk","GLOBAL",2) SetGlobalTimer("c-aransmalltalk","GLOBAL",300)~ c-drunk1fem + ~Gender(Player1,MALE)~ + ~[PC] You seem to have had too much to drink. Perhaps we should get you to bed.~ DO ~SetGlobal("c-arandrunk","GLOBAL",2) SetGlobalTimer("c-aransmalltalk","GLOBAL",300)~ c-drunk1male END /* womenfolk */ IF ~~ c-drunk1fem SAY ~[ARAN] Too kind o' you, lookin' out for me an' all. But I think you'd be a mite bit disappointed in my performance, eh? On account o' I might not be able to see where to fit th' key in the hole wi' everythin' spinnin' around so much, so to speak.~ ++ ~[PC] Is everything you say and do about sex?~ + c-aboutsex ++ ~[PC] Did you just proposition me?~ + c-proposition ++ ~[PC] I wasn't expecting much from you anyways. Forget it.~ + c-million ++ ~[PC] You would never say that to me if you were not very, very drunk.~ + c-verydrunk END IF ~~ c-aboutsex SAY ~[ARAN] Hells, yes. Well, no. I mean, there be fightin', an' writin', an' sometimes a nice bit o' commentary on th' state o' Waterdeep politics. But mostly, it be about sex. Either havin' it, not havin' it, or whom th' havin' or not havin'... what was I sayin'?~ ++ ~[PC] You were saying how you really wanted to go to sleep right now.~ DO ~RestParty()~ EXIT ++ ~[PC] You are stupid and rude, and I think you can just stay here and fend for yourself.~ DO ~RestParty()~ EXIT ++ ~[PC] You are drunk. I think I might be, too, a little. I will see you tomorrow.~ DO ~RestParty()~ EXIT ++ ~[PC] Politics, sex, having your way with me, you know... the usual. Aran? Are you awake? Aran?~ DO ~RestParty()~ EXIT END IF ~~ c-proposition SAY ~[ARAN] Did I? I do believe I did. Well, if I could remember what I said. Why, you interested?~ ++ ~[PC] You are stupid and rude, and I think you can just stay here and fend for yourself.~ DO ~RestParty()~ EXIT ++ ~[PC] You are drunk. I think I might be, too, a little. I will see you tomorrow.~ DO ~RestParty()~ EXIT ++ ~[PC] Yes.~ + c-dammit ++ ~[PC] Never in a million years.~ + c-million ++ ~[PC] This is why I do not get drunk. It saves all sorts of embarassment the next morning.~ + c-million END IF ~~ c-verydrunk SAY ~[ARAN] You be right on that. But probably I won't remember in th' mornin'. I don't know, <CHARNAME>... there be so much about you that sets me on fire. But then you scare me, too. Don't know if I am comin' or goin', goin', or... what was I sayin'?~ ++ ~[PC] You are stupid and rude, and I think you can just stay here and fend for yourself.~ DO ~RestParty()~ EXIT ++ ~[PC] You are drunk. I think I might be, too, a little. I will see you tomorrow.~ DO ~RestParty()~ EXIT ++ ~[PC] I would not sleep with you, Aran, even if you were a Masked Lord of Neverwinter. Never in a million years.~ + c-million ++ ~[PC] This is why I do not get drunk. It saves all sorts of embarassment the next morning.~ + c-million ++ ~[PC] Well, you are drunk, and I might be, too... but I want to be special to someone right now. I say yes. Let's go upstairs.~ + c-dammit END IF ~~ c-dammit SAY ~[ARAN] Shun's... Zune's.. hells, whatever-her-name-is' Schlippery Schlopes. I want you, an' you say yes, an' then it all falls apart on account o' I am just about to...~ ++ ~[PC] Aran? Aran? Wake up, Aran...~ DO ~RestParty()~ EXIT END IF ~~ c-million SAY ~[ARAN] Well, good thing I got a tough hide, eh? Used to rejection. Now, that there cute little thing over there, she might just say yes. Her... th' one standin' next to her twin...~ ++ ~[PC] Aran, you are pointing vaguely in the direction of a table. I think you... too late. Bartender, can you get someone to haul him up to his room?~ DO ~RestParty()~ EXIT END /* menfolk */ IF ~~ c-drunk1male SAY ~[ARAN] No, naught o' talk like that! We got th' whole rest o' th'... ok, we got mayhap a few hours, but still, we should get out there an' find us somethin' to do! There be a lot o' women attracted to power, boyo. Some o' it might rub off on me.~ ++ ~[PC] I am spoken for. But you go along and find some poor girl to make wish that she had stayed home tonight. Just don't get arrested.~ + c-spoilsport ++ ~[PC] I am spoken for. But a fling might be just the thing. She has been getting very possessive and controlling lately. We are not married.~ + c-controlling ++ ~[PC] Come on, let's find some women who have loose morals and low standards. That should take care of you, and then I will go find someone with class and refined tastes for myself.~ + c-bigtalk ++ ~[PC] Is everything you say and do about sex?~ + c-allaboutsex END IF ~~ c-allaboutsex SAY ~[ARAN] Hells, yes. Well, no. I mean, there be fightin', an' writin', an' sometimes a nice bit o' commentary on th' state o' Waterdeep politics. But mostly, it be about sex. Either havin' it, not havin' it, or whom th' havin' or not havin'... what was I sayin'?~ + ~ReputationGT()~ + ~[PC] You were babbling randomly again. I lost track somewhere about the time you opened your mouth.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were babbling randomly again. I lost track somewhere about the time you opened your mouth.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were babbling randomly again. I lost track somewhere about the time you opened your mouth.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] Do not worry, Aran. we will get you upstairs and keep you out of trouble. In this condition, I do not think you even know what you are saying.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] Well, this is amusing. You are drunk, boyo.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] Hey, I think you should get a few more drinks in you, while I bet on how many it takes to make you pass out.~ + c-evilfriend ++ ~[PC] Come on, let's find some women who have loose morals and low standards. That should take care of you, and then I will go find someone with class and refined tastes for myself.~ + c-bigtalk ++ ~[PC] Hey, Aran.. say this... 'she sells sea shells by the seashore'. Come on, I dare you!~ + c-sheshellsh END IF ~~ c-bigtalk SAY ~[ARAN] Oh, big talk, big talk. I can see 'em linin' up for you, right now, eh? Price o' fame, I guess. So many women, so many beautiful women... Waukeen's Wanderin' Worshipers, what in th' nine hells was I sayin'?~ ++ ~[PC] You were saying that you were going to buy another round.~ + c-nocoin + ~ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-evilfriend END IF ~~ c-spoilsport SAY ~[ARAN] Spoilsport. You should come wi' me, an' help me land one o' these women in my bedroll, eh? So many women, so many beautiful women... Waukeen's Wanderin' Worshipers, what in th' nine hells was I sayin'?~ ++ ~[PC] You were saying that you were going to buy another round.~ + c-nocoin + ~ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-evilfriend END IF ~~ c-controlling SAY ~[ARAN] Exactly my point. Women, they need to know they be not th' only choice out there. Keep em' on their toes, I always say. But I say a bit more'n I should, an' naught comes o' it, either. I think. Do I think? I was thinkin' o' somethin. So many women, so many beautiful women... Waukeen's Wanderin' Worshipers, what in th' nine hells was I sayin'?~ ++ ~[PC] You were saying that you were going to buy another round.~ + c-nocoin + ~ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to try to bed that waitress over there.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that you were going to bed to sleep off the drink.~ + c-evilfriend + ~ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-goodfriend + ~ReputationLT() ReputationGT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-neutralfriend + ~ReputationLT()~ + ~[PC] You were saying that the night is young, and you wanted to have some fun.~ + c-evilfriend END IF ~~ c-goodfriend SAY ~[ARAN] You be a damned good fr... friend, <CHARNAME>. Deneir's Sharp Quill, it were a g... good day when I signed on wi' you. Prince among swine, or men, or someth'n like that, an' all... a Mystra-Kissed Hero o' th' Realms.~ ++ ~[PC] Easy, easy... you are starting to wobble. Stay seated...~ + c-passout ++ ~[PC] Careful. I have had a few too many drinks myself, but your breath smells like you have been drinking D'Tranion.~ + c-passout ++ ~[PC] Another reason not to drink. Whether I am available or not, I am about to be the only one of the two of us who could do anything but slobber and pass out.~ + c-passout END IF ~~ c-neutralfriend SAY ~[ARAN] You be a damned good fr... friend, <CHARNAME>. Well, no, that be wrong. You be a tough man what to understand. Hoar's Swift Justice, you go one way an' then th' next, semmin' to stay neutral, you kn... know. Hey. Stop spinnin' aout like that.~ ++ ~[PC] I am not spinning, Aran. But here, you might want to keep a bucket handy...~ + c-passout ++ ~[PC] Careful. I have had a few too many drinks myself, but your breath smells like you have been drinking D'Tranion.~ + c-passout ++ ~[PC] Another reason not to drink. Whether I am available or not, I am about to be the only one of the two of us who could do anything but slobber and pass out.~ + c-passout END IF ~~ c-evilfriend SAY ~[ARAN] You be a damned good fr... friend, <CHARNAME>. Umberlee's Undulations, that be wrong. You be th' meanest, nastiest Son' o' Bhaal ever let loose on' th' face o' Toril. But I got your back, an' I c... can't rightly complain. I like to be on th' winnin' side, eh? Bastard.~ ++ ~[PC] Interesting revelation. You love me, but you hate me. Useful.~ + c-passout ++ ~[PC] Hey, you should go run your head through that door over there. You could do it. 5 gold says you can do it...~ + c-passout ++ ~[PC] Bartender, my friend here says that I am on his tab for the night. Get me your best drink!~ + c-passout ++ ~[PC] You. Yeah, the ugly one. My friend Aran here says your girlfriend looks like a cow. And something about your mother being an orc.~ + c-passout END IF ~~ c-sheshellsh SAY ~[ARAN] She shellsh... See sell... she sh... Red Knight's Rump, I be shpittin... Hells. You say it. I be lookin' for someplace where to lie down. Nice table... ~ IF ~~ THEN GOTO c-passout END IF ~~ c-nocoin SAY ~[ARAN] Right, by Oghma's Oracular Aura! Ano... 'nother round! Only I can't bloody well find my coinpurse, eh? I th... think it fell somehweres down here. Nice table... it be a bit smelly down here under t, but th' floor feels right s... soft it do.~ IF ~~ THEN GOTO c-passout END IF ~~ c-passout SAY ~[ARAN] Shun's... Zune's.. hells, whatever-her-name-is' Schlippery Schlopes.~ ++ ~[PC] Aran? Aran? Wake up, Aran...~ DO ~RestParty()~ EXIT END /* DT2: Hey, those skirts are short - cool. */ IF ~Global("c-arandrunk","GLOBAL",3)~ THEN BEGIN c-arandrunk2 SAY ~[ARAN] Sharess' Sensual Caress, I do love th' Waterdeep fashions. Low bodice, high skirt, just flirty enough to drive a man crazy. A toast to Waterdeep, an' a hope that next year be th' year o' th' invisible dress!~ + ~Gender(Player1,FEMALE)~ + ~[PC] I think you need to slow down. Do you remember what happened last time you had too much to drink?~ DO ~SetGlobal("c-arandrunk","GLOBAL",4) SetGlobalTimer("c-aransmalltalk","GLOBAL",300)~ + c-noidontfemale + ~Gender(Player1,MALE)~ + ~[PC] I think you need to slow down. Do you remember what happened last time you had too much to drink?~ DO ~SetGlobal("c-arandrunk","GLOBAL",4) SetGlobalTimer("c-aransmalltalk","GLOBAL",300)~ + c-noidontmale END /* DT3: We have to stop doing this. Where's the FR AA Chapter? */ IF ~Global("c-arandrunk","GLOBAL",5)~ THEN BEGIN c-arandrunk3 SAY ~[ARAN] ~ ++ ~[PC] ~ DO ~SetGlobal("c-arandrunk","GLOBAL",6) SetGlobalTimer("c-aransmalltalk","GLOBAL",300)~ EXIT END
  18. 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?
  19. There are a few states not fully fleshed out left over in the PID "I am in an inn and have decided to try to talk to ARAN" - sample code: /* female in an inn, cyclical */ IF ~Gender(Player1,FEMALE) RealGlobalTimerExpired("c-aranflirttimer","GLOBAL") Global("c-innflirts","GLOBAL",0) OR(12) AreaCheck("AR0313") AreaCheck("AR0406") AreaCheck("AR0509") AreaCheck("AR0522") AreaCheck("AR0704") AreaCheck("AR1105") AreaCheck("AR1602") AreaCheck("AR2010") AreaCheck("AR0709") AreaCheck("AR0513") AreaCheck("AR0021") AreaCheck("AR1602")~ THEN BEGIN a762 SAY ~[PC] (The musicians have struck up a lively dance tune, and Aran is sitting at the bar.)~ ++ ~[PC] (You go over to him.)~ DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-innflirts","GLOBAL",1) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",500)~ + a796 ++ ~[PC] (You decide you have had enough him for right now, and carry on about your business.)~ EXIT ++ ~[PC] (You take the opportunity to check through his belongings.)~ DO ~SetGlobal("c-araninncheck","GLOBAL",1)~ + c_aran_lettercheck_f ++ ~[PC] (You sit quietly, observing him, but not making eye contact.)~ DO ~IncrementGlobal("c-pcstalker","LOCALS",1)~ EXIT ++ ~[PC] (You flirt shamelessly with several patrons, occasionally glancing over at him.)~ DO ~IncrementGlobal("c-pcstalker","LOCALS",1)~ EXIT END /* Inn #1 */ IF ~~ a796 SAY ~[ARAN] Aye now, you are a sight for sore eyes.~ ++ ~[PC] So you like this dress? I was getting a bit tired of wearing the same functional clothing all the time.~ + a797 ++ ~[PC] I should have known you would be here. I suppose you have already chosen your evening's entertainment?~ + a799 ++ ~[PC] Dance with me.~ + a807 ++ ~[PC] Like I care what you think.~ + a811 ++ ~[PC] (Walk over and grab his chin, kissing him solidly on the lips).~ + a805 + ~RandomNum(2,1)~ + ~[PC] I want a bath. Do you know where they are?~ + a1808 + ~RandomNum(2,2)~ + ~[PC] Teach me to scribe something new.~ + a2057 + ~RandomNum(2,1)~ + ~[PC] I want a bath, and some time to relax. Come on, show me where they are around here.~ + c_2_aran_bathflirt + ~RandomNum(2,2)~ + ~[PC] Teach me to scribe something new.~ + a2057 END There are three of these, and they cycle with a timer, so the first PID attempt in an inn gets one and then the timer blocks it and regular PID happens. This gives the PC a shot at partying a bit or not, as she or he sees fit. They cycle - every thrid time, a set of two random things become available - either the "teach me to scribe" or In this case, it is the female "teach me to scribe something new" state that gets the full treatment. So, the good news is that if a player wants to repeat the same kinds of interaction, they get 3 different cycle sets, each with a random pair of entries, each with several possible outcomes - by the time we follow this all the way, you could replay the same state a very large number of times and get different interactions each time. This is actually an exercise in futility from a design standpoint. The reason folks stick with the "Looping Lovetalk" or branches that have A > [123] > B [123] > C EXIT is that creating this level of detail is hugely difficult and time consuming, can obscure the plot/point of the discussion, and can delay completion of the mod for a long, long time. In this case, since I am having fun pushing all sorts of boundaries and playing with ideas, I can go ahead and do it - but I don't have to have a huge storyline or plot develop. In a Companion mod, the whole story is the interaction between the PC and his/her companion. Outside events have some impact, of course. This week's work, untested, and un-typo hunted, and un-spellchecked. The main alpha file has had the first bathing scene integrated and state-labeled, installed, and decompiled for recheck - but not tested. WARNING. NC-17. I don't think anything posted here beats daytime soap operas, but just in case, you have been warned. 5 states are pulled ( /* Inn Flirts: [PC] "Teach me to scribe something new" - Starts with PC and Aran on chair, PC on his lap */ // state hidden in Adult land - not written yet: c_take_it_off // state hidden in Adult land: bath1 // state hidden in Adult land: bath2 // state hidden in Adult land: - not written yet: possible encounter set by: Global("c-aranREinn","GLOBAL",1) // state hidden in Adult land: - not written yet: possible encounter set by: Global("c-aranREmoon","GLOBAL",1) IF ~~ a2057 /* Idea from Berelinde's Gavin BG2 - check for armor. Must make sure it can't e accessed from the PC responses where PC is showing off a dress, so needs some tidying before integration. */ SAY ~[ARAN] Aye, there be a bit more to it than first appears, eh? Here, let me help. Now, take th' quill, like this... dip it here. No, not that far down. We want naught in th' way o' splatter, just a fine line's worth. Good. Now, let me take your hand... an' then it be a circular motion, like this...~ = ~[ARAN] (His breath whispers warmth on your neck as he leans against your back, guiding your hand over the rough parchment.)~ IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,1)~ THEN GOTO c_1_aran_armor_noaccess_thigh IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,2)~ THEN GOTO c_2_aran_armor_noaccess_thigh IF ~OR(20) HasItemEquiped("chan01","c-aran") HasItemEquiped("chan02","c-aran") HasItemEquiped("chan03","c-aran") HasItemEquiped("chan04","c-aran") HasItemEquiped("chan05","c-aran") HasItemEquiped("chan06","c-aran") HasItemEquiped("chan07","c-aran") HasItemEquiped("chan08","c-aran") HasItemEquiped("chan09","c-aran") HasItemEquiped("chan10","c-aran") HasItemEquiped("chan11","c-aran") HasItemEquiped("chan12","c-aran") HasItemEquiped("chan13","c-aran") HasItemEquiped("chan14","c-aran") HasItemEquiped("chan15","c-aran") HasItemEquiped("chan16","c-aran") HasItemEquiped("chan17","c-aran") HasItemEquiped("chan18","c-aran") HasItemEquiped("dwchan01","c-aran") HasItemEquiped("dwchan02","c-aran") RandomNum(3,3)~ THEN GOTO c_3_aran_armor_noaccess_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,1)~ THEN GOTO c_1_aran_robe_access_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,2)~ THEN GOTO c_2_aran_robe_access_thigh IF ~!HasItemEquiped("chan01","c-aran") !HasItemEquiped("chan02","c-aran") !HasItemEquiped("chan03","c-aran") !HasItemEquiped("chan04","c-aran") !HasItemEquiped("chan05","c-aran") !HasItemEquiped("chan06","c-aran") !HasItemEquiped("chan07","c-aran") !HasItemEquiped("chan08","c-aran") !HasItemEquiped("chan09","c-aran") !HasItemEquiped("chan10","c-aran") !HasItemEquiped("chan11","c-aran") !HasItemEquiped("chan12","c-aran") !HasItemEquiped("chan13","c-aran") !HasItemEquiped("chan14","c-aran") !HasItemEquiped("chan15","c-aran") !HasItemEquiped("chan16","c-aran") !HasItemEquiped("chan17","c-aran") !HasItemEquiped("chan18","c-aran") !HasItemEquiped("dwchan01","c-aran") !HasItemEquiped("dwchan02","c-aran") RandomNum(3,3)~ THEN GOTO c_3_aran_robe_access_thigh END IF ~~ c_1_aran_robe_access_thigh SAY ~[ARAN] (His other hand seems much more interested in other pursuits, as it gently parts your robe higher than the knee, and begins exploring.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his fingertips trace a copy of your motions on your inner thigh.)~ + c_trace_access ++ ~[PC] (You firmly move his hand to your waist, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied ++ ~[PC] Aran. Your hand. Move it or lose it.~ + c_move_it_lose_it ++ ~[PC] (You shift slightly and cover his hand with yours, guiding his motions.)~ + c_pc_access_granted ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting END IF ~~ c_2_aran_robe_access_thigh SAY ~[ARAN] (His other hand absently strokes your waist, running idle fingers up and down your hip.)~ ++ ~[PC] (You shift slightly on his lap, your robe parting to reveal most of your leg.)~ + c_trace_access ++ ~[PC] (You firmly move his hand to your waist, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting ++ ~[PC] Aran. Your hand. Move it or lose it.~ + c_move_it_lose_it ++ ~[PC] (You shift slightly and cover his hand with yours, holding his arm close around you in a gentle hug.)~ + c_task_under_hand ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt END IF ~~ c_3_aran_robe_access_thigh SAY ~[ARAN] (His other hand absently rests gently on your shoulder. By the warmth of his breath you can tell his eyes are not on the page, but very definitely looking down your front...)~ + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I need a bit of private tutoring.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I need a bit of private tutoring.~ + c_pc_arranges_another_meeting ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page and nestling deeper into his lap.)~ + c_shoulder_access ++ ~[PC] (You firmly adjust your robe to preserve modesty, and hold it there while the quill scratches along the parchment.)~ + c_pc_access_denied ++ ~[PC] Aran. Pay attention to the work, not the scenery.~ + c_cough_and_redirect ++ ~[PC] (You shift slightly, and idly rub your hands along the outside of his leg, right below where your legs rest comfortably on him.)~ + c_pc_outside_leg ++ ~[PC] Hey, that tickles... and I think you should stop.~ + c_stop_flirt END IF ~~ c_1_aran_armor_noaccess_thigh SAY ~[ARAN] (His other hand seems much more interested in other pursuits, as it gently begins exploring your thigh. Fortunately or unfortunately, the armor makes this more an exercise in futility on his part, and he begins idly toying with your belt.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect ++ ~[PC] (You firmly move his free hand to your waist, while the quill scratches along the parchment. You sit comfortably wrapped in his arm.)~ + c_cough_and_redirect ++ ~[PC] Well, that was three minutes of my life wasted.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] You could get that belt off if we were all alone, you know.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You could get that belt off if we were all alone, you know.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better END IF ~~ c_2_aran_armor_noaccess_thigh SAY ~[ARAN] (Your armor protects you from the daring explorations of his other hand, but Aran's persistence pays off. Your belt loosens slightly under his ministrations.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect ++ ~[PC] (You firmly move his free hand to your waist, while the quill scratches along the parchment. You sit comfortably wrapped in his arm.)~ + c_cough_and_redirect ++ ~[PC] Hey, back off, sellsword. If I wanted my armor loosened, I would have done it myself.~ + c_stop_flirt + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... I think I would like a tutoring session. Someplace a little more private.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better END IF ~~ c_3_aran_armor_noaccess_thigh SAY ~[ARAN] (His free arm sneaks around your waist, holding you tighly. Your armor protects you from the pressure of his grip, but you can feel his intensity as your arm drops to cover his.)~ ++ ~[PC] (You lean your head back against his shoulder, moving the quill gently across the page as his steady hand guides your scribing.)~ + c_cough_and_redirect + ~Global("c-aranbathf1","LOCALS",1) Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + c_new_nobath + ~!Global("c-aranbathf1","LOCALS",1) Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + c_new_nobath + ~Global("c-aranbathf1","LOCALS",1) !Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + // hidden in Adult land: bath2 + ~!Global("c-aranbathf1","LOCALS",1) !Global("c-aranbathf2","LOCALS",1)~ + ~[PC] Oh, I am smearing the ink. Perhaps we should go get a bath and wash it all off.~ + a1808 // hidden in Adult land: bath1 ++ ~[PC] Hey, back off, sellsword. If I wanted my armor loosened, I would have done it myself.~ + c_stop_flirt + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] This is niice. But I think I want us to have a little more privacy.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] This is niice. But I think I want us to have a little more privacy.~ + c_pc_arranges_another_meeting END IF ~~ c_new_nobath SAY ~[ARAN] Aye, there is a right fine idea. Come on, I have just th' place...~ = ~[ARAN] (He guides you to your room, trading a few copper coins for a hot washbasin as he passes the innkeeper. A small lantern flares, sending highlights and shadow across the ink smears along your wrist and armor. He pauses amid preparations, looking up with a grin...)~ = ~[ARAN] I guess th' question be, do you want me to help wash this while all that armor be on, or off?~ ++ ~[PC] (The sound of metal hitting the floor echoes in your ears as you undo each lace and belt slowly, savoring his reaction.) Does this answer your question?~ + // hidden in Adult land: c_take_it_off ++ ~[PC] Just wash the ink off of the armor, Aran. No amorous advances, thank you.~ + c_just_business ++ ~[PC] You know, you talk too much, and you take way to many liberties. You should leave. Now.~ + a1963 /* c-aranshutup57 */ ++ ~[PC] Do you ever think about anything but sex?~ + c_am_i_male END IF ~~ c_am_i_male SAY ~[ARAN] Last time I checked, I was male. Does that answer th' question?~ ++ ~[PC] Yes. (The sound of metal hitting the floor echoes in your ears as you undo each lace and belt protecting you slowly, savoring his reaction.)~ + // hidden in Adult land: c_take_it_off ++ ~[PC] Just wash the ink off of the armor, Aran. No amorous advances, thank you.~ + c_just_business ++ ~[PC] You know, you talk too much, and you take way to many liberties. You should leave. Now.~ + IF ~~ a1962 /* c-aranshutup56 */ ++ ~[PC] Last time I checked, I was female. And we ladies appreaciate a more refined approach, rather than having a dog sniff around constantly trying to bed us.~ + c_ok_ok END IF ~~ c_shoulder_access SAY ~[ARAN] (His breath quickens against your skin, and his distraction wavers enough that the line you are drawing together begins to wander.)~ ++ ~[PC] So, do you like what you see?~ + c_cough_and_redirect + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] You could offer me a drink, you kow. In my room. Upstairs. If... if you wanted to.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You could offer me a drink, you kow. In my room. Upstairs. If... if you wanted to.~ + c_pc_arranges_another_meeting + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better ++ ~[PC] Hey, your breath. That tickles... and I think you should stop.~ + c_stop_flirt ++ ~[PC] I was being sarcastic. Keep your eyes on the page. This is not a show put on for your benefit.~ + c_stop_flirt ++ ~[PC] Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch END IF ~~ pc_offended_scratch SAY ~[ARAN] Cyric's Crutch! That blighted well hurt. Hey, are we goin' to work on your scribin', or are you goin' to sit on my lap an' find ways to cause me pain?~ ++ ~[PC] Keep your eyes and your hands where they belong, and I am happy to have a friendly lesson. Next time your eyes wander, I will use a dagger instead of my fingernails.~ + c_cough_and_redirect ++ ~[PC] Sorry, did that hurt? What about this?~ + c_pc_chin_hit + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] I say we cut through all of this silly pretending, and we find out exactly how much pain you can handle. In private.~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] I say we cut through all of this silly pretending, and we find out exactly how much pain you can handle. In private.~ + c_pc_arranges_another_meeting ++ ~[PC] Sorry... that was not quite what I intended to have happen.~ + c_accidents_will_happen ++ ~[PC] Now that is entertaining. Look at the poor little boy, all sullen and crying for his mommy. What is the matter, can't you take a little scratch?~ + c_that_is_dangerous END IF ~~ c_pc_chin_hit SAY ~[ARAN] BANE'S BLOOD! I think I bit my lip on that one... warn a lad when you be about to straighten up, eh? Up, off, get up, an' let me get somethin' to stop th' bleedin'.~ ++ ~[PC] It serves you right for being frisky when all I wanted was a friendly lesson.~ + a1933 /* c-aranshutup27 */ ++ ~[PC] Oh, you poor poor thing... let me kiss it better.~ + c_thank_you ++ ~[PC] Oh, you poor poor thing... let me make it all better. A good slap across the face will distract you, like this...~ + c_bugger_off_that_hurt ++ ~[PC] (Giggle helplessly as he stands up, rolling you onto the floor.) + c_help_up ++ ~[PC] Sorry... that was not quite what I intended to have happen.~ + c_accidents_will_happen END IF ~~ c_pc_outside_leg SAY ~[ARAN] Hey, now, this be a mite bit public, an' you seem to be inetrested in things o' a more personal nature.~ ++ ~[PC] No one can see anything, Aran. Just relax and help me concentrate on the task at hand.~ c_task_under_hand ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] I... hey,. friends can just cuddle, right? I mean.... there is no harm in just working together. I mean, petting your leg like this is no more than petting a dog, right?~ + c_whatever_you_say_girl + ~OR(3) Class(Player1,CLERIC_ALL) Class(Player1,MAGE_ALL) Class(Player1,SORCERER)~ + ~[PC] You do realize I lied, right? I can scribe very well all by muself.~ + c_this_is_much_better ++ ~[PC] Hey. I do what I want, but you can't. I didn't say you could touch me like that. Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch ++ ~[PC] Sorry. I will stop.~ + c_now_i_didnt_say_that END IF ~~ c_task_under_hand SAY ~[ARAN] I'd blighted well be able to concentrate better if your hand weren't so warm. Somehow, this be less than relaxin'.~ ++ ~[PC] I... hey, friends can just cuddle, right? I mean.... there is no harm in just working together. I mean, petting your leg like this is no more than petting a dog, right?~ + c_lucky_dog ++ ~[PC] This is good. Well, this far is good, and no more.~ + c_finis_calm ++ ~[PC] I am having trouble concentrating, too. But this is nice.~ + c_finis_calm ++ ~[PC] You could kiss my neck. I wouldn't mind.~ + c_kiss_my_neck ++ ~[PC] I don't want you relaxed. I want you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished END IF ~~ c_whatever_you_say_girl SAY ~[ARAN] Friends do a mite bit more than that at times, too. But somehow I get th' feelin' this is leadin' down a path you have some doubts on. That be my cue to stop, eh?~ ++ ~[PC] Why are you running away from me? I just am not sure I know what I want.~ + c_that_is_dangerous ++ ~[PC] You are such a coward. you could press the issue, and you might find I was interested in more than just sitting on your lap.~ + c_that_is_dangerous ++ ~[PC] I didn't say you could leave.~ + c_that_is_dangerous ++ ~[PC] You are right. You should stop. I should stop.~ + c_that_is_dangerous ++ ~[PC] Are you still here? Sorry. I was distracted by that handsome young thing over there. Get out of here, quickly, and I might just be able to convince him I am free for the evening.~ + c_that_is_dangerous END IF ~~ c_trace_access SAY ~[ARAN] You feel like velvet, you know. Only a mite bit warmer, an' just a little bit like th' feelin' when a lightnin' bolt arcs close by. Excitin'. I can hear your breath movin' faster, too.~ ++ ~[PC] It is a pity we have so many clothes in the way, or this could feel so much better...~ + c_pc_forward ++ ~[PC] Stop talking. You are making me blush. You know how awkward I feel about all this. You could just touch me, and not talk about it.~ + c_this_is_much_better ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] Forward is good. Well, this far forward, and no more.~ + c_finis_calm ++ ~[PC] Hey. I do what I want when I want, but you can't. I didn't say you could touch me like that. Cut it out. (Drive your fingernails sharply into the back of his hand.)~ + pc_offended_scratch END IF ~~ c_kiss_my_neck SAY ~[ARAN] I think I just did. An' there... yep, I did it again. I can feel your pulse race a mite bit, too. Or am I wrong?~ ++ ~[PC] Shut up and kiss me.~ + c_mam_yes_mam ++ ~[PC] Completely wrong. My pulse is not racing, and I am definitely not kissing your cheek right now. And the whole caressing your hands as they run along my body... not happening.~ + c_never_had_so_much_fun ++ ~[PC] Actually, it is kind of just... icky. Stop.~ + c_move_it_lose_it ++ ~[PC] The speeding up of my breath has more to do with me getting angry than excited. You are frustrating me, in so many ways. I think I have had enough of this.~ + c_that_is_dangerous + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_another_meeting END IF ~~ c_help_up SAY ~[ARAN] Here, have a hand up, eh? All that gigglin' makes th' pain a bit more worthwhile. Your eyes sparkle when you laugh, you know. You want somethin' from the bar?~ ++ ~[PC] Actually, I was hoping you would take me in your arms, lead me back over into that dark corner over there, and we could practice some scribing with our lips.~ + c_go_makeout ++ ~[PC] I think I have had enough excitement for now. You go on, though. And put something cold on that lip, before it swells!~ + c_good_idea_there ++ ~[PC] No, I want you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished ++ ~[PC] It might be nice if someone were to dance with me.~ + c_go_makeout END IF ~~ c_pc_access_granted SAY ~[ARAN] Mayhap I be a bit forward, but you smell right nice, all cuddlin' up wi' me. This feels good.~ ++ ~[PC] Yes, it does. It is a pity we have so many clothes in the way, or this could feel so much better...~ + c_pc_forward + ~Global("c-aransex","GLOBAL",0)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_meeting + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] Aran... do you want to go somewhere? Somewhere private?~ + c_pc_arranges_another_meeting ++ ~[PC] It might be nice if someone were to take a little walk with me, and perhaps warm my lips up a little. They feels so cold right now.~ + c_go_makeout ++ ~[PC] You know, the way your muscles jump under my fingertips... it feels good.~ + c_a_little_too_good ++ ~[PC] Forward is good. Well, this far forward, and no more.~ + c_finis_calm END IF ~~ c_pc_arranges_meeting SAY ~[ARAN] Now what be your meanin', here? What did you want?~ ++ ~[PC] I said I wanted a private tutoring sesion. I would love to play with your quill.~ + c_pickup_line ++ ~[PC] I was hoping you would ask me to your room to see your sketches.~ c_pickup_line ++ ~[PC] I asked for help scribing, someplace where I could feel more comfortable. ~ + c_not_pickup_line ++ ~[PC] Err... I said I wanted a private tutoring session in penmanship?~ + c_not_pickup_line ++ ~[PC] I asked you to teach me, not make eyes at me, or try to touch me, or anything else. But on second thought, I don't know if being alone with you is such a good idea. You might get the wrong idea. I should say, you will definitely get the wrong idea.~ + c_move_it_lose_it END IF ~~ c_pc_arranges_another_meeting SAY ~[ARAN] I know that look. You get that hungry look in your eyes right before... err... well, I know that look. If you be meanin' what I think you be meanin', I am ready an' willin'.~ ++ ~[PC] I said I wanted a private tutoring sesion. I would love to play with your quill.~ + c_pickup_line ++ ~[PC] I was hoping you would ask me to your room to see your sketches.~ c_pickup_line ++ ~[PC] I was asking for help scribing, someplace where I could feel more comfortable. ~ + c_not_pickup_line ++ ~[PC] Err... I said I wanted a private tutoring session in penmanship? What look are you talking about?~ + c_not_pickup_line ++ ~[PC] I asked you to teach me, not make eyes at me, or try to touch me, or anything else. But on second thought, I don't know if being alone with you is such a good idea. You might get the wrong idea. I should say, you will definitely get the wrong idea.~ + c_move_it_lose_it END c_pickup_line SAY ~[ARAN] Now that be a pickup line if I ever did here one. I am only happy to oblige. Just tell me when an' where, an' I will do my best to please you.~ ++ ~[PC] Ooooh, goody. Meet me at the gates of hell, when it freezes solid.~ + c_that_is_dangerous ++ ~[PC] I could happen to leave my door unlatched tonight...~ + DO ~SetGlobal("c-aranREinn","GLOBAL",1)~ + c_go_makeout ++ ~[PC] I was thinking of taking a walk outside this evening, in the moonlight. Perhaps we could walk together.~ + DO ~SetGlobal("c-aranREmoon","GLOBAL",1)~ + c_go_makeout ++ ~[PC] Right now. Right here. I can't wait.~ + c_pda_not_good ++ ~[PC] Oh, great. I forgot I was supposed to... I can't do this. I am sorry. I was about to make an excuse, but you deserve the truth. I just can't do this with you.~ + c_that_is_dangerous END IF ~~ c_not_pickup_line SAY ~[ARAN] Now, I must o' heard somethin' wrong, or jumped to some conclusion or other, on account o' I thought you were givin' me th' go ahead to get right personal wi' you.~ ++ ~[PC] You heard wrong.~ + c_that_is_dangerous ++ ~[PC] You heard correctly, but I changed my mind.~ + c_that_is_dangerous ++ ~[PC] Look, I am not good at all of this. I just don't know what I want.~ + c_that_is_dangerous ++ ~[PC] Aran, I want romance, not someopne who tris to jump me every chance he gets.~ + c_that_is_dangerous ++ ~[PC] You should stop listening to my words, and start watching my reactions. I think I lowered my head to one side, smiled, and batted my eyelashes at you. And my hand resting on your arm should tell you I am saying one thing and meaning another.~ + c_set_up_encounter END IF ~~ c_now_i_didnt_say_that SAY ~[ARAN] Now, I didn't say that. I like it just fine. I was just wonderin' what your intentions be, an' all.~ ++ ~[PC] Why, are you committed to a 'no touching before I am married' rule?~ ++ ~[PC] I don't intend anything. I am just sitting here with my good friend Aran. Friends do that, don't they?~ + c_whatever_you_say_girl ++ ~[PC] I intend you to be confused, bewildered, off-balance, and firmly under my spell.~ + c_mission_accomplished END IF ~~ c_pda_not_good SAY ~[ARAN] I think th' public doesn't need that kind o' entertainment. But we can be upstairs in two seconds flat, an' by th' gods I will carry you if you slow down or falter one bit.~ IF ~~ THEN DO ~SetGlobal("c-aranREinn","GLOBAL",1)~ EXIT END IF ~~ c_that_is_dangerous SAY ~[ARAN] You know, you have some troubles wi' th' whole male an' female thing, I think. Gods know I do, too. But wi' you... if I make a mistake, in word or behavior, I don't rightly know if you will be fine wi' it, or if you will just smash me like a blighted eggshell. You don't realize just how powerful you are. Or how dangerous to my whole soul. You surely confuse me.~ = ~[ARAN] I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both. I will see you later, <CHARNAME>.~ IF ~~ THEN EXIT END IF ~~ c_good_idea_there SAY ~[ARAN] You havbe a right fine idea, there. Mayhap a bit o' somethin' from th' bar will ease my sufferin'!~ IF ~~ THEN EXIT END IF ~~ c_just_business SAY ~[ARAN] Grumbar's Clay Fist, I have never had som much trouble readin' when it be business an' when it be pleasure. You got me thinkin' all sorts o' things, an' I can't rightly get my head on straight. Sorry about that. Just business, I get it. Mayhap someday I will figure you out. But I'm not rightly goin' to hold my breath on that one.~ IF ~~ THEN EXIT END IF ~~ c_stop_flirt SAY ~[ARAN] Right. Hey, you be a mite bit heavy on my lap, an' mayhap I need a bit more to drink. Why don't I go get somethin' nice for both o' us, an' you keep practicin' here? I'll go get us somethin'.~ IF ~~ THEN EXIT END IF ~~ c_ok_ok SAY ~[ARAN] Shar's Kiss... well, I be right sorry I said anythin'. Here, let me help wi' some o' this washin' an' then I will clear out right quick.~ = ~[ARAN] There. All cleaned up, as much as can be done. No harm, no foul. Sorry I misread you. I'll head back downstairs.~ END IF ~~ c_this_is_much_better SAY ~[ARAN] Aye, I do know. But where be th' fun in that. Workin' together, my chin on your shoulder, now that be a fine way to scribe.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_pc_access_denied SAY ~[ARAN] Mayhap I be a bit too forward at times. Sorry. This does feel nice, though.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_move_it_lose_it SAY ~[ARAN] Ma'am, yes ma'am! Sorry, I done read you wrong again. I'll just concentrate on helpin' you scribe. ~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_mission_accomplished SAY ~[ARAN] Well, m'Lady, mission accomplished. You can add happy, interested, aroused, an' thoroughly uncomfortable to that list if you want, too. But I'd best be helpin' you wi' scribin', on account o' we might be attractin' a few looks here an' there.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_lucky_dog SAY ~[ARAN] An' here I thought my wayward charm was workin' its magic, an' sparkin' wi' you. Serves me right. But I do say I'm right fine wi' this. I'd consider myself on hells of a lucky dog if you were just to sit wi' me like this for a bit.~ IF ~~ THEN GOTO c_finis_calm END IF ~~ c_finis_calm SAY ~[ARAN] (You work together for a time, his strong hands guiding yours over copywork again and again, shaping and moving words and figures, until at last the ink is spent.)~ IF ~~ THEN EXIT END IF ~~ c_accidents_will_happen SAY ~[ARAN] Accidents do happen, they do. Right now, though, I think I might be a bit better off if you practice a bit. An' me, I... well, I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both.~ IF ~~ THEN EXIT END IF ~~ c_thank_you SAY ~[ARAN] Well, thank you right kindly. It were a mite bit small for so large a healin' touch, but I do appreciate it. I think I needs best be gettin' a good drink, or mayhap a bit o' cold water to slow th' swellin'. Hey, no gigglin'!~ IF ~~ THEN EXIT END IF ~~ c_go_makeout SAY ~[ARAN] It would be rude not to oblige, m'lady. I think I can assist you wi' that.~ IF ~~ THEN EXIT END IF ~~ c_never_had_so_much_fun SAY ~[ARAN] I never did have so much fun doin' absolutely nothin'. Just be careful, eh? On account o' you are completely intoxicatin'.~ IF ~~ THEN EXIT END IF ~~ c_bugger_off_that_hurt SAY ~[ARAN] Shar's Spite an' Spit, you do like harmin' a lad, don't you. Fine. I got better things to be doin' than this.~ IF ~~ THEN DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c_cough_and_redirect SAY ~[ARAN] *cough* Oh, now, what did I be talkin' about? Right, I do remember. That line was just fine. Now you need to just practice a bit. An' me, I... well, I think I needs best be gettin' a good drink. Or a solid splash o' ice-cold water. Or both.~ IF ~~ THEN EXIT END The good news is this is fun. The bad news is this level of nested detail is bloody well killing me - I need to actively seek ways of rewrapping things into more linear dialog, or the mod will be finished in 2050. I think there si a compromise way of doing some of this, by creating some 'filter states' using CHAIN and variables to make things that are similar in nature pass through without running down every last permutation directly. Like the swordfight materials, I think the 'make-out session" and RE-style things can be safely manipulated this way.
  20. OK, a quest. Or quests. Or something that Aran brings to the table in terms of gently adding to the story or fleshing it out, without hijacking the plot. Does he need one? No, not really. There are lots of NPCs out there that are useful additions that carry no real plot beyond a copy of traditional themes, shadowing in-game ideas of betrayal, love, conquest, good versus evil, rescuing Boo, cooking Boo over an open fire, Slaying The Evil Ones And Gaining The Gratitude Of The Gods™ (all rights reserved, MGM Studios, 1929). We have NPCs that add no quest content at all. We have intricate plotlines like Beyond The Law that seek both entertainment and some social tweaking/thinking, controlling single-viewpoint storytelling quests like Saerileth, open character-building plotlines/encounters like Keto's quest, and a whole ton of romantic plots that can entertain a player. So, what could we possibly add to this mix that does not already exist in some form or fashion, and fits Aran? He is not Chloe or other god-children, or Sheena the half-dragon, Kivan of dark and sad twisted fate, or even Nalia who is at least a Noble and should darned well expect some quest-like content cropping up. I mean, really - running a darned fiefdom is no picnic in the Realms - and she has to deal with <CHARNAME>> to boot. So what is it that Aran brings to the party? He is supposed to be, well, normal. Or as normal as Faerun really gets, anyways. Kind of that gruff travelling trader/fighter/scribe type, a Have Gun Will Travel, only not so much into the Lone Gunman role... the guys that are one step behind John Wayne (OK, so perhaps Ms. Jonie Wayne, since the protagonist can be male or female) in the 5th Cavalry Charge. You know. The one who takes the bullet for our hero, or hands our hero the extra ammo, or holds his horse - bit actor parts at best. No secret angsty famly to save - his sister is a mage off in Waterdeep, and his family has all retired from trading oster work. No roots put down, so no former girlfriend to rescue - a hint of slaver work that he detested and decided against doing ever again, lots of mercenary battles, some study with itenerant scholars - a jack-of-all-trades, master of none. Hmmm. Perhaps what Aran needs is not a Quest, but an Anti-Quest. Or a series of them. Traditionally, Quests are fun diversions. After all, we know the main plotline, and unlike Morrowind, you really can't ignore it successfully forever without simply abandoning your game and starting over (a nasty habit, that. I am opening my own chapter of "BG2 Plot-Restarters Anonymous", if anyone else wants to join. Anonymously, of course. To join, simply do not send me an email and never admit you joined to anyone, and voila - you are in). Some folks want tons of 'em. Some want specific ones. Most NPC quests require the NPC to actually be there, or involve her being kidnapped and having to be rescued, etc. But the predominant characteristic of BG2 NPC quests is that they seem to be attempts to play up the character in a situatiion that fleshes out thier backstory and provides a glimpse of what the mod maker though would be really cool for the NPC to do (or the PC to do to/for the NPC). This is to be expected - basically, it is the CRPG equivalent of literary sub-plots, which can enlighten and entertain while forwarding or obscuring the story, however the story works. C-3PO and R2D2 were just oddities in the first Star Wars movies - it wasn't until we saw the whole sequence unfold or read the books that we began to find out how deeply enmeshed in the action two little plot-device/comic-relief 'droids actually complete a nice little subplot and tie stories together, providing a thread to follow that enriches the whole. The best example of this device in TV Sci-Fi that I can think of is Babylon 5, which was a masterful use of entire story-arcs built entirely out of "sub-plots" - until the series writers twisted them into a rope that really became one big story. It is so important to us players/readers, that entire genres of fiction are based not on primary or secondary characters in the Forgotten Realms / Star Trek Universe / Honorverse / BuffyVerse / whatever - we create entirely new characters to live and breath in those worlds, interacting with those worlds. the paperback sci-fi/fantasy section of our local bookstore shows us that there is a large market for stories that expand or reinforce the playground universe of WarHammer, or Star Wars, or Dragonlance, or Forgotton Realms. We are either incredibly creative, or incredibly out of touch with day to day survival. Not that I care - I have a Morrowind game, BG2 game, Tutu game, and a good CoH RTS going, so don't talk to me about day to day survival unless you can tell me how to find more Ash Yams so I can punch up my Alchemy Skill and enhance my intelligence so that I can create better potions using Ash Yams. Or perhaps explain why I just can't seem to make my Rangers take Hill 101 by the timed deadline for the combat medal... so far, 9 tries, 9 failures. Bleh! Plotting Quests DM-ing by the anti-numbers In my book, good DMs provide four things every single time: a goal, a conflict or consequence of failing to attain the goal, an adversary or obstacle to overcome, and finally - plot points. For DM'ing, plot points are pretty similar to the screenplay/writer/author/novelist idea, in that they are a point at which the plot can pivot or change direction unexpectedly, or even cease to be important as a new direction is revealed. There are lots of folks who actually study this kind of thing, so if you are one, awesome - good luck on your next book, and I honestly hope you have success. Luckily, I have a paying gig and have no aspirations of being a real author (I starved and scraped and did enough things that I am ashamed of being a musician, thank you very much - I don't relish repeating it in yet another career that chews creative people up and spits them out without much regard for things like, say, a reasonable income. Or sleep. Or even food.) I am stealing the phrase 'plot point' and applying it in a personal way, so if you have already read the latest greatest "How To Write The Next Great Original American Novel In Twenty Days™" or just came back from a writer's seminar at Harvard (better yet Bennington or Oxford or Cambridge, because they have real writers there) way cool - go write that damned novel and let a musician misuse terminology. For my purpose, I am going to say that a plot point is the point where the players can completely and utterly screw up their DM. In a novel or screenplay, the author has a story (or stories) and the reader follows the story (or dumps the book at the next train station to inflict in on some poor unsuspecting soul who just needed to pass the time). The difference in really awesome DM'ing is that each one of the critical points of the story, the part where the author drives the story forward or teases the reader by tossing new light on the matter or whatever - the element of choice creeps in. A group of players doesn't "know" the story, so they can't make the "right choice". And that is really, really fun. It can lead literally anywhere, for any reason, and usually in the manner least expected. For example, the classic plotpoint, meeting the Lich who will give the quest to our party of intrepid adventurers. Deus Ex Machina is nice, but a little goes a long way. And having a quest forced on you just plain stinks, in my book - though I understand that for some NPCs, the modder feels that the characterization makes it an all or nothing proposition. Although she is not alone in the modding world in this regard, she is one of the absolutely classic examples of "directional"storytelling, Saerileth again springs to mind - one story, strong character, definite "yes" and "no" answers, and that means less player choice. You go through the story, but in order to fit Saerileth in the party, you go through *her* story. I actually am ok with that story, but Aran is the antithesis of "thou shalt do this or thy evilness shalt rip my teenage heart in two and I shall die of the pain thou hast caus-ed mine own". He would be more like Now, how much choice can we accomplish in the i.e. engine? lots. Tons. WAY TOO MUCH. Because although the concept of a freeform awesome DM'ing of player choice, you need to create your own game. We have Limitations™. There are Canonical Rules™. There is also the little teeeeeny consideration that the darned quest would never be finished if every single major point had a measly 5 choices, and their points had 5 choices, and so on, and so on (I hope Prell doesn't sue me for stealing their commercial). For that, you need real people, so you need a PbP or a gaming group, or an online group of some kind. For BG2, you have to draw some limits. Let's see what we might need to do to limit Aran. Has to be Faerunian, even if it isn't completely Old Skool Canonical Treatment. Should fit 2E rules and expectations, probably should reference correct timeline (even though they kind of screwed that up a bit in the game - fans are notoriously more picky about that than the original authors in almost every setting, except perhaps Tolkein Himself.) Has to take place in chapter 2 or 6, because we didn't make Aran a Drow or a pirate, or set him up with a backstory that puts him in Saradush somehow. And that is a pretty crowded set of chapters, let me tell you. Has to try to not spoil the main plot with info too early, and yet have some attraction to being done/accomplished that makes sense to the PC (no pulling a sword from a stone to become the next King Of Amn, and no suddenly discovering that Aran is actually Elminster's First Cousin and Future Ruler of a Moonshea Isle... it really needs to follow the goals of the PC, not Aran. Bit part, remember? Must be Equity, but not command a star billing and salary...) OK, some minimal stuff - what does that leave us with? How about a quick brainstorm. What would a JOAT (Stainless Steel Rat, a great story, go read it) do when hired by a Bhaalspawn bent on Saving/Dominating The World? After all, he is Pinky to <CHARNAME> The Brain.... GOALS: Help The BhaalSpawn Succeed. Potential plots that might fit that goal: gather information on OBE's (Other Bhaalspawn Enemies) (if you are British, you get it...) find scrolls of power or a secret cache of gold/items that could help the PC (Pirate Gold, ARrrrrrr....) arrange mercenary work for money using contacts (Conquerers For rent. Reasonable Rates. No Dragons. Apply within.) build a man from scrap parts labled "Abbey... abby something - abby-normal" and bring him back to life (Hey, how did Young Frankenstien get in here? Commonplace occurrence in FR, so scrap this one!) discover plot against PC by local authorities scared of the Prophecy and resulting business losses (Leave the guns. Take the canolis.) CONSEQUENCE/CONFLICT: Tasks Distracting From Main Goal. mercenary network of information can work for or against the merc - what happens when you are in the posse of the Notorious BiG (Bhallspawn Interest Group) and someone has hired your former friends and acquaintences to "detain and question" said BiG, for, say, perhaps... - the rulers of Waterdeep, who might want to see what is going on and see if this is a Good witch, or a Bad witch? (ok, or warlock, but you get the idea) - the followers of Ilmater/Cyric/Corelon/etc. who want to help/hurt a being who is rumored (correctly or incorrectly) to have chosen sides in the religious conflict rebrewing? There are other forces interested in the outcome, after all. - payment of taxes or service requirements by the local lords? The Cowled ones aren't the only game in Amn, and the Roenalls are not the only nobles by any means. Court intrigue might help here. Written communication is cool, but can spread information the wrong way, too. What happens if Aran's journal falls into the wrong hands, and Irenicus finds additional chinks in PC's armour - sending a bribery attempt against the party, with a loyalty check on participants (Korgan takes the cash no problem, Minsc squishes the messenger...) A mercenary's life is a hard one. What happens when PC finds himself accused of warcrimes against "innocent, law abiding" patrols that ambushed the party, like every time I try to go from point to point in the darned city? Especially when Aran is found to be wanted by the Crimson Tower for 'spying' during the Iron Throne conflict? negotiation is not Aran's strong point. There is a great Padme quote about this - something about negotiations - ah, Google is my friend; Anakin: You call this a diplomatic Solution? Padme: No, I call it an aggressive negotiation. So what happens when a guy can get you a job, but gets in over his head, and PC has to choose between breaking the contract or fulfilling it - better yet, what happens when you take the contract and find out there is*no* good guy present, and Aran's answer is "To hell wi' th' contract, anyways. I never did like that murderin' son o' a bitch, beggin' pardon to dogs everywhere. I says we kill em' all, an' let Kelemvor sort out what bastard gets sent to what hell." ADVERSARY/OBSTACLES well, on this one, it really depends on what form of goal and consequence/conflict we lay down. One sample scenario: > Aran gets job offer for group to negotiate peace between some nobles for some traders. > group finds out "traders" are really agents sent to test PC and gather info for other bhallspawn, or for Irenicus, or for some other political entity > peace must be negotiated or resolved through any number of means, from a game of chess through to personal challenges/champions, to perhaps the regular way (bug group battle, save, reload, try again). Well, that is the brainstorm - no answers yet, just floating out ideas. The "non-required-yet-fun-to-accomplish-subplot-for-normal-mercenary-faerunian-sellswords-that-builds-up-PC-and-fills-in-backstory" quest or mini-quests. An interesting uzzle. Help yourself to a brainstorm, if you like. When something moves along into focus, we can come back to actual plot points, and see how we can make the quest be one of those 'replayable because I actually have real choices' quests.
  21. Well, I started awhile ago on this, asking folks for input, and got some, so it is probably time to figure out where he really goes. Synopsis We want to tell the game where Aran is supposed to meet the party - where he "spawns" in-game. To do that, we use WeiDU to add him in, first having researched area, x.y coordinates, and extended that area's script with the instructions to do so. In addition, we want to allow players to choose where he goes, but they have to choose one area out of the pool of choices, and the instructions must be run out (can' be skipped or uninstalled without replacement, or he will never spawn for players). Starting at Providing Choices In The .tp2 There are some cool ways of getting player input, including very customizable things like ACTION_READLN and setting up multiple components. There are some advantages to READLN we have already discussed, so let's go to a simple way of adding a player choice to an install - SUBCOMPONENT and FORCED_SUBCOMPONENT. Regular WeiDU installation Choices; Simple. Effective. And They Can Roll Back. In our regular WeiDU installation, the easiest way to let things work is to create a separate component and let players choose what they want to install, like this: BEGIN ~This is the first component in my mod.~ BEGIN ~This is the second component in my mod.~ Simple enough, though sometimes it feels odd to do a BEGIN without an END, but don't complain to the bigg - that is way way legacy stuff that can't be changed without messing up about everything out there already coded. He didn't write it like that - it came that way from back in the day, and we need it to say how the game will play. Darn - almost made that work, but it got confusing. Basically, if we want to be able to use older mods, we need backwards compatibility, and the bigg has to stick within certain constraints, this being one of them. With this example above, all we are saying is "WeiDU, do this first set of instructions." "WeiDU, do this second set of instructions." So, a mod .tp2 might have something like BEGIN ~This is the first coponent in my mod. Aran is starting in Candlekeep.~ EXTEND_BOTTOM ~CANDLEKEEP.ARE~ ~aranw/baf/starting_area.baf~ BEGIN ~This is the second coponent in my mod. Aran is starting in East Timbuktoo~ EXTEND_BOTTOM ~EAST_TIMBUKTOO.ARE~ ~aranw/baf/starting_area.baf~ This lets the player choose to install component 1, Candlekeep start, or to install component 2, African Safari start, and we have accomplished our mission. Except... under this configuration, the player could choose 1 AND 2. They could choose 1 OR 2.They could choose 1. They could choose 2. Or they could skip both. Worst of all from a mod author's standpoint, they could choose both, then uninstall them both, and then come complaining when Aran doesn't show up in the game... so we probably do not want to do the installation choice this way. HEY - why don't we use READLN? I mean, it is simple enough - the code is out there, and wee have already gone through it in another post - why would we *not* use that fancy way of creating choice for the player in this instance? Two words... Weidu. Log. When WeiDU puts out the central log of everything, it sees components that are installed. The .DEBUG created from your mod install has lots of cool information for troubleshooting, but standard practice for troubleshooting is to get the big, obvious text file in the game folder named "weidu.log" and use it to determine if things have gone right or wrong in a player's game. Those entries are *only* mod components installed, not the READLN choices, because the WeiDU.log serves a cool purpose - it helps weidu operate. Cluttering it up with inner actions of a component would mess it up, as will PRINT and other commands within your .tp2. Basically, it is an index of mod components, not a listing of every single change to your game in great detail. Here is a sample entry in the weidu.log after installation: Now, I can go with a "list every component approach, like Fixpack: but we just figured out I don't want that approach, because with Fixpack we want players to be able to install and uninstall various things as they choose. With the spawining area, this is not such a good idea. Not only do we want players to choose one, we want them to be required to choose one of several choices, or have the mod pull itself out - because if you can't spawn him, it is just as bad if you have him popping up in a dozen areas, all coming up to various versions of himself like in Multiplicity, saying "Hey, you look familiar - what a handsome dude you are. You got any work?" And READLN doesn't leave a clue in the weidu.log as to which choice the player has made, so 3/4 of the way through a Mega-BGT-BP, when a player is completely confsed, and wants to go pick up Aran, We can't go "gee... do you remember where you told him to spawn, three months ago, while you were spending hours staring at your computer screen willing the installation to move faster?" So we want 1. a way that weidu will ask the player to choose from a panel of choices 2. allow weidu the ability to report which choice was made 3. require/demand/insist/not proceed until the player chooses one of the panel of choices. Enter the world of SUBCOMPONENT | FORCED_SUBCOMPONENT (tadaa!) Let's go back to Grim Squeaker's Tyris Flare mod for a second. I only posted a portion of the Weidu.log. The full entry for Tyris looks like this: Now, that is pretty cool. Grim Squeaker has a second component, that allows players to choose an alternate portrait. Let's look at how it got coded: BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate1/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate1/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate1/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 2~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate2/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate2/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate2/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 3~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate3/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate3/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate3/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ BEGIN ~Alternate Portrait 4~ SUBCOMPONENT ~Alternate Tyris Portraits~ COPY ~TyrisFlare/Portraits/Alternate4/G#TYRISL.bmp~ ~override/G#TYRISL.bmp~ ~TyrisFlare/Portraits/Alternate4/G#TYRISM.bmp~ ~override/G#TYRISM.bmp~ ~TyrisFlare/Portraits/Alternate4/G#TYRISS.bmp~ ~override/G#TYRISS.bmp~ The initial DESIGNATED 101 is a way of telling weidu that the modder wants this component to be labled 101, even if it is component 2 of 2. Ordinarily, Weidu decides component numbers on the fly, based on what it sees - a component can get swapped around in install order over the course of development, etc. This DESIGNATED locks the component number. You might want to do this if you are making sure things remain available to check for over time by other modders, so that if they put something like line 2, REQUIRE_COMPONENT, or FORBID_COMPONNT, or anything else in that series of choices, the numbering is right. Here, an example. Pretend I made a mod that Grim Squeaker had contributed to that already had Tyris' portarit choice in it. Because he put DESIGNATED 101, I can use that number to avoid duplication - FORBID_COMPONENT ~Setup-TyrisFlare.tp2~ ~101~ ~Tyris Flare's Alternate Portraits are already installed, therefore skipping alternate Tyris portraits...~ and he he could add [FORBID_COMPONENT ~setup-cmorgans_massive_portrait_pack.tp2~ ~27~ ~Sorry, you already chose Tyris' portrait, therefore skipping alternate portraits...~ Of course, if I did not use DESIGNATED 27, and I added another component, it would become component 28, and then Grim is messed up bad - so usig DESIGNATED can help with things like this. Why not just do it Old Skool, and go with BEGIN ~Alternate Portrait 1~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Well... becuse players dont want to be bothered with picking and choosing components for every mod. Some folks would just install everything. Under that setup, Tyris would have her original portrait. Then Alternate 1 would be added. Then Alternate 2, then 3, then 4, each overwriting the last. And the end result would be that most installs of Tyris Flare would use Alternate Portrait v4, and there would be a bunch of extra lines in the weidu.log, and it would be silly. So, putting these into So, next line is already covered. He has 4 components, BEGIN ~Alternate Portrait 1~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Why not just do it Old Skool, and go with this as is? Well... because players don't want to be bothered with picking and choosing components for every mod. Or reading README's and figuring out that they are installing something that does exactly the same thing over the top of what they just chose. Some folks would just install everything. Under that setup, Tyris would have her original portrait. Then Alternate 1 would be added. Then Alternate 2, then 3, then 4, each overwriting the last. And the end result would be that most installs of Tyris Flare would use Alternate Portrait v4, and there would be a bunch of extra lines in the weidu.log, and it would be silly. So, putting these into a new format wuill avoid this. As a side note, he has made them all dependent on Tyris being installed, which is generally a good thing for mod-specific content changes. You don't want players adding stuff that has no use in-game, or worse - if this component had tried to edit Tyris' .cre, the mod component would fail and stop installation with an error message about missing the .cre. So, a line that requires that the central component of Tyris Flare be installed, looking for component ~0~. Adding this line back into our deconstruction - BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ BEGIN ~Alternate Portrait 2~ BEGIN ~Alternate Portrait 3~ BEGIN ~Alternate Portrait 4~ Now things get fancy. He makes each of these components into be a subset of another component, so that what we originally had as four separate install choices become one of a small group of choices: BEGIN ~Alternate Portrait 1~ DESIGNATED 101 REQUIRE_COMPONENT ~Setup-TyrisFlare.tp2~ ~0~ ~NPC is not installed, therefore skipping alternate portraits...~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 2~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 3~ SUBCOMPONENT ~Alternate Tyris Portraits~ BEGIN ~Alternate Portrait 4~ SUBCOMPONENT ~Alternate Tyris Portraits~ So far, beautiful. I can adapt the same idea, and go crazy! Except... why SUBCOMPONENT? What happened to the FORCED_ ? Well, Grim Squeaker sent Tyris Flare out into the world with an existing portrait. No player *has* to install *any* of the alternate portrait choices. So under this configuration, the player can choose to skip the whole thing, or choose one of the portraits. I can't do that for Aran's spawning - I only want one of him, and I insist that the player choose one. So, simple enough edit - with Tyris, all I would have to do to make a player not be able to complete the install without the choice being made, is change that SUBCOMPONENT into FORCED_SUBCOMPONENT. Logical, huh.
  22. Commentary to follow, but basics - taking suggestions for better pathways/responses. /* APOLOGY: PC approaches ARAN while TIMERNOTEXPIRED - PC is seeking him out for an apology, either given or rec'd */ /* Aran Is Mad PID Responses (4 random) */ IF ~~ c-aranmad1 SAY ~[ARAN] (Aran glares at you, his face sullen and unresponsive. He moves away.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad2 SAY ~[ARAN] Hey, you be a mite pushy there. I'm not rightly happy. So leave me alone, unless it be business.~ ++ ~[PC] Fine. Be that way. I don't care.~ + a1232 ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] I'm sorry. I did not mean to make you angry.~ + c_pc_apology ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c-aranmad3 SAY ~[ARAN] (Aran studiously ignores you, stepping away and avoiding your eyes, his jaw set stubbornly.)~ IF ~~ THEN EXIT END IF ~~ c-aranmad4 SAY ~[ARAN] We got nothin' to say to one another right now, <CHARNAME>. We got things to discuss, but now is not rightly the time.~ ++ ~[PC] I... I wanted to apologise.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are really pushing it. We need to talk, and you are refusing? You must really want to have a cold bedroll.~ + c_aran_is_still_mad ++ ~[PC] I know you are angry. But if you were to talk to me, I think you would find I can make it worth your time.~ + c_pc_i_can_make_it_worth_it ++ ~[PC] (Burst into tears.)~ + c_pc_tears ++ ~[PC] Sulking? Oh, that is *so* adult.~ + a1232 ++ ~[PC] Fine. Be that way. I don't care.~ + c-aranmad1 END IF ~~ c_aran_is_still_mad SAY ~[ARAN] Look, I done got close enough to you to be able to be hurt. Don't you be thinkin' I am some toy what to screw with. A man's got some pride, though blighted little be left him after th' gods an' womenfolk done had their ways. Just leave me be for awhile.~ IF ~~ THEN EXIT END IF ~~ c_pc_tears SAY ~[ARAN] Hey, that be no fair. Hey... now, stop th' waterworks... you done hurt me a good bit there. I just need a mite bit o' space...~ ++ ~[PC] Fine. Be that way. I don't care. I hate you!~ + a1232 ++ ~[PC] I... I just wanted to apologise. I'm sorry if I hurt you. I didn't mean to.~ + c_pc_apology + ~Global("c-aransex","GLOBAL",1)~ + ~[PC] You are a moody, ridiculous egotistical brat, and I am beginning to think you will never grace my bed again.~ + c_aran_is_still_mad ++ ~[PC] A few tears, and you cave like an apprentice in his first year. Do you have any spine, or should I give you sometime to grow one?~ + c_aran_offended ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair ++ ~[PC] (Keep sobbing, burying your face in his shoulder)~ + c_you_dont_play_fair ++ ~[PC] Sulking? Oh, that is *so* adult.~ + c-aranmad1 END IF ~~ c_aran_offended SAY ~[ARAN] You ruddy hurtfull little vindictive... get away from me.~ ++ ~[PC] Look, this is coming out all wrong. I... I wanted to apologise.~ + c_pc_apology ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] Still sulking? Oh, that is *so* adult.~ + c-aranmad1 ++ ~[PC] So, you have a little spine. Good. When you come and apologise to me, just remember that I do not appreciate weaklings.~ + c-aranmad3 // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_pc_apology // PC flatters Aran ++ ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ + c_kiss_palm // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] I can't stand you glowering and silent, Aran. My time with you is too important. You make this all bearable. Please... I am sorry. Can't a handsome, wonderful man like you find it in your heart to fogive me?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. I didn't realize that I could hurt you like that. Will we be able to go bacjk to the way things were?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I apologise for getting you so angry.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] Can you forgive me? Do you think we are fine being with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] I don't know what I did to get you angry, but whatever it is can't really be important. So let's make up, alright?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] I mean, I am sorry you got all upset over nothing. I expected you to have a tougher skin.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_aran_offended + ~RandomNum(3,3)~ + ~[PC] Don't you have something to say to me? like "I'm sorry, <CHARNAME>, for not understanding how you want things to be"?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] I know I am not the best at making apologies, but... I... (begin to cry.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. I didn't mean to hurt you. You are very important to me.~ + c_cry_not_fair END IF ~~ c_kiss_palm SAY ~[ARAN] (He draws your hands to him, holding them close to his chest.)~ = ~[ARAN] Aye, it does answer it right well. An' I be a right happy man.~ IF ~~ THEN EXIT END IF ~~ c_you_dont_play_fair SAY ~[ARAN] <CHARNAME>... You don't rightly play fair, now, do you.~ = ~[ARAN] (He draws you close into his embrace, his lips barely brushing your ear.)~ = ~[ARAN] I don't even rightly remember what it was all about, nohow. Fine. I guess it be a waste o' time to be mad at you anyways, seein' as you done got me, hook, line, an' sinker.~ IF ~~ THEN EXIT END IF ~~ c_pc_i_can_make_it_worth_it SAY ~[ARAN] Fine. I be here, like a good little blighted sellsword.~ ++ ~[PC] With an attitude like that, you will make no headway with me.~ + a1232 ++ ~[PC] I was wrong. I don't believe in words without actions, so I am going to let you kiss me.~ + c_toying_with_me ++ ~[PC] I am sorry. I did not mean to hurt you. Can you forgive me?~ + c_it_was_nothing ++ ~[PC] Can you really be so angry with me? I mean... with my fingers walking up your chest to your cheek like this? Or my lips coming so close to yours?~ + c_you_dont_play_fair // stop romance ++ ~[PC] Look... this is just not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. I think it would be best if you left the party for awhile, to go settle your head.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] You are such a pain to deal with. None of this is working the way I want. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ << remember to set this on out END IF ~~ c_it_was_nothing NOT_YET_BUILT END /* APOLOGY: ARAN approaches PC after TIMEREXPIRED - Aran is seeking PC to give an apology */ /* Remember to remove the GTE to .BCS */ /* Remember to place note in docs: If you make up with Aran after fighting, just like most dudes, he will try to be overly physical in his demostrations immediately post fight. At least that is the rationale I am presenting for why his NPC-Initiated Flirts get set to run, even though a player has told him she doesn't want hem... players will have to tell him to stop flirting again via PID after making up. */ IF ~Global("c-aranfight","GLOBAL",1) GlobalTimerExpired("c-aranismad","GLOBAL")~ THEN BEGIN c-aranmakeup1 SAY ~[ARAN] Hey... I am right sorry.~ IF ~RandomNum(3,1)~ THEN GOTO c-aran_1_makeup IF ~RandomNum(3,2)~ THEN GOTO c-aran_2_makeup IF ~RandomNum(3,3)~ THEN GOTO c-aran_3_makeup END IF ~~ c-aran_1_makeup // 7 to 11 responses SAY ~[ARAN] I know I have been mad, but I should know better. You call th' shots, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] Not really. I should have <PLAYER2> beat you senseless. I would do it, but I think it is beneath my notice.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I can't believe you just walked away angry like that. I should have <PLAYER3> pound some sense into you.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] No. You should be careful, Aran. <PLAYER4> might be convinced that you hurt me, and then where would you be?~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] No. I do not understand why you were so angry. I asked <PLAYER5>, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now. I accept your apology.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You will have to do better than that as an apology, Aran. Go away until you can apologise properly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_2_makeup // 8 to 12 responses SAY ~[ARAN] I just got so... so mad, I didn't rightly know how to handle it. You mean a good bit to me, <CHARNAME>. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> thinks you are an ass.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] I thought we understood each other. <PLAYER3> would have understood me better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't understand why you got so upset. If i were arguing with <PLAYER4>, he would never walk away from me like that.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] You got so angry, over so little. I asked <PLAYER5> if all men were like that, and he just shrugged.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] If by fine, you mean I should be spending less time with you and more time with <PLAYER6>, then sure.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It was my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] Go away, Aran. I don't want to talk to you right now.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_1_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] He speaks. Well, sort of - his mouth is moving, but I do not hear anything worth hearing.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] You are joking, right? What makes you think I have forgiven you?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] Don't you think I deserve a better apology than that? Perhaps you should be kneeling, or groveling, or something more suitable?~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] You should be crawling to me on your hands and feet. Actually, you should be kissing my feet, and begging me for forgiveness.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Do you really think I will accept such a lackluster performance? No gifts. No flowers. No chocolate. No clue. That isn't an apology - that is an insult.~ + c_3_aran_grovel // PC grovels for Aran + ~RandomNum(3,1)~ + ~[PC] I am so sorry I hurt you. I didn't mean to, and I am so selfish and stupid... I just need to be near you, and have you be near me.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_1_grovel + ~RandomNum(3,2)~ + ~[PC] I don't deserve to be with you. You are careful and considerate, and I was horrible to you. You mean more to me than I ever imagined.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_grovel + ~RandomNum(3,3)~ + ~[PC] (Grab his hand, kissing his palm quickly.) Does this answer the question?~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c-aran_3_makeup // ok, some fun with girltalk, but don't laugh - my experience with girltalk is a teacher's lounge in primary and secondary eductaion, and from the outside looking in! SAY ~[ARAN] I get so worked up over you sometimes, it jsut seems a bit like I be drownin'. I don't have no hold or call over you, but sometimes I start thinkin' like I do. Do we be fine wi' eachother?~ // Another male as foil + ~Gender(Player2,MALE) !Name("c-aran",Player2)~ + ~[PC] <PLAYER2> would never turn his back on me, no matter what I did.~ + c_dont_be_that_way + ~Gender(Player3,MALE) !Name("c-aran",Player3)~ + ~[PC] Why don't you go ask <PLAYER3> how a real man apologises. Even he could do better.~ + c_dont_be_that_way + ~Gender(Player4,MALE) !Name("c-aran",Player4)~ + ~[PC] I don't know. <PLAYER4> would never treat me like you do.~ + c_dont_be_that_way + ~Gender(Player5,MALE) !Name("c-aran",Player5)~ + ~[PC] Why don't you go off and do manly things with <PLAYER5>. You don't need me around, anyways. After all, I am just a silly little girl who doesn't know how to keep you happy.~ + c_dont_be_that_way + ~Gender(Player6,MALE) !Name("c-aran",Player6)~ + ~[PC] <PLAYER6> says I am too important to be given the silent treatment, but I told him it didn't matter. I am not worth talking to, anyways.~ + c_dont_be_that_way // Another female as foil + ~Gender(Player2,FEMALE) !Name("edwin",Player2) !Name("aerie",Player2) !Name("viconia",Player2) !Name("jaheira",Player2)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) !Name("edwin",Player3) !Name("aerie",Player3) !Name("viconia",Player3) !Name("jaheira",Player3)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) !Name("edwin",Player4) !Name("aerie",Player4) !Name("viconia",Player4) !Name("jaheira",Player4)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) !Name("edwin",Player5) !Name("aerie",Player5) !Name("viconia",Player5) !Name("jaheira",Player5)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) !Name("edwin",Player6) !Name("aerie",Player6) !Name("viconia",Player6) !Name("jaheira",Player6)~ + ~[PC] Edwina says you are a chauvanistic, egotistical, self-centered moron. And I tend to believe her... after all, she has lived both sides of the equation.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("aerie",Player2)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("aerie",Player3)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("aerie",Player4)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("aerie",Player5)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("aerie",Player6)~ + ~[PC] Aerie says I should apologise to you right away, because we make such a good team, but she is no real judge of relationships.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("viconia",Player2)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("viconia",Player3)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("viconia",Player4)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("viconia",Player5)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("viconia",Player6)~ + ~[PC] Viconia says you are a spineless wimp, and I should beat you, hurt you, or manipulate you until you do my bidding without getting angry.~ + c_dont_be_that_way + ~Gender(Player2,FEMALE) Name("jaheira",Player2)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player3,FEMALE) Name("jaheira",Player3)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player4,FEMALE) Name("jaheira",Player4)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player5,FEMALE) Name("jaheira",Player5)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way + ~Gender(Player6,FEMALE) Name("jaheira",Player6)~ + ~[PC] Jaheira says I should smack you hard on the side of the head, and tell you to stop being a silly male, but I don't if I care anyways.~ + c_dont_be_that_way // make up + ~RandomNum(3,1)~ + ~[PC] It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] I do not always understand you, or what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_4_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think so. Do you think we are fine with each other? ~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",0)~ + c_1_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand. Perhaps you should just sulk and stew by yourself for a few days.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] Go away, Aran. You shut me out. I don't care what I did, or what you did... I just don't ever expect to be given the cold shoulder, ever.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] I do not hear anything worth hearing. You can go drown, for all I care.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_dont_be_that_way // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 END IF ~~ c_dont_be_that_way SAY ~[ARAN] Now, don't be that way, eh? I done said I was sorry...~ // make up + ~RandomNum(3,1)~ + ~[PC] No... wait. It is my fault, Aran, not yours. Of course we are fine.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_2_of_course_we_are + ~RandomNum(3,2)~ + ~[PC] Yes, you did. And... I guess that I should, too. I do not always understand you, and what you want of me, Aran. But you are a part of my life now.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_3_of_course_we_are + ~RandomNum(3,3)~ + ~[PC] I think that is enough torture. Of course we are fine with eachother. In fact, we are more than fine. A little arguement isn't going to kill us.~ DO ~SetGlobal("c-aranfight","GLOBAL",0)~ + c_4_of_course_we_are // do not make up + ~RandomNum(3,1)~ + ~[PC] No. You have to better than that as an apology, Aran. Get on with the job at hand, and don't come to me before you have figured out what you did wrong.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_3_no_we_are_not + ~RandomNum(3,2)~ + ~[PC] You never specified what you are sorry about. About the stars being in the sky? About you being an ass? About you not listening to my needs and wants?~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_4_no_we_are_not + ~RandomNum(3,3)~ + ~[PC] That is not enough. Words are never enough. I mean, you just talk, you don't do anything to back them up. You must hate me.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_I_dont_hate_u // cry + ~RandomNum(3,1)~ + ~[PC] (Burst into tears.)~ + c_cry_not_fair + ~RandomNum(3,2)~ + ~[PC] I... I... you... (Begin crying.)~ + c_cry_not_fair + ~RandomNum(3,3)~ + ~[PC] These aren't jewels running down my cheeks, Aran. You really hurt me by shutting me out.~ + c_cry_not_fair // PC expects groveling by Aran + ~RandomNum(3,1)~ + ~[PC] On your knees. A proper apology starts with you kneeling in front of me.~ + c_1_aran_grovel + ~RandomNum(3,2)~ + ~[PC] After your words and actions over the past few days, you should be crawling to me on your hands and feet. Do it, and I might consider your aplogoly.~ DO ~SetGlobal("c-aranfight","GLOBAL",1) SetGlobalTimer("c-aranismad","GLOBAL",TWO_DAYS)~ + c_2_aran_grovel + ~RandomNum(3,3)~ + ~[PC] Speak a little louder. And where are my flowers? Where is my gift? This is shaping up to be a sorry excuse for an apology.~ + c_3_aran_grovel // stop romance ++ ~[PC] This is not working out, Aran. We should stick to business, and absolutely nothing else.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_we_are_through // kick him out ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. You should leave the party for awhile.~ DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out // kick him out for good and try to kill him ++ ~[PC] None of this is working the way I want. You are a pain and a distraction. Stop that grinning, servile smile. I think... yes. I will just kill you now and be done with it.~ + a24 // DO ~SetGlobal("c-aranfight","GLOBAL",0) SetGlobal("c-aranflirtstop","GLOBAL",1) SetGlobal("c-aranromance","GLOBAL",3)~ + c_you_are_out END IF ~~ c_1_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_of_course_we_are SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] I have had enough of your crap. Go on... go sulk for awhile. When you decide to grow up, come and talk to me again.~ + c_1_bugger_all END IF ~~ c_3_no_we_are_not SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_no_we_are_not SAY ~[ARAN] ~ + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_bugger_all // reconsider, no + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_bugger_all // reconsider, no + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_bugger_all // reconsider, no + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_bugger_all // reconsider, no + ~RandomNum(4,1)~ + ~[PC] ~ + c_1_of_course_we_are // reconsider, yes + ~RandomNum(4,2)~ + ~[PC] ~ + c_2_of_course_we_are // reconsider, yes + ~RandomNum(4,3)~ + ~[PC] ~ + c_3_of_course_we_are // reconsider, yes + ~RandomNum(4,4)~ + ~[PC] ~ + c_4_of_course_we_are // reconsider, yes ++ ~[PC] You are so... so... Go on. Go sulk, or pout, or whatever you want to do. I don't want to talk to you anyways! I... I hate you! (burst into tears)~ + c_2_bugger_all END IF ~~ c_1_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_2_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_3_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_4_bugger_all SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_1_we_are_through SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_you_are_out SAY ~[ARAN] ~ IF ~~ THEN DO EXIT END IF ~~ c_I_dont_hate_u SAY ~[ARAN] ~ END IF ~~ c_cry_not_fair SAY ~[ARAN] Now, hey, wait... I be right sorry, eh? I just felt you were takin' advantage o' me right an' left, an' I... oh, for Tymora's Smile, stop wi' th' waterworks, eh?~ END
  23. Exit Strategy Well, we have a number of responses building for most states, and I want to play with one specific challenge. How do we make an exit available for a player right up front in a dialog, that fulfills the following conditions: Reinforces Aran's characterization Is not always the same "No talking" line Takes little effort to implement so we can concentrate on dialog folks who don't exit want to see. In many states, we have from 2 to 5 different responses already, which is getting to the point of Wall Of Text™. So I want to do two things - have only one line available that says "this way out", and have it reinforce a character concept. I'm going to toss a RandNum set into the mix, so that Aran swears a little differently each time the line gets run. This I am setting aside, too, as a "Standard Exit Block". The added replies to a state: + ~RandNum(9,1)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup1 + ~RandNum(9,2)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup2 + ~RandNum(9,3)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup3 + ~RandNum(9,4)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup4 + ~RandNum(9,5)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup5 + ~RandNum(9,6)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup6 + ~RandNum(9,7)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup7 + ~RandNum(9,8)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup8 + ~RandNum(9,9)~ + ~ <<EXIT_TEXT>> ~ + c-aranshutup9 IF ~~ c-aranshutup1 SAY ~[ARAN] Aye, then. Shuttin' up.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup2 SAY ~[ARAN] By the Cryin' God's tears, you are in a mood.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup3 SAY ~[ARAN] Sure.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup4 SAY ~[ARAN] Fine. I'll be over there.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup5 SAY ~[ARAN] Sune's Lusty Lips, you can sure kill a conversation.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup6 SAY ~[ARAN] Corellon's Bowhand, you have an attitude today.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup7 SAY ~[ARAN] Shar's Arsehole, shut me down, will ya? Fine.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup8 SAY ~[ARAN] By the Cryin' God's Tears - I was just makin' conversation.~ IF ~~ THEN EXIT END IF ~~ c-aranshutup9 SAY ~[ARAN] Well, I'll just bugger off, then. This is me, see, mindin' my own business.~ IF ~~ THEN EXIT END The advantage here is that I can customize the player response to fit the talk it is attached to, but I have it linked to the same 9 possible responses.
  24. Scraps of ideas from researching (read that as distracting berelinde from her appointed tasks by poking at her and asking silly questions. Hey, i think I can get a job at Fox research, now...) Edwin/Edwina tranformation. Adding a banter to Edwin's post-transformation banter file, /* Fun with Edwin as a Woman */ Probably will never play, but heck - why not. This is long form built out of Edwin's BEDWINWO.DLG file, acient long-form EXTERN. This could be rebuilt more efficiently as a CHAIN, or just tidied up, but the code part that is most fun about it is the use of SAY #sringnumber I saw used in JCompton's D'Arnise alia Romance, where preexisting game string references can be swapped in: APPEND ~BEDWINWO~ IF ~InParty("C-ARAN") See("C-ARAN") !StateCheck("C-ARAN",CD_STATE_NOTVALID) Global("c-arEdwinW","LOCALS",0)~ THEN BEGIN c-edwiniswoman SAY #8556 /* ~(My condition draws fools like flies to honey). Silence, you idiot! You've a death wish that is larger than your swollen head.~ [EDWINW39] */ IF ~~ THEN DO ~SetGlobal("c-arEdwinW","LOCALS",1)~ EXTERN ~C-ARANB~ woman1 END END APPEND ~C-ARANB~ IF ~~ woman1 SAY ~[ARAN] Hey, now, I weren't saying naught, now, eh? I was just...~ IF ~~ THEN EXTERN ~BEDWINWO~ woman2 END END APPEND ~BEDWINWO~ IF ~~ woman2 SAY ~[EDWIN] Your eyes were practically shouting vile depravity at my feminine form.~ IF ~~ THEN EXTERN ~C-ARANB~ woman3 END END APPEND ~C-ARANB~ IF ~~ woman3 SAY ~[ARAN] Grumbar's Formidable Fists, laddie... err.. m'Lady, I weren't doin' no such thing. It were just that you haven't got used to th' right manner o' walkin in that there body, eh?~ IF ~~ THEN EXTERN ~BEDWINWO~ woman4 END END APPEND ~BEDWINWO~ IF ~~ woman4 SAY #7276 /* ~And exactly WHAT is wrong with my 'manner?'~ [EDWINW49] */ IF ~~ THEN EXTERN ~C-ARANB~ woman5 END END APPEND ~C-ARANB~ IF ~~ woman5 SAY ~[ARAN] Well, for one thing, if you keep slammin' down your heels when you walk like that, you are goin' to jounce those feminine attributes right out o' that there robe.~ IF ~~ THEN EXTERN ~BEDWINWO~ woman6 END END APPEND ~BEDWINWO~ IF ~~ woman6 SAY #7066 /* ~(I will kill ALL of them. Slowly. With...with HOT...pokey things and...and coals and...and prods. Yessssss, prods. Many, many prods.)~ */ IF ~~ THEN EXIT END END So, dv doesn't change, still = "edwin", but the banter file and script in play does. Next step; figure out what consititues a good check for "Edwina" being in play rather than "edwin", so that a banter or talk fits the feminine form. Gender() I think is not the way to go, as my bet is that if they don't change the DV, they must be shell-scripting somehow, so time to look through the decompiled .bcs for clues...
  25. First draft. Less to talk about here. PC gets stronghold. Aran genially asks about it. Complications ensue. 1. multi-stronghold folks vs re-classing Aran vs. stock responses. 2. easter egg for having all strongholds. 3. time. This sample took hours to create and runs three lines [A] > [PC] > [A] in-game. note to self - look up triggers for thieves guild and recheck vs Blucher's and aVENGER (RR)'s expanded guild content, for .bcs operation. note to self - steal berelinde's .bcs blocks for Gavin that tip off stronghold ownership, modify to Aran's dv and the given LOCALS values placed here, and claim as own brilliant idea thus winning fame, worldwide acclaim, and the millions of dollars such an act will bring my way. note to self - must not play clip of Morodin singing or go into Research Lab on Normandy 2. Must not play ME2. Too many similarities. Must evaluate code, test weidu functionality, choose pathways for progression of ToB talks... too much to do. Too little time. Salarian brain equipped for tasks, but need Krogon stamina to complete. Must talk to Shepherd about creating new [PARAGON ACTION HERE] Must post and shut down computer. /* Gaining Stronghold Responses : set from .bcs */ /* 1 possible if played without mods, 2 or 3 for multiclass PC's with mods, all of them if one of the multi-stronghold tweaks are installed */ IF ~Global("c-arants","LOCALS",1)~ THEN BEGIN a1502 SAY ~[ARAN] Well, <CHARNAME>, you done got yourself a nice little operation to run. Gamblin', prostitution, light theft, "protection", spyin', an' a cute little trainin' program to boot. Question is, what are you goin' to do with it.~ ++ ~[PC] Anything I want.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1503 /* c-anythingiwant */ ++ ~[PC] Whatever serves the greater good.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1504 /* c-whateverservesgood */ + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Are you jealous? After all, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1505 /* c-tieddown */ + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1506 /* c-takescoin */ + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations and an income stream, but I hear that there is only one way out of the Guild, and it involves me having a minor accident.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1507 /* c-minoraccident */ + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1508 /* c-strongarmthem */ ++ ~[PC] I know this is not the most honest, upright way of doing things. But right now we need the resources, and shutting this all down puts people at risk of far worse owners.~ DO ~SetGlobal("c-arants","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranrs","LOCALS",1)~ THEN BEGIN a1470 SAY ~[ARAN] Well, you done got us a nice place to set up base camp. I don't rightly know what a Ranger territory means, though, really. Anythin' special we got to do?~ ++ ~[PC] Just do what I tell you to, when I tell you to, and everything will be fine.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1479 ++ ~[PC] Whatever serves the greatest good for the greatest number of our charges.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1480 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1488 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations and an income stream, but I know that helping protect a wide territory is a great deal of work.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 +~!Class(Player1,RANGER_ALL)~+ ~[PC] I know this is not really what I spent my life training for. But right now we need the resources, and these people need someone to look after them.~ DO ~SetGlobal("c-aranrs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranps","LOCALS",1)~ THEN BEGIN a1471 SAY ~[ARAN] Well, you done got us a nice place to set up a base. Th' Order's back room there be plain, but clean an' secure. I don't rightly know what they will do to me, on account o' my language bein' so rough, though. Any words o' advice?~ ++ ~[PC] We do what the Order says, when it asks. Until then, we take advantage of the stability they offer.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1482 ++ ~[PC] Whatever serves the greatest good.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1483 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering information. That might make a useful addition to the Order, and secure our relationship with them.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1488 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations, but I know that helping the Order is a great deal of work and returns very little coin.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 + ~!Class(Player1,PALADIN_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need the backup, and having the backing of the Order will allow us more freedom to operate.~ ~SetGlobal("c-aranps","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranms","LOCALS",1)~ THEN BEGIN a1472 SAY ~[ARAN] Well, you done got us an odd place to set up base camp. I don't rightly know if wanderin' 'round the Planes be a good idea. Seems like we got enough trouble right here on Faerun.~ ++ ~[PC] We do whatever I want to do, and use the Sphere to accomplish those goals.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1484 ++ ~[PC] We will do whatever serves the greatest good for the most people.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1485 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1498 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations, but I know that managing apprentices and dealing with the Sphere will be a great deal of work.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 + ~!Class(Player1,MAGE_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need all the resources we can get, and this is too important an object to be left lying around unused.~ DO ~SetGlobal("c-aranms","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranfs","LOCALS",1)~ THEN BEGIN a1473 SAY ~[ARAN] Well, you done got us a nice place to set up permanent. Bein' a landlord has some advantages, too, with that coin comin' in. I don't suppose we can call up an army as well as use th' Keep as a home, eh?~ ++ ~[PC] We will have to investigate that. At the very least, we might be able to gather some idiots who will be useful spell-fodder and distractions before they die.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1486 ++ ~[PC] We will do whatever serves the greatest good for the most people who are tied to this Keep and its lands.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1480 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down. You could investigate the books and see what might be possible.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] No armies. I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components. It takes much, much more coin to build an army, even a conscripted one.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations and an income stream, but I know that helping protect a wide territory is a great deal of work.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 + ~!Class(Player1,FIGHTER_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need the backup, and having a fortress and tenants allows us more freedom to operate.~ DO ~SetGlobal("c-aranfs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-arands","LOCALS",1)~ THEN BEGIN a1474 SAY ~[ARAN] Well, you done got us a nice place to set up base camp. I don't rightly know what a Druid territory means, though, really. Anythin' special we got to do?~ ++ ~[PC] I use it to further my goals. You use it however I choose to let you.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1484 ++ ~[PC] We do whatever serves the entire Grove's creatures best.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. Nature is a harsh mistress, and protecting this place will take a great deal of focus and attention.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations, but I know that helping protect a wide territory is a great deal of work.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 + ~!Class(Player1,DRUID_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need the backup, and having nature on our side could have huge advantages.~ DO ~SetGlobal("c-arands","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-arancs","LOCALS",1)~ THEN BEGIN a1475 SAY ~[ARAN] Well, you done got us a secure place to set up a base camp, complete wi' the protection o' a god. Anythin' special we got to do?~ ++ ~[PC] Whatever we can get away with.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1484 ++ ~[PC] Whatever serves the Temple.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1480 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1488 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. There is more here than ways to keep you in quills and parchment.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations, but I know that being involved in a Temple is a great deal of work.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1491 + ~!Class(Player1,CLERIC_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need the backup, and having the backing of the Temple will allow us more freedom to operate.~ DO ~SetGlobal("c-arancs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranbs","LOCALS",1) Gender(Player1(MALE)~ THEN BEGIN a1476 SAY ~[ARAN] Well, you done got us a nice place to set up base camp. I don't rightly know much about playwritin', but you want help wi' the castin' couch, you just let me know. ~ ++ ~[PC] We do whatever it takes to increase my fame and fortune.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1492 ++ ~[PC] We do our best to keep these people employed and helping lift spirits. These are dangerous, horrible times for most people, and they need good entertainment.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1493 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations and an income stream, but I know that managing a successful Theater is a great deal of work.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... if something stands between you and your goal, whack it with something until it goes away.~ DO ~SetGlobal("c-aranbs","LOCALS",2)~ + a1491 + ~!Class(Player1,BARD_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need resources, and having the Theater will allow us more freedom to operate.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END IF ~Global("c-aranbs","LOCALS",1) Gender(Player1(FEMALE)~ THEN BEGIN a1477 SAY ~[ARAN] Well, you done got us a nice place to set up base camp. I don't rightly know much about playwritin', but I do decent copywork. I think I done told you that before. How can I help?~ ++ ~[PC] This sudden offer to help would not be because some of the ingénues are pretty little redheads with wide, innocent eyes and low cut dresses, would it?~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1494 ++ ~[PC] I think I can handle a theater company. After all of the dangerous beasts we have clobbered, how hard could handling a group of stage musicians, actors, and suppliers possibly be?~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1495 ++ ~[PC] It's good to know you are paying attention to our progress, Aran. Your scrivening will be useful handling all this. But stick to weaponry and contracts, and let me handle management.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1481 + ~Class("c-aran",THIEF_ALL)~ + ~[PC] Well, you have some minor skills in gathering either information or whatever is not tied down. Strike that. Especially things that are tied down.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1489 + ~Class("c-aran",MAGE_ALL)~ + ~[PC] I am not sure you would understand, all wrapped up in your books and scribing. It takes coin to keep you in quills, parchment, and spell components.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1487 + ~Class("c-aran",CLERIC_ALL)~ + ~[PC] Say a prayer or two for me. I want this as a base of operations and an income stream, but I know that managing a successful Theater is a great deal of work.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1490 + ~Class("c-aran",FIGHTER_ALL)~ + ~[PC] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... if something stands between you and your goal, whack it with something until it goes away.~ DO ~SetGlobal("c-aranbs","LOCALS",2)~ + a1491 + ~!Class(Player1,BARD_ALL)~ + ~[PC] I know this is not really what I spent my life training for. But right now we need resources, and having the Theater will allow us more freedom to operate.~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1509 /* c-rightboss */ END /* Easter Egg for Multi-stronghold folks who get all strongholds at once */ IF ~Global("c-aranas","LOCALS",1)~ THEN BEGIN a1478 SAY ~[ARAN] Denir's Dextrous Digits, I am goin' crazy. What wi' all o' these strongholds to maintain, there be so much paperwork that I be usin' potions o' healin' on th' paper cuts. An' some idiot decided it were unkind to kill animals an' trees to use for buildin' parchment an' vellum, so now I have that ranger cabin an' druid grove on verbal contract.~ = ~[ARAN] That senchal at th' Keep be whinin' about taxes not addin' up, th' Thieves Guild dues we paid twice on account o' "clerical error", an' somehow those bloody apprentices wanted spell components similar to the temple's order so th' order components got cross-shipped. Don't rightly know how more messed up this can get.~ = ~[ARAN] Hey, find me somethin' to kill, eh? I am shut o' paperwork for a good while. Or mayhap get me a nice personal assistant, what can keep up with th' filin'.~ ++ ~[PC] You asked to help, remember? Don't come crying to me now.~ DO ~SetGlobal("c-aranas","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1496 ++ ~[PC] You have done a good job, and you will get through this. Just clear your head, take a day or two off, and then focus on getting things back in order.~ DO ~SetGlobal("c-aranas","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1497 ++ ~[PC] If you can't handle it, we will find someone else to do the job.~ DO ~SetGlobal("c-aranas","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1510 END IF ~~ a1479 SAY ~[ARAN] Right, then. Note to self... don't mess wi' a ranger and <PRO_HISHER> territory, on account o' they will be right snippy about it. I will be goin' about my business, eh?~ IF ~~ THEN EXIT END IF ~~ a1480 SAY ~[ARAN] Right nice o' you, all things considered. Me, I'd be wonderin' how to get someone extra hired on, makin' sure your wishes got done while you be runnin' about Faerun huntin' mad mages and miscellaneous mischievous maniacs. But that be me, always thinkin' an' talkin' way too much.~ IF ~~ THEN EXIT END IF ~~ a1481 SAY ~[ARAN] Look, it will turn out fine for you, no matter what. Just a bit o' occasional paperwork, some meetin's, an' mayhap some decisions to make later on, eh? We get a base o' operations, mayhap some coin, an' who knows what else. Worst comes to worst, we walk away clean and let fate take a hand.~ IF ~~ THEN EXIT END IF ~~ a1482 SAY ~[ARAN] Takin' advantage o' the Order o' the Radiant Heart sounds right smart. It be up there among th' top "smart" things to do, alongside rippin' the mask off a Lord o' Neverwinter, crossin' the Shadow Thieves, takin' a piss on a Dryad's oak, an' havin' wild sex wi' random dragons.~ IF ~~ THEN EXIT END IF ~~ a1483 SAY ~[ARAN] Sounds just like those wet-behind-the-ears recruit squires I seen cleanin' privys. The Order's goin' to like havin' us around right fine.~ IF ~~ THEN EXIT END IF ~~ a1484 SAY ~[ARAN] Was this th' part where we break into low evil chuckles, followed by increasin'ly disturbin' laughter, followed by a thunderclap an' some ominous music?~ IF ~~ THEN EXIT END IF ~~ a1485 SAY ~[ARAN] Well, I surely don't know what wanderin' around in a glorified fishbowl randomly crushin' parts o ' towns will do for th' greater good, but it sure will be fun tryin' not to smash the thing up on th' landin's. At the very least, it ought to be good for a laugh or two.~ IF ~~ THEN EXIT END IF ~~ a1486 SAY ~[ARAN] Auril's Icy Aura, remind me not to piss you off, eh? I have heard o' cold, but th' last bastards what went for those tactics were Iron Throne.~ IF ~~ THEN EXIT END IF ~~ a1487 SAY ~[ARAN] Savras' Foresight, I understand right fine. An' I bet it will be a mite useful to have this place. Tell you what, you find soemthin' I can do wi' my little quill, an' I will help out.~ IF ~~ THEN EXIT END IF ~~ a1488 SAY ~[ARAN] Well, I'll give it a shot. Somehow, I just hope they don't ask too many questions on how I get th' information or th' resources. Could be just a mite ticklish, eh?~ IF ~~ THEN EXIT END IF ~~ a1489 SAY ~[ARAN] Savras' Foresight, forewarned be forearmed, or somethin' like that. Runnin' this place will take information, good record keepin' an' an eye for detail. I be just th' right man for th' job. Now, where do they keep th' strong drink around here? I'll be wantin' to take a right good inventory...~ IF ~~ THEN EXIT END IF ~~ a1490 SAY ~[ARAN] I'm right on th' prayer angle, <CHARNAME>. But if you were afraid o' a little bit o' hard work, well... you'd be dead, an' some blighted arse would be makin' life hell for me by sendin' out waves o' murderin' bastards to set up bathtubs o' blood for a nice afternoon wash. So, all things considered, a little paperwork an' a few decisions be a small price to pay.~ IF ~~ THEN EXIT END IF ~~ a1491 SAY ~[ARAN] Hey, do I get royalties on that? On account o' I think most of the sly bastards we be fightin' seem to have th' same idea. Well, except for th' ones who give some long monologue about how they be the baddest arseholes around, an' we will be sorry we tangled wi' 'em. Poor sods.~ IF ~~ THEN EXIT END IF ~~ a1492 SAY ~[ARAN] Now, don't you be gettin' all star an' stage struck, <CHARNAME>. Next thing you know, you'll be dumpin' all your gold into a massive production of 'Lyra, the Masked Lady of Destiny; a Love Story In Three Acts', fendin' off demands from th' Actor's Guild an' th' Stage Workers Union. Worse, you might have to be dealin' with publicity agents.~ IF ~~ THEN EXIT END IF ~~ a1493 SAY ~[ARAN] Good entertainment? You be kiddin' me, right? The average person out there be more interested in watchin' th' drama o' whose daughter slept wi' whom, an' how many gibberlin's a man can be run overby in an hour. Hey... that's not bad. Mayhap we got a new show, cheap to produce. Sell tickets, then put a group o' commoners out in a field armed wi' butter knives, an' send in a wave o' gibberlin's. We could call it "Survivor: Athalka".~ IF ~~ THEN EXIT END IF ~~ a1494 SAY ~[ARAN] Sharess' Sensual Caress, what ever put that fool idea into your head? Now, if you just send 'em over to me, I'll draw up a list o' measurements, an' such. Costumes don't rightly sew themselves into proper fit, you know. Busy, busy time. Knock before you enter th' wardrobe room, eh?~ IF ~~ THEN EXIT END IF ~~ a1495 SAY ~[ARAN] Waukeen's Wanderin' Worshipers, you never did no community theater productions, I take it.~ IF ~~ THEN EXIT END IF ~~ a1496 SAY ~[ARAN] Sure, sure... kick a man when he be down. Right. I can fix it up. You go on conquerin' Faerun, an' I'll just be in th' back, sortin' out supply requisitions.~ IF ~~ THEN EXIT END IF ~~ a1497 SAY ~[ARAN] Right you are. Tymora's Bright Smile, I done had worse troubles to iron out, like that time th' 'Fist accidentally took a contract for both protectin' an' sackin' the same fiefdom. No worries. I will take a breather, an' get back on it as soon as my head clears.~ IF ~~ THEN EXIT END IF ~~ a1498 SAY ~[ARAN] Hey, I studied enough magic to know how important that blighted Gond-Meets-Mystrul-an'-Mystra construct be. I just don't rightly see how you are goin' to be able to leverage it against th' bastards we are fightin' right now. You can't hide in an' among th' Planes when your opponents have eyes everywhere, an' when we don't know where they are, we can't just drop in unannounced. But I guess you be right. It is a damned fine place to take a nap, at least.~ IF ~~ THEN EXIT END /* Romantic Encounters: Valygar item */ IF ~~ a1499 SAY ~[ARAN] That be a right fine piece o' jewelry you be wearin', <CHARNAME>. Now, where did you get it, eh?~ IF ~InParty("valygar")~ THEN DO ~SetGlobal("c-aljewelv","LOCALS",1)~ GOTO a1500 IF ~!InParty("valygar")~ THEN DO ~SetGlobal("c-aljewelv","LOCALS",1)~ GOTO a1501 END IF ~~ a1500 SAY ~[ARAN] Valygar seems to like it right fine, too. At least, he has an eye out for it when it be on you.~ IF ~~ THEN EXIT END IF ~~ a1501 SAY ~[ARAN] I just never did see when you got it, or where, or why. But it suits you right well, it does. Hey, why th' red face?~ IF ~~ THEN EXIT END /* c-anythingiwant */ IF ~~ a1503 SAY ~[ARAN] Bane's Broken Bones, you be a right strong <PROMANWOMAN>. Got it. I'll set to checkin' how we can raise coin out o' this here operation right quick.~ IF ~~ THEN EXIT END /* c-whateverservesgood */ IF ~~ a1504 SAY ~[ARAN] Well, you be powerful enough to use it as a tool for whatever you want to accomplish, eh? Have someone send over th' contracts an' paperwork, an' I'll get right on seein' what be what.~ IF ~~ THEN EXIT END /* c-tieddown */ IF ~~ a1505 SAY ~[ARAN] Jealous? Sons o' th' Seldarine, what gave you that bloody idea? I don't want no target on my back, an' all those decisions. Hells, if I wanted that, I would have struck out on my own and built my own little mercenary company! There be enough hassles just bein' on staff, let alone runnin' th' show!~ IF ~~ THEN EXIT END /* c-takescoin */ IF ~~ a1506 SAY ~[ARAN] Ubtao's Great Beginnin', I understand right fine. I don't question the decision, I just wanted to know what you be wantin' to do. When you take charge o' somethin' there always be paperwork. That's where havin' me along comes in right handy, eh?~ IF ~~ THEN EXIT END /* c-minoraccident */ IF ~~ a1507 SAY ~[ARAN] Velsharoon's Vicious Vampires, I'll be sayin' more than a prayer or two. Those "minor accidents" usually come in th' form o' stabbin' yourself while ingestin' poison, havin' tied yourself to a chair, an' fallin' out a third story window two or mayhap three times.~ IF ~~ THEN EXIT END /* c-strongarmthem */ IF ~~ a1508 SAY ~[ARAN] Well, I have your sword arm to back me up. Sometimes, a little subtle action is useful. Other times, the situation calls for the trademark "Whitehand Technique"... kill anything that moves, and then resurrect anyone who we did not mean to kill.~ IF ~~ THEN EXIT END /* c-rightboss */ IF ~~ a1509 SAY ~[ARAN] Look, <CHARNAME> you don't owe me no reasons. I just thought I should kick in wi' handlin' the paperwork, is all.~ IF ~~ THEN EXIT END IF ~~ a1510 SAY ~[ARAN] Good. Talona's Mericless Poisons, I thought handlin' a trade coster or a mercenary regiment was tough. This... well, let's just say I'd rather you strip me down an' send me arse first into a nest o' kobolds.~ IF ~~ THEN EXIT END edit: ok, i have a favorite. i don't usually, but this time, I do. So it probably is rechanneled from some other work, because it cracked me up, which means it probably is some line from SportsNight, West Wing, StarGate:all of them, StarTrek:all of them, Burn Notice, The Mentalist, Monk, Psyche, Remington Steele, Moonlighting, or another snappy banter show that has bouncing around in my head for years: ++ ~[PC] I think I can handle a theater company. After all of the dangerous beasts we have clobbered, how hard could handling a group of stage musicians, actors, and suppliers possibly be?~ DO ~SetGlobal("c-aranbs","LOCALS",2) RealSetGlobalTimer("c-aranstrong","GLOBAL",180)~ + a1495 IF ~~ a1495 SAY ~[ARAN] Waukeen's Wanderin' Worshipers, you never did no community theater productions, I take it.~ IF ~~ THEN EXIT END
×
×
  • Create New...