Jump to content

You know Gavin loves you, right?


berelinde

Recommended Posts

Yep, all were from the same game. I noticed the dip and wondered if it had to do with reputation. I had added Viconia at some point between those two and it dropped from a 15 to a 13. But anyways, it didn't seem to affect much as the romance has continued normally.

 

Here are a few more (I am still not at Cloakwood yet)...

 

After questing a bit and doing Gavin's 3rd quest

B!Gavinlovetalk: 29

B!Gavinlove: 32

 

After some more random questing and meeting Reed

B!Gavinlovetalk: 33

B!Gavinlove: 40

 

Finally he proposed

B!Gavinlovetalk: 37

B!Gavinlove: 44

 

I'm kinda trying to decide where to go from here. I had Xan in the party with me and was seeing how far things could go before I had to break things off with him in order to continue testing the Gavin romance. Well, apparently they can go far indeed. Gavin has proposed, and my character accepted, but there is no means of me breaking things off with Xan. For testing purposes, would you rather I used Shadowkeeper and manually ended things with Xan that way or just kept on going with both romances active?

Link to comment

Thanks for keeping that tally going.

 

At this point, you don't have to break things off with Xan. Your acceptance of Gavin's proposal did it for you.

 

Originally, I had planned to force the player to end other relationships, but in the end, I was convinced by the other romance writers that their NPCs would not be oblivious enough to ignore the fact that Gavin and the PC are now engaged. So I included a kill script for the other romances.

 

Yes, the breaking point for too many relationships is set not to trigger if only one romance is going besides his. Gavin is neither blind nor insensitive. He knows perfectly well that the PC is desirable, and doesn't blame her for waiting to choose between himself and another man. He only gives up when the choice is between himself and several other men. He figures that there is a good chance she just likes the attention and is stringing him along anyway. In the future, it will be possible to convince him this is not the case, but for the time being, he'll just end it..

 

Unless I am mistaken, BG1 male romances can be restarted by PID if the committed romance is terminated. Gavin's can be, too. Not too sure about Xan, though.

Link to comment

Gah. That is bad, and I'll need to call in the cavalry on this one, because something has gone seriously wrong, either with your installation or with my script.

 

This is what I've got:

IF
 InParty(Myself)
 InParty("ajantis")
 Global("X#AjantisRomanceActive","GLOBAL",1)
 Global("B!GavinRomanceActive","GLOBAL",2)
THEN
 RESPONSE #100
SetGlobal("X#AjantisRomanceActive","GLOBAL",3)
SetGlobal("X#AjantisRomanceInactiveOtherRom","GLOBAL",1)
END

IF
 InParty(Myself)
 InParty("xan")
 !Global("X#XARomanceInactive","GLOBAL",1)
 Global("X#XARomanceActive","GLOBAL",1)
 Global("B!GavinRomanceActive","GLOBAL",2)
THEN
 RESPONSE #100
SetGlobal("X#XanRomCutByOther","GLOBAL",1)
SetGlobal("X#XARomanceInactive","GLOBAL",1)
END

IF
 InParty(Myself)
 InParty("coran")
 Global("B!GavinRomanceActive","GLOBAL",2)
 !Global("CoranRomanceInactive","GLOBAL",1)
 Global("CoranMatch","GLOBAL",1)
THEN
 RESPONSE #100
SetGlobal("X#CoranRomCutByOther","GLOBAL",1)
SetGlobal("CoranRomanceInactive","GLOBAL",1)
END

Link to comment

I think I see what is going on. Could you check the value on Xan's romance?

 

You'd type in

CLUAConsole:GetGlobal("X#XARomanceActive","GLOBAL")

 

or just look it up using ShadowKeeper.

 

This is Gavin's kill script for other romances going committed, so this should not be happening:

 

///* Cut by another */
IF
InParty(Myself)
InParty("ajantis")
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
Global("X#AjantisRomanceActive","GLOBAL",2)
!Global("B!GavinRomanceActive","GLOBAL",3)
Global("B!GavinMatch","GLOBAL",1)
Global("B!GavinNoReturn","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

IF
InParty(Myself)
InParty("xan")
Global("B!GavinMatch","GLOBAL",1)
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
!Global("B!GavinRomanceActive","GLOBAL",3)
!Global("X#XARomanceInactive","GLOBAL",1)
Global("X#XARomanceActive","GLOBAL",2)
Global("B!GavinNoReturn","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

IF
InParty(Myself)
InParty("coran")
Global("B!GavinMatch","GLOBAL",1)
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
!Global("B!GavinRomanceActive","GLOBAL",3)
!Global("CoranRomanceInactive","GLOBAL",1)
GlobalGT("CoranLover","GLOBAL",0)
Global("B!GavinNoReturn","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

Link to comment

If Xan's romance is at 2, Gavin's should have shut down already.

 

This isn't good. Neither of them finds multi-romance acceptable.

 

At least I know which script blocks to edit.

 

I think I might have to bother Kulyok on this one.

Link to comment

I haven't got a saved game, but I think this might be a trigger optimization issue. Those code blocks are kind of big, and have variables that aren't exactly essential. I think I can pare them down to reduce the risk of failure.

Link to comment

These are the new ones, and they are very lean. They should run on any system.

 

///* Cut by another */
IF
Global("X#AjantisRomanceActive","GLOBAL",2)
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
!Global("B!GavinRomanceActive","GLOBAL",3)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

IF
Global("X#XARomanceActive","GLOBAL",2)
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
!Global("B!GavinRomanceActive","GLOBAL",3)
!Global("X#XARomanceInactive","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

IF
GlobalGT("CoranLover","GLOBAL",0)
GlobalGT("B!GavinRomanceActive","GLOBAL",0)
!Global("B!GavinRomanceActive","GLOBAL",3)
!Global("CoranRomanceInactive","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

///* Kill script for other romances if Gavin goes committed */
IF
 Global("B!GavinRomanceActive","GLOBAL",2)
 Global("X#AjantisRomanceActive","GLOBAL",1)
THEN
 RESPONSE #100
SetGlobal("X#AjantisRomanceActive","GLOBAL",3)
SetGlobal("X#AjantisRomanceInactiveOtherRom","GLOBAL",1)
END

IF
 Global("B!GavinRomanceActive","GLOBAL",2)
 !Global("X#XARomanceInactive","GLOBAL",1)
 Global("X#XARomanceActive","GLOBAL",1)
THEN
 RESPONSE #100
SetGlobal("X#XanRomCutByOther","GLOBAL",1)
SetGlobal("X#XARomanceInactive","GLOBAL",1)
END

IF
 Global("B!GavinRomanceActive","GLOBAL",2)
 !Global("CoranRomanceInactive","GLOBAL",1)
 Global("CoranMatch","GLOBAL",1)
THEN
 RESPONSE #100
SetGlobal("X#CoranRomCutByOther","GLOBAL",1)
SetGlobal("CoranRomanceInactive","GLOBAL",1)
END

Link to comment

Presumably, this should work, since, if we exclude InParty checks at no point should Gavin and Xan romances be at 2 at the same time:

 

IF
Global("X#XARomanceActive","GLOBAL",2)
Global("B!GavinRomanceActive","GLOBAL",1)
!Global("X#XARomanceInactive","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("B!GavinRomCutByOther","GLOBAL",1)
SetGlobal("B!GavinRomanceActive","GLOBAL",3)
END

IF
Global("B!GavinRomanceActive","GLOBAL",2)
Global("X#XARomanceActive","GLOBAL",1)
!Global("X#XARomanceInactive","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("X#XanRomCutByOther","GLOBAL",1)
SetGlobal("X#XARomanceInactive","GLOBAL",1)
END

Link to comment

@Shieara: sorry for hijacking your thread. You seem to unintentionally have successfully multi-romanced Gavin. The current kill script in your game could kick in at any time. Gavin's relationship can be ended at any time if another relationship goes committed, but Xan's can only be ended when it is still uncommited.

 

So, you have two choices. You can leave it alone and wait for Gavin's relationship to spontaneously end (you won't have a warning, it will just stop - this was intentional, and designed to kick in when it was still uncommitted), or you can choose one that you would like to end and break it off by PID or CLUAConsole.

Link to comment

Archived

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

×
×
  • Create New...