In the miscellaneous encounters component, a new cutscene happens in the bridge district with the CWs arresting a mage. The cutscene hangs due to this code block (d0cwlsht.bcs in the game from the source questpack/encounters/ding0/d0cwlsht.baf):
IF
Name("d0qpcow1",Myself)
Global("D0QSpawnCowled","AR0500",3)
THEN
RESPONSE #100
SetGlobal("D0QSpawnCowled","AR0500",4)
Wait(1)
FaceObject("d0qpcow3")
ActionOverride("d0qpcow3",FaceObject("d0qpcow1"))
ActionOverride("d0qpcow2",FaceObject("d0qpcow3"))
Wait(1)
StartDialogNoSet("d0qpcow3")
END
Somewhere in those Wait()s, d0qpcow1 gets distracted by a shiny object and never gets to the StartDialogNoSet. By moving the SetGlobal, the dialogue will always fire (even if the block has to execute a few times) and, hence, no more hanging:
IF
Name("d0qpcow1",Myself)
Global("D0QSpawnCowled","AR0500",3)
THEN
RESPONSE #100
Wait(1)
FaceObject("d0qpcow3")
ActionOverride("d0qpcow3",FaceObject("d0qpcow1"))
ActionOverride("d0qpcow2",FaceObject("d0qpcow3"))
Wait(1)
SetGlobal("D0QSpawnCowled","AR0500",4)
StartDialogNoSet("d0qpcow3")
END
Alternatively, you could move the SetGlobal() to the dialogue file.