366 lines
10 KiB
Plaintext
366 lines
10 KiB
Plaintext
|
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
|