Jump to content

Teos/Planar Sphere Funk


Recommended Posts

The assassins in the Planar Sphere quests sometimes failed to spawn:

 

The files AR0411.BCS and MGTEOS01.DLG contained in this archive are edited versions of the Baldur's Gate II area control script for the (stronghold) Planar Sphere and the Cowled Wizard Teos. These files are intended as bugfixes.

 

They resolve a bug that sometimes would occur in the sequence where the player/party is ambushed by assassins in the Sphere. The "wooden gate" animation would play showing the assassins gating in, but they would never appear. The cause of this seems to be a rare engine bug involving multiple dialog-embedded CreateCreature commands producing overlapping creatures with a full party; this was solved by passing a variable to the area control script to instead run the commands and changing the Create commands to ignore their overlap.

 

BD also includes an undocumented change of closing doors in the cutscene, which I've gone ahead and included. .d:

 

REPLACE MGTEOS01
IF ~~ THEN BEGIN 61
 SAY  #42303
 IF ~~ THEN DO ~SetGlobal("SpawnAssassins","AR0411",1)~ EXIT
END
END

 

And the script to be EXTEND_TOPped:

 

IF
Global("SpawnTeosAssasin","GLOBAL",1)
!Dead("MGTEOS01") // Teos
THEN
RESPONSE #100
 SetGlobal("SpawnTeosAssasin","GLOBAL",2)
 FadeToColor([30.0],0)
 CloseDoor("DoorPool2")
 CloseDoor("DoorTreasure2")
 Wait(1)
 CreateCreatureDoor("MGTEOS01",[2900.2580],0) // Teos
 MoveViewPoint([2995.2649],INSTANT)
 ActionOverride(Player1,JumpToPoint([2995.2649]))
 ActionOverride(Player2,JumpToPoint([2939.2667]))
 ActionOverride(Player3,JumpToPoint([2869.2692]))
 ActionOverride(Player4,JumpToPoint([3019.2720]))
 ActionOverride(Player5,JumpToPoint([2961.2736]))
 ActionOverride(Player6,JumpToPoint([2904.2751]))
 FadeFromColor([30.0],0)
 Wait(7)
 ActionOverride("MGTEOS01",StartDialogueNoSet(Player1))
END

IF
Global("SpawnAssassins","AR0411",1)
THEN
RESPONSE #100
 SetGlobal("SpawnAssassins","AR0411",2)
 StartCutSceneMode()
 CreateVisualEffect("SPWOOD",[2774.2650])
 CreateVisualEffect("SPWOOD",[2839.2781])
 CreateVisualEffect("SPWOOD",[3160.2714])
 CreateVisualEffect("SPWOOD",[2989.2821])
 CreateVisualEffect("SPWOOD",[2908.2795])
 CreateVisualEffect("SPWOOD",[2842.2772])
 CreateVisualEffect("SPWOOD",[2894.2508])
 Wait(5)
 CreateCreatureImpassable("mgass01",[2774.2650],14) // Sergeant Natula
 CreateCreatureImpassable("mgass02",[2839.2781],11) // Tyrian
 CreateCreatureImpassable("mgass03",[3160.2714],4) // Vilhelm
 CreateCreatureImpassable("pardru",[2989.2821],8) // Sorsha
 CreateCreatureImpassable("parthf",[2908.2795],8) // Alnarow
 CreateCreatureImpassable("parmonk",[2842.2772],8) // Mahar
 CreateCreatureImpassable("parfig16",[2894.2508],8) // Jalin Tix
 EndCutSceneMode()
 ActionOverride("mgass01",StartDialogueNoSet(Player1))
END

 

The first block is present without the CloseDoors, but rather than trying REPLACE_BCS_BLOCK (bleah) I just EXTEND so that the original block can not fire.

Link to comment

Archived

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

×
×
  • Create New...