Skip to content

Imoen Romance V3.0 Release

1131416181930

Comments

  • Sarevok08Sarevok08 Member Posts: 81
    Hey everyone. Sorry I haven't been super active lately. With the increased activity, I want to try and keep up to date with this more.

    Small grammar/spelling/coding fixes I should be able to do and update the mod for no problem.

    In relation to Israel and Vanatos, I think they've both pretty much moved on from support/maintenance, so I don't think there would be any new/rewritten content, nor major programming changes at this stage.
  • tjmullitjmulli Member Posts: 2
    Sarevok08 wrote: »
    Hey everyone. Sorry I haven't been super active lately. With the increased activity, I want to try and keep up to date with this more.

    Small grammar/spelling/coding fixes I should be able to do and update the mod for no problem.

    In relation to Israel and Vanatos, I think they've both pretty much moved on from support/maintenance, so I don't think there would be any new/rewritten content, nor major programming changes at this stage.

    You're doing God's work Sarevok
  • IseweinIsewein Member Posts: 571
    I'm sorry to be nagging, but since you're back I just have to ask again: Any chance we could get the old forum content back, @Sarevok08 ? Thank you for maintaining this mod !
  • Sarevok08Sarevok08 Member Posts: 81
    Hey, I did reply your question on my profile, but can put it here too.

    The forum I was looking to get it posted on decided not to host it. Partly admin inactivity, and partly the content of the mod, and a desire to keep a lower maturity rating for the forum
  • Sarevok08Sarevok08 Member Posts: 81
    A tiny update, but should help with people's confusion. I've updated the download page to reflect the current version (3.9.2). Hopefully that will clear up some confusion about what version the file is up to (until the coder does stealth updates I'm unaware of)
  • wukewuke Member Posts: 113
    report some typos:
    in \dialogues\SOA\Love\qualitytimes.d. line 502: Lathlander -> Lathander
    and I found that Aerie keeps saying Baervar instead of Baervan, it seems to be an old typo in older versions of BG2, and writers simply went with it, but in my current setup (latest EE) the only "Baervar"s are from this mod.
  • JarveyJarvey Member Posts: 31
    edited October 2019
    Found a typo during my latest playthrough:

    dialogues\SOA\Spellhold\IMRejoin.d - line 67. "juist" should be "just".


    And not really a typo but a run-on sentence:

    scripts\SOA\Bracelet\MRWoCut3.baf - line 30. "Oh hell I left the stall alone." should be "Oh hell, I left the stall alone."

    EDIT:

    There's an oddity that I've kept forgetting to bring up. The final dream's journal entry (scripts\SOA\dreamCutscenes\trasCutim16 and CutiF16.tras) ends with "I must reach Spellhold.", though its possible to get this dream and the journal entry before Charname has been told that Imoen is at Spellhold.

    Post edited by Jarvey on
  • Sarevok08Sarevok08 Member Posts: 81
    edited October 2019
    Would "I must reach Imoen" fit the sentence? I can't look over it currently, so not sure of the context.

    I'll update the spellings hopefully tonight my time, been busy the last few nights. Also an update from @Dropkicker for OSX functionality
    Post edited by Sarevok08 on
  • JarveyJarvey Member Posts: 31
    Sarevok08 wrote: »
    Would "I must reach Imoen" fit the sentence?

    Yes, that would be perfect.
  • Sarevok08Sarevok08 Member Posts: 81
    Ok, so 3.9.3 is up now. The mod should install more smoothly for OSX users, and the spelling mistakes mentioned on this page have been corrected also.
  • wukewuke Member Posts: 113
    Sarevok08 wrote: »
    Ok, so 3.9.3 is up now. The mod should install more smoothly for OSX users, and the spelling mistakes mentioned on this page have been corrected also.

    Thanks for the update! though the zip file seems to be incomplete, 28mb compared to 36mb of last version and can't unzip it

    I don't know if it's appropriate, but I would like to post a summary of some small bug fixes for 3.9.2 I mentioned before, most of them are tested, hopefully this can be of use for future updates. if you have a lightly modded setup you can also simply edit the files and reinstall the mod.

    correct class banter for thief charname
    \dialogues\SOA\Banter\Classes.d, line 607:
    Class(Player1,CLERIC_THIEF)
    
    ->
    !Class(Player1,CLERIC_THIEF)
    

    typo: space at start of a response
    \dialogues\SOA\Banter\Reputation.d, line 51:
    remove the space before "Like"

    get second part of ranger stronghold talk correctly after entering ranger's hut
    \dialogues\SOA\misc\Strongholds.d and \scripts\SOA\misc\ar1100.baf
    MRStrongholdTalkUmar
    
    ->
    MRStrongholdTalkRan
    

    the last Aerie-Imoen talk for friendly Imoen (currently only available if you romance her, but the friend version of this talk is already there)
    \scripts\SOA\misc\imoen2.baf, line 74:
    	Global("ImoenRomanceActive","GLOBAL",2)
    
    ->
    	OR(2)
    		Global("ImoenRomanceActive","GLOBAL",2)
    		Global("ImoenRomanceActive","GLOBAL",4)
    

    Aerie's "normal" reaction to Imoen romance (currently only a special one will fire if you romance Aerie first and break up then romance Imoen)
    \scripts\SOA\Love\aerie.baf
    remove line 7:
    Global("AerieRomanceActive","GLOBAL",3)
    

    remove talk about children for female charname (idk if two women can have children in Faerun but the dialogue mentions the possible child's "dad" so I assume it's for male only)
    \dialogues\TOB\PID\PidTreesGeneral.d, line 145
    ~Global("IRTPregnancyTalk","GLOBAL",1)~
    
    ->
    ~Global("IRTPregnancyTalk","GLOBAL",1) Gender(Player1,MALE)~
    

    correctly mention being in Suldanessalar instead of "went back to the Friendly Arm Inn" if she's in the party in the end of SOA, when asked about her trauma
    \dialogues\TOB\PID\Torture.d
    line 12:
    !Global("ImoenSummoned","GLOBAL",2)
    
    ->
    Global("IRTJustJoined","GLOBAL",0)
    
    line 13:
    Global("ImoenSummoned","GLOBAL",2)
    
    ->
    GlobalGT("IRTJustJoined","GLOBAL",0)
    

    PDA not changing to next set:
    \dialogues\TOB\PID\PidTreesGeneral.d, line 75
    SetGlobal("bf251","GLOBAL",1)
    
    ->
    IncrementGlobal("IRTPDA","GLOBAL",1)
    
  • Sarevok08Sarevok08 Member Posts: 81
    Yeah, you're right. That is odd. Maybe the upload didn't complete successfully. I'll check it over, thanks for the heads up.

    Also, thanks for all those great pickups. When I correct the file I'll add these in, cheers.
  • wukewuke Member Posts: 113
    edited October 2019
    @Sarevok08
    I'm not sure if this can be called a bug, do you think we should get multiple class banters for dual- and multi-classes? And in one playthrough money banter will only fire once because they all use the same variable, but personally I think it's better if we can gradually get all 3 of them, there's a response in the last talk where charname can say they are weary of another talk about money. I don't know how it's intended so I didn't include them in the last post.
  • Sarevok08Sarevok08 Member Posts: 81
    edited October 2019
    Fixed up the download. Now sure what happened there.

    So I've checked over the suggestions, and they all looked correct, so I've updated the files to match and uploaded them. In relation to the player having multiple banters about multiple classes, I think leaving one would be fine. Would mean double and triple classes don't have an advantage content wise.

    Multiple money talks sound nice, the question would be, does the dialogue flow on from previous ones if setup. I wouldn't want a disconnect in dialogue where it would say something like "Wow, how'd you get all that money", when a little while ago, she'd just said "How'd you get all that money". Cause it'd be like 'You've been in the party the whole time, you know how we got that...', know what I mean?
  • wukewuke Member Posts: 113
    since she doesn't ask "how'd you get all that money" in these banters I guess it's fine, though the 30000 talk sounds like it should be the first one, and the 100000 one is not, so as long as we make sure they're triggered in the right order there won't be a problem. I tried make them available in a couple of playthroughs myself and I feel like they're written to be triggered that way.
  • Sarevok08Sarevok08 Member Posts: 81
    Could update the script, so if the 100000 one triggers, it would mark the 30000 one as having already been done, otherwise it'd be weird, commenting about 30k, after commenting about the 100k one.

    Otherwise, if they are simple changes to trigger each, feel free to PM me or post the changes here, and I'll go over them.
  • wukewuke Member Posts: 113
    alright this is my change, less money talk won't fire if more money ones have fired


    \dialogues\SOA\Banter\Money.d

    line 4:
    Global("MRMoneyTalk","LOCALS",0)
    
    ->
    Global("MRMoneyTalk1","LOCALS",0)
    Global("MRMoneyTalk2","LOCALS",0)	
    Global("MRMoneyTalk3","LOCALS",0)
    

    line 14 (16 after changing previous one):
    SetGlobal("MRMoneyTalk","LOCALS",1)
    
    ->
    SetGlobal("MRMoneyTalk1","LOCALS",1)
    

    line 177 (now 179):
    Global("MRMoneyTalk","LOCALS",0)
    
    ->
    Global("MRMoneyTalk2","LOCALS",0)
    Global("MRMoneyTalk3","LOCALS",0)
    

    line 187 (now 190):
    SetGlobal("MRMoneyTalk","LOCALS",1)
    
    ->
    SetGlobal("MRMoneyTalk2","LOCALS",1)
    

    line 342 (now 345):
    Global("MRMoneyTalk","LOCALS",0)
    
    ->
    Global("MRMoneyTalk3","LOCALS",0)
    OR(2)
    	Global("MRMoneyTalk1","LOCALS",1)
    	Global("MRMoneyTalk2","LOCALS",1)
    

    because of the "Again about gold?" response I think the 100k one should fire only if at least one of the others have fired. If you don't want to add this restriction simply ignore the 3 lines starting with OR(2)

    line 351(now 357):
    SetGlobal("MRMoneyTalk","LOCALS",1)
    
    ->
    SetGlobal("MRMoneyTalk3","LOCALS",1)
    
  • JarveyJarvey Member Posts: 31
    Happy to see this mod is still getting updates. :smile:

    So there's an oversight with two music tracks in the mod. "MRImNig1.ogg" and "MRImNig2.ogg" are not called in bat/IMMUSIC.bat, and therefore do not play in-game.

    Adding these two lines to the IMMUSIC.bat file (below line 2) will fix this and allow them to be installed properly:
    oggdec MRImNig1.ogg
    oggdec MRImNig2.ogg
    
  • Sarevok08Sarevok08 Member Posts: 81
    edited October 2019
    Alrighty. Both @wuke and @Jarvey 's suggestions/fixes have been integrated, and the updated file loaded onto the website. Checked again, downloads and opens fine :smile:

    Not gonna lie, I recently reinstalled the mod to have a play through, and the money/music fixes make me want to re-install with the newer version lol
  • wukewuke Member Posts: 113
    edited October 2019
    found a typo resulting "=" appearing in dialogue:

    in \dialogues\SOA\Banter\Reputation.d, line 45, 46:
    ...You're hot.
    	= Heck...
    

    ->
    ...You're hot.~
    	= ~Heck...
    

    didn't find this bug because I never tried this talk as a friend...
    Post edited by wuke on
  • Sarevok08Sarevok08 Member Posts: 81
    Thanks for that. Corrected and updated/uploaded. No version change though this time.
  • wukewuke Member Posts: 113
    edited October 2019
    Hmmm, after some more tests I think I kind of understand why the last Aerie-Imoen talk was available only to romances... After the trigger change, If we get ImoenRomanceActive to 4 really late (after the timer set by the second last Aerie-Imoen talk runs out), then this talk will fire immediately, which can be really weird in some situations considering its content, like, right after charname being unconcerned about the Duergar talk, or after meeting Drizzt.

    The solution would be to add a timer for Aerie-Imoen talk to all responses that change ImoenRomanceActive to 4. Since there are about 50 responses like this, it's not very practical. On the other hand there's only 4 responses that set ImoenRomanceActive to 2, so the coder already set the timers for them. idk if "getting a missed talk in a wrong timing" is worth it, do you think the change should be reverted?

    edit: trying to find a workaround for this, then found a new bug:
    if "(Remain silent and motionless, uncertain about what to do)" is chosen in the campfire scene, then when the dialogue ends, other party members will keep sleeping
    Post edited by wuke on
  • wukewuke Member Posts: 113
    edited October 2019
    can't preview when editing so I decide to create a new post

    I think I found a workaround, the idea is to make sure this talk only happens after Bodhi's death. After this event there're only 2 possible cases ImoenRomanceActive changes to 4 that I can think of, one is when Jaheira expresses her opinion, another is the after sex talk. So we only need to add the timer to Bodhi's death, response to Jaheira, and the whole after sex talk.

    code changes:
    1. start the timer after Bodhi's death:
    add this whole block to \scripts\SOA\misc\imoen2.baf
    
    //check bodhi dead then create timer for the last Aerie Imoen talk
    //the timer is for situations where ImoenRomanceActive is already 4
    IF
    	Global("BodhiDead","GLOBAL",1)
    	Global("MRLastAerieImoenTalk","GLOBAL",0)
    THEN
    	RESPONSE #100
    	SetGlobal("MRLastAerieImoenTalk","GLOBAL",1)
    	RealSetGlobalTimer("MRAerieFriendshipTimer","GLOBAL",800)
    END
    
    

    2. add a variable check to the beginning of the Aerie Imoen talk:
    same file, last code block:
    add
    Global("MRLastAerieImoenTalk","GLOBAL",1)
    
    after "IF"
    add
    SetGlobal("MRLastAerieImoenTalk","Global",2)
    
    after "RESPONSE #100"

    so the last code block becomes:
    /* imoen aerie talk but here player needs to talk to himself first */
    IF
    	RealGlobalTimerExpired("MRAerieFriendshipTimer","GLOBAL")
    	Global("MRLastAerieImoenTalk","GLOBAL",1)
    	IsValidForPartyDialog("Aerie")
    	!ActuallyInCombat()
    	See("Aerie")
    	See(Player1)
    	OR(2)
    		Global("ImoenRomanceActive","GLOBAL",2)
    		Global("ImoenRomanceActive","GLOBAL",4)
        	Global("MRAerImFriend","GLOBAL",11)
    	!StateCheck("Imoen2",CD_STATE_NOTVALID)
    	!StateCheck(Player1,CD_STATE_NOTVALID)
        	!StateCheck(Myself,CD_STATE_NOTVALID)
    	 !AreaCheck("ar2500")
    	 !AreaCheck("ar1500")
    	 OR(3)
    		!AreaType(DUNGEON)
    		AreaCheck("AR2100")
    		AreaCheck("AR2200")
    THEN
      RESPONSE #100
    	SetGlobal("MRLastAerieImoenTalk","Global",2)
        	IncrementGlobal("MRAerImFriend","GLOBAL",1)
    	ActionOverride(Player1,StartDialogue("Player1",Player1))
    END
    

    3. add the timer if player listens to Jaheira to cut the romance:
    \dialogues\SOA\Love\PartyReactions.d, line 328:
    		IF ~~ THEN DO ~SetGlobal("ImoenRomanceActive","GLOBAL",4)~
    
    ->
    		IF ~~ THEN DO ~SetGlobal("ImoenRomanceActive","GLOBAL",4) RealSetGlobalTimer("MRAerieFriendshipTimer","GLOBAL",800)~
    

    4. add the timer to the beginning to the after sex talk:
    \scripts\SOA\Love\imoen2.baf
    insert
    RealSetGlobalTimer("MRAerieFriendshipTimer","GLOBAL",800)
    
    after line 96, it looks like this:
    	SetGlobal("MRAfterSexTalk","GLOBAL",2)
    	RealSetGlobalTimer("MRAerieFriendshipTimer","GLOBAL",800)
    	StartDialogueNoSet(Player1)
    

    5. remove the original timers set for "SetGlobal("ImoenRomanceActive","GLOBAL",2)", because now we set them at the start of the talk.
    \dialogues\SOA\Love\RomanceContent.d line 473, 479, 487, 494:
    remove 4
    RealSetGlobalTimer("MRAerieFriendshipTimer","GLOBAL",800)
    
    so they become
       		IF ~~ THEN DO ~SetGlobal("ImoenRomanceActive","GLOBAL",2) SetGlobalTimer("MRPartyReactionTimer","GLOBAL",ONE_DAY)~ EXIT 
    

    so if ImoenRomanceActive is already 4 when Bodhi dies, then the timer starts there. if it's 1 and Jaheira or player change it to 4, the timer starts when it changes. If player make it to 2 then it works the same as it did. In any case this talk won't jump out after some awkward scenes. TBH this is a bit complicated for my capability so it's possible I did something wrong, maybe we can use a little code review. I tested these situations myself but there might be other situations I didn't think of, so I think it's better to revert the change before further tests. Sorry for introducing more bugs :( I should have tested more thoroughly
    Post edited by wuke on
  • ArthasArthas Member Posts: 1,091
    edited October 2019
    Remind me: which are the mods that surely are incompatible with Imoen romance, apart from "Imoen Retrospection content" from Banter mod?
    Post edited by Arthas on
  • megamike15megamike15 Member Posts: 2,666
    the imoen part of ascension is also incompatible. but thats just trigger setting whitch ir already does.
  • Sarevok08Sarevok08 Member Posts: 81
    The changes seemed ok to me @wuke and made sense. Was there similar things for Viconia or Aerie that needed to be changed too?

    @megamike15 Can you explain this in a little more detail for me?
  • wukewuke Member Posts: 113
    I don't think so. Jaheira's the only one that gives you the chance to cut the romance at that time.
  • megamike15megamike15 Member Posts: 2,666
    Sarevok08 wrote: »
    The changes seemed ok to me @wuke and made sense. Was there similar things for Viconia or Aerie that needed to be changed too?

    @megamike15 Can you explain this in a little more detail for me?

    ascension has a component that makes both seravok;s and imeon's tob banters fire more regularly. as ir already has triggers for that it causes a conflict when the two are installed.
  • Sarevok08Sarevok08 Member Posts: 81
    Hmm, ok. And was that the only problem? Wonder if a check could be added, that skips that part if Ascension is already installed.
  • ALIENALIEN Member Posts: 1,271
    edited October 2019
    Sarevok08 wrote: »
    Hmm, ok. And was that the only problem? Wonder if a check could be added, that skips that part if Ascension is already installed.

    @Sarevok08 Sure there is, PM me if you want to cook-up something.
    Post edited by ALIEN on
Sign In or Register to comment.