Jump to content

Problem with romance LTs not triggering: LT #'s are odd


Guest penguin

Recommended Posts

Guest penguin

Hi,

 

I'm currently playing BG:Tutu with the bg1 npc project installed, and I recently started having problems with Dynaheir's lovetalks not triggering, I'm currently on lovetalk 22, and in Shadowkeeper, the lovetalk number is set at 43 (I didn't set it that way, it just happens to be at 43). I know that LT 22 should trigger at rest outside, but it doesn't. I tried to force it to trigger by setting the LT number to 44 and talking to her, and it did work, but LT 23, which is supposed to come at waking, failed to trigger after that and the LT number is at 47, so I was wondering if anyone could tell me what's wrong, or if the LT numbers are wierd. Thanks!

Link to comment

Try this;

 

SetGlobal("X#DYLoveTalk","GLOBAL",42)

 

and see if the sequence plays out correctly from there - that should trigger the global forward to 43 at the end of the talk, and proceed -

 

42 initiates, pushes number to 43, sets timer, then timer expires and sees 43 + conditions, which turns to 44, pushes ahead...

Link to comment
Guest penguin

Thanks for the quick reply

 

But I tried it, and LT 21 triggered correctly after I did that and talked to Dynaheir, but after that rest, when I rest again, LT 22 fails to trigger (just fyi, I'm resting outside of Durlag's tower). Does LT 22 require the 45 minutes as well as a rest, or just the next rest?

 

Also, I tried to SetGlobal blah blah to 44, and talking to her, the LT triggers, the party rests, but upon waking, the next LT does not trigger.

Link to comment

Definitely the talk also requires the timer to be expired - try resting for a day, or leaving the area and returning. The timer setting is dependent on what you installed (if you did 45 minutes, then it should be 45 minutes *reat time* minimum, or expire the timer manually. Resting won't work!)

Link to comment
Guest penguin

oooo okay, I tried that and it worked! :) Thanks much. I just have one more question, I was actually messing around with the dialogue choices to see what I could get, and I found out LT 23 actually doesn't trigger upon waking unless you choose one specific path. Is this intended and/or does it mean that the romance will end if I don't choose that path? Thanks again for your help!

Link to comment

Nope, as far as I can tell, there is only one response that can clobber the romance.

 

IF WEIGHT #-2 ~%BGT_VAR% Global("X#DYLoveTalk","GLOBAL",40)~ THEN BEGIN X#DYLoveTalk19
SAY @1405
+ ~HPPercentGT(Player1,90)~ + @1406 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.1
+ ~HPPercentLT(Player1,91) HPPercentGT(Player1,75)~ + @1407 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.1
+ ~HPPercentLT(Player1,76)~ + @1408 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.1
++ @1409 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.2
++ @1410 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.3
++ @1411 DO ~IncrementGlobal("X#DYLoveTalk","GLOBAL",1) RealSetGlobalTimer("X#DYLoveTalkTime","GLOBAL",DYROM_TIMER)~ + DYRO19.4
END

 

means that every single first response available to the player sets 41.

 

Then only one potential outcome, way down the list (you really have to be acting bad) terminates the romance, and it ends with both her and Minsc leaving the party:

IF ~~ DYRO19.13
SAY @1459
IF ~~ THEN DO ~SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1)LeaveParty() ActionOverride("minsc",LeaveParty()) EscapeArea() ActionOverride("minsc", EscapeArea()) ~ EXIT
END

 

The next one is fired by dream script, which can be delayed by something else firing; I will need to check the dreamscript timer settings here to be sure, but everything should go ahead with

 

IF  %BGT_VAR%
RealGlobalTimerExpired("X#DYLoveTalkTime","GLOBAL")
RealGlobalTimerExpired("X#DreamTalk","GLOBAL")
ReputationGT(Player1,11)
!Global("X#DynaheirRomanceInactive","GLOBAL",1)
Global("X#DynaheirRomanceActive","GLOBAL",2)
!Global("X#DynaheirBhaalLoop","GLOBAL",1)
AreaType(OUTDOOR)
!AreaType(DUNGEON)
OR(2)
Global("X#DYLoveTalk","GLOBAL",43)
Global("X#DYLoveTalk","GLOBAL",49)
InParty(Myself)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
THEN
RESPONSE #100
RealSetGlobalTimer("X#DreamTalk","GLOBAL",180)
PlaySong(0)
PlaySound("dyrom2")
IncrementGlobal("X#DYLoveTalk","GLOBAL",1)
StartDialogueNoSet(Player1)
END

 

RealGlobalTimerExpired("X#DYLoveTalkTime","GLOBAL") should mean that it is that 45 minutes real time expiring before the waking. The ReputationGT(Player1,11) checks to see 12 reputation or above. I can't find any reason for it to only fire on one of the attempts and not the others... I will go and check :)

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...