1
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.5 KiB

3 years ago
Scriptname _00E_StopBardDialogueOnLocChange extends ReferenceAlias
3 years ago
LocationAlias Property Location_Alias Auto
3 years ago
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
3 years ago
Quest Property BardAudience Auto
3 years ago
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
3 years ago
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
3 years ago
Function TerminateParentQuest()
GetOwningQuest().Stop()
BardAudience.Stop()
EndFunction