Jump to content

Search the Community

Showing results for tags 'random number'.



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 4 results

  1. Celvan isn't an I_C_T or even a regular commentary, just a bit-player (well of *course* he is a bit-player; it is a computer game, after all) who has a chance of saying things about party members he really shouldn't know. He's fun, in a quick-check-a-couple-of-times-and-then-forget-he-exists kind of way. His standard code gives a 50% chance of playing a party member's info; example: Minsc CODE IF WEIGHT #1 /* Triggers after states #: 9 even though they appear after this state */ ~See("Minsc") InParty("Minsc") !StateCheck("Minsc",STATE_SLEEPING) RandomNum(2,1) Global("celvanminsc","AR0300",0)~ THEN BEGIN 0 // from: SAY ~"There once was a warrior true, with the sense knocked out of him, too. but in a hamster he found, some wisdom profound, and now where goes he goes his Boo!"~ /* #25448 */ IF ~~ THEN DO ~SetGlobal("TalkedToCelvan","LOCALS",1) SetGlobal("celvanminsc","AR0300",1)~ EXTERN ~MINSCJ~ 48 END Most modders seem to want their code to always play once, leaving out the RandomNum(2,1). I'm sticking to BioWare™ Standard, though - it is more fun to see all the possible reactions by playing the lottery with him. He'll even comment on PC. The format is limerick, the topics are things he shouldn't be able to know, and the poetic standards are lower than low. If you have wishes for masterpieces of Iambic Pentameter, this is definitely *not* the place for it! To add him in, CODE /* Crazy Celvan Encounter */ CHAIN IF WEIGHT #-1 ~InParty("c-aran") See("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("c-arancelvan","AR0300",0)~ THEN CELVAN c_celvanreaction ~"There once was a scribe, so I'm told, whose cooking was warm, jokes quite old. || whose cooking was warm, humor old. In combat a lion, in bed not half tryin', But never a word less than bold!"~ DO ~SetGlobal("c-arancelvan","AR0300",1)~ == C-ARANJ ~[ARAN] Helm's Heavy Hand, that lad knows more than be good for his health, eh? Mayhap listenin' at one too many keyholes.~ END CELVAN 1
  2. When it is set up to run on a townsperson/guard with a designated dialog file, and that file is all RandomNumber() and all states use simple IF ~~ THEN EXIT triggers. Luckily, following an exact copy and rebuild of BioWare™'s coding works great. Extend the dialogs with a RandomNum(2,1) and don't fill ot the second condition so that it has a 50% chance of firing, and then have at it... APPEND DMTOWN1 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1774 SAY ~By Helm... yer outfitted for battle. I'd give my right arm for some o' that gear.~ IF ~~ THEN DO ~SetGlobal("dmtown1aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1771 // chain END END APPEND DMTOWN2 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1773 SAY ~Ay, now... you looks like a sword for hire, you does. You lookin' for some work?~ IF ~~ THEN DO ~SetGlobal("dmtown2aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1772 // chain END END APPEND GMTOWN01 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1775 SAY ~Is that spitting really becessary? This is not the slums, you know.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1779 // join END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1776 SAY ~Mmm...I haven't been to one of the spa tubs in ages. It's the only luxury we, here, in the city really have.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1780 // chain END END APPEND GMTOWN02 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1777 SAY ~You, there! You look like the fighting type! Are you in the army? Can I join through you?~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1781 END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1778 SAY ~I am here to join the glorious army of Amn! There are victories to be had and both coin and women to earn!~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1782 END END APPEND ~C-ARANJ~ IF ~~ a1779 SAY ~[ARAN] I don't rightly think a little bit o' moisture is goin' to hurt anythin' around here. An' dust be dust, city or country. But I take your point, it were blighted rude o' me.~ IF ~~ THEN EXIT END IF ~~ a1782 SAY ~[ARAN] Ah, that be th' call o' th' Wild Recruiter. "Join th' Army! Coin, Wine, Women, Song, Travel!" I'd be changin' that around, a mite. "Join th' Army! Lice! Weeks Of Tedious Boredom Punctuated By Moments O' Sheer Terror An' Mortal Danger! All th' Ditches you can Dig! Travel to New Places, Meet New People, Then Kill 'Em! Wine, Women, an' Song subject to your own coin, an' we don't pay for none o' th' problems what result." Then again, it probably wouldn't bring in young idiots what think duty in a far-flung colony be a walk in th' park.~ IF ~~ THEN EXIT END END CHAIN ~C-ARANJ~ a1771 ~[ARAN] They say th' gear don't make th' man. But it do help, eh?~ == DMTOWN1 ~[DMTOWN1] Take it from one who spent a little time in Maztica. Good gear saves lives.~ == ~C-ARANJ~ ~[ARAN] Brother, I hear you. You spend a long time?~ == DMTOWN1 ~[DMTOWN1] Two years before I came to my senses and went back to civilian life. I'll take my chances with the dangerous nightlife around here. At least that I can predict.~ == ~C-ARANJ~ ~[ARAN] Well, good luck to you. I don't think i could take th' quiet life for too long, but it seems to have agreed wi' you.~ == DMTOWN1 ~[DMTOWN1] Good luck and a pearl to you.~ EXIT CHAIN ~C-ARANJ~ a1772 ~[ARAN] Why, do you know o' any?~ == DMTOWN2 ~[DMTOWN2] Well, there's always some hirin' o' watchmen, and sometimes they need a bouncer at some inns.~ == ~C-ARANJ~ ~[ARAN] So, long story short, you got nothin'.~ == DMTOWN2 ~[DMTOWN2] Hey, don't get touchy. We were just makin' conversation!~ == ~C-ARANJ~ ~[ARAN] Civilians. Can't live with 'em, can't live wi' out 'em. An' if you take 'em out back to beat some sense into 'em, you end up wi' a tenday in jail an' a stiff fine.~ EXIT CHAIN ~C-ARANJ~ a1781 ~[ARAN] Why, sure thing. I can help you out right quick. You ever heard o' th' Jerva's Jerkins? They be th' toughest, most fierce company Amn has to be offerin'. An' I can get you an introduction, for only 5 gold.~ == GMTOWN02 ~[GMTOWN02] I don't have that much. What will 3 gold get me?~ == ~C-ARANJ~ ~[ARAN] Well, I could hook you up wi' a lad what served in th' regulars in Maztica...~ == GMTOWN02 ~[GMTOWN02] I really don't have more than 3 copper pieces to spare. What will that get me?~ == ~C-ARANJ~ ~[ARAN] For 3 coppers, I can start your hazin' ritual right away, by takin' your coin an' tossin' both you an' your bloody coin in th' nearest latrine.~ EXIT CHAIN ~C-ARANJ~ a1780 ~[ARAN] Now that be true enough. Though I doubt there be anythin' around here like those in Calimport, eh?~ == GMTOWN01 ~We have a much more civilized approach to bathing here in Amn. Although it does not appear that you are familiar with the concept of bathing.~ == ~C-ARANJ~ ~[ARAN] Bane's... right. Don't suppose it would do us much good if I respond. Shuttin' up an' soldierin'.~ EXIT
  3. 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.
  4. Ah, the Flirtpack - feel the love. In my opinion, a really good addition to your BG2 game, if you are pursuing an in-game romance. From a roleplaying perspective, why does the player have to initiate everything? If the attraction is mutual, why wouldn't the NPC in question try a little to let you know that you might just be a candidate for the position of That Special Someone? Completely useless for powergamers and folks who want to play quests without the distractions of additional banter. Also not the best addition for folks who want to keep to the "early teen years" rating (though the 10 - 14 year olds I teach know more about hooking up than one would ever want to believe). But Aran is designed as a Companion Mod, so he should probably flirt a little bit. Or alot, as the case may be. WARNING: Soap Opera Style Innuendo And Language Present. If You Have To Ask If You Are Old Enough To Read This, You Aren't. So, let's hit source material for code. We are going to work with traified code, where the language that the player sees had been replaced with translation references, so that we are not unduly influenced by his text. Traified code sets up this: SAY ~Oh, you big strong man, you~ = SAY @142 For a full rundown on traification (creation of translator files from hardcoded .d files so that different languages can be used by the same code) see [ url= get the weidu docs anchor and insert here ]this documentation[ /url ] JCompton's FlirtPack, setup-npcflirt.tp2 EXTEND_TOP ~aerie.bcs~ ~npcflirt\aeriesoainitflirt.baf~ JCompton's FlirtPack, aeriesoainitflirt.baf IF Global("FWAerieFlirtsStart","LOCALS",0) GlobalGT("Lovetalk","LOCALS",8) OR(2) Global("AerieRomanceActive","GLOBAL",2) Global("AerieRomanceActive","GLOBAL",1) THEN RESPONSE #100 SetGlobal("FWAerieFlirtsStart","LOCALS",1) RealSetGlobalTimer("FWAerieFlirt","LOCALS",300) END IF RealGlobalTimerExpired("FWAerieFlirt","LOCALS") Global("FWAerieStartFlirtSOA","GLOBAL",0) G("FWDisableFlirts",0) InParty(Myself) !StateCheck(Player1,STATE_SLEEPING) G("SleptAerie",0) !Global("LoveTalk","LOCALS",19) !Global("LoveTalk","LOCALS",27) OR(2) Global("AerieRomanceActive","GLOBAL",2) Global("AerieRomanceActive","GLOBAL",1) See(Player1) CombatCounter(0) !See([ENEMY]) !Range([NEUTRAL],10) !AreaCheck("AR2100") !AreaCheck("AR2101") !AreaCheck("AR2102") !AreaCheck("AR2200") !AreaCheck("AR2201") !AreaCheck("AR2202") !AreaCheck("AR2203") !AreaCheck("AR2204") !AreaCheck("AR2205") !AreaCheck("AR2206") !AreaCheck("AR2207") !AreaCheck("AR2208") !AreaCheck("AR2209") !AreaCheck("AR2210") !AreaCheck("AR2400") !AreaCheck("AR2401") !AreaCheck("AR2402") THEN RESPONSE #100 SetGlobal("FWAerieStartFlirtSOA","GLOBAL",1) StartDialogueNoSet(Player1) Wait(1) END IF RealGlobalTimerExpired("FWAerieFlirt","LOCALS") Global("FWAerieStartFlirtSOA","GLOBAL",1) THEN RESPONSE #100 SetGlobal("FWAerieStartFlirtSOA","GLOBAL",0) RealSetGlobalTimer("FWAerieFlirt","LOCALS",2700) END IF RealGlobalTimerExpired("FWAerieFlirt","LOCALS") !CombatCounter(0) THEN RESPONSE #100 RealSetGlobalTimer("FWAerieFlirt","LOCALS",150) END So what is he doing here? In a general sense, he is setting up Aerie's script aerie.bcs with a set of commands that will cause the equivalent of a "PID" or "Force-Talk" at prearranged times. He has a few things that have become as close to canonical in mod authoring as can be had within such a disparate group of rugged individualists: In the first block, he checks for a potential or active Aerie romance, and sets a timer for progress. Notice it also doesn't start until the 4th lovetalk, so the player isn't tackled by Nympomaniac Aerie before they have gotten to know eachother a bit... In the second block, AreaCheck screening out of any places where flirting would be really silly: PC: "Heya, oh Drow-Disguised Aran... you look hot tonight" ARAN:"Sune's Sultry Sandals, girl, you want to blow our cover? Eh... well... didn't mean no... shouldn't o' used "blow" an' "cover", in th' same sentence. Damn your bright eyes, stop laughin' like that, you will call in th' entire Underdark!" Same block, G("FWDisableFlirts",0) checked as a screening variable so that if a player finds the flirts not to their liking they can shut them off. A snippet of the related .d file JCompton's FlirtPack, aeriesoaflirt.d // Active=1 initiated flirts APPEND AERIEJ IF ~Global("FWDisableFlirts","GLOBAL",0) Global("FWAerieStartFlirtSOA","GLOBAL",1) See(Player1) !StateCheck(Player1,STATE_SLEEPING) CombatCounter(0) Global("AerieRomanceActive","GLOBAL",1) !AreaCheck("AR2100") !AreaCheck("AR2101") !AreaCheck("AR2102") !AreaCheck("AR2200") !AreaCheck("AR2201") !AreaCheck("AR2202") !AreaCheck("AR2203") !AreaCheck("AR2204") !AreaCheck("AR2205") !AreaCheck("AR2206") !AreaCheck("AR2207") !AreaCheck("AR2208") !AreaCheck("AR2209") !AreaCheck("AR2210") !AreaCheck("AR2400") !AreaCheck("AR2401") !AreaCheck("AR2402")~ THEN BEGIN aerieinitflirtbase1 SAY @0 IF ~~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriethanks IF ~RandomNum(10,1)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerieshuffle IF ~RandomNum(10,2)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriestandclose IF ~RandomNum(10,3)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerieeyeing IF ~RandomNum(10,4)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerieshoulder IF ~RandomNum(10,5)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriecircus IF ~RandomNum(10,6)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriesonice IF ~RandomNum(10,7)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerielistening IF ~RandomNum(10,8)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerienowonder IF ~RandomNum(10,9) AreaType(OUTDOOR)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriepointstars IF ~RandomNum(10,10) ReputationGT(Player1,15)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aerienice2people IF ~RandomNum(10,10) ReputationLT(Player1,8)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO aeriemean2people IF ~HPLT(Player1,15)~ THEN DO ~IncrementGlobal("FWAerieRandFlirt","LOCALS",1)~ GOTO lowhp1 END IF ~~ aerienice2people SAY @590 IF ~~ EXIT END IF ~~ aeriemean2people SAY @591 = @592 IF ~~ EXIT END IF ~~ lowhp1 SAY @589 IF ~~ THEN DO ~ReallyForceSpell(PLAYER1,CLERIC_CURE_MEDIUM_WOUNDS)~ EXIT END IF ~~ aeriethanks SAY @586 IF ~~ THEN EXIT END IF ~~ aeriepointstars SAY @585 IF ~~ EXIT END IF ~~ THEN BEGIN aerielistening SAY @400 = @401 IF ~~ THEN EXIT END IF ~~ THEN BEGIN aerienowonder SAY @402 = @403 IF ~~ THEN EXIT END and a little later on, ones created for the player to initiate: // PC-initiated flirts: Active=1 IF ~Global("FWDisableFlirts","GLOBAL",0) IsGabber(Player1) CombatCounter(0) GlobalGT("Lovetalk","LOCALS",8) !Global("LoveTalk","LOCALS",19) !Global("LoveTalk","LOCALS",27) Global("AerieRomanceActive","GLOBAL",1) !AreaCheck("AR2100") !AreaCheck("AR2101") !AreaCheck("AR2102") !AreaCheck("AR2200") !AreaCheck("AR2201") !AreaCheck("AR2202") !AreaCheck("AR2203") !AreaCheck("AR2204") !AreaCheck("AR2205") !AreaCheck("AR2206") !AreaCheck("AR2207") !AreaCheck("AR2208") !AreaCheck("AR2209") !AreaCheck("AR2210") !AreaCheck("AR2400") !AreaCheck("AR2401") !AreaCheck("AR2402")~ THEN BEGIN aerieflirtbase1 SAY @18 = @20 IF ~RandomNum(4,1)~ THEN REPLY @19 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO prettyaerie1 IF ~RandomNum(4,2)~ THEN REPLY @19 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO prettyaerie1 IF ~RandomNum(4,3)~ THEN REPLY @19 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO prettyaerie2 IF ~RandomNum(4,4)~ THEN REPLY @19 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO prettyaerie3 IF ~RandomNum(4,1)~ THEN REPLY @25 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO nuzzle1 IF ~RandomNum(4,2)~ THEN REPLY @25 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO nuzzle1 IF ~RandomNum(4,3)~ THEN REPLY @25 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO nuzzle2 IF ~RandomNum(4,4)~ THEN REPLY @25 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO nuzzle2 IF ~RandomNum(4,1)~ THEN REPLY @501 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO hug1 IF ~RandomNum(4,2)~ THEN REPLY @501 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO hug2 IF ~RandomNum(4,3)~ THEN REPLY @501 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO hug3 IF ~RandomNum(4,4)~ THEN REPLY @501 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO hug4 IF ~G("FWAerieBadTouch",0)~ THEN REPLY @29 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO badtouch1 IF ~G("FWAerieBadTouch",1)~ THEN REPLY @29 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO badtouch2 IF ~RandomNum(4,1)~ THEN REPLY @33 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO aerierobe1 IF ~RandomNum(4,2)~ THEN REPLY @33 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO aerierobe2 IF ~RandomNum(4,3)~ THEN REPLY @33 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO aerierobe3 IF ~RandomNum(4,4)~ THEN REPLY @33 DO ~IncrementGlobal("FWAerieFlirt","GLOBAL",1)~ GOTO aerierobe1 <<etc., etc.>> These bring in another set of ideas which have become pseudo-canonical in mod authoring: FLIRTS NOT TALKS. Initiation from the NPC = line, silent transition to a new state, response, exit. From the PC = line, player chooses an action, NPC gives response, exit. Otherwise, they are LoveTalks or Banters With Benefits. Use of IncrementGlobal() to track the number of flirts. Other mods, like berelinde's Gavin, Jastey's Ajantis, and a whole raft of other mods that track the PC responses (both positive and negative) have expanded that idea using IncrementGlobal("myGlobal","GLOBAL",1) and IncrementGlobal("myGlobal","GLOBAL",-1) to track player responses as seen from Use of RandomNum(#,#) to generate varied responses to the same basic action/dialog path taken by the player. Use of a "toggle" to turn a specific state on and then off again via script. NOTE: The Flirt Pack uses BioWare style toggles, standard for several years of i.e. modding, setting them active and then inactive via script. Modern usage is usually the safer "toggle on in script, toggle off and set timer in dialog". There are positives and negatives for both ways of doing this, but the current "industry standard" says that the best way to ensure that everything you have done in your own mod works correctly is to use dialog to close the variable as mauch as possible. So why don't we just do exactly what JCompton did, copying the code, and swapping in new values? I mean, why mess with success? Well, basically, that is what we are doing. But we can't just crib the code wholesale; for one thing, the package was coded before every NPC and their brother had PIDs. Look carefully at the player initiated flirts, and you see a conditionally modified PID. With IsGabber(Plaayer1) and then a second condition, JCompton switches in a new equivalent of a PID based on the globals and situation; for another look at this, look up the way Ajantis' PID is set up by Jastey in BG1NPC based on romance/no-romance conditions. So we would have hassles with Aran's PID. For our usage, we will borrow most of these ideas and reformat them into two separate sets of materials, one accessed as part of the PID made as a decision led from a single state, and the NPC-initiated flirts set up as an independent group of talks on thier own modifiable timer. For existing examples of that kind of work, here is an example from berelinde's code development in Gavin (the BG content, as the BG2 content is not yet available): IF InParty(Myself) TimeOfDay(DUSK) AreaType(OUTDOOR) Global("B!GavinDuskFlirt","GLOBAL",0) See(Player1) !See([ENEMY]) CombatCounter(0) !Global("B!DisableFlirts","GLOBAL",1) !Global("B!GavinQuietLover","GLOBAL",1) Global("B!GavinRomanceMatch","GLOBAL",1) !Global("B!GavinWoman","GLOBAL",1) //Gavin won't conduct his romance while he's female !StateCheck("B!GAVIN",CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 SetGlobal("B!GavinDuskFlirt","GLOBAL",1) PlaySong(0) PlaySound("BGAV_SS") StartDialogNoSet(Player1) END firing the related .d, CHAIN IF ~Global("B!GavinDuskFlirt","GLOBAL",1)~ THEN ~B!GAVINJ~ BGavinDuskFlirt ~You know, <CHARNAME>, there was a time, not long ago, when the approach of evening would fill me with dread. I would watch the sun sinking on the horizon, and I would not see the beauty of the sunset, but the mockery of the dawn. There was no promise of a new day, just the cold emptiness of night.~ = ~I never realized how beautiful the sunset could be.~ DO ~SetGlobal("B!GavinDuskFlirt","GLOBAL",2)~ EXIT Here we see some modern flirt components: PlaySong(0) and PlaySound("myWAV") to stop background music and play a romance-related sound cue Highly tailored conditions for some flirts, so that they respond directly to the game situation (TimeOfDay, AreaType, added conditional blockers for waering a Girdle of Gender Change, etc.) Slightly longer flirts, with more speech than action (in this case). Let's use most of these ideas, both Old Skool and Modern. First up, let's set up Aran a good batch of what Friends® character Joey would call "Heya, how YOU doin'" materials. Playing With Ideas First up, an addition of two swap in/swap out lines to ~C-ARANJ~ to be integrated into a few friend talks and love talks, but mostly into the PID: /* Stop or Restart Flirting Duo */ IF ~Global("c-aranflirtstop","GLOBAL",0) OR(2) Global("c-aranromance","GLOBAL",1) Global("c-aranromance","GLOBAL",2)~ THEN REPLY ~[PC] You have to stop coming up to me and flirting. I do not want that behavior to continue.~ + c-aranrestopflirts IF ~Global("c-aranflirtstop","GLOBAL",1) OR(2) Global("c-aranromance","GLOBAL",1) Global("c-aranromance","GLOBAL",2)~ THEN REPLY ~[PC] You do not pay attention to me the way you used to, Aran. I miss your company.~ + c-aranrestartflirts /* Restart Flirting Duo Finished */ IF ~~ c-aranrestopflirts SAY ~[ARAN] Tymora's against me today, I see. She's a fickle one, that one. Right. Business only. Got it.~ IF ~~ THEN DO ~SetGlobal("c-aranflirtstop","GLOBAL",1)~ EXIT END IF ~~ c-aranrestartflirts SAY ~[ARAN] Sune's... well, I'd be a liar if I said I wasn't thinkin' about it. Can't figure if you want me to express appreciation, or not. Women. Naught but trouble, they are.~ IF ~~ THEN DO ~SetGlobal("c-aranflirtstop","GLOBAL",0)~ EXIT END These will allow a player eligible or in the romance to start and stop Aran initiating flirting. we could go back and make these more interesting, but let's move on for now. Instead of relying on lots of conditions and checks in the J-File, we will set up most of the action via script. We set up four blocks in the BCS. We are also going to steal an idea from Lord Ernie and Bri's Tashia, and create a blocking variable that will send things off if PC and Aran are in a fight, using c-aranfight. We also want a bunch of these - some players like flirting, others don't. But on Mega Installs, things tend to run out, or repeat. So let's put a whole bunch of random entries, to spice thins up a little. Unless they are incredibly flirt-happy, no person will see all those in one game; but that is even better, as Aran will suprise folks if someone actually tries him a second time. Reminder - area list for BG2 The first block on C-ARAN.BCS, setting up when Aran feels like he can try his hand at a flirt or two: /* Set Up Flirting After 3 FTs + 3 LTs */ IF Global("c-aranpcflirtstart","GLOBAL",0) GlobalGT("c-aranfriendbg2","GLOBAL",6) GlobalGT("c-aranrombg2","GLOBAL",6) OR(2) Global("c-aranromance","GLOBAL",1) Global("c-aranromance","GLOBAL",2) THEN RESPONSE #100 SetGlobal("c-aranpcflirtstart","GLOBAL",1) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT) END and if things get going pretty well on the flirting front, advance the PDAs... /* Player likes to flirt, 12 interactions by either Aran or PC without shutting him down */ IF Global("c-aranpcflirtstart","GLOBAL",1) OR(2) Global("c-aranromance","GLOBAL",1) Global("c-aranromance","GLOBAL",2) GlobalGT("c-aranflirt","GLOBAL",12) THEN RESPONSE #100 SetGlobal("c-aranpcflirtstart","GLOBAL",2) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT) END Now the first set of flirts, lightweight, unsure of PDAs (Public Display Of Affection) /* Lightweight Flirts */ IF Global("c-aranpcflirtstart","GLOBAL",1) RealGlobalTimerExpired("c-aranflirttimer","GLOBAL") Global("c-aranflirtstop","GLOBAL",0) Global("c-aranfight","GLOBAL",0) OR(2) Global("c-aranromance","GLOBAL",1) Global("c-aranromance","GLOBAL",2) See(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) !StateCheck("c-aran",CD_STATE_NOTVALID) CombatCounter(0) !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("AR2400") // Mind Flayers in Underdark !AreaCheck("AR2401") // Cave Between Underdark and Exit from Underdark !AreaCheck("AR2402") // Kuo Toa in Underdark THEN RESPONSE #100 SetGlobal("c-aranlightflirt","GLOBAL",1) PlaySong(0) PlaySound("c-aranlt") StartDialogNoSet(Player1) END and the resulting toggled "light flirts" APPEND ~C-ARANJ~ IF ~Global("c-aranlightflirt","GLOBAL",1)~ THEN BEGIN c-aranflirtswithpc1 SAY ~(Aran's weatherbeaten face turns towards you, and he moves close by your side.)~ /* Random Light Flirts */ IF ~RandomNum(20,1)~ THEN GOTO c-aranflirt1hale IF ~RandomNum(20,2)~ THEN GOTO c-aranflirt1hearty IF ~RandomNum(20,3)~ THEN GOTO c-aranflirt1eyes IF ~RandomNum(20,4)~ THEN GOTO c-aranflirt1face IF ~RandomNum(20,5)~ THEN GOTO c-aranflirt1bust IF ~RandomNum(20,6)~ THEN GOTO c-aranflirt1legs IF ~RandomNum(20,7)~ THEN GOTO c-aranflirt1touch IF ~RandomNum(20,8)~ THEN GOTO c-aranflirt1joke IF ~RandomNum(20,9)~ THEN GOTO c-aranflirt1look IF ~RandomNum(20,10)~ THEN GOTO c-aranflirt1blush IF ~RandomNum(20,11)~ THEN GOTO c-aranflirt1ink IF ~RandomNum(20,12)~ THEN GOTO c-aranflirt1writing IF ~RandomNum(20,13)~ THEN GOTO c-aranflirt1tease1 IF ~RandomNum(20,14)~ THEN GOTO c-aranflirt1tease2 IF ~RandomNum(20,15)~ THEN GOTO c-aranflirt1tease3 IF ~RandomNum(20,16)~ THEN GOTO c-aranflirt1tease4 IF ~RandomNum(20,17)~ THEN GOTO c-aranflirt1tease5 IF ~RandomNum(20,18)~ THEN GOTO c-aranflirt1tease6 IF ~RandomNum(20,19)~ THEN GOTO c-aranflirt1tease7 IF ~RandomNum(20,20)~ THEN GOTO c-aranflirt1tease8 IF ~HPPercentLT(Player1,50)~ THEN GOTO c-aranflirt1heal END IF ~~ c-aranflirt1hale SAY ~[ARAN] (You notice Aran's gaze lingering on you. He grins...) Aye, there are some sights always worth seein', you know.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1hearty SAY ~[ARAN] <CHARNAME>, you are a fine figure o' a woman. Let me know if I can help out some way, eh?~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1eyes SAY ~[ARAN] I'm just checkin'. Your eyes are a damn sight finer than I ever did see.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1face SAY ~[ARAN] (His gaze lingers on your form, until he realizes that you are watching him...)~ = ~[ARAN] (and his eyes snap up to meet yours as his face flushes a dusky red.)~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1bust SAY ~[ARAN] There, now, you got a strap caught... hold on...~ = ~[ARAN] errr... well, perhaps you'd better move it yourself. I don't want to get slapped for my trouble, touchin' you there.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1legs SAY ~[ARAN] Sune's Bounty, you have legs what... hey... was I speakin' out loud? Sorry. Shuttin' up an' gettin' back to business.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1touch SAY ~[ARAN] (He hesitates, then lightly rests his hand on your shoulder for a moment.)~ = ~[ARAN] Aye, I do believe we are doin' passibly well.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1joke1 SAY ~[ARAN] So, what do ye call a male Drow without a girlfriend?~ = ~[ARAN] Homeless!~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1look SAY ~[ARAN] I'd be drinkin' to your beauty, <CHARNAME>. Problem is, there's not enough Rashemi firewine in th' whole of Amn to do you justice.~ = ~[ARAN] I'd sure like to try, though.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1blush SAY ~[ARAN] (His eyes trace your neck, and drop lower...)~ = ~[ARAN] I had somethin' to say, I really did. Just can't remember exactly what right now.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1ink SAY ~[ARAN] A drop o' ink may make a thousand men think. But one look at you, an' I can't think o' writin' anythin' at all.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1writing SAY ~[ARAN] I'm no bard, to be writin' poems. I work mostly balance sheets an' contracts. All I can say is, you are as pretty as an iron tight trade bond, wi' a 30 percent profit.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease1 SAY ~[ARAN] Just seein' what a big bad Bhaalspawn looks like when she's got a smudge o' food on her left cheek.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease2 SAY ~[ARAN] This is some adventure, eh? Most folks don't get past th' grand adventure o' "hey darlin', what's for dinner?", an yet here we all are wonderin' what's goin' to have *us* for dinner.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease3 SAY ~[ARAN] Right now, I bet you are askin' yourself what to do. My advice is get some darned good food, a bottle o' wine, an' perhaps a quick washup... don't mean no offense, but that last critter we took down left a trail o' blood or slime or somethin' right across your left sleeve there.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease4 SAY ~[ARAN] I'd pull your hair an' tease you, but I figure you'd take offense. So just pretend to be apprentice-age, an' I just pulled your hair. Wait a sec... Candlekeep, right? Never mind. You probably had your head in some book. Probably never kissed no boy nohow.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease5 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 ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease6 SAY ~[ARAN] You know, I think I hate you. Reasonably good lookin', pretty confident, commandin' all these powers, on your way to th' top... yep. Reminds me I ought to get off my sorry arse an' do some work for a change. Definitely hate you.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease7 SAY ~[ARAN] Say, have you seen a woman around here, about *so* high, about *so* for a figure, an' generally more dangerous an' beautiful than your average dragon? Oh, there you are, <CHARNAME>!~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1tease8 SAY ~[ARAN] I need to stand here more often. I look right good bein' your sword an' shield, so to speak.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END /* Low HP hijack of flirts early flirts */ IF ~~ c-aranflirt1heal SAY ~[ARAN] <CHARNAME>, you are hurt. Let me take a look at that, will you?~ IF ~RandomNum(5,1)~ THEN GOTO c-aranflirt1heal1 IF ~RandomNum(5,2)~ THEN GOTO c-aranflirt1heal2 IF ~RandomNum(5,3)~ THEN GOTO c-aranflirt1heal3 IF ~RandomNum(5,4)~ THEN GOTO c-aranflirt1heal4 IF ~RandomNum(5,5)~ THEN GOTO c-aranflirt1heal5 END IF ~~ c-aranflirt1heal1 SAY ~[ARAN] (Aran's rough hands are warm and gentle as he brushes them across your calves, seaching for damage)~ = ~[ARAN] Bloody hells, <CHARNAME>. I'm supposed to be protectin' you from this.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranheavyflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1heal2 SAY ~[ARAN] (Aran hesitates, careful not to touch you as he looks for damage)~ = ~[ARAN] Clangedden's Hammer, you are hurt right proper, you are. I'd massage you a mite, to reduce the stiffness, but not wi' those bruises.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranheavyflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1heal3 SAY ~[ARAN] (Aran's hands move across your shoulders, but his eyes catch yours and he stops suddenly.)~ = ~[ARAN] Selune herself is not so beautiful. Even wi' all this damage, I'm too distracted to think straight. We need to get you healed right quick...~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranheavyflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1heal4 SAY ~[ARAN] (His face draws close to your knees as he kneels and checks for cuts and bruises. His breath is warm and close.)~ = ~[ARAN] I'd be a sight happier inspectin' for damage without all this clothin' in the way... ~ = ~[ARAN] (Aran's face turns scarlet.) *Ahem*. Right, then... hand me that strip o' bandage until we get you some real healin'.~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranheavyflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END IF ~~ c-aranflirt1heal5 SAY ~[ARAN] (Aran's hands move close along your ribcage, his fingers gently but insistently probing.)~ = ~[ARAN] (Suddenly slipping through a torn section of clothing, his hand is close, warm, and intimate on your skin, rough but tender.)~ = ~[ARAN] I'm sorry. Didn't mean to be so forward. Just checkin' what's hurt, an all. I could kiss some o' that better, I think...~ IF ~~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranheavyflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT END Now on to the second set of flirts, more sure of PDAs (Public Display Of Affection). (In another few days, because they need some revision. And some completion.)
×
×
  • Create New...