Jump to content

Photo

Levels of Detail - adding too much to simple interactions

flirts aran whitehand dialog coding mod development mature content

5 replies to this topic

#1 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 7097 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 26 June 2010 - 11:32 AM

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.

Edited by cmorgan, 19 November 2011 - 03:56 PM.

I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#2 Marla Wolfblade

Marla Wolfblade
  • Members
  • 22 posts

Posted 26 June 2010 - 02:05 PM

++ ~[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

She only has one hand free.

~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

myself. In a couple other places too.

+ ~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

One too many i's. In the line below that one too.

+ ~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

know

Just the obvious ones I noticed.

I love this idea of having so much variety, particularly as I'm one of those who reloads each conversation several times to see if I missed anything. It must be a lot of work, but from a player's perspective, it's certainly appreciated.

Edited by Marla Wolfblade, 26 June 2010 - 02:06 PM.


#3 RavenBlack

RavenBlack

    Proofreading Ninja

  • Members
  • 272 posts
  • Gender:Female
  • Location:Vermont

Posted 27 June 2010 - 05:37 PM

Feel free to correct me (since I don't know much about coding in the first place), but since the HasItemEquiped tags have a hand in deciding what the PC is wearing and thus which part of the big ol' scene you get, shouldn't they be referencing the PC and not Aran?

#4 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 7097 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 27 June 2010 - 07:31 PM

Thanks for the typo report- I'll start with that on round 2, tomorrow afternoon! Sorry I wasn't clear on the level of detail talk above. I love this level of detail, which is why I keep doing strange things like taking a sub-branch of a sub-branch that plays only when the moon is blue, and making sure that if a player has it, it gets followed up. But I am writing this out with open coding and hoping the examples are useful to other modeets, so I feel I need to remind folks why most material out there does not do this!

And speaking of that, RavenBlack, you are correct. I am checking for Aran's armor, and I should be checking PC's. My punishment for silly coding is now I must come up with a branch that checks for Aran's armor in a fun interaction, without cribbing/overlapping Gavin's stuff. So, two branches on tap for tomorrow!
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#5 berelinde

berelinde

    The Typo Queen

  • Gibberlings
  • 8594 posts
  • Gender:Male
  • Location:New Jersey, USA

Posted 27 June 2010 - 07:51 PM

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.

That's probably a good way to go about it. Go ahead and let the actual romance dialogues be linear. The player will see these only once per game anyway. She'll see the flirts a great many times, however, so you need variety. I'll post two repeating romance dialogues in the TATW workroom so you can see working examples of repeatable semi-random code. It does take time to write, but far less time than it would to write 6-8 equivalent dialogues.
Must. Write. Faster.

cmorgan: "None of us get old around here, just more proficient at doing more stuff with less braincells!"

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum

#6 fruit loops

fruit loops
  • Members
  • 8 posts
  • Gender:Female

Posted 30 June 2010 - 08:37 AM

sorry I never have anything useful to contribute (this really makes me wish I could code...or even understand half of the stuff you post) but I wanted to say every time you post a new flirt I get more and more excited about this mod and I'm super glad you haven't fallen off the modding planet onto the RL planet permanently



Reply to this topic



  



Also tagged with one or more of these keywords: flirts, aran whitehand, dialog coding, mod development, mature content

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users