Skip to content

End of Chapter 13 - Am Stuck with Endless Attacks by Shadow Thieves

So, I've finished chapter 13, Imoen says "Hey, do you feel a little...off?", and there is a cutscene showing my party being attacked by Shadow Thieves.

Well, the end game credits do not roll, and I am not given an opportunity to advance to BG2EE. Instead, my party is stuck in a giant clearing, being attacked by endless waves of Shadow Thieves.

How do I get out of this situation and progress to BG2EE?

Comments

  • jasteyjastey Member Posts: 2,669
    All party members need to be down. Just let it play out, it will stop eventually. The more you fight back, the longer it takes (it is an endless loop).
  • TorvaldTorvald Member Posts: 19
    jastey,

    Thank you very much for your quick input.

    Based on your advice, I've tried to let all my party members get killed by the endless swarm of Shadow Thieves, but they simply never die. As soon as any party member gets close to dying, their hit points bounce back up to a minimum of 10, all other damage gets labeled as non lethal hits, and then they slowly heal themselves over time.

    Somehow, one of my BGEE Trilogy (BGEET) mods must be causing a problem to the ending of Chapter 13 in Siege of Dragonspear (SoD). It could also be due to my playing an offline version that is four and half years old, version 2.5.16.6, installed on 08/26/18.

    At any rate, I was finally able to work around this glitch by starting a new SoA campaign, and then importing my Player Character from my final save in SoD (the save where I was getting attacked by an endless swarm of Shadow Thieves).

    The only thing a little unusual is that instead of showing my SoA saves as being Chapter 1, they are being shown as Chapter 13 - Part 2. Is this because I'm playing a BGEET game? (This is my first time playing via BGEET).
  • jmerryjmerry Member Posts: 3,822
    edited March 2023
    That sounds like Story Mode keeping your party up, not any mod. Deactivate it.

    And yes, EET changes the chapter numbers for the BG2 portion of the game.
  • jasteyjastey Member Posts: 2,669
    Just to make clear: the NPCs (and PC, for obvious reasons) are not supposed to die, just to get unconscious. Story Mode could indeed interfere, which could be seen as a bug.

    And yes, EET starts BGII in chapter 13, it's EET's continuous chapter system.
  • TorvaldTorvald Member Posts: 19
    jastey,

    Per your advice, I just checked and found that Story Mode was accidentally turned on.

    After I turned Story Mode off, one of my characters went unconscious from Shadow Thieves damage, prompting the final Siege of Dragonspear cutscenes to finally fire, and I then got transitioned to the beginning of SoA.

    Thank you very much for your help.
  • StummvonBordwehrStummvonBordwehr Member, Mobile Tester Posts: 1,342
    Well, then its a SoD bug? Story mode keeping the game from advancing
  • TrouveurTrouveur Member Posts: 480
    edited March 2023
    Well, then its a SoD bug? Story mode keeping the game from advancing
    No, in the unmodded game there is no fight with the shadow thieves, only the cinematic.
    And in the unmodded game, the game ends after the cinematic. There is no automatic transition to BG2EE.
    Post edited by Trouveur on
  • jmerryjmerry Member Posts: 3,822
    The code for that scene is there; it's just that the area script containing all of the logic deliberately skips over it. The core block (of bd6100.bcs):
    IF
    	!GlobalTimerNotExpired("bd_ambush_timer","bd6100")  // The Ambush
    	Switch("bd_finale","bd6100")  // The Ambush
    THEN
    	RESPONSE #0
    		IncrementGlobal("bd_finale","bd6100",1)  // The Ambush
    		SetGlobal("FOG_TYPE","GLOBAL",4)
    		CreateCreature("bdcutid",[500.400],S)  // No such index
    	RESPONSE #1
    		SetGlobal("bd_plot","global",690)
    		IncrementGlobal("bd_finale","bd6100",2)  // The Ambush
    		SetGlobalTimer("bd_ambush_timer","bd6100",4)  // The Ambush
    		Weather(FOG)
    		PlaySound("EFF_M87")
    	RESPONSE #3
    		IncrementGlobal("bd_finale","bd6100",10)  // The Ambush
    		StartCutSceneMode()
    		PlaySound("AMB_M160")
    		AddJournalEntry(59865,QUEST_DONE)  // It Wasn't Me Imoen wasn't the one who secured my freedom. This was all a setup. Imoen never freed me from the jail. I can think of only one person who might be behind this: the hooded man.
    		Wait(2)
    		ActionOverride("IMOEN",DisplayStringHead(Myself,39786))  // Hey, do you feel a little... off?
    		Wait(5)
    		FadeToColor([40.0],0)
    		Wait(2)
    		StartMovie("sodcin05")
    		EndCutSceneMode()
    		ContinueGame(FALSE)
    		EndCredits()
    	RESPONSE #5
    		IncrementGlobal("bd_finale","bd6100",1)  // The Ambush
    		SetCursorState(TRUE)
    		ClearAllActions()
    		FadeToColor([20.0],0)
    		Wait(4)
    		StartCutSceneMode()
    		SetCursorState(FALSE)
    		SetGlobal("FOG_TYPE","GLOBAL",0)
    		Weather(NOWEATHER)
    		RemoveAreaType(WEATHER)
    		ApplySpellRES("bdremove",Player1)  // No such index
    		ActionOverride(Player1,JumpToPoint([645.785]))
    		ActionOverride(Player2,JumpToPoint([695.745]))
    		ActionOverride(Player3,JumpToPoint([695.825]))
    		ActionOverride(Player4,JumpToPoint([745.785]))
    		ActionOverride(Player5,JumpToPoint([745.865]))
    		ActionOverride(Player6,JumpToPoint([795.825]))
    		SmallWait(5)
    		ActionOverride(Player1,Face(SW))
    		ActionOverride(Player2,Face(SW))
    		ActionOverride(Player3,Face(SW))
    		ActionOverride(Player4,Face(SW))
    		ActionOverride(Player5,Face(SW))
    		ActionOverride(Player6,Face(SW))
    		SmallWait(5)
    		ActionOverride(Player1,SetSequence(SEQ_SLEEP))
    		ActionOverride(Player2,SetSequence(SEQ_SLEEP))
    		ActionOverride(Player3,SetSequence(SEQ_SLEEP))
    		ActionOverride(Player4,SetSequence(SEQ_SLEEP))
    		ActionOverride(Player5,SetSequence(SEQ_SLEEP))
    		ActionOverride(Player6,SetSequence(SEQ_SLEEP))
    		Wait(1)
    		CreateCreature("cutspy",[745.850],S)  // No such index
    		MoveViewPoint([745.890],INSTANT)
    		CreateCreature("bdfinal2",[535.795],SE)  // Shadow Thief
    		ActionOverride("bdfinal2",SetSequence(SEQ_HEAD_TURN))
    		CreateCreature("bdfinal3",[615.690],S)  // Shadow Thief
    		ActionOverride("bdfinal3",SetSequence(SEQ_HEAD_TURN))
    		CreateCreature("bdfinal4",[775.690],S)  // Shadow Thief
    		ActionOverride("bdfinal4",SetSequence(SEQ_HEAD_TURN))
    		CreateCreature("bdfinal5",[890.775],SW)  // Shadow Thief
    		ActionOverride("bdfinal5",SetSequence(SEQ_HEAD_TURN))
    		CreateCreature("bdfinal1",[745.1060],N)  // Shadow Thief
    		ActionOverride("bdfinal1",MoveToPoint([745.910]))
    		CreateCreature("bdfinal4",[675.1110],N)  // Shadow Thief
    		ActionOverride("bdfinal4",MoveToPoint([675.960]))
    		CreateCreature("bdfinal5",[815.1110],N)  // Shadow Thief
    		ActionOverride("bdfinal5",MoveToPoint([815.960]))
    		SmallWait(5)
    		FadeFromColor([20.0],0)
    		Wait(1)
    		DisplayStringHead("bdfinal1",39807)  // Does the child of Bhaal still live?
    		Wait(3)
    		DisplayStringHead("bdfinal2",39808)  // They all do. For the moment.
    		SmallWait(40)
    		DisplayStringHead("bdfinal1",39809)  // Load them onto the cart, quickly. I want us on the road south in no more than five minutes. Our client is anxious to have his prize.
    		Wait(9)
    		FadeToColor([40.0],0)
    		SmallWait(40)
    		SoundActivate("AMB_Main",FALSE)
    		SoundActivate("Amb_day1",FALSE)
    		SoundActivate("Amb_day2",FALSE)
    		SoundActivate("Amb_night1",FALSE)
    		SoundActivate("Amb_night2",FALSE)
    		SetMusic(NIGHT,No_music)
    		SetMusic(COMBAT_WIN,No_music)
    		SetMusic(COMBAT_NORMAL,No_music)
    		SetMusic(COMBAT_LOSE,No_music)
    		SetMusic(MISC0,No_music)
    		SmallWait(25)
    		SoundActivate("Amb_dungeon",TRUE)
    		Wait(2)
    		PlaySound("dpjon156")
    		Wait(4)
    		EndCutSceneMode()
    		ContinueGame(FALSE)
    		EndCredits()
    END
    
    This block runs repeatedly, choosing a branch based on the value of "bd_finale". If it's zero, adjust the weather and increment to 1. If it's 1, adjust the weather again, set a timer, and increment to 3. If it's 3, increment to 13, have Imoen say her line, fade out, play the movie, and roll credits.

    If "bd_finale" is 5, spawn in some creatures and have an in-engine cutscene before rolling credits. But that never happens, so that branch is irrelevant. Then, if "bd_finale" is 4, there are blocks for infinitely respawning Shadow Thieves. Also irrelevant.

    So, it looks like EET resurrected this unused version of the ending, and caught the bug with Story Mode breaking it in the process. That makes it an EET bug.
  • jasteyjastey Member Posts: 2,669
    edited March 2023
    Great catch with the Story Mode, @jmerry !
    My SoD Tweakpack restores the endfight scene for BG:EE, I guess it suffers from the same bug.
Sign In or Register to comment.