4
Fork 0

Separated vision controls

remove-levelsystem
Eddoursul 4 months ago
parent f0c5fce387
commit 2a8f00cb1a
  1. BIN
      VisionControl.esp
  2. BIN
      scripts/_00E_EnderalControls.pex
  3. BIN
      scripts/_00E_VisionControl.pex
  4. BIN
      scripts/_00e_fs_nq02_functions.pex
  5. BIN
      scripts/_00e_fs_nq02_functions2.pex
  6. BIN
      scripts/_00e_mq01_functions.pex
  7. BIN
      scripts/_00e_mq05_functions.pex
  8. BIN
      scripts/_00e_mq07a_functions.pex
  9. BIN
      scripts/_00e_mq07b_questfunctions.pex
  10. BIN
      scripts/_00e_mq11a_functions.pex
  11. BIN
      scripts/_00e_mq12b_functions.pex
  12. BIN
      scripts/_00e_mq16_functions.pex
  13. BIN
      scripts/_00e_mq17_functions.pex
  14. BIN
      scripts/_00e_mq18a_functions.pex
  15. BIN
      scripts/_00e_nq15functions.pex
  16. BIN
      scripts/_00e_playerfunctions.pex
  17. BIN
      scripts/_00e_questfunctions.pex
  18. BIN
      scripts/_00e_slowselfmesc.pex
  19. 2
      source/scripts/_00E_EnderalControls.psc
  20. 266
      source/scripts/_00E_VisionControl.psc
  21. 20
      source/scripts/_00e_fs_nq02_functions.psc
  22. 4
      source/scripts/_00e_fs_nq02_functions2.psc
  23. 4
      source/scripts/_00e_mq01_functions.psc
  24. 8
      source/scripts/_00e_mq05_functions.psc
  25. 2
      source/scripts/_00e_mq07a_functions.psc
  26. 8
      source/scripts/_00e_mq07b_questfunctions.psc
  27. 28
      source/scripts/_00e_mq11a_functions.psc
  28. 4
      source/scripts/_00e_mq12b_functions.psc
  29. 24
      source/scripts/_00e_mq16_functions.psc
  30. 8
      source/scripts/_00e_mq17_functions.psc
  31. 2
      source/scripts/_00e_mq18a_functions.psc
  32. 8
      source/scripts/_00e_nq15functions.psc
  33. 4
      source/scripts/_00e_playerfunctions.psc
  34. 247
      source/scripts/_00e_questfunctions.psc
  35. 6
      source/scripts/_00e_slowselfmesc.psc

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -7,3 +7,5 @@ _00E_FadeToBlackControl Property FadeToBlackControl Auto
_00E_TeleportPlayer Property TeleportPlayer Auto
_00E_SafeItemRemove Property SafeItemRemove Auto
_00E_VisionControl Property VisionControl Auto

@ -0,0 +1,266 @@
Scriptname _00E_VisionControl extends Quest Hidden
import Utility
;/ Unused
function EndVision(bool ScenePlaying, Scene RunningScene = None)
If PlayerREF.HasSpell(_00E_Vision_TimeSpell)
PlayerREF.RemoveSpell(_00E_Vision_TimeSpell)
ElseIf PlayerREF.HasSpell(_00E_Vision_NoTimeSpell)
PlayerREF.RemoveSpell(_00E_Vision_NoTimeSpell)
ElseIf PlayerREF.HasSpell(_00E_Vision_NoTimeSubtleSpell)
PlayerREF.RemoveSpell(_00E_Vision_NoTimeSubtleSpell)
EndIf
If ScenePlaying == True && RunningScene.IsPlaying()
RunningScene.Stop()
EndIf
PlayerREF.MoveTo(PlayerVisionStartMarker)
endFunction
/;
Function VisionEffectTimestop(bool bSilent = False, bool bCustomImod = False, bool bCustomMusic = False)
If bCustomImod == False
_00E_VisionStartTimestopIMOD.Apply()
_00E_VisionImod.ApplyCrossFade(0.25)
EndIf
PlayerREF.AddSpell(_00E_Vision_TimeSpell, False)
if !bCustomMusic
_00E_SilenceAbruptHighPriority.Add()
EndIf
MagRacialBattlecryFire.Play(PlayerREF)
fPlayerSpeedBeforeVision = PlayerREF.GetActorValue("SpeedMult")
PlayerREF.SetActorValue("SpeedMult", 35)
UpdateSpeed(PlayerREF)
If !bSilent
VisionSound = _00E_VisionLPM.Play(PlayerREF)
EndIf
_00E_VisionShaderParticles.Apply(0.5)
AudioCategoryFST.Mute()
PlayerREF.SetGhost(True)
PlayerVisionStartMarker = PlayerREF.PlaceAtMe(XMarker as form, 1, false, false)
PlayerVisionFailsaveMarker.MoveTo(PlayerREF)
Game.DisablePlayerControls(false, true, true, false, true, false, true, false)
Game.ForceFirstPerson()
Game.ShowFirstPersonGeometry(False)
Wait(0.100000)
EndFunction
Function VisionEffectTimestopStop(bool bMovementHasBeenLocked = False)
float fSpeedMultBefore = PlayerREF.GetActorValue("speedMult")
PlayerREF.SetGhost(False)
Game.DisablePlayerControls()
PlayerREF.SetActorValue("SpeedMult", PlayerSpeed)
PlayerREF.SetGhost(False)
AudioCategoryFST.UnMute()
UpdateSpeed(PlayerREF)
Game.ShowFirstPersonGeometry(True)
If !bMovementHasBeenLocked
If PlayerVisionFailsaveMarker.GetDistance(PlayerREF) <= 1000
PlayerREF.MoveTo(PlayerVisionStartMarker)
Elseif PlayerVisionFailsaveMarker.GetDistance(PlayerREF) >= 1000
PlayerREF.MoveTo(PlayerVisionFailsaveMarker)
EndIf
EndIf
PlayerREF.SetGhost(False)
Sound.StopInstance(VisionSound)
MAGConjurePortalClose.Play(PlayerREF)
_00E_SilenceAbruptHighPriority.Remove()
PlayerREF.RemoveSpell(_00E_Vision_TimeSpell)
_00E_VisionShaderParticles.Remove(0.5)
_00E_VisionEndImod.ApplyCrossFade(1)
Wait(0.5)
PlayerREF.SetActorValue("speedMult", fPlayerSpeedBeforeVision)
If PlayerREF.GetActorValue("speedMult") < 50
PlayerREF.SetActorValue("speedMult", 100)
EndIf
UpdateSpeed(PlayerREF)
Game.EnablePlayerControls()
Game.SetPlayerAIDriven(0)
Game.ShowFirstPersonGeometry(True)
_00E_SilenceAbruptHighPriority.Remove()
EndFunction
Function VisionEffectNoTimestop(Formlist RefsInvolved, Formlist ActorsToFreeze, bool bCustomMusic = False)
Game.ShowFirstPersonGeometry(False)
PlayerREF.SetAlpha(0.1)
PlayerREF.AddPerk(_00E_VisionPerk)
UpdateSpeed(PlayerREF)
MagRacialBattlecryFire.Play(PlayerREF)
if !bCustomMusic
_00E_SilenceAbruptHighPriority.Add()
EndIf
AudioCategoryFST.Mute()
PlayerVisionStartMarker = PlayerREF.PlaceAtMe(XMarker as form, 1, false, false)
PlayerVisionFailsaveMarker.MoveTo(PlayerREF)
PlayerREF.SetGhost(True)
VisionSound = _00E_VisionLPM.Play(PlayerREF)
_00E_VisionStartImod.Apply()
If PlayerREF.IsInInterior()
_00E_VisionShaderParticles.Apply(0.5)
EndIf
if RefsInvolved != None
int iIndex = RefsInvolved.GetSize()
while iIndex > 0
iIndex -= 1
Actor VisionREF = RefsInvolved.GetAt(iIndex) as Actor
if VisionREF.IsDisabled()
VisionREF.EnableNoWait()
EndIf
VisionRef.SetAlpha(0.5)
MS04MemoryFXBody01VFX.Play(VisionREF)
EndWhile
endif
if ActorsToFreeze != None
int iIndex02 = ActorsToFreeze.GetSize()
while iIndex02 > 0
iIndex02 -= 1
Actor FreezeREF = ActorsToFreeze.GetAt(iIndex02) as Actor
FreezeREF.EnableAI(False)
EndWhile
endif
_00E_MQ16_VisionIMOD.Remove()
_00E_VisionImod.ApplyCrossFade(1)
EndFunction
Function VisionEffectNoTimestopStop(Formlist RefsInvolved, Formlist ActorsToFreeze, bool bHasBeenRestrained = False)
PlayerREF.SetAlpha(1.0)
Game.ShowFirstPersonGeometry(True)
If !bHasBeenRestrained
If PlayerVisionFailsaveMarker.GetDistance(PlayerREF) <= 1000
PlayerREF.MoveTo(PlayerVisionStartMarker)
Elseif PlayerVisionFailsaveMarker.GetDistance(PlayerREF) >= 1000
PlayerREF.MoveTo(PlayerVisionFailsaveMarker)
EndIf
EndIf
_00E_VisionEndImod.ApplyCrossFade(1)
If PlayerREF.IsInInterior()
_00E_VisionShaderParticles.Remove(0.5)
EndIf
if RefsInvolved != None
int iIndex = RefsInvolved.GetSize()
while iIndex > 0
iIndex -= 1
Actor VisionREF = RefsInvolved.GetAt(iIndex) as Actor
MS04MemoryFXBody01VFX.Stop(VisionREF)
VisionRef.SetAlpha(1)
EndWhile
endif
if ActorsToFreeze != None
int iIndex02 = ActorsToFreeze.GetSize()
while iIndex02 > 0
iIndex02 -= 1
Actor FreezeREF = ActorsToFreeze.GetAt(iIndex02) as Actor
FreezeREF.EnableAI(True)
EndWhile
endif
AudioCategoryFST.UnMute()
PlayerREF.SetGhost(False)
Sound.StopInstance(VisionSound)
MAGConjurePortalClose.Play(PlayerREF)
_00E_SilenceAbruptHighPriority.Remove()
PlayerREF.RemovePerk(_00E_VisionPerk)
If PlayerREF.GetActorValue("speedMult") < 50
PlayerREF.SetActorValue("speedMult", 100)
EndIf
UpdateSpeed(PlayerREF)
_00E_MQ16_VisionIMOD.Remove()
_00E_VisionImod.Remove()
EndFunction
Function UpdateSpeed(Actor SpeedUpdateActor)
If SpeedUpdateActor.HasSpell(_00E_Vision_UpdateAb)
SpeedUpdateActor.RemoveSpell(_00E_Vision_UpdateAb)
EndIf
SpeedUpdateActor.AddSpell(_00E_Vision_UpdateAb, False)
Wait(0.1)
SpeedUpdateActor.RemoveSpell(_00E_Vision_UpdateAb)
EndFunction
float fPlayerSpeedBeforeVision
ObjectReference Property PlayerVisionStartMarker Auto Hidden
ObjectReference Property PlayerVisionFailsaveMarker Auto
float PlayerSpeed
int VisionSound
SPELL Property _00E_Vision_TimeSpell Auto
SPELL Property _00E_Vision_NoTimeSpell Auto
SPELL Property _00E_Vision_NoTimeSubtleSpell Auto
ImageSpaceModifier Property _00E_VisionStartTimestopIMOD Auto
ImageSpaceModifier Property _00E_VisionIMOD Auto
MusicType Property _00E_SilenceAbruptHighPriority Auto
Sound Property MagRacialBattlecryFire Auto
actor Property PlayerRef Auto
Sound Property _00E_VisionLPM Auto
ImageSpaceModifier Property _00E_VisionStartImod Auto
ShaderParticleGeometry Property _00E_VisionShaderParticles Auto
SoundCategory Property AudioCategoryFST Auto
VisualEffect Property MS04MemoryFXBody01VFX Auto
ImageSpaceModifier Property _00E_MQ16_VisionIMOD Auto
Sound Property MAGConjurePortalClose Auto
SPELL Property _00E_Vision_UpdateAb Auto
Perk Property _00E_VisionPerk Auto
STATIC Property XMarker Auto
ImageSpaceModifier Property _00E_VisionEndImod Auto

@ -168,7 +168,7 @@ EndFunction
Function StartDoorVision()
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
FS_NQ02_SC04_Vision.ForceStart()
_00E_FS_NQ02_TaraREF.Enable()
@ -204,7 +204,7 @@ Function StopDoorVision()
wait(0.1)
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
FS_NQ02_SC05_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC03_EsmeMarker)
@ -275,7 +275,7 @@ EndFunction
Function StartSchreinVision()
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
FS_NQ02_SC08_Vision.ForceStart()
_00E_FS_NQ02_DalMercerREF.MoveTo(_00E_FS_NQ02_SC08_Marker1)
_00E_FS_NQ02_TaraREF.MoveTo(_00E_FS_NQ02_SC08_Marker2)
@ -297,7 +297,7 @@ Function StopSchreinVision()
wait(0.1)
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
FS_NQ02_SC09_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC07_Marker2)
@ -471,7 +471,7 @@ EndFunction
Function StartFahlsternVision1()
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs, true)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs, true)
FS_NQ02_SC12_Vision.ForceStart()
_00E_FS_NQ02_TaraREF.Enable()
_00E_FS_NQ02_TaraREF.MoveTo(_00E_FS_NQ02_SC12_TMarker1)
@ -500,7 +500,7 @@ Function StopFahlsternVision1()
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
_00E_FS_NQ02_SC12_WomanREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs)
FS_NQ02_SC13_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC13_Marker1)
@ -530,7 +530,7 @@ EndFunction
Function StartFahlsternVision2()
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_FS_NQ02_SC14_WomanREF.Enable()
_00E_FS_NQ02_SC14_WomanREF.MoveTo(_00E_FS_NQ02_SC14_WMarker)
_00E_FS_NQ02_SC14_ManREF.Enable()
@ -551,7 +551,7 @@ Function StopFahlsternVision2()
Wait(0.1)
_00E_FS_NQ02_SC14_WomanREF.Disable()
_00E_FS_NQ02_SC14_ManREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC14_EMarker)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
@ -615,7 +615,7 @@ EndFunction
Function StartFahlsternVision3()
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_FS_NQ02_CandleMarker.Enable()
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(1.0)
_00E_FS_NQ02_DalMercerREF.SetAlpha(1.0)
@ -674,7 +674,7 @@ Function StopFahlsternVision3()
_00E_FS_NQ02_SC14_ManREF.Disable()
_00E_FS_NQ02_SC15_ManREF.Disable()
_00E_FS_NQ02_CandleMarker.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)

@ -191,7 +191,7 @@ Function StartSC18()
_00E_FS_NQ02_RobeDisableMarker.Disable()
FS_NQ02_SC18_Vision.ForceStart()
AudioCategoryAmb.SetVolume(0.5)
Levelsystem.VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC18_FreezeRefs, True)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC18_FreezeRefs, True)
_00E_SilenceTransitionLowPriority.Add()
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.5)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.5)
@ -288,7 +288,7 @@ Function StopSC18()
_00E_FS_NQ02_SC15_ManREF.Disable()
_00E_FS_NQ02_VeiledWoman1.Disable()
_00E_FS_NQ02_RobeDisableMarker.Enable()
Levelsystem.VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC18_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC18_FreezeRefs)
AudioCategoryAmb.SetVolume(1.0)
FS_NQ02_SC19_AfterVision.ForceStart()
; _00E_FS_NQ02_EsmeREF.SetAlpha(1.0)

@ -104,7 +104,7 @@ function BeginVision()
_00E_Ability_StaggerSelfSpell.Cast(_00E_MQ01_FinnREF, _00E_MQ01_FinnREF)
_00E_Ability_StaggerSelfSpell.Cast(_00E_MQ01_CarbosREF, _00E_MQ01_CarbosREF)
ExplodeDestillator()
Levelsystem.VisionEffectTimestop(False, False, False)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(False, False, False)
Wait(0.5)
_00E_MQ01_FinnREF.EnableAI(False)
_00E_MQ01_CarbosREF.EnableAI(False)
@ -129,7 +129,7 @@ function EndVision()
_00E_MQ01_FinnREF.SetGhost(True)
_00E_MQ01_CarbosREF.SetGhost(True)
Game.DisablePlayerControls()
Levelsystem.VisionEffectTimestopStop(true)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop(true)
VisionVoice.GetReference().Disable(false)
_00E_MQ01_FinnREF.EnableAI(True)
_00E_MQ01_CarbosREF.EnableAI(True)

@ -57,15 +57,15 @@ endFunction
Function StartVision()
Levelsystem.VisionEffectTimestop()
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop()
MQ05_SC3_Vision.ForceStart()
EndFunction
Function StopVision()
Levelsystem.VisionEffectTimestopStop()
Levelsystem.UpdateSpeed(PlayerREF)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop()
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(PlayerREF)
MQ05_SC3_Vision.Stop()
Game.EnablePlayerControls()
Game.SetPlayerAIDriven(False)
@ -150,7 +150,7 @@ Function StartRitualScene()
SetCompanions(false)
MQ05_SC9_DiscussionAndRitual.ForceStart()
UnsummonApparitionIfExists()
_FS_Phasmalist_ControlQuest.UnsummonApparitionIfExists()
_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
EndFunction

@ -131,7 +131,7 @@ Function AdjustAgedManSpeed()
MQ07a_TheAgedManREF.SetActorValue("speedMult", 75)
_00E_MC_JesparREF.SetActorValue("speedMult", 75)
Levelsystem.UpdateSpeed(MQ07a_TheAgedManREF)
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(MQ07a_TheAgedManREF)
EndFunction

@ -112,7 +112,7 @@ Function PlayBellVision()
glowingRefs.AddForm(MQ07b_SC03_BurntCorpseREF)
Levelsystem.VisionEffectNoTimestop(glowingRefs, MQ07b_SC2_BellVisionStaticRefs, false)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(glowingRefs, MQ07b_SC2_BellVisionStaticRefs, false)
Wait(1.0)
_00E_QuestshaderRed.Play(MQ07Bell01, 2.0)
_00E_BellGong_03.Play(MQ07Bell01)
@ -135,7 +135,7 @@ Function PlayBellVision()
Wait(2)
Levelsystem.VisionEffectNoTimestopStop(glowingRefs, MQ07b_SC2_BellVisionStaticRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(glowingRefs, MQ07b_SC2_BellVisionStaticRefs)
_00E_MC_CaliaREF.EvaluatePackage()
_00E_MC_LishariREF.EvaluatePackage()
@ -473,12 +473,12 @@ Function PlayVisionVoice(int iVisionIndex, ObjectReference objShader)
caliaFormlist.AddForm(_00E_MC_CaliaREF as Actor)
_00E_MQ07b_VisionREF.MoveTo(PlayerREF)
iVisionIndexProperty = iVisionIndex
Levelsystem.VisionEffectNoTimestop(involvedFormlist, caliaFormlist, true)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(involvedFormlist, caliaFormlist, true)
Wait(1)
_00E_MQ07b_VisionREF.Say(MQ07b_D7_VisionBranchTopic)
Wait(7)
_00E_MQ07b_VisionREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(involvedFormlist, caliaFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(involvedFormlist, caliaFormlist)
_00E_MQ07b_VisionREF.Enable()
EndFunction

@ -290,7 +290,7 @@ Function StartVisionFX()
MQ11a_DalGalarREF.SetAlpha(0.0)
MQ11a_DiscipleREF.MoveTo(Mq11a_SC8_DiscipleTalkMarker)
MQ11a_DalGalarREF.SetAlpha(0.0)
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC8_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC8_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
EndFunction
@ -299,7 +299,7 @@ Function StopVisionFX()
_00E_SilenceTransitionHighPriority.Add()
Weather.ReleaseOverride()
SkyrimOvercastSnow.ForceActive()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC8_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC8_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_DiscipleREF.MoveTo(MQ11a_DiscipleOrigin)
MQ11a_DalGalarREF.MoveTo(MQ11a_DalGalarOrigin)
@ -437,7 +437,7 @@ Function StartLeftTowerVision01()
MQ11a_DalGalarREF.SetAlpha(0.0)
MQ11a_StarlingsTinkerer.MoveTo(MQ11a_SC11_StarlingStart)
MQ11a_StarlingsTinkerer.SetAlpha(0.0)
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC11_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC11_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_SC11_SilverJugGoblets.MoveTo(MQ11a_SC11_XMarkerGoblets)
_00E_QuestFunctions.WaitForReferenceToLoad(MQ11a_SC11_SilverJugGoblets)
@ -461,7 +461,7 @@ EndFunction
Function StopTowerVisionFX()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC11_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC11_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_StarlingsTinkerer.Disable()
MQ11a_DalGalarREF.MoveTo(MQ11a_DalGalarOrigin)
MQ11a_SC11_SilverJugGoblets.Disable()
@ -623,7 +623,7 @@ Function StartMayaVision()
_00E_QuestFunctions.WaitForReferenceToLoad(MQ11a_SC13_MayaREF)
MS04MemoryFXBody01VFX.Play(MQ11a_SC13_MayaREF)
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC13_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC13_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_SC13_DalGalarREF.GetActorBase().SetName("Dal'Galar")
RegisterForSingleUpdate(90)
@ -633,7 +633,7 @@ EndFunction
Function StopMayaVision()
MQ11a_SC13_MayaREF.Disable()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC13_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC13_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_SC13_DalGalarREF.Disable()
(PlayerREF as _00E_PlayerFunctions).ResumeRandomHeadTracking()
SetObjectiveDisplayed(41)
@ -768,14 +768,14 @@ Function StartDissectingRoomVision()
Wait(0.25)
(PlayerREF as _00E_PlayerFunctions).StopRandomHeadTracking()
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC16_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC16_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_SC17_DissectingRoomVision.ForceStart()
EndFunction
Function StopDissectingRoomVision()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC16_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC16_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
MQ11a_SC16_DalGalarREF.DisableNoWait()
MQ11a_DiscipleREF02.DisableNoWait()
MQ11a_SC16_DalGalarREF.SetActorValue("Variable01", 0.0)
@ -791,7 +791,7 @@ Function StartStoneRoomVision()
MQ11a_SC19_DogREF.Enable()
MQ11a_SC19_DogREF.SetAlpha(0.0)
(PlayerREF as _00E_PlayerFunctions).StopRandomHeadTracking()
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC19_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC19_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
EndFunction
@ -823,7 +823,7 @@ EndFunction
Function StopStoneRoomVision()
MQ11a_SC19_DalGalarREF.MoveTo(MQ11a_DalGalarOrigin)
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC19_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC19_VisionRefs, _00E_MQ11a_SC8_FreezeRefs)
(PlayerREF as _00E_PlayerFunctions).ResumeRandomHeadTracking()
EndFunction
@ -1275,7 +1275,7 @@ Function CallTableVision()
MQ11a_SC24_DalGalarRef.SetName("Dal'Galar")
MQ11a_SC23_MayaAtTable.Enable()
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC24_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC24_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
_00E_QuestFunctions.WaitForReferenceToLoad(MQ11a_SC23_MayaAtTable)
MS04MemoryFXBody01VFX.Play(MQ11a_SC23_MayaAtTable)
@ -1286,7 +1286,7 @@ EndFunction
Function StopVision()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC24_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC24_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
MQ11a_SC24_DalGalarRef.DisableNoWait()
MQ11a_SC23_MayaAtTable.DisableNoWait()
(PlayerREF as _00E_PlayerFunctions).ResumeRandomHeadTracking()
@ -1335,7 +1335,7 @@ Function StartMayaReanimationScene()
MQ11a_SC25_DalGalarREF.SetAlpha(0.0)
MQ11a_SC25_DalGalarREF.AddSpell(_00E_AbPosessed)
MQ11a_SC25_BeamREF.EnableNoWait()
Levelsystem.VisionEffectNoTimestop(_00E_MQ11a_SC25_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_MQ11a_SC25_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
MQ11a_SC25_MayaReanimation01.ForceStart()
EndFunction
@ -1414,7 +1414,7 @@ EndFunction
Function CaliaAndVeiledWomanDisappear()
_00E_Music_Special_Event_Dark.Remove()
Levelsystem.VisionEffectNoTimestopStop(_00E_MQ11a_SC25_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_MQ11a_SC25_VisionRefs, _00E_MQ11a_SC24_FreezeRefs)
MQ11a_SC25_VeiledWomanREF.DisableNoWait()
MQ11a_SC25_MayasREF.DisableNoWait()
MQ11a_SC25_BeamREF.DisableNoWait()

@ -514,13 +514,13 @@ EndFunction
Function CallVision()
MQ12b_SC09_PlayerVisionMarker = PlayerREF.PlaceAtMe(XMarker, 1)
Levelsystem.VisionEffectTimestop()
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop()
EndFunction
Function EndVision()
Levelsystem.VisionEffectTimestopStop()
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop()
PlayerREF.MoveTo(MQ12b_SC09_PlayerVisionMarker)
EndFunction

@ -78,14 +78,14 @@ Function StartVision_SC01()
_00E_MQ16_VisionIMOD.Apply()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
Wait(0.25)
Levelsystem.VisionEffectTimestop(True, True)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(True, True)
EndFunction
Function StopVision_SC01()
Levelsystem.VisionEffectTimestopStop()
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop()
MQ16_SC01_LinkMarker.Disable()
MQ16_SC01_ChildREF02.Disable()
MQ16_SC01_MotherREF02.Disable()
@ -120,7 +120,7 @@ Function StartVision_SC03()
MQ16_SC03_collisionREF.Enable()
MQ16_SC03_VisionLinkerREF.Enable()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
Levelsystem.VisionEffectTimestop(True, True)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(True, True)
_00E_MQ16_VisionIMOD.Apply()
EndFunction
@ -135,7 +135,7 @@ Function StopVision_SC03()
MQ16_SC03_VisionVoice.Disable()
MQ16_SC03_VisionLinkerREF.Disable()
Sound.StopInstance(iVisionIntenseSound)
Levelsystem.VisionEffectTimestopStop()
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop()
ImageSpaceModifier.RemoveCrossFade()
Wait(1)
SetStage(45)
@ -507,7 +507,7 @@ Function StartVision_SC09()
iVisionIntenseSound = _00E_MQ16_BattlefieldVisionM.Play(PlayerREF)
MQ16_SC09_VisionLinkREF.Enable()
Levelsystem.VisionEffectTimestop(True, True)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(True, True)
Wait(3)
MQ16_SC09_Vision_EnemyREF.PlayIdleWithTarget(pa_2HMKillMoveDecapSlash, MQ16_SC09_Vision_SoldierREF)
Wait(5)
@ -517,7 +517,7 @@ EndFunction
Function StopVision_SC09()
Levelsystem.VisionEffectTimestopStop(False)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop(False)
MQ16_SC09_VisionLinkREF.Disable()
MQ16_SC09_VisionNPCLinkREF.Disable()
Sound.StopInstance(iVisionIntenseSound)
@ -561,13 +561,13 @@ Function StartVision_SC10()
MQ16_SC10_VisionPriestess.SetAlphaAndFX()
iVisionIntenseSound = _00E_AMB_Vision_SoundLPM.Play(PlayerREF)
_00E_MQ16_VisionIMOD.Apply()
Levelsystem.VisionEffectTimestop(True, True)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(True, True)
EndFunction
Function StopVision_SC10()
Levelsystem.VisionEffectTimestopStop(False)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop(False)
MQ16_SC10_SmokeREF.Disable()
MQ16_SC10_VisionLinker.Disable()
Sound.StopInstance(iVisionIntenseSound)
@ -587,14 +587,14 @@ 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)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestop(True, True)
EndFunction
Function StopVision_02_SC010()
MQ16_SC10_Vision_02_Linker.Disable()
Levelsystem.VisionEffectTimestopStop(False)
_00E_PlayerFunctions.GetVisionControl().VisionEffectTimestopStop(False)
Sound.StopInstance(iVisionIntenseSound)
ImageSpaceModifier.RemoveCrossFade()
@ -630,7 +630,7 @@ Function PlayVisionFragment(int iVisionFragmentIndex, ObjectReference objSelfRef
formlistVisionShader
formlistVisionShader.AddForm(objSelfRef)
Levelsystem.VisionEffectNoTimestop(formlistVisionShader, MQ16_SC11_VisionFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(formlistVisionShader, MQ16_SC11_VisionFormlist)
iVisionIndexFragment = iVisionFragmentIndex
MQ16_SC10_VisionActorREF.Say(MQ16_D03_VisionFragmentTopic, None, True)
Wait(8.0)
@ -642,7 +642,7 @@ EndFunction
Function StopVisionFragment()
Levelsystem.VisionEffectNoTimestopStop(formlistVisionShader, MQ16_SC11_VisionFormlist, false)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(formlistVisionShader, MQ16_SC11_VisionFormlist, false)
MQ16_SC10_VisionActorREF.Enable()
EndFunction

@ -86,7 +86,7 @@ Function StartVision01()
bIsVisionPlaying = True
_00E_MQ16_VisionIMOD.Apply()
Levelsystem.VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
MQ17_SC02_Vision_01_SC.ForceStart()
@ -102,7 +102,7 @@ Function StartVision02()
_00E_MQ16_VisionIMOD.Apply()
Wait(0.1)
Levelsystem.VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
MQ17_SC02_Vision_02_SC.ForceStart()
@ -118,7 +118,7 @@ Function StartVision03()
bIsVisionPlaying = True
_00E_MQ16_VisionIMOD.Apply()
Levelsystem.VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
Wait(0.25)
MQ17_SC02_Vision_03_SC.ForceStart()
@ -133,7 +133,7 @@ EndFunction
Function StopVision()
Levelsystem.VisionEffectNoTimestopStop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(MQ17_SC02_VisionsInvolvedList, emptyFormlist)
Sound.StopInstance(iVisionIntenseSound)
If MQ17_SC02_PyreanChroniclerREF.IsEnabled()

@ -100,7 +100,7 @@ Function SlowSpeed()
Game.ForceThirdPerson()
PlayerREF.SetActorValue("speedMult", 75)
Levelsystem.UpdateSpeed(PlayerREF)
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(PlayerREF)
EndFunction

@ -56,19 +56,19 @@ Function EnableDrownedWoman()
EndFunction
Function StartVision()
Levelsystem.VisionEffectNoTimestop(None, _00E_NQ15_ActorsVision)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(None, _00E_NQ15_ActorsVision)
EndFunction
Function EndVision()
Levelsystem.VisionEffectNoTimestopStop(None, _00E_NQ15_ActorsVision, true)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(None, _00E_NQ15_ActorsVision, true)
EndFunction
Function StartVisionNoActors()
Levelsystem.VisionEffectNoTimestop(None, None)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(None, None)
EndFunction
function EndVisionNoActors()
Levelsystem.VisionEffectNoTimestopStop(None, None)
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(None, None)
EndFunction
Function StartSC3()

@ -27,6 +27,10 @@ _00E_SkillControl function GetSkillControl() Global
return (Game.GetForm(0x14) as _00E_PlayerFunctions).ControlRepository.SkillControl
endfunction
_00E_VisionControl function GetVisionControl() Global
return (Game.GetForm(0x14) as _00E_PlayerFunctions).ControlRepository.VisionControl
endfunction
_00E_FadeToBlackControl function GetFadeToBlackControl() Global
return (Game.GetForm(0x14) as _00E_PlayerFunctions).ControlRepository.FadeToBlackControl
endfunction

@ -397,226 +397,6 @@ Function ShowSynergyMessage()
EndFunction
;=====================================================================================
; VISION
;=====================================================================================
function EndVision(bool ScenePlaying, Scene RunningScene = None)
If PlayerREF.HasSpell(_00E_Vision_TimeSpell)
PlayerREF.RemoveSpell(_00E_Vision_TimeSpell)
ElseIf PlayerREF.HasSpell(_00E_Vision_NoTimeSpell)
PlayerREF.RemoveSpell(_00E_Vision_NoTimeSpell)
ElseIf PlayerREF.HasSpell(_00E_Vision_NoTimeSubtleSpell)
PlayerREF.RemoveSpell(_00E_Vision_NoTimeSubtleSpell)
EndIf
VisionLight.Delete()
If ScenePlaying == True && RunningScene.IsPlaying()
RunningScene.Stop()
EndIf
PlayerREF.MoveTo(PlayerVisionStartMarker)
endFunction
Function VisionEffectTimestop(bool bSilent = False, bool bCustomImod = False, bool bCustomMusic = False)
If bCustomImod == False
_00E_VisionStartTimestopIMOD.Apply()
_00E_VisionImod.ApplyCrossFade(0.25)
EndIf
PlayerREF.AddSpell(_00E_Vision_TimeSpell, False)
if !bCustomMusic
_00E_SilenceAbruptHighPriority.Add()
EndIf
MagRacialBattlecryFire.Play(PlayerREF)
fPlayerSpeedBeforeVision = PlayerREF.GetActorValue("SpeedMult")
PlayerREF.SetActorValue("SpeedMult", 35)
UpdateSpeed(PlayerREF)
If !bSilent
VisionSound = _00E_VisionLPM.Play(PlayerREF)
EndIf
_00E_VisionShaderParticles.Apply(0.5)
AudioCategoryFST.Mute()
PlayerREF.SetGhost(True)
PlayerVisionStartMarker = PlayerREF.PlaceAtMe(XMarker as form, 1, false, false)
PlayerVisionFailsaveMarker.MoveTo(PlayerREF)
Game.DisablePlayerControls(false, true, true, false, true, false, true, false)
Game.ForceFirstPerson()
Game.ShowFirstPersonGeometry(False)
Wait(0.100000)
EndFunction
Function VisionEffectTimestopStop(bool bMovementHasBeenLocked = False)
float fSpeedMultBefore = PlayerREF.GetActorValue("speedMult")
PlayerREF.SetGhost(False)
Game.DisablePlayerControls()
PlayerREF.SetActorValue("SpeedMult", PlayerSpeed)
PlayerREF.SetGhost(False)
AudioCategoryFST.UnMute()
UpdateSpeed(PlayerREF)
Game.ShowFirstPersonGeometry(True)
If !bMovementHasBeenLocked
If PlayerVisionFailsaveMarker.GetDistance(PlayerREF) <= 1000
PlayerREF.MoveTo(PlayerVisionStartMarker)
Elseif PlayerVisionFailsaveMarker.GetDistance(PlayerREF) >= 1000
PlayerREF.MoveTo(PlayerVisionFailsaveMarker)
EndIf
EndIf
PlayerREF.SetGhost(False)
Sound.StopInstance(VisionSound)
MAGConjurePortalClose.Play(PlayerREF)
_00E_SilenceAbruptHighPriority.Remove()
PlayerREF.RemoveSpell(_00E_Vision_TimeSpell)
_00E_VisionShaderParticles.Remove(0.5)
_00E_VisionEndImod.ApplyCrossFade(1)
Wait(0.5)
PlayerREF.SetActorValue("speedMult", fPlayerSpeedBeforeVision)
If PlayerREF.GetActorValue("speedMult") < 50
PlayerREF.SetActorValue("speedMult", 100)
EndIf
UpdateSpeed(PlayerREF)
Game.EnablePlayerControls()
Game.SetPlayerAIDriven(0)
Game.ShowFirstPersonGeometry(True)
_00E_SilenceAbruptHighPriority.Remove()
EndFunction
Function VisionEffectNoTimestop(Formlist RefsInvolved, Formlist ActorsToFreeze, bool bCustomMusic = False)
Game.ShowFirstPersonGeometry(False)
PlayerREF.SetAlpha(0.1)
PlayerREF.AddPerk(_00E_VisionPerk)
UpdateSpeed(PlayerREF)
MagRacialBattlecryFire.Play(PlayerREF)
if !bCustomMusic
_00E_SilenceAbruptHighPriority.Add()
EndIf
AudioCategoryFST.Mute()
PlayerVisionStartMarker = PlayerREF.PlaceAtMe(XMarker as form, 1, false, false)
PlayerVisionFailsaveMarker.MoveTo(PlayerREF)
PlayerREF.SetGhost(True)
VisionSound = _00E_VisionLPM.Play(PlayerREF)
_00E_VisionStartImod.Apply()
If PlayerREF.IsInInterior()
_00E_VisionShaderParticles.Apply(0.5)
EndIf
if RefsInvolved != None
int iIndex = RefsInvolved.GetSize()
while iIndex > 0
iIndex -= 1
Actor VisionREF = RefsInvolved.GetAt(iIndex) as Actor
if VisionREF.IsDisabled()
VisionREF.EnableNoWait()
EndIf
VisionRef.SetAlpha(0.5)
MS04MemoryFXBody01VFX.Play(VisionREF)
EndWhile
endif
if ActorsToFreeze != None
int iIndex02 = ActorsToFreeze.GetSize()
while iIndex02 > 0
iIndex02 -= 1
Actor FreezeREF = ActorsToFreeze.GetAt(iIndex02) as Actor
FreezeREF.EnableAI(False)
EndWhile
endif
_00E_MQ16_VisionIMOD.Remove()
_00E_VisionImod.ApplyCrossFade(1)
EndFunction
Function VisionEffectNoTimestopStop(Formlist RefsInvolved, Formlist ActorsToFreeze, bool bHasBeenRestrained = False)
PlayerREF.SetAlpha(1.0)
Game.ShowFirstPersonGeometry(True)
If !bHasBeenRestrained
If PlayerVisionFailsaveMarker.GetDistance(PlayerREF) <= 1000
PlayerREF.MoveTo(PlayerVisionStartMarker)
Elseif PlayerVisionFailsaveMarker.GetDistance(PlayerREF) >= 1000
PlayerREF.MoveTo(PlayerVisionFailsaveMarker)
EndIf
EndIf
_00E_VisionEndImod.ApplyCrossFade(1)
If PlayerREF.IsInInterior()
_00E_VisionShaderParticles.Remove(0.5)
EndIf
if RefsInvolved != None
int iIndex = RefsInvolved.GetSize()
while iIndex > 0
iIndex -= 1
Actor VisionREF = RefsInvolved.GetAt(iIndex) as Actor
MS04MemoryFXBody01VFX.Stop(VisionREF)
VisionRef.SetAlpha(1)
EndWhile
endif
if ActorsToFreeze != None
int iIndex02 = ActorsToFreeze.GetSize()
while iIndex02 > 0
iIndex02 -= 1
Actor FreezeREF = ActorsToFreeze.GetAt(iIndex02) as Actor
FreezeREF.EnableAI(True)
EndWhile
endif
AudioCategoryFST.UnMute()
PlayerREF.SetGhost(False)
Sound.StopInstance(VisionSound)
MAGConjurePortalClose.Play(PlayerREF)
_00E_SilenceAbruptHighPriority.Remove()
PlayerREF.RemovePerk(_00E_VisionPerk)
If PlayerREF.GetActorValue("speedMult") < 50
PlayerREF.SetActorValue("speedMult", 100)
EndIf
UpdateSpeed(PlayerREF)
_00E_MQ16_VisionIMOD.Remove()
_00E_VisionImod.Remove()
EndFunction
Function UpdateSpeed(Actor SpeedUpdateActor)
If SpeedUpdateActor.HasSpell(_00E_Vision_UpdateAb)
SpeedUpdateActor.RemoveSpell(_00E_Vision_UpdateAb)
EndIf
SpeedUpdateActor.AddSpell(_00E_Vision_UpdateAb, False)
Wait(0.1)
SpeedUpdateActor.RemoveSpell(_00E_Vision_UpdateAb)
EndFunction
;=====================================================================================
; ADDED IN FORGOTTEN STORIES
;=====================================================================================
@ -678,7 +458,6 @@ int Property iMinorClassIndex Auto Conditional Hidden
bool Property bAllowIdleChatter = True Auto Conditional Hidden ; Set this to true when NPCs shouldn't Idle around
float Property fPlayerSpeedBeforeVision Auto Hidden
float Property fCameraMaxDistance Auto Hidden
float Property fBaseGravity Auto Hidden
@ -715,22 +494,7 @@ ReferenceAlias Property Levelsystem_SympathyActor Auto
;--------------------------------------VISION-----------------------------------
float PlayerSpeed
int VisionSound
Perk Property _00E_VisionPerk Auto
SoundCategory Property AudioCategoryFST Auto
VisualEffect Property MS04MemoryFXBody01VFX Auto
ImageSpaceModifier Property _00E_VisionStartImod Auto
ImageSpaceModifier Property _00E_VisionIMOD Auto
ImageSpaceModifier Property _00E_VisionEndImod Auto
Sound Property _00E_VisionLPM Auto
Sound Property MagRacialBattlecryFire Auto
Sound Property MAGConjurePortalClose Auto
Spell Property _00E_Vision_UpdateAb Auto
MusicType Property _00E_SilenceTransitionLowPriority02 Auto
MusicType Property _00E_Music_Special_MQ12b_Samael Auto
@ -809,25 +573,14 @@ Message Property _00E_Levelsystem_sEldritchBloodVictimMarkingRemoved Auto
Message Property _00E_Levelsystem_sGhostwalkEnemyTooCloseToWall Auto
Message Property _00E_DialogueQuitGame Auto
ObjectReference Property PlayerVisionStartMarker Auto Hidden
ObjectReference Property PlayerVisionFailsaveMarker Auto Hidden
ObjectReference Property VisionLight Auto Hidden
Idle Property IdleMagic_01 Auto
Spell Property _00E_Vision_NoTimeSpell Auto
Spell Property _00E_Vision_NoTimeSubtleSpell Auto
Spell Property _00E_Vision_TimeSpell Auto
Spell Property _00E_PriestCureDiseases Auto
Spell Property _00E_FS_NQR05_SlowMotionSP Auto
GlobalVariable Property _00E_HeadtrackGlobal Auto
ImageSpaceModifier Property _00E_NPCTeleportExplosionIMOD Auto
ImageSpaceModifier Property _00E_VisionStartTimestopIMOD Auto
ImageSpaceModifier Property _00E_MQ16_VisionIMOD Auto
ShaderParticleGeometry Property _00E_VisionShaderParticles Auto
SoundCategory Property AudioCategoryAMB Auto
SoundCategory Property AudioCategoryAMBr Auto

@ -3,7 +3,7 @@ Scriptname _00E_SlowSelfMESC extends activemagiceffect
Event OnEffectStart(Actor akTarget, Actor akCaster)
Levelsystem.UpdateSpeed(akTarget)
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(akTarget)
Game.ForceFirstPerson()
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 0.1)
@ -11,9 +11,7 @@ EndEvent
Event OnEffectFinish(Actor akTarget, Actor akCaster)
Levelsystem.UpdateSpeed(akTarget)
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(akTarget)
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35)
EndEvent
_00E_QuestFunctions Property Levelsystem Auto
Loading…
Cancel
Save