Skip to content

Ruling the de'Arnise Keep and Lands

If I leave Nalia at the Copper Coronet before heading off to Spellhold and pick her up after returning to Athkatla, will that permanently interrupt her stronghold quest? Is it possible to finish it before leaving for Spellhold?

Scourge2

Comments

  • jmerryjmerry Member Posts: 3,834
    edited June 2023
    When you accept Nalia's initial quest, there are two possibilities:
    - She joins immediately, and sets a three-day timer. Get a move on, or she'll leave.
    - She goes to the keep. No time pressure, but she's not available to join until you go there.

    Rejecting Nalia's first offer leaves her in the Copper Coronet, deferring the decision above until you talk to her again.

    If you're in the stronghold quest proper - you're a fighter acting as the new lord - then Nalia is no longer directly involved. The quest will progress with or without her.
  • Scourge2Scourge2 Member Posts: 32
    edited June 2023
    Sorry. I made a mistake. I meant to ask if it was possible to finish the quest AFTER finishing up at Spellhold?

    (I remember trying before, but no one ever met me urging me to return to the Keep. Inviting the priest to set up shop in the Keep before leaving for Spellhold was the farthest I've ever gone in this quest.)
  • jmerryjmerry Member Posts: 3,834
    It's absolutely possible, and expected, to finish the quest after Spellhold.

    But ... the quest is prone to the "missing messenger" bug. At several points, the quest needs a messenger to spawn and talk to you. The way the script block to create the messenger is written (at least in the EE), it can easily be interrupted and only partially execute, leaving you in a situation where the variables are updated as if the messenger spawned, but it never actually did.
    THEN
    	RESPONSE #100
    		SetGlobal("KPRunnerSpawn","GLOBAL",1)
    		CreateCreatureObject("bdoffscr",Player1,0,0,0)  // No such index
    		ApplySpellRES("bdoffscr","bdoffscr")  // No such index
    		SmallWait(1)
    		CreateCreatureObject("KPRUNN01","bdoffscr",0,0,0)  // Keep Messenger
    END
    
    That's a typical action block for one of these messenger-spawning script blocks. First it sets a variable, telling the game not to do this again. Then it creates an invisible helper creature at the player's location, and teleports it to a random nearby off-screen location.
    Then it waits for exactly one tick (the smallest time interval the game uses, a fraction of a second), and this wait is where things break. If player 1 takes any actions in this time - which I think includes being talked to, something that's quite likely due to how time-based stuff piles up when you travel - the script loses its place and fails to execute that last command of actually spawning the messenger.

    If this happens to you - more than a week of in-game time passes with no action on the keep front - the best fix is to just spawn the messenger in yourself with the cheat/debug console. For the keep, that's a C:CreateCreature("KPRUNN01") command.
  • atcDaveatcDave Member Posts: 2,157
    Is there a particular place to visit or thing to do that would help the messenger to find you?
  • jmerryjmerry Member Posts: 3,834
    Not as far as I know. You likely won't even notice as things break, only realizing that something happened after the fact.

    For example, here's the last instance of this bug I managed to pin down in my own play - I spotted the helper creature in the save so I could tell exactly where the messenger failed to spawn.
    I cleared out the Windspear Hills dungeon. While I was in there, the in-game timer for the keep ran down. Exit the dungeon, messenger block triggers. I think something else might have triggered too, like a talk that couldn't happen in the dungeon, but I didn't log it. Alternately, I might have just clicked a move command. Messenger block breaks.
  • atcDaveatcDave Member Posts: 2,157
    Its funny to have such a long standing problem still! I realized when I finished my last playthrough I only ever did two (maybe 3?) of the Fighter Stronghold missions. Very disappointing.
  • Scourge2Scourge2 Member Posts: 32
    My problem with this is more complicated. I'm playing this game on a Galaxy Tab S7 and I have no way of inputting the script. If there is a way to do this on a tablet, please let me know.

    Thank you in advance.
  • UlkeshUlkesh Member Posts: 211
    @jmerry , how much does this mod improve the messenger thing? https://github.com/BGforgeNet/bg2-tweaks-and-tricks/blob/master/docs/quests.md

    Would it be worth it to put this stuff into the fixpack, if it makes the messengers more reliable to appear?
  • jmerryjmerry Member Posts: 3,834
    No. It doesn't make the messengers' appearance more reliable, because it doesn't actually make any changes to the block that spawns the messengers (as of 2.6). And it's not even trying to address the main issue - that the block can get interrupted so the messenger never spawns at all.

    I had an idea for something that could go in the fixpack, guarding that wait with SetInterrupt commands to prevent it from being interrupted ... but then I tested that on the control battle for summoned elementals, and it didn't stop that script's wait from being interrupted. I'm not going to propose something unless I have a reason to believe it'll work.
Sign In or Register to comment.