Scriptname _00E_StopBardDialogueOnLocChange extends ReferenceAlias LocationAlias Property Location_Alias Auto Location Property _00E_DunehomeInteriorLocation Auto Location Property _00E_FlusshaimTaverneLocation Auto Location Property _00E_SuntempleQuarters Auto Location Property _00E_UEEntr_FalseDog_Location Auto Location Property BauernkuesteRoterOchseLocation Auto Location Property CapitalCityTheFatLeoranLocation Auto Location Property SchneefelstaverneInteriorLocation Auto Quest Property BardAudience Auto Event OnLocationChange(Location akOldLoc, Location akNewLoc) If Location_Alias ; Try the new way first Location bardLoc = Location_Alias.GetLocation() If bardLoc If akNewLoc != bardLoc TerminateParentQuest() EndIf Return EndIf EndIf If akNewLoc != akOldLoc ; Old way, mostly for version compatibility If akOldLoc == _00E_FlusshaimTaverneLocation TerminateParentQuest() ElseIf akOldLoc == _00E_UEEntr_FalseDog_Location TerminateParentQuest() ElseIf akOldLoc == _00E_DunehomeInteriorLocation TerminateParentQuest() ElseIf akOldLoc == CapitalCityTheFatLeoranLocation TerminateParentQuest() ElseIf akOldLoc == BauernkuesteRoterOchseLocation TerminateParentQuest() ElseIf akOldLoc == _00E_SuntempleQuarters TerminateParentQuest() ElseIf akOldLoc == SchneefelstaverneInteriorLocation TerminateParentQuest() EndIf EndIf EndEvent Function TerminateParentQuest() GetOwningQuest().Stop() BardAudience.Stop() EndFunction