249 lines
6.3 KiB
Plaintext
249 lines
6.3 KiB
Plaintext
Scriptname _00E_NQ15Functions extends Quest Conditional
|
|
|
|
Import Utility
|
|
|
|
;=====================================================================================
|
|
; FUNCTIONS
|
|
;=====================================================================================
|
|
|
|
|
|
Function SetTime()
|
|
|
|
RegisterForSingleUpdateGameTime(0.1)
|
|
GameHoursAfterQuest = GameHour.GetValue() as float
|
|
|
|
EndFunction
|
|
|
|
Event OnUpdateGameTime() ; because of how we registered, this event occurs every 30 minutes of game time
|
|
|
|
if GameHour.GetValue() as float >= GameHoursAfterQuest + 1.0
|
|
SetCurrentStageID(50)
|
|
UnregisterForUpdateGameTime()
|
|
endif
|
|
|
|
endEvent
|
|
|
|
Function InitMeldorScene()
|
|
|
|
Game.SetHUDCartMode(true)
|
|
FadeToBlackImod.Apply()
|
|
Wait(1.5)
|
|
FadeToBlackHoldImod.ApplyCrossFade()
|
|
Wait(1.0)
|
|
MeldorRef.Enable()
|
|
Actor Meldor = MeldorRef as Actor
|
|
Meldor.SetGhost(True)
|
|
PlayerREF.MoveTo(NQ15_SC01_PlayerStartMarker)
|
|
NQ15_SC01_BedroomDoorREF.SetOpen(True)
|
|
MayorRef.MoveTo(NQ15MayorMarker)
|
|
MeldorRef.MoveTo(NQ15MeldorMarker002)
|
|
Wait(1.0)
|
|
FadeToBlackBackImod.ApplyCrossFade()
|
|
Wait(1.0)
|
|
NQ15_SC1.ForceStart()
|
|
Game.EnablePlayerControls()
|
|
Game.SetHUDCartMode(false)
|
|
|
|
EndFunction
|
|
|
|
Function EnableDrownedWoman()
|
|
|
|
Actor Meldor = MeldorRef as Actor
|
|
Meldor.SetGhost(False)
|
|
NQ15Woman.Enable()
|
|
|
|
EndFunction
|
|
|
|
Function StartVision()
|
|
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(None, _00E_NQ15_ActorsVision)
|
|
EndFunction
|
|
|
|
Function EndVision()
|
|
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(None, _00E_NQ15_ActorsVision, true)
|
|
EndFunction
|
|
|
|
Function StartVisionNoActors()
|
|
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(None, None)
|
|
EndFunction
|
|
|
|
function EndVisionNoActors()
|
|
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(None, None)
|
|
EndFunction
|
|
|
|
Function StartSC3()
|
|
NQ15_SC3.ForceStart()
|
|
Game.DisablePlayerControls()
|
|
EndFunction
|
|
|
|
Function EndSC3()
|
|
|
|
Game.EnablePlayerControls()
|
|
PentasKey.Enable()
|
|
_00E_TeleportVanishShader.Play(NQ15Woman)
|
|
Wait(3)
|
|
NQ15Woman.Disable()
|
|
|
|
EndFunction
|
|
|
|
Function NQ15_SC4Start()
|
|
|
|
NQ15Woman.Enable()
|
|
NQ15_SC4.ForceStart()
|
|
|
|
EndFunction
|
|
|
|
Function DisableWOman()
|
|
|
|
_00E_TeleportVanishShader.Play(NQ15Woman)
|
|
Wait(3)
|
|
NQ15Woman.Disable()
|
|
NQ15Auftrag.Enable()
|
|
|
|
EndFunction
|
|
|
|
Function SetUpMeldorScene()
|
|
|
|
NQ15Soeldner.EnableNoWait()
|
|
MeldorRef.Enable()
|
|
MeldorRef.MoveTo(NQ15MeldorMarker02)
|
|
MeldorRef.MoveTo(NQ15_SC05_MeldorStartMarker)
|
|
NQ15_SC5.ForceStart()
|
|
|
|
EndFunction
|
|
|
|
Function PortWoman()
|
|
|
|
if Player == NONE
|
|
Player.ForceRefTo(Game.GetForm(0x00000014) as Actor)
|
|
EndIf
|
|
|
|
NQ15Woman.Enable()
|
|
NQ15Woman.SetAlpha(0.0)
|
|
NQ15Woman.MoveTo(NQ15WomanMarker)
|
|
|
|
; SE: Need to wait for 3D to load before playing the shader
|
|
_00E_Func_WaitForRef.WaitForReferenceToLoad(NQ15Woman)
|
|
_00E_TeleportReappearShader.Play(NQ15Woman)
|
|
|
|
; SE: The shader is short, 2 seconds is too long
|
|
Wait(1.0)
|
|
NQ15Woman.SetAlpha(1)
|
|
|
|
EndFunction
|
|
|
|
Function MarkAsNotFair()
|
|
NQ15IsNotFair = true
|
|
EndFunction
|
|
|
|
Function GiveAmulet()
|
|
PlayerREF.AddItem(Amulet, 1)
|
|
EndFunction
|
|
|
|
function GiveGold()
|
|
PlayerREF.AddItem(Gold001, Gold)
|
|
EndFunction
|
|
|
|
Function LevitateMeldor()
|
|
|
|
Actor Meldor = MeldorRef as Actor
|
|
Debug.SendAnimationEvent(Meldor, "IdleDA02BoethiahPostEnter")
|
|
NQ15Woman.PlayIdle(IdleCO2Ceremony2Blessing)
|
|
_00E_Horror_Ghosts_01M.Play(NQ15Woman)
|
|
Meldor.SetHeadTracking(false)
|
|
Meldor.SetGhost(true)
|
|
Wait(1.5)
|
|
MeldorREF.Say(NQ15_D5_Meldor_PainTopic)
|
|
Wait(4)
|
|
_00E_HighOnesDisintegrate.Play(MeldorRef)
|
|
Wait(1.5)
|
|
ObjectReference KillMarkerMeldor = MeldorREF.PlaceAtMe(XMarker)
|
|
_00E_A2_PrimalForce_ScreamMarkerMale.Play(KillMarkerMeldor)
|
|
NQ15_BloodParentREF.Enable()
|
|
MeldorRef.PlaceAtMe(ExplosionIllusionDark01)
|
|
MeldorRef.PlaceAtMe(_00E_FS_MAGGoreExplosion)
|
|
Game.ShakeCamera(None,1,1)
|
|
Game.TriggerScreenBlood(10)
|
|
MeldorRef.KnockAreaEffect(1, 1024)
|
|
Wait(0.2)
|
|
Meldor.KillEssential(Meldor)
|
|
MeldorRef.DisableNoWait()
|
|
SetCurrentStageID(240)
|
|
|
|
_00E_Func_AIWalk.PlayerAIWalkStop()
|
|
|
|
EndFunction
|
|
|
|
Function DespawnWoman()
|
|
|
|
_00E_TeleportVanishShader.Play(NQ15Woman)
|
|
Wait(3)
|
|
NQ15Woman.Disable()
|
|
Wait(5)
|
|
_00E_PlayerFunctions.GetSoundControl().RemoveSilence()
|
|
Wait(3)
|
|
Weather.ReleaseOverride()
|
|
|
|
EndFunction
|
|
|
|
Function EnableContainerAndGiveKey()
|
|
|
|
NQ15Container.Enable()
|
|
PlayerREF.AddItem(_00E_NQ15ContainerKey, 1)
|
|
_00E_PlayerFunctions.GetSoundControl().RemoveSilence()
|
|
Weather.ReleaseOverride()
|
|
|
|
EndFunction
|
|
|
|
;=====================================================================================
|
|
; PROPERTIES
|
|
;=====================================================================================
|
|
|
|
EffectShader Property _00E_TeleportVanishShader Auto
|
|
EffectShader Property _00E_TeleportReappearShader Auto
|
|
EffectShader Property _00E_HighOnesDisintegrate Auto
|
|
|
|
ReferenceAlias Property Player Auto
|
|
|
|
ObjectReference Property MeldorRef Auto
|
|
ObjectReference Property NQ15MayorMarker Auto
|
|
ObjectReference Property NQ15MeldorMarker02 Auto
|
|
ObjectReference Property NQ15WomanMarker Auto
|
|
ObjectReference Property PentasKey Auto
|
|
ObjectReference Property NQ15Container Auto
|
|
ObjectReference Property NQ15_SC01_PlayerStartMarker Auto
|
|
ObjectReference Property NQ15MeldorMarker002 Auto
|
|
ObjectReference Property NQ15_SC05_MeldorStartMarker Auto
|
|
ObjectReference Property NQ15_SC01_BedroomDoorREF Auto
|
|
ObjectReference Property NQ15_BloodParentREF Auto
|
|
|
|
Actor Property PlayerREF Auto
|
|
|
|
Topic Property NQ15_D5_Meldor_PainTopic Auto
|
|
|
|
ObjectReference Property NQ15Soeldner Auto
|
|
GlobalVariable Property GameHour Auto
|
|
|
|
Float GameHoursAfterQuest
|
|
|
|
Key Property _00E_NQ15ContainerKey Auto
|
|
Idle Property IdleCO2Ceremony2Blessing Auto
|
|
Explosion Property ExplosionIllusionDark01 Auto
|
|
Explosion Property _00E_FS_MAGGoreExplosion Auto
|
|
Scene Property NQ15_SC1 Auto
|
|
Scene Property NQ15_SC3 Auto
|
|
Scene Property NQ15_SC4 Auto
|
|
Sound Property _00E_A2_PrimalForce_ScreamMarkerMale Auto
|
|
Sound Property _00E_Horror_Ghosts_01M Auto
|
|
Scene Property NQ15_SC5 Auto
|
|
Armor Property Amulet Auto
|
|
ImageSpaceModifier Property FadeToBlackImod Auto
|
|
ImageSpaceModifier Property FadeToBlackBackImod Auto
|
|
ImageSpaceModifier Property FadeToBlackHoldImod Auto
|
|
ObjectReference Property NQ15Auftrag Auto
|
|
ObjectReference Property MayorRef Auto
|
|
Formlist Property _00E_NQ15_ActorsVision Auto
|
|
Int Property Gold Auto
|
|
MiscObject Property Gold001 Auto
|
|
Actor Property NQ15Woman Auto
|
|
Static Property XMarker Auto
|
|
Bool Property NQ15IsNotFair Auto Conditional |