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()

    akTealor.ResetInventory()

    ; 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_KillMove1HMDecap, 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