enderalse/source/scripts/_00e_mq16_functions.psc

1165 lines
36 KiB
Plaintext

Scriptname _00E_MQ16_Functions extends Quest Conditional
Import _00E_QuestFunctions
Import Utility
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function SetUp()
MQ15.ChooseCompanion()
akCompanion = MQ15.akCompanion
akTealor = _00E_MC_TealorREF
akYuslan = _00E_MC_YuslanREF
Companion.ForceRefTo(akCompanion)
if akYuslan.IsDisabled()
akYuslan.Enable()
EndIf
If akCompanion.IsDisabled()
akCompanion.Enable()
EndIf
akTealor.SetOutfit(MQ15._25E_HolyOrder_WardenOutfitNoHelmetNoCape)
akYuslan.MoveTo(PlayerREF)
akTealor.MoveTo(PlayerREF)
akCompanion.MoveTo(PlayerREF)
akYuslan.RemoveItem(Torch01)
akYuslan.RemoveItem(Torch01RedDesat)
akYuslan.EquipItem(akYuslan.GetEquippedWeapon(), True)
akTealor.EquipItem(akTealor.GetEquippedWeapon(), True)
akCompanion.EquipItem(akCompanion.GetEquippedWeapon(0), True)
akCompanion.EquipItem(akCompanion.GetEquippedWeapon(1), True)
MQ16_SC01_Journey_01.ForceStart()
SetObjectiveDisplayed(5)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 850, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, True, 650, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, True, 650, 700, 200)
EndFunction
Function PrepareVision_SC01()
MQ16_SC01_MotherREF02.MoveTo(MQ16_SC01_MotherStartREF)
MQ16_SC01_ChildREF02.MoveTo(MQ16_SC01_MotherREF02)
MQ16_SC01_MotherREF02.SetAlpha(0.0)
MQ16_SC01_ChildREF02.SetAlpha(0.0)
MQ16_SC01_ChildREF02.GetActorBase().SetName("")
MQ16_SC01_MotherREF02.GetActorBase().SetName("")
EndFunction
Function StartVision_SC01()
MQ16_SC01_MotherREF02.EvaluatePackage()
MQ16_SC01_ChildREF02.EvaluatePackage()
MQ16_SC01_LinkMarker.Enable(False)
MQ16_SC01_ChildREF02.SetAlpha(0.75)
MQ16_SC01_MotherREF02.SetAlpha(0.75)
MS04MemoryFXBody01VFX.Play(MQ16_SC01_MotherREF02)
MS04MemoryFXBody01VFX.Play(MQ16_SC01_MotherREF02)
MQ16_SC01_ChildREF02.GetActorBase().SetName(_00E_MQ16_sFleeingChild.GetName())
MQ16_SC01_MotherREF02.GetActorBase().SetName(_00E_MQ16_sFleeingWoman.GetName())
_00E_MQ16_SC01_ScreamM.Play(PlayerREF)
_00E_MQ16_VisionIMOD.Apply()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
Wait(0.25)
Levelsystem.VisionEffectTimestop(True, True)
EndFunction
Function StopVision_SC01()
Levelsystem.VisionEffectTimestopStop()
MQ16_SC01_LinkMarker.Disable()
MQ16_SC01_ChildREF02.Disable()
MQ16_SC01_MotherREF02.Disable()
Sound.StopInstance(iVisionIntenseSound)
ImageSpaceModifier.RemoveCrossFade()
SetStage(15)
EndFunction
Function StartSC02()
MQ16_SC02_Journey_02.ForceStart()
EndFunction
Function DisableFollowerVision_SC03()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, False)
EndFunction
Function StartSC03()
MQ16_SC03_Journey_03.ForceStart()
EndFunction
Function StartVision_SC03()
MQ16_SC03_collisionREF.Enable()
MQ16_SC03_VisionLinkerREF.Enable()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
Levelsystem.VisionEffectTimestop(True, True)
_00E_MQ16_VisionIMOD.Apply()
EndFunction
Function StopVision_SC03()
MQ16_SC03_KillBoxREF.Disable()
akYuslan.UnequipItem(Torch01, True)
akYuslan.UnequipItem(Torch01RedDesat, True)
;Debug.SendAnimationEvent(akYuslan, "IdleForceDefaultState")
MQ16_SC03_collisionREF.Disable()
MQ16_SC03_VisionVoice.Disable()
MQ16_SC03_VisionLinkerREF.Disable()
Sound.StopInstance(iVisionIntenseSound)
Levelsystem.VisionEffectTimestopStop()
ImageSpaceModifier.RemoveCrossFade()
Wait(1)
SetStage(45)
SetObjectiveDisplayed(12)
EndFunction
Function StartElevator()
If MQ16_SC03_collisionREF.IsEnabled()
MQ16_SC03_collisionREF.Disable()
EndIf
Wait(1)
EndFunction
Function StopElevatorSound()
PlayerREF.SetGhost(False)
SetStage(45)
EndFunction
Function ReEnableCollision()
Debug.ToggleCollisions()
EndFunction
Function StartSC04()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 850, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, True, 650, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, True, 650, 700, 200)
MQ16_SC04_Journey_04.ForceStart()
EndFunction
Function DisableFollower_SC04()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, False)
EndFunction
Function StartSC05()
AudioCategoryMuteSubmerged.SetVolume(0.5)
MQ16_SC05_HighOnes.ForceStart()
EndFunction
Function PosessCorpse01()
MQ16_SC05_HighOnesEyes_03.EnableNoWait()
_00E_VisionGlimpseWhisperM.Play(PlayerREF)
_00E_StaggerSelf.Cast(akCompanion, akCompanion)
MQ16_SC04_Corpse01REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
MQ16_SC04_Corpse02REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
MQ16_SC04_Corpse03REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
MQ16_SC04_Corpse04REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
EndFunction
Function PosessCorpse02()
MQ16_SC04_Corpse04REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
MQ16_SC05_HighOnesEyes_02.EnableNoWait()
_00E_VisionGlimpseWhisperM.Play(PlayerREF)
EndFunction
Function PosessCorpse03()
MQ16_SC05_HighOnesEyes_01.EnableNoWait(False)
_00E_VisionGlimpseWhisperM.Play(PlayerREF)
MQ16_SC04_Corpse03REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
EndFunction
Function PosessCorpse04()
MQ16_SC05_HighOnesEyes_04.EnableNoWait()
_00E_VisionGlimpseWhisperM.Play(PlayerREF)
MQ16_SC04_Corpse02REF.GetBaseObject().SetName(_00E_MQ16_sHighOnes.GetName())
EndFunction
Function AddZyklusTheme()
Levelsystem.RemoveSilence()
_00E_Music_Special_Zyklus_OneSelection.Add()
EndFunction
Function AddZyklusLoop()
Levelsystem.RemoveSilence()
_00E_Music_Special_Zyklus_Loop.Add()
EndFunction
Function EnableMemory()
MQ16_SC05_Irlanda.MoveTo(MQ16_SC05_IllusionIrlandaStartMarker)
MQ16_SC05_Tealor.MoveTo(MQ16_SC05_IllusionTealorStartMarker)
MQ16_SC05_Irlanda.Enable(True)
MQ16_SC05_Tealor.Enable(True)
MQ16_SC05_Tealor.PlaceAtMe(ExplosionIllusionDark01, 1)
MQ16_SC05_Irlanda.PlaceAtMe(ExplosionIllusionDark01, 1)
_00E_HighOnesDisintegrate.Play(MQ16_SC05_Tealor)
_00E_HighOnesDisintegrate.Play(MQ16_SC05_Irlanda)
MQ16_SC05_Tealor.SetLookAt(MQ16_SC05_Irlanda)
MQ16_SC05_Irlanda.SetLookAt(MQ16_SC05_Tealor)
MQ16_SC05_Tealor.SetGhost(True)
MQ16_SC05_Irlanda.SetGhost(True)
MGTeleportInEffect.Play(MQ16_SC05_Irlanda)
MGTeleportInEffect.Play(MQ16_SC05_Tealor)
Wait(3)
EndFunction
Function TealorSheatheWeapon()
akTealor.SheatheWeapon()
EndFunction
Function DisableMemory()
MGTeleportOutEffect.Play(MQ16_SC05_Irlanda)
MGTeleportOutEffect.Play(MQ16_SC05_Tealor)
MQ16_SC05_Irlanda.DisableNoWait(True)
MQ16_SC05_Tealor.DisableNoWait(True)
EndFunction
Function StartSC06()
AudioCategoryMuteSubmerged.SetVolume(1.0)
SetObjectiveDisplayed(10)
FXFireOut.Play(akTealor)
MQ16_SC05_HighOnesEyes_01.DisableNoWait()
MQ16_SC05_HighOnesEyes_02.DisableNoWait()
MQ16_SC05_HighOnesEyes_03.DisableNoWait()
MQ16_SC05_HighOnesEyes_04.DisableNoWait()
MQ16_SC04_Corpse04REF.GetBaseObject().SetName(_00E_MQ16_sCongealedCorpse.GetName())
MQ16_SC04_Corpse03REF.GetBaseObject().SetName(_00E_MQ16_sCongealedCorpse.GetName())
MQ16_SC04_Corpse02REF.GetBaseObject().SetName(_00E_MQ16_sCongealedCorpse.GetName())
MQ16_SC04_Corpse01REF.GetBaseObject().SetName(_00E_MQ16_sCongealedCorpse.GetName())
Levelsystem.RemoveSilence()
_00E_Music_Combat_Epic.Add()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 850, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, True, 650, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, True, 650, 700, 200)
MQ16_SC06_Assault.ForceStart()
ReanimateCorpses(1)
EndFunction
Function ReanimateCorpses(int iStage)
Game.RequestAutoSave()
int iReanimateIndex
if iStage == 1
MQ16_SC06_BossREF.Enable()
MQ16_SC06_BossREF.Activate(MQ16_SC06_BossREF)
MQ16_SC06_BossREF.PlaceAtMe(ExplosionIllusionMassiveDark01)
Wait(1)
iReanimateIndex = _00E_MQ16_SC06_Stage01_Enemies.GetSize()
while iReanimateIndex > 0
iReanimateIndex -= 1
_00E_MQ16_HighOnes_Echo_DeadSC CorpseREF = _00E_MQ16_SC06_Stage01_Enemies.GetAt(iReanimateIndex) as _00E_MQ16_HighOnes_Echo_DeadSC
CorpseREF.Enable()
; CorpseREF.Resurrect()
_00E_MQ16_RessurectSP.Cast(MQ16_SC06_ProjectileSpawn, CorpseREF)
CorpseREF.Reanimate()
CorpseREF.StartCombat(PlayerREF)
EndWhile
Elseif iStage == 2
iReanimateIndex = _00E_MQ16_SC06_Stage02_Enemies.GetSize()
while iReanimateIndex > 0
iReanimateIndex -= 1
_00E_MQ16_HighOnes_Echo_DeadSC CorpseREF = _00E_MQ16_SC06_Stage02_Enemies.GetAt(iReanimateIndex) as _00E_MQ16_HighOnes_Echo_DeadSC
CorpseREF.Enable()
CorpseREF.Reanimate()
CorpseREF.StartCombat(PlayerREF)
EndWhile
Else
MQ16_SC06_Stage03_Mage_01REF.Enable()
MQ16_SC06_Stage03_Mage_01REF.Activate(MQ16_SC06_Stage03_Mage_01REF)
MQ16_SC06_Stage03_ZombieGiantREF.Enable()
MQ16_SC06_Stage03_ZombieGiantREF.PlaceAtMe(ExplosionIllusionMassiveDark01)
GhostRedFXShader.Play(MQ16_SC06_Stage03_ZombieGiantREF)
MQ16_SC06_Stage03_ZombieGiantREF.AddSpell(GhostAbilityRed)
MQ16_SC06_Stage03_ZombieGiantREF.StartCombat(PlayerREF)
iReanimateIndex = _00E_MQ16_SC06_Stage03_Enemies.GetSize()
while iReanimateIndex > 0
iReanimateIndex -= 1
_00E_MQ16_HighOnes_Echo_DeadSC CorpseREF = _00E_MQ16_SC06_Stage03_Enemies.GetAt(iReanimateIndex) as _00E_MQ16_HighOnes_Echo_DeadSC
CorpseREF.Enable()
CorpseREF.Reanimate()
EndWhile
EndIf
EndFunction
Function Stage01_PickTargets()
akYuslan.StartCombat(MQ16_SC06_Stage01_YuslanJesparTarget)
akCompanion.StartCombat(MQ16_SC06_Stage01_YuslanJesparTarget)
akTealor.StartCombat(MQ16_SC06_BossREF)
MQ16_SC06_BossREF.StartCombat(PlayerREF)
EndFunction
Function RemoveCombatMusic()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, False)
_00E_QuestFunctions.SetNPCAsCompanion(akCompanion, False)
SetObjectiveCompleted(10)
_00E_Music_Combat_Epic.Remove()
EndFunction
Function StartSC07()
Game.DisablePlayerControls()
MQ16_SC07_DragonAttack.ForceStart()
EndFunction
Function DragonRise_Stage01()
MQ16_SC07_HighOnesOrb01.Enable()
MQ16_SC07_HighOnesOrb02.Enable()
MQ16_SC07_UndeadDragonREF.Enable()
MQ16_SC07_UndeadDragonREF.SetAlpha(0)
NPCDragonSkeletalResurrectionRumble01.Play(PlayerREF)
Wait(1)
NPCDragonSkeletalResurrectionRoarAM.Play(PlayerREF)
EndFunction
Function DragonRise_Stage02()
Game.ShakeCamera()
PlayerREF.KnockAreaEffect(0.5, 1024)
MQ16_SC07_UndeadDragonREF.AddSpell(GhostAbilityRed)
MQ16_SC07_UndeadDragonREF.SetLookAt(PlayerREF)
MQ16_SC07_WallPlane004.Enable()
MQ16_SC07_WallPlane002.Enable()
MQ16_SC07_WallPlane003.Enable()
MAGConjureBoundWeaponAppearM.Play(PlayerREF)
MQ16_SC07_HighOnesOrb01.PlayAnimation("PlayAnim02")
MQ16_SC07_HighOnesOrb02.PlayAnimation("PlayAnim02")
MQ16_SC07_UndeadDragonREF.SetAllowFlying(True)
MQ16_SC07_UndeadDragonREF.SetAnimationVariableBool("bAnimationDriven", false)
MQ16_SC07_UndeadDragonREF.SetAnimationVariableBool("bMotionDriven", true)
NPCDragonTakeoffFX.Play(MQ16_SC07_UndeadDragonREF)
Debug.SendAnimationEvent(MQ16_SC07_UndeadDragonREF, "TakeOff_Vertical")
NPCDragonWingFlapTakeoff.Play(PlayerREF)
Wait(3)
Debug.SendAnimationEvent(MQ16_SC07_UndeadDragonREF, "FlyStartHover")
NPCDragonWingFlapTakeoff.Play(PlayerREF)
bDragonFire = True
MQ16_SC07_UndeadDragonREF.EvaluatePackage()
NPCDragonSkeletalResurrectionRoarBM.Play(PlayerREF)
EndFunction
Function Impact()
FXExplosionCatapultNearM.Play(PlayerREF)
Game.ForceFirstPerson()
MAGFireBallExpDragonImod.Apply()
MQ16_SC07_DragonStrikeImpactStonesREF.Enable(False)
MQ16_SC07_DragonStrikeImpactMarkerREF.PlaceAtMe(FireBallExp01Big)
MQ16_SC07_CollapseCloudFXREF.Enable()
Wait(1)
MQ16_SC07_DragonStrikeImpactMarkerREF.Enable()
MQ16_SC07_CollapseCloudFXREF.PlayAnimation("PlayAnim02")
MQ16_SC07_DragonStrikeImpactMarkerREF.PlaceAtMe(FireStormExplosion)
MQ16_SC07_DragonStrikeImpactStonesREF.PlayAnimation("PlayAnim02")
MQ16_SC07_DragonStrikeImpactMarkerREF.KnockAreaEffect(1,2048)
game.shakeCamera(afStrength = 0.5)
_00E_A1_RocksolidOutM.Play(PlayerREF)
Wait(1)
PlayerREF.TranslateTo(PlayerREF.GetPositionX(), PlayerREF.GetPositionY(), (PlayerREF.GetPositionZ() - 50), PlayerREF.GetAngleX(), PlayerREF.GetAngleY(), PlayerREF.GetAngleZ(), 75)
game.shakeCamera(afStrength = 1)
Wait(0.35)
QSTTG05ArrowKnockOut2D.Play(PlayerREF)
FadeToBlackHoldImod.Apply()
Wait(4)
SetStage(80)
EndFunction
Function StartSC08()
FadeToBlackHoldImod.Apply()
akYuslan.MoveTo(MQ16_SC08_YuslanStart)
akTealor.MoveTo(MQ16_SC08_TealorStart)
PlayerREF.MoveTo(MQ16_SC08_PlayerStart)
_00E_BloodyFXShader.Play(akTealor)
_00E_BloodyFXShader.Play(akYuslan)
_00E_BloodyFXShader.Play(PlayerREF)
Game.TriggerScreenBlood(1)
PlayerREF.PlayIdle(TG05_Knockout)
MQ16_SC08_Temple_01.ForceStart()
EndFunction
Function WakeUp()
_00E_QuestFunctions.PlayerAIWalkStop()
GetUp()
FadeToBlackHoldImod.Remove()
_00E_MQ02_WakeUp.ApplyCrossFade()
MAGVampireSunlight.Play(PlayerREF)
EndFunction
Function GetUp()
PlayerREF.PlayIdle(TG05_GetUp)
EndFunction
Function StartSC09()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 850, 550, 850)
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_YuslanREF, True, 650, 550, 850)
MQ16_SC09_Temple_02.ForceStart()
EndFunction
Function StartVision_SC09()
int iSize = MQ16_SC09_VisionNPCs.GetSize()
_00E_MQ16_VisionIMOD.Apply()
while iSize > 0
iSize -= 1
_00E_VisionFX_NPC_SC visionNPC = MQ16_SC09_VisionNPCs.GetAt(iSize) as _00E_VisionFX_NPC_SC
visionNPC.SetAlphaAndFX()
endwhile
iVisionIntenseSound = _00E_MQ16_BattlefieldVisionM.Play(PlayerREF)
MQ16_SC09_VisionLinkREF.Enable()
Levelsystem.VisionEffectTimestop(True, True)
Wait(3)
MQ16_SC09_Vision_EnemyREF.PlayIdleWithTarget(pa_2HMKillMoveDecapSlash, MQ16_SC09_Vision_SoldierREF)
Wait(5)
StopVision_SC09()
EndFunction
Function StopVision_SC09()
Levelsystem.VisionEffectTimestopStop(False)
MQ16_SC09_VisionLinkREF.Disable()
MQ16_SC09_VisionNPCLinkREF.Disable()
Sound.StopInstance(iVisionIntenseSound)
ImageSpaceModifier.RemoveCrossFade()
SetStage(100)
_00E_MQ16_Temple_Thoughts_01.ShowAsHelpMessage("_00E_MQ16_Temple_Thoughts_01", 5, 1, 1)
EndFunction
Function StartSC10()
EnableNPCsInFormlist(MQ16_SC10_VisioNPCs)
MQ16_SC10_Temple_03.ForceStart()
EndFunction
Function PrepareVision_SC10()
MQ16_SC10_VisionLinker.Enable()
Wait(1)
MQ16_SC10_VisionPriestess.Kill(MQ16_SC10_VisionPriestess)
EndFunction
Function EnableNPCsInFormlist(Formlist formlistNPCs)
int iIndex = formlistNPCs.GetSize()
while iIndex > 0
iIndex -= 1
_00E_VisionFX_NPC_SC npcToEnable = formlistNPCs.GetAt(iIndex) as _00E_VisionFX_NPC_SC
npcToEnable.SetAlphaAndFX()
endwhile
EndFunction
Function StartVision_SC10()
MQ16_SC10_SmokeREF.EnableNoWait(False)
MQ16_SC10_VisionKidREF.SetAlphaAndFX()
MQ16_SC10_VisionPriestess.SetAlphaAndFX()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
_00E_MQ16_VisionIMOD.Apply()
Levelsystem.VisionEffectTimestop(True, True)
EndFunction
Function StopVision_SC10()
Levelsystem.VisionEffectTimestopStop(False)
MQ16_SC10_SmokeREF.Disable()
MQ16_SC10_VisionLinker.Disable()
Sound.StopInstance(iVisionIntenseSound)
ImageSpaceModifier.RemoveCrossFade()
SetStage(110)
EndFunction
Function PrepareVision_02_SC10()
MQ16_SC10_Vision_02_Linker.Enable()
EndFunction
Function StartVision_02_SC010()
_00E_MQ16_VisionIMOD.Apply()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
EnableNPCsInFormlist(MQ16_SC10_Vision_02_NPCs)
Levelsystem.VisionEffectTimestop(True, True)
EndFunction
Function StopVision_02_SC010()
MQ16_SC10_Vision_02_Linker.Disable()
Levelsystem.VisionEffectTimestopStop(False)
Sound.StopInstance(iVisionIntenseSound)
ImageSpaceModifier.RemoveCrossFade()
EndFunction
Function EnableWordOfTheDead()
MAGIllusionCharm.Play(MQ16_SC10_WordOfTheDeadREF)
MQ16_SC10_WordOfTheDeadREF.Enable()
MQ16_SC10_WordOfTheDeadREF.SetPosition(-5939.0, -2420.0, 1453.0)
MQ16_SC10_WordOfTheDeadREF.SetAngle(0.0, 0.0, 90)
EndFunction
Function UpdateEchoCount()
MQ16_EchoCluesFound.SetValue(MQ16_EchoCluesFound.GetValueInt() + 1)
Self.UpdateCurrentInstanceGlobal(MQ16_EchoCluesFound)
int CurrentCount = MQ16_EchoCluesFound.GetValueInt()
if CurrentCount >= 5
Self.SetObjectiveCompleted(25, 1)
Self.SetStage(135)
ElseIf CurrentCount < 5
Self.SetObjectiveCompleted(25,0)
Self.SetObjectiveDisplayed(25, True, True)
EndIf
EndFunction
Function PlayVisionFragment(int iVisionFragmentIndex, ObjectReference objSelfRef, float iDuration)
formlistVisionShader
formlistVisionShader.AddForm(objSelfRef)
Levelsystem.VisionEffectNoTimestop(formlistVisionShader, MQ16_SC11_VisionFormlist)
iVisionIndexFragment = iVisionFragmentIndex
MQ16_SC10_VisionActorREF.Say(MQ16_D03_VisionFragmentTopic, None, True)
Wait(8.0)
MQ16_SC10_VisionActorREF.Disable()
StopVisionFragment()
UpdateEchoCount()
EndFunction
Function StopVisionFragment()
Levelsystem.VisionEffectNoTimestopStop(formlistVisionShader, MQ16_SC11_VisionFormlist, false)
MQ16_SC10_VisionActorREF.Enable()
EndFunction
Function StartSC11()
Game.RequestAutoSave()
EnableWordOfTheDead()
MQ16_SC11_Temple_04.ForceStart()
EndFunction
Function StartCleansingMemory()
_00E_Music_Special_Zyklus_Loop.Remove()
_00E_SilenceTransitionHighPriority.Add()
_00E_VisionShaderParticles.Apply(1)
_00E_MQ16_SC11_VisionCleansingBuildUpIMOD.Apply()
_00E_MQ16_EchoCleansingM.Play(PlayerREF)
Wait(1)
_00E_VisionShaderParticles.Apply(1)
Game.ShakeCamera(afStrength = 0.25, afDuration = 12)
Wait(9)
_00E_MQ16_EchoCleansingIMOD.ApplyCrossFade(afFadeDuration = 0.1)
Wait(7)
MQ16_SC11_WordOfTheDeadMagic.SetPosition(5942, 2422, 1456)
akTealor.Say(MQ16_D03_VisionFragmentTopic)
bYuslanRunToWordOfTheDead = True
akYuslan.PlayIdle(_00E_IdleCastMagicTwoHanded)
MQ16_SC10_WordOfTheDeadREF.SetOpen(True)
MQ16_SC11_WordOfTheDeadMagic.Enable()
Game.ShakeCamera(afStrength = 1, afDuration = 26)
Wait(25.5)
FadeToWhiteHoldImod.ApplyCrossFade(afFadeDuration = 0.25)
SetStage(140)
EndFunction
Function StartSC12()
_00E_VisionShaderParticles.Remove(1)
PlayerREF.MoveTo(MQ16_SC12_PlayerStartREF)
akTealor.MoveTo(MQ16_SC12_TealorStartREF)
akYuslan.MoveTo(MQ16_SC12_YuslanStartREF)
MS04MemoryFXBody01VFX.Play(akTealor)
MS04MemoryFXBody01VFX.Play(akYuslan)
MS04MemoryFXBody01VFX.Play(PlayerREF)
Debug.SendAnimationEvent(akTealor, "IdleBedRollFrontEnterInstant")
Debug.SendAnimationEvent(akYuslan, "IdleBedRollFrontEnterInstant")
PlayerREF.PlayIdle(TG05_Knockout)
Game.ShakeCamera(afStrength = 0.0)
Game.RequestAutoSave()
MQ16_SC12_Numinos.ForceStart()
EndFunction
Function GetUpEveryone()
_00E_WakeUp.ApplyCrossFade(afFadeDuration = 1.0)
PlayerREF.PlayIdle(TG05_GetUp)
Wait(2)
Debug.SendAnimationEvent(akTealor, "_00E_BedrollFrontExit")
Wait(0.8)
Debug.SendAnimationEvent(akYuslan, "_00E_BedrollFrontExit")
PlayerREF.AddSpell(_00E_MQ16_WeakenedAbSP)
; And now for something completely different: Remove
; akCompanion's torch so they have their hands free for the MQ17
; fight against the Black Guardian.
akCompanion.UnequipItem(Torch01)
akCompanion.RemoveItem(Torch01)
EndFunction
Function AddNuminosMusic()
_00E_Music_Special_MQ16_Numinos.Add()
EndFunction
Function YuslanTeleport()
_00E_MQ15_EldricthDissolveFXS.Play(akYuslan)
Wait(1)
akYuslan.PlaceAtMe(_00E_MAGEldritchShockExplosionTeleport)
Wait(0.5)
akYuslan.MoveTo(MQ16_SC12_YuslanTeleportMarkerREF)
akYuslan.PlaceAtMe(_00E_MAGEldritchShockExplosionTeleport)
_00E_Ability_ShadowrunTeleportSoundM.Play(akYuslan)
_00E_MQ15_EldricthDissolveFXS.Stop(akYuslan)
_00E_EldritchTeleportReappear.Play(akYuslan)
Wait(2.5)
_00E_EldritchTeleportReappear.Stop(akYuslan)
EndFunction
Function StartSC13()
MQ16_SC13_Numinos_02.ForceStart()
akYuslan.AddSpell(_00E_AbPosessed)
MQ16_SC13_BarrierREF.Enable(False)
MQ16_SC13_CollisionREF.Enable()
akYuslan.PlayIdle(IdleMagic_01)
_00E_MAGEldritchFireSS1M.Play(akYuslan)
EndFunction
Function YuslanSuicide()
_00E_MQ15_EldricthDissolveFXS.Play(akYuslan)
Wait(1)
akYuslan.PlaceAtMe(_00E_MAGEldritchShockExplosionTeleport)
Wait(0.25)
akYuslan.PlaceAtMe(_00E_MQ16_YuslanSuicideExplosion)
akYuslan.PlaceAtMe(_00E_FS_MAGGoreExplosion)
Game.TriggerScreenBlood(10)
PlayerREF.KnockAreaEffect(1, 1024)
Game.ShakeCamera(afStrength = 1)
_00E_MQ16_SC13_YuslanSuicideIMOD.Apply()
MQ16_SC13_BarrierREF.PlayAnimation("playAnim01")
MQ16_SC13_BarrierREF.Disable()
akYuslan.SetAlpha(0.0)
akYuslan.Disable()
int iShrinkTimer = 90
if MQ16_SC13_NuminosREF != None
while iShrinkTimer > 0
MQ16_SC13_NuminosREF.SetScale(MQ16_SC13_NuminosREF.GetScale() - 0.1)
iShrinkTimer -= 1
endwhile
EndIf
MQ16_SC13_NuminosREF.PlaceAtMe(ExplosionIllusionDark01)
MQ16_SC13_NuminosREF.Disable()
EndFunction
Function StartEarthquake()
SetObjectiveFailed(30)
Game.ShakeCamera(afStrength = 0.5, afDuration = 10)
QSTDA10Rumble.Play(PlayerREF)
Wait(1.5)
_00E_MQ11c_DreamCollapseIMOD.Apply()
AMBRumbleShake.Play(PlayerREF)
_00E_MQ11c_RyneusTransformSoundM.Play(PlayerREF)
akTealor.Say(MQ16_D03_VisionFragmentTopic)
Debug.SendAnimationEvent(akTealor, "IdleBoundKneesStart")
Wait(11)
FadeToBlackHoldImod.ApplyCrossFade(afFadeDuration = 0.25)
Wait(2)
SetStage(165)
EndFunction
Function StartSC14()
; FAILSAVE: This should be harmless, but can be deleted after beta.
MQ16S_SC14_YuslanStartMarker.SetPosition(-5730.1968, -2338.8777, 1385.7076)
MQ16_SC14_PlayerWoundedMarker.SetPosition(-5416.3809, -2445.6357, 1324.7621)
MQ16_SC14_TealorStart.SetPosition(-5906.2764, -2424.5933, 1446.6113)
; FAILSAVE: This should be harmless, but can be deleted after beta.
Game.TriggerScreenBlood(1)
Game.DisablePlayerControls(true, true, true, false, true, true, true)
Game.ForceFirstPerson()
MS04MemoryFXBody01VFX.Stop(akTealor)
MS04MemoryFXBody01VFX.Stop(PlayerREF)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetEssential(False)
MQ16_SC14_YuslanDeadREF.SetGhost(False)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetName(_00E_MQ16_sHighOnes.GetName())
akTealor.MoveTo(MQ16_SC14_TealorStart)
PlayerREF.MoveTo(MQ16_SC14_PlayerWoundedMarkerFailsave)
_00E_ShatterSoulDarkFlamesShader.Play(MQ16_SC14_YuslanDeadREF)
_00E_BloodyFXShader.Play(MQ16_SC14_YuslanDeadREF)
_00E_BloodyFXShader.Play(PlayerREF)
_00E_BloodyFXShader.Play(akTealor)
MQ16_SC14_YuslanDeadREF.Enable()
MQ16_SC14_YuslanDeadREF.MoveTo(MQ16_SC14_YuslanBedRoll)
MQ16_SC11_WordOfTheDeadMagic.Disable()
MQ16_SC10_WordOfTheDeadREF.Enable()
MQ16_SC10_WordOfTheDeadREF.SetOpen(True)
MQ16_SC14_YuslanDeadREF.SetOutfit(_00E_MC_Yarim_Outfit)
Game.RequestAutoSave()
MQ16_SC14_Temple.ForceStart()
EndFunction
Function PlayerWakeUp()
Wait(1)
_00E_MQ02_WakeUp.Apply()
Wait(4)
_00E_MQ16_HeadacheLoopImod.ApplyCrossFade(afFadeDuration = 2.0)
EndFunction
Function TealorGetUp()
akTealor.SetLookAt(MQ16_SC14_YuslanDeadREF)
akTealor.PlayIdle(IdleExhaustedExit)
_00E_ShatterSoulDarkFlamesShader.Stop(MQ16_SC14_YuslanDeadREF)
EndFunction
Function TealorHitYuslan()
Debug.SendAnimationEvent(akTealor, "attackPowerStartInPlace")
Wait(0.25)
_00E_BloodyFXShader.Play(MQ16_SC14_YuslanDeadREF)
MQ16_SC14_YuslanDeadREF.PlayImpactEffect(BloodSprayImpactSetRed)
WPNImpactBlade2HandVsFlesh.Play(MQ16_SC14_YuslanDeadREF)
Game.ShakeCamera(afStrength = 0.25)
akTealor.SetAV("SpeedMult", 65)
EndFunction
Function PosessYuslan()
MQ16_SC14_YuslanDeadREF.RegenerateHead()
MQ16_SC14_YuslanDeadREF.PlaceAtMe(_00E_MQ16_HighOnesRedLight)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetName(_00E_MQ16_sHighOnesThroughYuslan.GetName())
GhostRedFXShader.Play(MQ16_SC14_YuslanDeadREF)
MQ16_SC14_YuslanDeadREF.AddSpell(_00E_AbPosessed)
_00E_VisionGlimpseWhisperM.Play(MQ16_SC14_YuslanDeadREF)
MQ16_SC14_YuslanDeadREF.SetGhost(False)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetEssential(False)
EndFunction
Function ResetAnimations()
Debug.SendAnimationEvent(_00E_MC_TealorREF, "IdleForceDefaultState")
Debug.SendAnimationEvent(MQ16_SC14_YuslanDeadREF, "IdleForceDefaultState")
MQ16_SC14_YuslanDeadREF.SetGhost(False)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetEssential(False)
EndFunction
Function TealorKillYuslan()
_00E_MC_TealorREF.PlayIdleWithTarget(pa_2HMKillMoveDecapSlash, MQ16_SC14_YuslanDeadREF)
Game.TriggerScreenBlood(7)
Utility.Wait(3)
YuslanDeath()
SetStage(170)
EndFunction
Function YuslanDeath()
MAGShockExpImod.Apply()
GhostRedFXShader.Stop(PlayerREF)
akTealor.SetLookAt(PlayerREF)
MQ16_SC14_YuslanDeadREF.PlaceAtMe(ExplosionRuneShock01)
ShockDisintegrate01FXS.Play(MQ16_SC14_YuslanDeadREF)
MQ16_SC14_YuslanDeadREF.Disable()
Wait(1)
MQ16_SC14_YuslanDeadREF.AttachAshPile(DefaultAshPileDarkGhost)
MQ16_SC14_YuslanDeadREF.GetActorBase().SetName("Yuslan Sha'Rim")
EndFunction
Function PlayerLooseConsciousness()
_00E_MQ16_SC14_LooseConsciousness.ApplyCrossFade(afFadeDuration = 0.5)
Wait(5.5)
FadeToBlackHoldIMOD.ApplyCrossFade(afFadeDuration = 1.0)
EndFunction
Function DisableTealor()
akTealor.Disable()
EndFunction
Function StartMQ17()
MQ17.SetStage(5)
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
int iVisionIntenseSound
int iElevatorSound
Formlist formlistVisionShader
bool Property bGoodToGo Auto Conditional Hidden
bool Property bPlayerInTrigger Auto Conditional Hidden
bool Property bYuslanRunToWordOfTheDead Auto Conditional Hidden
bool Property bDragonFire Auto Conditional Hidden
int Property iVisionIndexFragment Auto Conditional Hidden
_00E_MQ15_Functions Property MQ15 Auto
_00E_QuestFunctions Property Levelsystem Auto
Quest Property MQ17 Auto
ShaderParticleGeometry Property _00E_VisionShaderParticles Auto
Message Property _00E_MQ16_sHighOnesThroughYuslan Auto
Message Property _00E_MQ16_sHighOnes Auto
Message Property _00E_MQ16_sCongealedCorpse Auto
Message Property _00E_MQ16_sFleeingChild Auto
Message Property _00E_MQ16_sFleeingWoman Auto
Actor Property akTealor Auto Hidden
Actor Property akYuslan Auto Hidden
Actor Property akCompanion Auto Hidden
Actor Property akInjuredCompanion Auto Hidden
Actor Property _00E_MC_TealorREF Auto
Actor Property _00E_MC_YuslanREF Auto
Actor Property MQ16_SC05_Tealor Auto
Actor Property MQ16_SC05_Irlanda Auto
Actor Property MQ16_SC06_BossREF Auto
Actor Property MQ16_SC06_Stage01_YuslanJesparTarget Auto
Actor Property MQ16_SC06_Stage03_ZombieGiantREF Auto
Actor Property MQ16_SC06_Stage03_Mage_01REF Auto
Actor Property MQ16_SC07_UndeadDragonREF Auto
Actor Property PlayerREF Auto
Actor Property MQ16_SC01_MotherREF02 Auto
Actor Property MQ16_SC01_ChildREF02 Auto
Actor Property MQ16_SC09_Vision_EnemyREF Auto
Actor Property MQ16_SC09_Vision_SoldierREF Auto
Actor Property MQ16_SC14_YuslanDeadREF Auto
_00E_VisionFX_NPC_SC Property MQ16_SC10_VisionKidREF Auto
_00E_VisionFX_NPC_SC Property MQ16_SC10_VisionPriestess Auto
Activator Property DefaultAshPileDarkGhost Auto
GlobalVariable Property MQ16_EchoCluesFound Auto
Topic Property MQ16_D03_VisionFragmentTopic Auto
Idle Property TG05_Knockout Auto
Idle Property TG05_GetUp Auto
Idle Property pa_2HMKillMoveDecapSlash Auto
Idle Property pa_KillMove1HMDecap Auto
Idle Property _00E_IdleCastMagicTwoHanded Auto
Idle Property IdleMagic_01 Auto
Idle Property IdleExhaustedExit Auto
Formlist Property _00E_MQ16_SC06_Stage01_Enemies Auto
Formlist Property _00E_MQ16_SC06_Stage02_Enemies Auto
Formlist Property _00E_MQ16_SC06_Stage03_Enemies Auto
Formlist Property MQ16_SC11_VisionFormlist Auto
Formlist Property MQ16_SC09_VisionNPCs Auto
Formlist Property MQ16_SC10_VisioNPCs Auto
Formlist Property MQ16_SC10_Vision_02_NPCs Auto
EffectShader Property GhostRedFXShader Auto
EffectShader Property _00E_BloodyFXShader Auto
EffectShader Property _00E_EldritchTeleportReappear Auto
EffectShader Property _00E_MQ15_EldricthDissolveFXS Auto
EffectShader Property _00E_ShatterSoulDarkFlamesShader Auto
EffectShader Property ShockDisintegrate01FXS Auto
EffectShader Property _00E_HighOnesDisintegrate Auto
Explosion Property ExplosionIllusionMassiveDark01 Auto
Explosion Property FireStormExplosion Auto
Explosion Property FireBallExp01Big Auto
Explosion Property _00E_MAGEldritchShockExplosionTeleport Auto
Explosion Property _00E_MQ16_YuslanSuicideExplosion Auto
Explosion Property ExplosionIllusionDark01 Auto
Explosion Property ExplosionRuneShock01 Auto
Explosion Property _00E_FS_MAGGoreExplosion Auto
Spell Property _00E_StaggerSelf Auto
Spell Property GhostAbilityRed Auto
Spell Property _00E_AbPosessed Auto
Spell Property _00E_MQ16_WeakenedAbSP Auto
Spell Property _00E_MQ16_RessurectSP Auto
Scene Property MQ16_SC01_Journey_01 Auto
Scene Property MQ16_SC02_Journey_02 Auto
Scene Property MQ16_SC03_Journey_03 Auto
Scene Property MQ16_SC04_Journey_04 Auto
Scene Property MQ16_SC05_HighOnes Auto
Scene Property MQ16_SC06_Assault Auto
Scene Property MQ16_SC07_DragonAttack Auto
Scene Property MQ16_SC08_Temple_01 Auto
Scene Property MQ16_SC09_Temple_02 Auto
Scene Property MQ16_SC10_Temple_03 Auto
Scene Property MQ16_SC11_Temple_04 Auto
Scene Property MQ16_SC12_Numinos Auto
Scene Property MQ16_SC13_Numinos_02 Auto
Scene Property MQ16_SC14_Temple Auto
VisualEffect Property MGTeleportInEffect Auto
VisualEffect Property MGTeleportOutEffect Auto
VisualEffect Property MS04MemoryFXBody01VFX Auto
Outfit Property _00E_MC_Yarim_Outfit Auto
ReferenceAlias Property Companion Auto
ObjectReference Property MQ16_SC03_VisionLinkerREF Auto
ObjectReference Property MQ16_SC07_CollapseCloudFXREF Auto
ObjectReference Property MQ16_SC07_DragonStrikeImpactMarkerREF Auto
ObjectReference Property MQ16_SC07_DragonStrikeImpactStonesREF Auto
ObjectReference Property MQ16_SC07_HighOnesOrb01 Auto
ObjectReference Property MQ16_SC07_HighOnesOrb02 Auto
ObjectReference Property MQ16_SC07_WallPlane004 Auto
ObjectReference Property MQ16_SC07_WallPlane003 Auto
ObjectReference Property MQ16_SC07_WallPlane002 Auto
ObjectReference Property MQ16_SC05_HighOnesEyes_01 Auto
ObjectReference Property MQ16_SC05_HighOnesEyes_02 Auto
ObjectReference Property MQ16_SC05_HighOnesEyes_03 Auto
ObjectReference Property MQ16_SC05_HighOnesEyes_04 Auto
ObjectReference Property MQ16_SC08_TealorStart Auto
ObjectReference Property MQ16_SC08_PlayerStart Auto
ObjectReference Property MQ16_SC08_YuslanStart Auto
ObjectReference Property MQ16_SC09_VisionLinkREF Auto
ObjectReference Property MQ16_SC10_VisionLinker Auto
ObjectReference Property MQ16_SC10_Vision_02_Linker Auto
ObjectReference Property MQ16_SC10_SmokeREF Auto
ObjectReference Property MQ16_SC10_WordOfTheDeadREF Auto
ObjectReference Property MQ16_SC11_WordOfTheDeadMagic Auto
ObjectReference Property MQ16_SC12_PlayerStartREF Auto
ObjectReference Property MQ16_SC12_TealorStartREF Auto
ObjectReference Property MQ16_SC12_YuslanStartREF Auto
ObjectReference Property MQ16_SC12_YuslanTeleportMarkerREF Auto
ObjectReference Property MQ16_SC13_BarrierREF Auto
ObjectReference Property MQ16_SC13_CollisionREF Auto
ObjectReference Property MQ16_SC13_NuminosREF Auto
ObjectReference Property MQ16_SC14_TealorStart Auto
ObjectReference Property MQ16_SC10_VisionActorREF Auto
ObjectReference Property MQ16_SC01_MotherStartREF Auto
ObjectReference Property MQ16_SC01_LinkMarker Auto
ObjectReference Property MQ16_SC03_KillBoxREF Auto
ObjectReference Property MQ16_SC05_IllusionTealorStartMarker Auto
ObjectReference Property MQ16_SC05_IllusionIrlandaStartMarker Auto
ObjectReference Property MQ16_SC04_Corpse01REF Auto
ObjectReference Property MQ16_SC04_Corpse02REF Auto
ObjectReference Property MQ16_SC04_Corpse03REF Auto
ObjectReference Property MQ16_SC04_Corpse04REF Auto
ObjectReference Property MQ16_SC06_ProjectileSpawn Auto
ObjectReference Property MQ16_SC09_VisionNPCLinkREF Auto
ObjectReference Property MQ16_SC14_PlayerWoundedMarker Auto
ObjectReference Property MQ16_SC14_PlayerWoundedMarkerFailsave Auto
ObjectReference Property MQ16S_SC14_YuslanStartMarker Auto
ObjectReference Property MQ16_SC14_YuslanBedRoll Auto
ObjectReference Property MQ16_SC03_collisionREF Auto
ObjectReference Property MQ16_SC03_VisionVoice Auto
SoundCategory Property AudioCategoryMuteSubmerged Auto
Light Property _00E_MQ16_HighOnesRedLight Auto
Light Property Torch01RedDesat Auto
Light Property Torch01 Auto
Sound Property QSTTG05ArrowKnockOut2D Auto
Sound Property _00E_A1_RocksolidOutM Auto
Sound Property NPCDragonTakeoffFX Auto
Sound Property NPCDragonWingFlapTakeoff Auto
Sound Property NPCDragonSkeletalResurrectionRumble01 Auto
Sound Property NPCDragonSkeletalResurrectionRoarAM Auto
Sound Property NPCDragonSkeletalResurrectionRoarBM Auto
Sound Property FXFireOut Auto
Sound Property MAGConjureBoundWeaponAppearM Auto
Sound Property _00E_AMB_Vision_SoundLPM Auto
Sound Property _00E_VisionGlimpseWhisperM Auto
Sound Property MAGVampireSunlight Auto
Sound Property MAGIllusionCharm Auto
Sound Property _00E_MQ16_EchoCleansingM Auto
Sound Property _00E_Ability_ShadowrunTeleportSoundM Auto
Sound Property _00E_MAGEldritchFireSS1M Auto
Sound Property QSTDA10Rumble Auto
Sound Property WPNImpactBlade2HandVsFlesh Auto
Sound Property _00E_MQ16_SC01_ScreamM Auto
Sound Property FXExplosionCatapultNearM Auto
Sound Property _00E_MQ11c_RyneusTransformSoundM Auto
Sound Property _00E_MQ16_BattlefieldVisionM Auto
Sound Property AMBRumbleShake Auto
Message Property _00E_MQ16_Temple_Thoughts_01 Auto
ImpactDataSet Property BloodSprayImpactSetRed Auto
ImageSpaceModifier Property FadeToBlackHoldImod Auto
ImageSpaceModifier Property MAGFireBallExpDragonImod Auto
ImageSpaceModifier Property _00E_MQ02_WakeUp Auto
ImageSpaceModifier Property _00E_MQ16_VisionIMOD Auto
ImageSpaceModifier Property _00E_MQ16_EchoCleansingIMOD Auto
ImageSpaceModifier Property FadeToWhiteHoldImod Auto
ImageSpaceModifier Property _00E_MQ16_SC13_YuslanSuicideIMOD Auto
ImageSpaceModifier Property _00E_MQ16_SC11_VisionCleansingBuildUpIMOD Auto
ImageSpaceModifier Property _00E_MQ11c_DreamCollapseIMOD Auto
ImageSpaceModifier Property _00E_WakeUp Auto
ImageSpaceModifier Property MAGShockExpImod Auto
ImageSpaceModifier Property _00E_MQ16_HeadacheLoopImod Auto
ImageSpaceModifier Property _00E_MQ16_SC14_LooseConsciousness Auto
MusicType Property _00E_Music_Special_Zyklus_OneSelection Auto
MusicType Property _00E_Music_Special_Zyklus_Loop Auto
MusicType Property _00E_Music_Combat_Epic Auto
MusicType Property _00E_SilenceTransitionHighPriority Auto
MusicType Property _00E_Music_Special_MQ16_Numinos Auto