Scriptname _00E_MQ10b_Questfunctions extends Quest Import _00E_QuestFunctions ;===================================================================================== ; FUNCTIONS ;===================================================================================== function SetUp() MQ07b_Suntemple_Beacon_InConstruction.Disable() Game.SetHudCartMode() Game.DisablePlayerControls(1, 1, 1, 1, 1, 1, 1) _00E_MC_JesparRef.MoveTo(MQ10b_SC01_JesparMarkerREF) MQ10b_FisherwomanREF.Enable() MQ10b_FisherwomanREF.MoveTo(MQ10b_FisherwomanMarkerREF) PlayerREF.MoveTo(Mq10bPlayerMarkerRef) Levelsystem.RemoveSilence() _00E_Music_Special_Dreams.Remove() MQ07b_NuminosREF.Enable() LeuchtfeuerSwitcher.Enable() _00E_SilenceLongTransitionHighPriority.Remove() EndFunction Function RemoveSilences() Levelsystem.RemoveSilence() EndFunction Function StartScene() MQ10b_SC1_Ship.ForceStart() EndFunction Function WakeUp() FadeToBlackBack.ApplyCrossFade() PlayerREF.PlayIdle(TG05_GetUp) Game.ShowFirstPersonGeometry(false) Utility.Wait(1) FadeToBlackHoldImod.Remove() Utility.Wait(6.75) Game.SetHudCartMode(false) Game.EnablePlayerControls() Game.ShowFirstPersonGeometry(true) Game.SetPlayerAIDriven(false) EndFunction Function StartCQJ03() If CQJ02.IsCompleted() CQJ03.SetStage(5) EndIf Game.RequestAutoSave() EndFunction Function PortToDunehome() FadeToBlackImod.Apply() Utility.Wait(2) FadeToBlackHoldImod.ApplyCrossFade() Self.SetStage(30) PlayerREF.MoveTo(MQ10b_SC02_PlayerMarker) _00E_SilenceLongTransitionHighPriority.Remove() Levelsystem.RemoveSilence() Fischerin.MoveTo(MQ10b_SC02_FisherWomanMarker) _00E_MC_JesparRef.MoveTO(MQ10b_SC02_JesparMarker) Done = True Utility.Wait(1) FadeToBlackBackLongImod.ApplyCrossFade() Timescale.SetValue(10) Game.RequestAutoSave() _00E_TeleportGlobal.SetValue(0) EndFunction Function PortJespar() Levelsystem.RemoveSilence() _00E_SilenceAbruptHighPriority.remove() Actor JesparActor = _00E_MC_JesparRef as actor Levelsystem.TeleportNPC(JesparActor, MQ10bJesparPortMarker) If !CQC02.IsCompleted() && CQC02.IsRunning() CQC02.SetStage(35) Elseif CQC02.IsCompleted() CQC03.SetStage(5) EndIf _00E_QuestFunctions.EnableReferenceFormList(_00E_MQ09b_NehrimeseSoldiersFRM) EndFunction Function SetUpTempleScene() _00E_MC_LishariREF.EquipItem(_03E_27Wegesschwert, true,true) _00E_MC_LeoraREF.Disable() _00E_MC_TealorREF.MoveTo(MQ10b_SC02_TealorStartMarkerREF) _00E_MC_JorrekRef.MoveTo(MQ10b_SC02_JorekStartMarkerREF001) _00E_MC_LishariREF.MoveTo(_00E_MQ08aPrologue_LishariMarker) _00E_MC_LishariREF.Enable() _00E_MC_NataraREF.MoveTo(_00E_MQ08Prologue_NataraChair) _00E_MC_NataraREF.Enable() _00E_MC_YuslanRef.MoveTo(_00E_MQ08aPrologue_YuslanChair) _00E_MC_JorrekRef.Enable() MQ10b_SC2_Temple.ForceStart() EndFunction Function ShipShakeCamera() While !Done Game.ShakeCamera(PlayerREF, Utility.RandomFloat(0.01, 0.04), 3) Utility.Wait(3) EndWhile EndFunction Function AddSilence() _00E_SilenceLongTransitionHighPriority.Add() EndFunction Function FadeOutScene() SetObjectiveCompleted(20) _00E_MC_LeoraREF.Disable() MQ07b_Suntemple_Beacon_InConstruction.Disable() FadeToBlackImod.Apply() Utility.Wait(1) FadeToBlackHoldImod.Apply() FadeToBlackImod.Remove() Utility.Wait(1) _00E_MC_JesparRef.MoveTo(MQ10bJesparPortMarker) Game.DisablePlayerControls(1, 1, 1, 1, 1, 1, 1) PlayerREF.MoveTo(MQ01b_S2_PlayerMarker) PlayerREF.MoveTo(CaliaStool) Utility.Wait(1) ; Give some time to the PC and Jespar to finish any "exit furniture" animations If !((PlayerREF.GetSitState() == 3 ) || (PlayerREF.GetSitState() == 2 )) CaliaStool.Activate(PlayerREF, True) EndIf SuntempleEmporium_ClearWeatherLinker.Disable() SetStage(50) Levelsystem.SkipTimeToHour(20) EndFunction Function SitJespar() _00E_MC_JesparRef.Disable() _00E_MC_JesparRef.MoveTo(JesparStool) _00E_MC_JesparRef.Enable() EndFunction Function TealorPortToBeacon() Levelsystem.RemoveSilence() _00E_MC_TealorREF.MoveTo(MQ05Prologue_SC2_TealorTalkMarker) EndFunction Function FadeBack() Game.EnablePlayerControls() FadeToBlackBack.Apply() FadeToBlackHoldImod.Remove() EndFunction Function KillLishari() Levelsystem.SetAllowIdleChatter(True) MQ10bLishariDead.Enable() MQ10bLishariDead.SetOutfit(_00E_LisharisArmor_Outfit) MQ10bLishariDead.AddItem(_50E_NP_LishariArmor, 1) MQ10bLishariDead.AddItem(_50E_NP_LishariBoots, 1) MQ10bLishariDead.EquipItem(_50E_NP_LishariArmor, True) MQ10bLishariDead.EquipItem(_50E_NP_LishariArmor, True) MQ10bLishari.Disable() MQ10bTavernDoor.Lock(False) _00E_MC_LishariREF.disable() LeuchtfeuerSwitcher.Enable() MQ07b_Suntemple_Beacon_InConstruction.Disable() EndFunction Function KillLishari2() Game.EnablePlayerControls() MQ10bBottle.Enable() EndFunction Function StopMusic() _00E_SilenceLongTransitionHighPriority.Remove() EndFunction Function PortTealor() _00E_MC_TealorRef.MoveTo(MQ10bTealorPortMarker) _00E_MC_TealorRef.EvaluatePackage() EndFunction Function StartLexilScene() MQ10b_SC4_Tealor.ForceStart() Actor lexilRef = Alias_Lexil.GetActorReference() lexilRef.Disable() lexilRef.MoveTo(MQ10bTealorPortMarker) lexilRef.Enable() EndFunction Function DayTimer() RegisterForUpdateGameTime(24) GameDay = GameDaysPassed.GetValue() as Int ENdFunction Event OnUpdateGameTime() ; because of how we registered, this event occurs every 30 minutes of game time if GameDaysPassed.GetValue() + 1 >= GameDay SetStage(125) UnregisterForUpdateGameTime() endif endEvent Function LockDoors() _00E_MC_LishariREF.EvaluatePackage() _00E_MC_YuslanRef.EvaluatePackage() EndFunction Function UnblockDoors() _00E_TeleportGlobal.SetValueInt(0) MQ10b_SC02_SecondExitDoorREF.SetOpen(True) MQ10b_SC02_SecondExitDoorREF.Lock(False) MQ10b_SC02_SecondExitDoorREF.BlockActivation(False) EndFunction Function FinishQuest() If !CQJ03.IsCompleted() CQJ03.SetStage(15) EndIf MQ12a.SetStage(5) MQ10bLexilContainer.RemoveAllItems(PlayerREF, true, true) MQ10bLishariDead.disable() Levelsystem.GiveEP(1000) Levelsystem.RemoveSilence() FS_NQ03.SetStage(10) EndFunction Function PortLishari() _00E_MC_LishariREF.MoveTo(MQ10b_SC02_LishariLeanMarker) _00E_MC_LishariREF.EvaluatePackage() EndFunction ;===================================================================================== ; PROPERTIES ;===================================================================================== bool done = false int GameDay Quest Property CQC02 Auto Quest Property CQC03 Auto Quest Property CQJ03 Auto Quest Property CQJ02 Auto Quest Property MQ12a Auto Quest Property FS_NQ03 Auto _00E_QuestFunctions Property Levelsystem Auto Actor Property _00E_MC_LishariREF Auto Actor Property _00E_MC_NataraREF Auto Actor Property _00E_MC_TealorREF Auto Actor Property _00E_MC_YuslanRef Auto Actor Property _00E_MC_JorrekRef Auto Actor Property _00E_MC_LeoraREF Auto Actor Property MQ10bLishariDead Auto Actor Property PlayerREF Auto ReferenceAlias Property Alias_Lexil Auto Armor Property _50E_NP_LishariArmor Auto Armor Property _50E_NP_LishariBoots Auto GlobalVariable Property GameDaysPassed Auto GlobalVariable Property Timescale Auto GlobalVariable Property _00E_TeleportGlobal Auto ObjectReference Property MQ01b_S2_PlayerMarker Auto ObjectReference Property MQ10bLishari Auto ObjectReference Property _00E_MC_JesparRef Auto ObjectReference Property Fischerin Auto ObjectReference Property Mq10bPlayerMarkerRef Auto ObjectReference Property MQ10bJesparPortMarker Auto ObjectReference Property MQ10bTavernDoor Auto ObjectReference Property MQ10bBottle Auto ObjectReference Property MQ10bTealorPortMarker Auto ObjectReference Property MQ07b_Suntemple_Beacon_InConstruction Auto ObjectReference Property MQ10b_SC01_JesparMarkerREF Auto ObjectReference Property MQ10b_SC02_FisherWomanMarker Auto ObjectReference Property MQ10b_SC02_PlayerMarker Auto ObjectReference Property MQ10b_SC02_JesparMarker Auto ObjectReference Property MQ10b_SC02_TealorStartMarkerREF Auto ObjectReference Property MQ10b_SC02_JorekStartMarkerREF001 Auto ObjectReference Property _00E_MQ08aPrologue_LishariMarker Auto ObjectReference Property _00E_MQ08Prologue_NataraChair Auto ObjectReference Property _00E_MQ08aPrologue_YuslanChair Auto ObjectReference Property LeuchtfeuerSwitcher Auto ObjectReference Property MQ10bLexilContainer Auto ObjectReference Property MQ10b_FisherwomanMarkerREF Auto ObjectReference Property JesparStool Auto ObjectReference Property MQ10b_SC02_SecondExitDoorREF Auto ObjectReference Property MQ10b_FisherwomanREF Auto ObjectReference Property CaliaStool Auto ObjectReference Property SuntempleEmporium_ClearWeatherLinker Auto ObjectReference Property MQ05Prologue_SC2_TealorTalkMarker Auto ObjectReference Property MQ10b_SC02_LishariLeanMarker Auto ObjectReference Property MQ07b_NuminosREF Auto Weapon Property _03E_27Wegesschwert Auto ImageSpaceModifier Property FadeToBlackImod Auto ImageSpaceModifier Property FadeToBlackBackLongImod Auto ImageSpaceModifier Property FadeToBlackBack Auto ImageSpaceModifier Property FadeToBlackHoldImod Auto Scene Property MQ10b_SC1_Ship Auto Scene Property MQ10b_SC2_Temple Auto Scene Property MQ10b_SC4_Tealor Auto Idle Property TG05_GetUp Auto Outfit Property _00E_LisharisArmor_Outfit Auto Formlist Property _00E_MQ09b_NehrimeseSoldiersFRM Auto MusicType Property _00E_Music_Special_Dreams Auto MusicType Property _00E_SilenceAbruptHighPriority Auto MusicType Property _00E_SilenceLongTransitionHighPriority Auto