Jump to content
cmorgan

"Roll Your Own Beta Pre-Beta Post-Alpha Pioneers"

Recommended Posts

Cool!

 

This: c-aransex=1

 

means I have not rechecked and retested the c-aranintimate settings on each of the actions, I think - originally, it was a binary toggle, but then I converted to the player suggestion of tracking intimacy levels by actions. I need to set up a block of time and look at each action/dialog and see if it has the equivalent intimacy levels.

Share this post


Link to post
originally, it was a binary toggle, but then I converted to the player suggestion of tracking intimacy levels by actions.

 

(Raises hand) Guilty. Thought it helped the flow of the romance. Hope it won't add too much work to your already full plate.

Share this post


Link to post

OK, I'm at a loss to figure out why I can't get the sparring banter. This is the block from the decompiled c-arand.bcs

IF
 Global("c-aranspar","GLOBAL",1)
 IfValidForPartyDialogue(Myself)
 !RealGlobalTimerNotExpired("c-arandreamtalk","GLOBAL")
 !RealGlobalTimerExpired("RE_DreamTimer","GLOBAL")
 !StateCheck(Myself,CD_STATE_NOTVALID)
 !StateCheck(Player1,CD_STATE_NOTVALID)
 OR(2)
AreaType(OUTDOOR)
AreaType(FOREST)
 !AreaType(DUNGEON)
THEN
 RESPONSE #100
SetGlobal("c-aranspar","GLOBAL",2)
SetGlobalTimer("c-aransmalltalk","GLOBAL",FIVE_TURNS)
RealSetGlobalTimer("c-arandreamtalk","GLOBAL",FIVE_TURNS)
PlaySong(0)
PlaySound("c-arnltl")
StartDialogNoSet(Player1)
END

 

c-aranspar=1

c-arandreamtalk does not exist

 

I've camped repeatedly outside Nalia's Keep. It's outdoor *and* flagged as a forest. Suggestions?

Share this post


Link to post

@B - Have you tried either reloading a previous save or going to a different outdoor map?

 

Edit: The reason I ask is because the variable set on my game, but the sparring talk didn't appear until I reloaded the game the next time. Hmm, don't think I included that in my list. Anyway, I believe it was one of those blasted dreams that hijacked it in my game, but after reloading it appeared.

Edited by piperb

Share this post


Link to post

I've tried it in the Umar Hills (Imnesvale) and the Umar Hills Ruins.

 

I'm going to try commenting out the !RealGlobalTimerNotExpired() line and see if I can get it then.

Share this post


Link to post

!StateCheck(Myself,CD_STATE_NOTVALID)

!StateCheck(Player1,CD_STATE_NOTVALID)

 

?

 

 

And a quick check on staggering timers for FT/LT/Flirts - we are chasing our tails trying to adjust this as we have let the player change all three variables however they want - and the conditions under which the things run change within the game and choices themselves. Bt assuming someone chooses the same value for FT, LT, and Flirt timers, how about something like this? The LTs now don't start until FT3 has fired, so even on a short-timer, 45 min. real time...

 

IF
Global("c-aranmatch","GLOBAL",0)		 // Not evaluated
Gender(Player1,FEMALE)				 // Player1 is female
InParty(Myself)						// Aran is here
!StateCheck(Myself,CD_STATE_NOTVALID)	// Aran is ok
!StateCheck(Player1,CD_STATE_NOTVALID) // Player1 is ok
!HasItemEquiped("belt05",Player1)		 // Girdle of sex change not on Player1
THEN
RESPONSE #100								// 100% of the time
	SetGlobal("c-aranmatch","GLOBAL",1)	// Matched
	SetGlobal("c-aranrom","GLOBAL",1)	// Aran is interested
		RealSetGlobalTimer("c-aranromtimeroffset","GLOBAL",1200) // wait 20 minutes real-time before starting the relevant timers
END

/* Please consider staggering your flirts and your dialogues. Flirts are nice when they break up long stretches between LTs. I suggest using non-standard values for the flirt timer so that it won't always coincide with a lovetalk. Instead of using 15min, 30min, 45min, 60min, 90min, and 120min, use 20min, 40min, 50min, 70min, 100min, and 140min. That way, odds of having the flirts line up with the talks is reduced. 
*/
IF
RealGlobalTimerExpired("c-aranromtimeroffset","GLOBAL")
Global("c-aransetupromtimers","GLOBAL",0)	 // Not evaluated
Gender(Player1,FEMALE)				 // Player1 is female
InParty(Myself)						// Aran is here
!StateCheck(Myself,CD_STATE_NOTVALID)	// Aran is ok
!StateCheck(Player1,CD_STATE_NOTVALID) // Player1 is ok
!HasItemEquiped("belt05",Player1)		 // Girdle of sex change not on Player1
THEN
RESPONSE #100
		SetGlobal("c-aransetupromtimers","GLOBAL",0
		RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)	// Minimum Real Time until first LT 
	RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT) // Tee up flirt timer 
END

With an offset of 20 minutes realtime on starting the timer, even with lots of flirts jumpstarting the romance talks...

 

...or, we reduce player choice and simply let them choose one timer setting that runs across FT, LT, and flirts. Then we could set the timers with a known interval. So,

 

"choose the pace of your game's friendship, romance talks, and flirts:

15 minutes real time

30 minutes real time

45 minutes real time

60 minutes real time

90 minutes real time

"

 

and if choice 1 is there, do an action match - set the speed, and also set the value, so

 

	ACTION_IF ("friendshiptimer" = 1) THEN BEGIN
	APPEND ~gtimes.ids~ ~900 ARAN_FTT~
	APPEND ~gtimes.ids~ ~900 ARAN_LTT~
	APPEND ~gtimes.ids~ ~900 ARAN_FLIRT~
			OUTER_SET ~initiallovetalktimer~ ~450~
			OUTER_SET ~initialflirttimer~ ~650~
	PRINT ~Speed: minimum 15 minutes real time between dialogues~
END

 

Or... hmmm... what about setting that initial timer from the friendtalk in question, using those initial values? So

 

IF ~Romancematch=1 Gender=F~ THEN DO ~RealSetGlobalTimer("c-aranromtimer","GLOBAL",%initiallovetalktimer%) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",%initialflirttimer%)~ EXIT

 

and then continue on? It means using

 

COMPILE EVALUATE_BUFFER

instead of COMPILE, but that is no sweat.

 

Do people really set their timers for each of these independently?

Edited by cmorgan

Share this post


Link to post

@ aranintimate settings - yep - Autumn Bard and piperb both had solid ideas about tracking intimacy levels, coming at it from different perspectives; it looks like I started doing one and then readjusted. The good news is that the code is standardized. The bad news is that while there are a bunch of places that screen responses/alter pathways using c-aransex as a trigger, there is a decided lack of c-aanintimate settings, all of which are needed to get the flexibility scripted in to actually be used!

 

OK, back to typo fixing.

Share this post


Link to post
With an offset of 20 minutes realtime on starting the timer, even with lots of flirts jumpstarting the romance talks...

 

I personally like this idea. For testing only, I selected the 15 min timers on all three. And yes, they do appear in "clumps". After all the talks run out, having the flirts show up every 15 min or so is preferable, IMO.

Share this post


Link to post

I've reloaded numerous times, but I can't seem to get any of Aran's before-rest talks to fire. I'm going to check the script assignment again (Yes, I know that it's right, but something is obviously not working, and I've no idea what it is).

Share this post


Link to post
I've reloaded numerous times, but I can't seem to get any of Aran's before-rest talks to fire. I'm going to check the script assignment again (Yes, I know that it's right, but something is obviously not working, and I've no idea what it is).

 

Don't know if this will help any or not, but it's worth a shot. Have you tried deleting the files in your game cache and, (if there), the temp folders in the main game folder, then reloading a previous save. Perhaps the game has saved something that's blocking it from appearing.

Share this post


Link to post

I'm rushing, so I apologize if I'm about to repeat what anyone else has already mentioned.

 

IF ~~ a1079 SAY ~[ARAN] Well, workin' wi' the likes o' Aran Linvale is kind o' like dancin' wi' a porcupine. You are goin' to get stuck, no mater how gentle you proceed. So I say we need to find us some alternatives, or else dance right carefully.~

 

mater - matter

Linvale - Linvail

 

--

IF ~~ a850 SAY ~[ARAN] Why now, my <PRO_LADYLORD> <CHARNAME>. I wouldn't know nothin' about that. Not one bit. Not me, no<PRO_SIRMAAM>. Right, then, stop that laughin'. I've been framed right proper, I have!~ IF ~~ THEN EXIT END

 

need space "no<PRO_SIRMAAM"

 

--

a3697

 

end of this block gives a NVROL instead of End Dialog

 

--

IF ~~ a1365

SAY ~[ARAN] (You smell the sharp spicy tang of cooking spices, with a hint of mint.)~

= ~[ARAN] (Aran glances at you quickly, then looks away)~

 

missing period "then looks away)"

 

--

IF ~~ a1973 /* c-aranshutup67 */ SAY ~[ARAN] Milil's Robust Voice. You don't have to cut e down that harsh.

 

e - me

 

--

Global("c-arlettertaken","GLOBAL",2)~

Global("c-aranlettertaken","GLOBAL",3)~

 

says "ar" instead of "aran" causes dialog loop

 

--

++ ~[PC] I... I am a little confused.~ + a3483

 

IF ~~ a3483 /* MOON_RECHECK */

SAY ~[ARAN] Now, that be enough to catch me on fire, that was. I'd be better expressin' what I feel wi' my body, an' yours, if I could.~

 

doesn't seem like the right response from Aran

also, all "I am a little confused" lines have extra space between "I am"

 

--

a3513

 

line in this block reads "when he rest with you his arms" should probably be "when he rests with you in his arms"

 

--

For the PC's "do you have any advice" PID line, it always seems like Aran is one step behind the action. He's talking about paying off the Cowled Wizards long after I've done that, he's talking about tracking down Bohdi for the first time while we're standing in Spellhold. I haven't looked at all of them, but they always seem a little off and wanted to mention it.

Share this post


Link to post

WooHoo! I got the banter. I had to comment out both !Timer(etc) lines to do it, though. This is the script that got through.

 

/* c-arand.bcs */
/* Sparring, females */
IF
 Global("c-aranspar","GLOBAL",1)
 InParty(Myself)
//  !RealGlobalTimerNotExpired("c-arandreamtalk","GLOBAL")
//  !RealGlobalTimerExpired("RE_DreamTimer","GLOBAL")
 !StateCheck(Myself,CD_STATE_NOTVALID)
 !StateCheck(Player1,CD_STATE_NOTVALID)
 OR(2)
 AreaType(OUTDOOR)
 AreaType(FOREST)
 !AreaType(DUNGEON)
THEN  
 RESPONSE #100
SetGlobal("c-aranspar","GLOBAL",2)
SetGlobalTimer("c-aransmalltalk","GLOBAL",300)
RealSetGlobalTimer("c-arandreamtalk","GLOBAL",300)	
PlaySong(0)
PlaySound("c-arnltl")
StartDialogNoSet(Player1)
END

Share this post


Link to post

To save space and time, a blanket 'fixed these" for typos: All typos and spacing and such to this point integrated and rechecked. Now including Aeryn's, too.

After getting the Ranger Stronghold, again, the PC flirt menu started popping up over and over. Couldn't cont. from this one so shut off the game.

Repaired - weighting issue

Just a personal quirky thing, but there really isn't a teasing option in the talk that begins "You know, it does a man right good just to watch you (etc)." You've got what sounds like acknowledgement of feeling, what sounds like dismissal (ah, it's just last night's dinner), poking fun at his language, and what sounds like fear of rejection (whatever you've got going on, don't hurt me). I'm looking for something subtly encouraging without putting all the feelings out there in the open quite yet. We haven't even gone sparring yet!

++ ~[PC] It is nice to be admired.~ DO ~SetGlobal("c-aranbg2rom","GLOBAL",16) RealSetGlobalTimer("c-aranromtimer","GLOBAL",ARAN_LTT)~ + a684

May need to revisit - not really teasing, just more neutral.

Apart from the fact that PCs who don't clear Nalia's Keep early on won't get the sparring banter, things have been going swimmingly for me...

 

There are only 3 areas in BG2 flagged as forests. One of them is the D'Arnise keep, but only after Nalia's problem have been solved. Before that, it's flagged as a dungeon. The other 2 areas are the Small Teeth Pass and the North Forest. Seriously, AreaType(OUTDOOR), is probably all that's required. That's what's used in the BioWare romances. That's what other mods (including Gavin) use. If you want to get fancy, I've got a list floating around...

Repaired - used the area list berelind provided! Also, put in a "revoke" block if not in the areas indicated, so a talk won't fire out of sequence.

[ARAN] So all this walkin' was a means to get me alone for a mite bit, an' take advantage o' me, I bet.

Possible PC response: "That's a bet you would win."

added!

IIRC this was part of the inn flirt. This pathway is out of sync:

a797

[ARAN] You look right fine to me any day, but that dress might just be outlawed...

[PC] I would love to dance, but I think it might cause... problems.~ + a798

a798

[ARAN] There won't be no problems...

[PC] Well, I think I would be more comfortable right here. (Sit down in his lap.)~ + a2271

a2271

[ARAN] Careful, now...

[PC] Come on, Aran...Teach me to scribe something interesting.~ + a2102

a2102

[ARAN] That would be a pleasure. Here, I can help better if you sit right here...

-On this pathway she's already sitting on his lap.

Repaired, remapped, and an extra state added.

-And this part seems to have something missing:

a2102

[PC] (Wiggle a bit on his lap, adjusting yourself and making a show of picking up the quill.)~ + a2058

a2058

[ARAN] Well, don't blame a lad for tryin', eh?~ EXIT

Repaired, remapped, and an extra state added.

[ARAN] Mask's Mighty Menace, you blighted little weasel!...

[ARAN] (He mutters a bit...

[PC] (You spill the drink into his lap.)~ + a838

a838

[ARAN] (He sputters his drink across the table and yelps. Foul curses fly from his mouth as he makes his way out of the room.)

SetGlobal("c-aranfight","GLOBAL",1)~ EXIT

 

-Accidents can happen. Perhaps use "You pour the drink into his lap." So there is no doubt the act was intentional, since the fight variable is set here.

changed to "pour"

I have RE installed this game and Aran was not in the party when my PC had the encounter with Laran. After Aran joined this variable set: c-arnrelaran=9

Darned glad - those are "don't comment on stuff if you weren't there" rollbacks. It means that if I have written a reaction, it will not fire off-sequence (or ever fire, for that matter). Now i have to find the file where I brainstormed some of the reactions...

c-aranbg2rom=5 - a542

[ARAN] (Aran is walking close to you...

[ARAN] (Suddenly, he pauses, hiking up his pack.)

[PC] (You move beside him, stepping close to his left shoulder, and help him adjust the strap.)~ + a545

a545

[ARAN] (Aran coughs slightly, and a quiet smile creases his weatherbeaten face. He raises his eyes to yours.)

[PC] (You return his smile, and your eyes meet his.)~ + a553

a553

[ARAN] (His gaze holds yours for a time, and he moves closer to you, until there are but a few inches between your face and his. His smile becomes more intimate, and his fingers gently stroke your hair in return.)

 

-On this pathway, the PC has not stroked his hair, so the "in return" sounds a bit out of place.

 

-And you may want to add a few more clear out points, in case a player wants and/or needs to end this talk sooner.

Repaired; added several obvious escapes to earlier dialogs, telegraphed by wording like ++ ~[PC] (You walk on past him with an icy glare, ignoring him completely.)~

The morning talk for the spar talk did not fire. I got an Aran initiated flirt instead.

/* SoA Scenery Talk : Sparring: The Morning After Extra-Curricular Activity */
IF ~Global("c-aranspar","GLOBAL",5)~ THEN BEGIN a360 //

Doe: miss-set global. Moved this to c-aranspar 7->8 in .bcs, 8->9 in .dlg

Edited by cmorgan

Share this post


Link to post
For the PC's "do you have any advice" PID line, it always seems like Aran is one step behind the action. He's talking about paying off the Cowled Wizards long after I've done that, he's talking about tracking down Bohdi for the first time while we're standing in Spellhold. I haven't looked at all of them, but they always seem a little off and wanted to mention it.

This one I need to recheck. I played about with these a bit, and may have not updated the globals settings to reflect the changes.

 

Everything else in your post is fixed in local files and will be pushed to the master copy late this afternoon; typos repaired, relevant states extended, a new state added covering confusuion/handholding, and a new learning for me...

 

If you do something like this:

 

IF ~~ a1234
 SAY ~something~
 = ~something else~
END

 

it installs fine, but results in a NVROL;

 

IF ~~ a1234
 SAY ~something~
 = ~something else~
 IF ~~ THEN EXIT
END

is the fix, of course.

Share this post


Link to post

Just so you know, I'm coding up the completed crossmod banters for folks who want to play with both Aran and Gavin in the party. It can be integrated into the Crossmod Banter Pack later, but why wait?

 

I'm probably going to post some proposed banters (Aran/Gavin drunk banters, crossmod with Haldamir, and/or Keldorn Romance jealousy banters) in Gavin's workroom. I won't integrate them in the crossmod mini-mod until you approve them, though. :)

Share this post


Link to post
Guest
This topic is now closed to further replies.

×
×
  • Create New...