4
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

973 lines
27 KiB

Scriptname _00E_FS_NQ01_Functions extends Quest Conditional
int function _GetScriptVersion() Global
return 1
endFunction
;=====================================================================================
; EVENTS
;=====================================================================================
Event OnUpdateGameTime()
If GetCurrentStageID() == 75
SetCurrentStageID(80)
Elseif GetCurrentStageID() == 150
SetCurrentStageID(155)
EndIf
EndEvent
Event OnUpdate()
if GetCurrentStageID() < 115
SetCurrentStageID(115)
EndIf
EndEvent
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function StartSC00()
FS_NQ01_SC00_Start.ForceStart()
EndFunction
Function MoveYuslanToLaboratory()
if _00E_MC_YuslanREF.IsDisabled()
_00E_MC_YuslanREF.Enable()
endif
_00E_MC_YuslanREF.MoveTo(FS_NQ01_YuslanLookAtDrawing)
EndFunction
Function SetUpSC01()
FS_NQ01_SC01_ExpositionInBath.ForceStart()
FadeToBlackIMOD.Apply()
Utility.Wait(2.7)
FadeToBlackHoldIMOD.ApplyCrossFade(afFadeDuration = 0.3)
FS_NQ01_YuslanREF.Enable()
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC01_YuslanRailMarker)
PlayerREF.MoveTo(FS_NQ01_SC01_PlayerMarkerREF)
EndFunction
Function FadeBack()
Game.EnablePlayerControls()
FadeToBlackBackIMOD.ApplyCrossFade()
EndFunction
Function BenchFailsave()
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC01_YuslanBenchREF)
EndFunction
Function MoveYuslan()
If FS_NQ01_YuslanREF.IsDisabled()
FS_NQ01_YuslanREF.Enable()
EndIf
FS_NQ01_SC02_Cloister_01.ForceStart()
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_YuslanLeanMarker)
FS_NQ01_SunbornParentREF.Enable()
EndFunction
Function RefreshCombatState()
_00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks()
FS_NQ01_YuslanREF.StopCombat()
FS_NQ01_YuslanREF.StopCombatAlarm()
EndFunction
Function EnableEtherCrystal()
FS_NQ01_YuslanREF.EvaluatePackage()
FS_NQ01_SC03_EtherCrystal.Enable()
_00E_FS_NQ01_ThalgardLever.Enable()
EndFunction
Function StartSC03()
_00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks()
_00E_TeleportGlobal.SetValueInt(1)
FS_NQ01_SC03_MercenaryREF.Enable()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_SC03_MercenaryREF.SetAlpha(0.0)
FS_NQ01_SC03_MercenaryREF.SetGhost(True)
FS_NQ01_SC03_MercenaryREF.BlockActivation(True)
FS_NQ01_YuslanREF.BlockActivation(True)
FS_NQ01_SC03_Cloister_02.ForceStart()
FS_NQ01_SC03_MercenaryREF.SetHeadTracking(False)
FS_NQ01_YuslanREF.SetHeadTracking(False)
FS_NQ01_SC03_MercenaryREF.MoveTo(FS_NQ01_SC03_MercenaryKneelingMarkerREF)
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC03_YuslanMarkerREF)
FS_NQ01_YuslanREF.AddToFaction(IgnoreInCombatFaction)
if !FS_NQ01_SC03_PortcullisREF.GetOpenState() == 1 || 2
FS_NQ01_SC03_PortcullisREF.SetOpen(True)
EndIf
EndFunction
Function SetAlphaMercenary()
FS_NQ01_SC03_MercenaryREF.Enable()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_SC03_MercenaryREF.SetAlpha(1.0)
EndFunction
Function YuslanKillMercenary()
_00E_FS_NQ01_Barrier1.Moveto(_00E_FS_NQ01_Barrier1Pos)
_00E_FS_NQ01_Barrier1Msg.Enable()
klosterback.lock()
klosterback.setlocklevel(255)
FS_NQ01_YuslanREF.PlayIdle(_00E_IdleStomp)
_00E_FXEldritchShader03.Play(FS_NQ01_YuslanREF)
Utility.Wait(0.25)
FS_NQ01_SC03_LightREF.EnableNoWait()
FS_NQ01_SC03_MercenaryREF.PlaceAtMe(_00E_A2_EldritchBloodExplosion)
goreExplosion = FS_NQ01_SC03_MercenaryREF.PlaceAtMe(_00E_FS_MAGGoreExplosion)
Game.TriggerScreenBlood(10)
FS_NQ01_SC03_MercenaryREF.SetAlpha(0.0)
_00E_MQ05_MerchantDeathM.Play(PlayerREF)
Utility.Wait(3)
MAGIllusionReleaseSound.Play(PlayerREF)
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
FS_NQ01_SC03_LightREF.Disable()
_00E_FXEldritchShader03.Stop(FS_NQ01_YuslanREF)
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_YuslanLeanMarker)
FS_NQ01_YuslanREF.BlockActivation(False)
FS_NQ01_YuslanREF.RemoveFromFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.Disable()
goreExplosion.Disable()
FS_NQ01_SC03_MercenaryREF.Disable()
EndFunction
Function CleanUpSC03()
SetCurrentStageID(50)
EndFunction
Function StartSC04()
Armor Body = PlayerREF.GetWornForm(0x00000004) as Armor
Armor Head = PlayerREF.GetWornForm(0x00000001) as Armor
Armor Hands = PlayerREF.GetWornForm(0x00000008) as Armor
Armor Forearms = PlayerREF.GetWornForm(0x00000010) as Armor
Armor Feet = PlayerREF.GetWornForm(0x00000080) as Armor
Armor Calves = PlayerREF.GetWornForm(0x00000100) as Armor
Armor Shield = PlayerREF.GetWornForm(0x00000200) as Armor
Armor Circlet = PlayerREF.GetWornForm(0x00001000) as Armor
Armor Chest = PlayerREF.GetWornForm(0x00010000) as Armor
Armor Back = PlayerREF.GetWornForm(0x00020000) as Armor
Weapon Left = PlayerREF.GetEquippedWeapon(true) as Weapon
Weapon Right = PlayerREF.GetEquippedWeapon(false) as Weapon
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
;failsafe
Player.SetInvulnerable(false)
SC04_PlayerCopy = FS_NQ01_SC04_PlayerCopySpawnMarkerREF.PlaceActorAtMe(Player)
SC04_PlayerCopy.SetGhost(True)
SC04_PlayerCopy.BlockActivation(True)
SC04_FakePlayer.ForceRefTo(SC04_PlayerCopy)
If Body != None
SC04_PlayerCopy.AddItem(Body, 1)
SC04_PlayerCopy.EquipItem(Body)
EndIf
If Head != None
SC04_PlayerCopy.AddItem(Head, 1)
SC04_PlayerCopy.EquipItem(Head)
EndIf
If Hands != None
SC04_PlayerCopy.AddItem(Hands, 1)
SC04_PlayerCopy.EquipItem(Hands)
EndIf
If Forearms != None
SC04_PlayerCopy.AddItem(Forearms, 1)
SC04_PlayerCopy.EquipItem(Forearms)
EndIf
If Feet != None
SC04_PlayerCopy.AddItem(Feet, 1)
SC04_PlayerCopy.EquipItem(Feet)
EndIf
If Calves != None
SC04_PlayerCopy.AddItem(Calves, 1)
SC04_PlayerCopy.EquipItem(Calves)
EndIf
If Shield != None
SC04_PlayerCopy.AddItem(Shield, 1)
SC04_PlayerCopy.EquipItem(Shield)
EndIf
If Circlet != None
SC04_PlayerCopy.AddItem(Circlet, 1)
SC04_PlayerCopy.EquipItem(Circlet)
EndIf
If Chest != None
SC04_PlayerCopy.AddItem(Chest, 1)
SC04_PlayerCopy.EquipItem(Chest)
EndIf
If Back != None
SC04_PlayerCopy.AddItem(Back, 1)
SC04_PlayerCopy.EquipItem(Back)
EndIf
If Left != None
SC04_PlayerCopy.AddItem(Left, 1)
SC04_PlayerCopy.EquipItem(Left)
EndIf
If Right != None
SC04_PlayerCopy.AddItem(Right, 1)
SC04_PlayerCopy.EquipItem(Right)
EndIf
FS_NQ01_SC04_Cloister_03.ForceStart()
EndFunction
Function SpawnArcherAndKillPlayer()
FS_NQ01_SC04_ArcherREF.EnableNoWait()
FS_NQ01_SC04_ArcherREF.MoveTo(FS_NQ01_SC04_ArcherMarkerREF)
WPNBowDraw.Play(FS_NQ01_SC04_ArcherREF)
FS_NQ01_SC04_ArcherREF.BlockActivation(True)
Utility.Wait(1)
SC04_PlayerCopy.SetGhost(False)
_00E_FakeArrowSP.Cast(FS_NQ01_SC04_ArcherMarkerREF, SC04_PlayerCopy)
Utility.Wait(0.1)
if Player.GetSex() == 0
_00E_Male_PlayerHitM.Play(SC04_PlayerCopy)
Else
_00E_Female_PlayerHitM.Play(SC04_PlayerCopy)
EndIf
Game.TriggerScreenBlood(10)
_00E_FakeArrowSP.Cast(FS_NQ01_SC04_ArcherMarkerREF, SC04_PlayerCopy)
Utility.Wait(0.5)
SC04_PlayerCopy.KillEssential(SC04_PlayerCopy)
EndFunction
Function StopSC04()
SC04_FakePlayer.Clear()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
SC04_PlayerCopy.Delete()
FS_NQ01_SC04_ArcherREF.Delete()
SetCurrentStageID(60)
EndFunction
Function StartSC05()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_SC05_Lishari_REF.Enable()
FS_NQ01_SC05_Lishari_REF.MoveTo(FS_NQ01_SC05_LishariMarkerREF)
FS_NQ01_SC05_Lishari_REF.SetGhost(True)
FS_NQ01_SC05_Lishari_REF.BlockActivation(True)
FS_NQ01_SC05_Lishari_REF.AddToFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.AddToFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC05_YuslanExamineMarkerREF)
FS_NQ01_YuslanREF.SetGhost(True)
FS_NQ01_YuslanREF.BlockActivation(True)
FS_NQ01_YuslanREF.Enable()
FS_NQ01_SC05_Lishari_REF.SetHeadTracking(False)
FS_NQ01_YuslanREF.SetHeadTracking(False)
FS_NQ01_SC05_Cloister_04.ForceStart()
EndFunction
Function StopSC05()
Debug.SendAnimationEvent(FS_NQ01_YuslanREF, "IdleForceDefaultState")
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_SC05_Cloister_04.Stop()
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC06_YuslanBeamMarkerREF)
FS_NQ01_YuslanREF.EvaluatePackage()
FS_NQ01_YuslanREF.BlockActivation(False)
FS_NQ01_YuslanREF.RemoveFromFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.SetHeadTracking(True)
FS_NQ01_SC05_Lishari_REF.Disable()
SetCurrentStageID(70)
EndFunction
Function PortBackYuslanClearFirstAct()
_00E_TeleportGlobal.SetValueInt(0)
FS_NQ01_YuslanREF.RemoveFromFaction(IgnoreInCombatFaction)
_00E_PlayerFunctions.GetTeleportControl().TeleportNPC(FS_NQ01_YuslanREF, _00E_NPCDumpMarker)
RegisterForSingleUpdateGameTime(48.0)
_00E_FS_NQ01_Barrier1.Disable()
_00E_FS_NQ01_Barrier1Msg.Disable()
klosterback.lock(false)
EndFunction
Function SetUpSC06()
If FS_NQ01_YuslanREF.IsDisabled()
FS_NQ01_YuslanREF.Enable()
EndIf
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC06_YuslanMarkerREF)
FS_NQ01_SC06_DustPit.ForceStart()
EndFunction
Function EnableWorldshifter()
FS_NQ01_SC05_WorldwalkerREF.Enable()
_00E_FS_NQ01_Anja.Disable()
UndercityBarracks2ZorkbansCellar.SetActorOwner(None)
FS_NQ01_YuslanREF.AddItem(_00E_UC2_ZorkbansKey)
FS_NQ01_SC07_ZorkbanDoorREF.Lock(False)
EndFunction
Function EnableWorldshifterFailsave()
if FS_NQ01_SC05_WorldwalkerREF.IsDisabled()
FS_NQ01_SC05_WorldwalkerREF.Enable()
EndIf
EndFunction
Function PortYuslanToPlayer()
FS_NQ01_YuslanREF.MoveTo(PlayerREF)
EndFunction
Function PortYuslanFailsave()
If FS_NQ01_YuslanREF.GetParentCell() != UndercityBarracks2ZorkbansCellar
FS_NQ01_YuslanREF.MoveTo(PlayerREF)
EndIf
EndFunction
Function StartSC07()
; DEBUG! Delete
FS_NQ01_YuslanREF.Enable()
FS_NQ01_YuslanREF.MoveTo(PlayerREF)
EnableWorldshifterFailsave()
; DEBUG DELETE
_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
_00E_FS_NQ01_CellarDoor.Lock(255)
_00E_TeleportGlobal.SetValueInt(1)
FS_NQ01_SC07_Worldwalker_Activation.ForceStart()
EndFunction
Function AddMusic()
; _00E_FS_Special_SeaOfEventualitiesLoop.Add()
EndFunction
Function InitiateRitual()
int iIndex = FS_NQ01_SC12_PusBugs.GetSize()
while iIndex > 0
iIndex -= 1
Actor akActorToDisable = FS_NQ01_SC12_PusBugs.GetAt(iIndex) as Actor
if akActorToDisable.IsEnabled()
akActorToDisable.Disable()
EndIf
endwhile
MAGIllusionCharm.Play(PlayerREF)
_00E_FireBlueFXS.Play(PlayerREF)
_00E_FireBlueFXS.Play(FS_NQ01_YuslanREF)
_00E_FireBlueFXS.Play(FS_NQ01_SC05_WorldwalkerREF)
FXCameraAttachFalmerDustEffect.Play(PlayerREF)
iActivationSoundLP = MAGDestructionBlizzard2DLP.Play(PlayerREF)
FS_NQ01_YuslanREF.SetLookAt(FS_NQ01_SC05_WorldwalkerREF)
_00E_MQ11a_SC19_BlackStoneChannelBeam.Cast(FS_NQ01_SC07_PlayerFireMarkerREF, FS_NQ01_SC05_WorldwalkerREF)
_00E_MQ11a_SC19_BlackStoneChannelBeam.Cast(FS_NQ01_SC07_YuslanFireMarkerREF, FS_NQ01_SC05_WorldwalkerREF)
MAGDragonPowerAbsorbEffect.Play(FS_NQ01_SC05_WorldwalkerREF, -1, FS_NQ01_YuslanREF)
MAGDragonPowerAbsorbManEffect.Play(PlayerREF, -1, FS_NQ01_YuslanREF)
FS_NQ01_BeamLightREF.Enable()
FS_NQ01_SC07_WorldwalkerExpMarkerREF.PlaceAtMe(_00E_FS_NQ01_SC07_WorldwalkerExp)
Utility.Wait(3)
_00E_A2_ChaosruneImplosionSoundM.Play(PlayerREF)
EndFunction
Function EndRitual()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
FS_NQ01_SC07_PlayerFireMarkerREF.InterruptCast()
FS_NQ01_SC07_YuslanFireMarkerREF.InterruptCast()
Sound.StopInstance(iActivationSoundLP)
FXCameraAttachFalmerDustEffect.Stop(PlayerREF)
QSTAlduinDeathExplosionA.Play(PlayerREF)
_00E_FireBlueFXS.Stop(PlayerREF)
_00E_FireBlueFXS.Stop(FS_NQ01_YuslanREF)
_00E_FireBlueFXS.Stop(FS_NQ01_SC05_WorldwalkerREF)
FS_NQ01_SC05_WorldwalkerREF.PlaceAtMe(_00E_FS_NQ01_SC07_ActivationExplosion)
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_YuslanREF.KnockAreaEffect(1, 1024)
MAGIllusionReleaseSound.Play(PlayerREF)
IncreaseArcaneFever(30, 70)
EndFunction
Function OpenWorldwalker()
Game.SetPlayerAIDriven(False)
Game.EnablePlayerControls()
FS_NQ01_SC07_DustREF.Activate(PlayerREF)
FS_NQ01_SC05_WorldwalkerREF.PlayAnimation("trigger01")
FS_NQ01_SC08_PortalMarkerREF.Enable()
FS_NQ01_PortalREF.Enable()
EndFunction
Function CreateFloatingBody()
; objBody01 = FS_NQ01_YuslanSpawnBodyMarkerREF.PlaceAtMe(_00E_FS_NQ01_YuslanDissolvingBody)
; objBody02 = FS_NQ01_YuslanSpawnBodyMarkerREF.PlaceAtMe(_00E_FS_NQ01_YuslanDissolvingBody)
; objBody03 = FS_NQ01_YuslanSpawnBodyMarkerREF.PlaceAtMe(_00E_FS_NQ01_YuslanDissolvingBody)
EndFunction
Function PortYuslanWithEffects()
_00E_FS_Tharael_DematerializeFXS.Play(FS_NQ01_YuslanREF)
MAGIllusionReleaseSound.Play(FS_NQ01_YuslanREF)
Utility.Wait(0.40)
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC08_YuslanMarker)
_00E_FS_Tharael_DematerializeFXS.Stop(FS_NQ01_YuslanREF)
FS_NQ01_PortalREF.EnableNoWait()
Utility.Wait(1.5)
objBody01.Disable()
objBody02.Disable()
objBody03.Disable()
EndFunction
Function StartSC08()
FS_NQ01_SC08_Qyra_01.ForceStart()
EndFunction
Function AdjustGameHourQyra()
if (PlayerREF.GetItemCount(_00E_FS_CraftingPlan_MQ18c_DreamflowerElixir) >= 1 || _00E_FS_BlueprintContainerActorREF.GetItemCount(_00E_FS_CraftingPlan_MQ18c_DreamflowerElixir) >= 1) || (_00E_FS_SpectralChestActorREF.GetItemCount(_00E_FS_CraftingPlan_MQ18c_DreamflowerElixir) >= 1 || _00E_SecureChest_HostChestREF.GetItemCount(_00E_FS_CraftingPlan_MQ18c_DreamflowerElixir) >= 1)
FS_MQ18c_DreamflowerREF.Enable()
EndIf
_00E_TeleportGlobal.SetValueInt(1)
Timescale.SetValue(0.01)
_00E_TimeControl.SkipTimeToHour(21)
EndFunction
Function ResetGameHourQyra()
_00E_TeleportGlobal.SetValueInt(0)
Timescale.SetValue(10)
EndFunction
Function FadeBackQyra()
;DEBUG ONLY!
; PlayerREF.MoveTo(FS_NQ01_SC08_DebugPlayerMoveMarker)
; FS_NQ01_YuslanREF.Enable()
;DEBUG ONLY
FS_NQ01_SC10_DoorREF.Disable()
SetObjectiveCompleted(45)
FadeToBlackHoldIMOD.Remove()
FadeToBlackBackIMOD.Apply()
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC08_YuslanMarker)
EndFunction
Function UpdateObjectives()
_00E_FS_Special_SeaOfEventualitiesLoop.Add()
RegisterForSingleUpdate(300)
EndFunction
Function DisableYuslan()
FS_NQ01_YuslanREF.Disable()
EndFunction
Function UpdateObjectives02()
If GetCurrentStageID() < 120
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
IncreaseArcaneFever(10, 90)
_00E_FS_NQ01_RespectedYuslansWish.SetValueInt(1)
_00E_FS_NQ01_YuslanThought.ShowAsHelpMessage("Jump", 5, 1, 1)
SetObjectiveCompleted(50)
SetObjectiveDisplayed(55, False)
SetObjectiveDisplayed(60)
Else
_00E_FS_NQ01_RespectedYuslansWish.SetValueInt(0)
SetObjectiveCompleted(55)
SetObjectiveDisplayed(60)
EndIf
EndFunction
Function IncreaseArcaneFever(int iStrength, int iMax)
If (-1*PlayerREF.GetActorValue("LastFlattered") < iMax)
PlayerREF.ModActorValue("LastFlattered", -iStrength)
_00E_BlitzheilungArkanistenfieber_sFeverIncreased.Show(iStrength, -1*PlayerREF.GetActorValue("LastFlattered"))
EndIf
EndFunction
Function StartSC09()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
IncreaseArcaneFever(10, 90)
FS_NQ01_YuslanREF.Enable()
SC09_LeanMarker.ForceRefTo(FS_NQ01_SC09_YuslanLeanMarker_02)
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC09_YuslanLeanMarker_02)
FS_NQ01_SC09_Qyra_02.ForceStart()
Steam.UnlockAchievement("END_NAEA_01")
EndFunction
Function SetSecretEnding()
_00E_FS_NQ01_YuslanSecretEnding.SetValueInt(1)
_00E_EPHandler.GiveEP(300)
EndFunction
Function StartSC10Or11()
SetObjectiveCompleted(60)
Game.RequestAutosave()
FS_NQ01_SC10_DoorREF.Disable()
If _00E_FS_NQ01_YuslanSecretEnding.GetValueInt() == 1
SetObjectiveDisplayed(70)
FS_NQ01_SC10_Qyra_SecretEnding.ForceStart()
Else
FS_NQ01_YuslanREF.SetActorValue("Aggression", 3)
FS_NQ01_YuslanREF.StartCombat(PlayerREF)
FS_NQ01_YuslanREF.BlockActivation(True)
FS_NQ01_YuslanREF.SetGhost(False)
SetObjectiveDisplayed(75)
FS_NQ01_SC11_Qyra_03.ForceStart()
EndIf
EndFunction
Function UpdateObjectives04()
FS_NQ01_YuslanREF.GetActorBase().SetEssential(False)
FS_NQ01_YuslanREF.Kill(FS_NQ01_YuslanREF)
SetObjectiveCompleted(75)
SetObjectiveDisplayed(80)
EndFunction
Function ShowCarryMessage()
int iButton = _00E_FS_NQ01_SC10_YuslanMessage.Show()
if iButton == 0
FadeToBlackIMOD.Apply()
Utility.Wait(2.7)
FadeToBlackHoldIMOD.ApplyCrossFade(afFadeDuration = 0.3)
SetCurrentStageID(140)
Else
Return
EndIf
EndFunction
Function YuslanStopAnimation()
Debug.SendAnimationEvent(FS_NQ01_YuslanREF, "IdleForceDefaultState")
EndFunction
Function TriggerCorrectionPain()
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
IncreaseArcaneFever(10, 90)
EndFunction
Function YuslanFallDown()
FS_NQ01_YuslanREF.PlayIdle(_00E_IdleSuicide)
Utility.Wait(1.5)
_00E_FS_NQ01_EventualityShiftIMOD.Apply()
MAGIllusionReleaseSound.Play(PlayerREF)
FS_NQ01_YuslanREF.Disable()
FS_NQ01_SC08_PortalMarkerREF.Disable()
FS_NQ01_SC05_WorldwalkerREF.Disable()
FS_NQ01_SC05_WorldwalkerClosedREF.Enable()
Game.EnablePlayerControls()
EndFunction
Function EnableDoor()
FS_NQ01_SC10_DoorREF.Enable()
EndFunction
Function SetUpSC12()
FadeToBlackIMOD.Apply()
Utility.Wait(2.7)
Game.DisablePlayerControls()
FadeToBlackHoldIMOD.ApplyCrossFade(afFadeDuration = 0.3)
FS_NQ01_SC08_PortalMarkerREF.Disable()
FS_NQ01_SC05_WorldwalkerREF.Disable()
FS_NQ01_SC05_WorldwalkerClosedREF.Enable()
FS_NQ01_PortalREF.Disable()
Timescale.SetValue(10)
_00E_FS_NQ01_CellarDoor.lock(false)
FS_NQ01_YuslanREF.SetGhost(True)
FS_NQ01_YuslanREF.SetActorValue("Aggression", 0)
FS_NQ01_YuslanREF.StopCombat()
FS_NQ01_YuslanREF.StopCombatAlarm()
if FS_NQ01_YuslanREF.IsDisabled()
FS_NQ01_YuslanREF.Enable()
EndIf
if FS_NQ01_YuslanREF.IsDead()
FS_NQ01_YuslanREF.Resurrect()
FS_NQ01_YuslanREF.ResetHealthAndLimbs()
EndIf
FS_NQ01_YuslanREF.MoveTo(FS_NQ01_SC12_YuslanMarker02REF)
PlayerREF.MoveTo(FS_NQ01_SC12_PlayerPortREF)
Utility.wait(0.1)
FS_NQ01_SC12_Aftermath.ForceStart()
EndFunction
Function GivePlayerSpecialReward()
PlayerREF.AddItem(_00E_BankKey1211, 1)
EndFunction
Function GivePlayerRewardNormal()
PlayerREF.AddItem(Gold001, 500)
PlayerREF.AddItem(_05E_Genesungstrank, 3)
PlayerREF.AddItem(_05E_Manatrank, 3)
PlayerREF.AddItem(_04E_Unsichtbarkeitstrank, 2)
EndFunction
Function PlayerRemoveDreamflower()
PlayerREF.RemoveItem(_00E_FS_MQ18c_Dreamflower, PlayerREF.GetItemCount(_00E_FS_MQ18c_Dreamflower))
EndFunction
Function FinishUp()
CompleteAllObjectives()
_00E_TeleportGlobal.SetValueInt(0)
FS_NQ01_YuslanREF.RemoveFromFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.GetActorBase().SetEssential(True)
UndercityBarracks2ZorkbansCellar.SetActorOwner(FS_NQ01_ZorkbanREF.GetActorBase())
Timescale.SetValue(10)
_00E_PlayerFunctions.GetSoundControl().RemoveSilence()
_00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks()
CompleteQuest()
TeleportYuslan()
EndFunction
Function TeleportYuslan()
_00E_PlayerFunctions.GetTeleportControl().TeleportNPC(FS_NQ01_YuslanREF, _00E_NPCDumpMarker)
FS_NQ01_YuslanREF.Disable()
FS_NQ01_YuslanREF.DeleteWhenAble()
EndFunction
Function GiveClearedPotion()
PlayerREF.AddItem(_00E_FS_MQ18c_DreamflowerPotionCleared, 1)
EndFunction
Function FinishUpDreamflower()
RegisterForSingleUpdateGameTime(48)
_00E_TeleportGlobal.SetValueInt(0)
FS_NQ01_YuslanREF.RemoveFromFaction(IgnoreInCombatFaction)
FS_NQ01_YuslanREF.GetActorBase().SetEssential(True)
UndercityBarracks2ZorkbansCellar.SetActorOwner(FS_NQ01_ZorkbanREF.GetActorBase())
Timescale.SetValue(10)
_00E_PlayerFunctions.GetSoundControl().RemoveSilence()
_00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks()
TeleportYuslan()
EndFunction
Function GivePlayerBook()
PlayerREF.RemoveItem(_00E_FS_NQ01_MG06Crystal, 1)
PlayerREF.AddItem(_00E_FS_A3_Rogue_Frostbomb_Book_02, 1)
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
int iRewardEXP = 1000
int iActivationSoundLP
int iGoldReward = 500
Actor SC04_PlayerCopy
ObjectReference goreExplosion
Actor Property PlayerREF Auto
Actor Property _00E_MC_YuslanREF Auto
Actor Property FS_NQ01_YuslanREF Auto
Actor Property FS_NQ01_SC03_MercenaryREF Auto
Actor Property FS_NQ01_SC04_ArcherREF Auto
Actor Property FS_NQ01_SC05_Lishari_REF Auto
Actor Property FS_NQ01_ZorkbanREF Auto
Actor Property _00E_FS_NQ01_Anja Auto
Actor Property _00E_FS_SpectralChestActorREF Auto
Actor Property _00E_FS_BlueprintContainerActorREF Auto
ActorBase Property Player Auto
Activator Property _00E_FS_NQ01_YuslanDissolvingBody Auto
Explosion Property _00E_A2_EldritchBloodExplosion Auto
Explosion Property _00E_FS_MAGGoreExplosion Auto
Explosion Property _00E_FS_NQ01_SC07_WorldwalkerExp Auto
Explosion Property _00E_A2_RiftExplosion Auto
Explosion Property _00E_FS_NQ01_SC07_ActivationExplosion Auto
Key Property _00E_UC2_ZorkbansKey Auto
Key Property _00E_BankKey1211 Auto
Potion Property _05E_Genesungstrank Auto
Potion Property _05E_Manatrank Auto
Potion Property _04E_Unsichtbarkeitstrank Auto
Potion Property _00E_FS_MQ18c_DreamflowerPotionCleared Auto
Potion Property _00E_FS_A3_Rogue_Frostbomb_Book_02 Auto
Cell Property UndercityBarracks2ZorkbansCellar Auto
ObjectReference objBody01
ObjectReference objBody02
ObjectReference objBody03
ObjectReference Property FS_NQ01_YuslanLookAtDrawing Auto
ObjectReference Property FS_NQ01_SC01_YuslanRailMarker Auto
ObjectReference Property FS_NQ01_SC01_PlayerMarkerREF Auto
ObjectReference Property FS_NQ01_SC01_YuslanBenchREF Auto
ObjectReference Property FS_NQ01_SC02_YuslanCloisterMarkerREF Auto
ObjectReference Property FS_NQ01_YuslanLeanMarker Auto
ObjectReference Property FS_NQ01_SunbornParentREF Auto
ObjectReference Property FS_NQ01_SC03_EtherCrystal Auto
ObjectReference Property FS_NQ01_SC03_MercenaryMarkerREF Auto
ObjectReference Property FS_NQ01_SC03_MercenaryKneelingMarkerREF Auto
ObjectReference Property FS_NQ01_SC03_YuslanMarkerREF Auto
ObjectReference Property FS_NQ01_SC03_PortcullisREF Auto
ObjectReference Property FS_NQ01_SC03_LightREF Auto
ObjectReference Property FS_NQ01_SC04_PlayerCopySpawnMarkerREF Auto
ObjectReference Property FS_NQ01_SC04_PlayerKillRockREF Auto
ObjectReference Property FS_NQ01_SC04_ArcherMarkerREF Auto
ObjectReference Property FS_NQ01_SC05_LishariMarkerREF Auto
ObjectReference Property FS_NQ01_SC05_YuslanExamineMarkerREF Auto
ObjectReference Property FS_NQ01_SC06_YuslanBeamMarkerREF Auto
ObjectReference Property FS_NQ01_SC06_YuslanMarkerREF Auto
ObjectReference Property FS_NQ01_SC05_WorldwalkerREF Auto
ObjectReference Property FS_NQ01_SC07_WorldwalkerExpMarkerREF Auto
ObjectReference Property FS_NQ01_SC07_YuslanRitualMarker Auto
ObjectReference Property FS_NQ01_SC07_ZorkbanDoorREF Auto
ObjectReference Property FS_NQ01_SC07_DustREF Auto
ObjectReference Property FS_NQ01_SC07_YuslanFireMarkerREF Auto
ObjectReference Property FS_NQ01_SC07_PlayerFireMarkerREF Auto
ObjectReference Property FS_NQ01_SC08_YuslanMarker Auto
ObjectReference Property FS_NQ01_SC08_ObjectLeanWallREF Auto
ObjectReference Property FS_NQ01_SC08_DebugPlayerMoveMarker Auto
ObjectReference Property FS_NQ01_SC09_FenceGate Auto
ObjectReference Property FS_NQ01_SC09_YuslanLeanMarker_01 Auto
ObjectReference Property FS_NQ01_SC09_YuslanLeanMarker_02 Auto
ObjectReference Property FS_NQ01_SC09_YuslanLeanMarker_03 Auto
ObjectReference Property FS_NQ01_SC09_YuslanLeanMarker_04 Auto
ObjectReference Property FS_NQ01_SC09_YuslanKneelMarkerREF Auto
ObjectReference Property FS_NQ01_SC10_DoorREF Auto
ObjectReference Property FS_NQ01_SC08_PortalMarkerREF Auto
ObjectReference Property FS_NQ01_SC12_YuslanMarkerREF Auto
ObjectReference Property FS_NQ01_SC12_PlayerChairMarkerREF Auto
ObjectReference Property FS_NQ01_SC05_WorldwalkerClosedREF Auto
ObjectReference Property FS_NQ01_SC12_YuslanMarker02REF Auto
ObjectReference Property FS_MQ18c_DreamflowerREF Auto
ObjectReference Property FS_NQ01_SC12_PlayerPortREF Auto
ObjectReference Property _00E_NPCDumpMarker Auto
ObjectReference Property _00E_FS_NQ01_ThalgardLever Auto
ObjectReference Property _00E_FS_NQ01_Barrier1 Auto
ObjectReference Property _00E_FS_NQ01_Barrier1Msg Auto
ObjectReference Property _00E_FS_NQ01_Barrier1Pos Auto
ObjectReference Property klosterback auto
ObjectReference Property FS_NQ01_BeamLightREF auto
ObjectReference Property FS_NQ01_PortalREF auto
ObjectReference Property FS_NQ01_LightSpawnerREF auto
ObjectReference Property FS_NQ01_YuslanSpawnBodyMarkerREF auto
ObjectReference Property _00E_SecureChest_HostChestREF auto
ObjectReference Property _00E_FS_NQ01_CellarDoor Auto
MiscObject Property Gold001 Auto
MiscObject Property _00E_FS_MQ18c_Dreamflower Auto
MiscObject Property _00E_FS_CraftingPlan_MQ18c_DreamflowerElixir Auto
MiscObject Property _00E_FS_NQ01_MG06Crystal Auto
ReferenceAlias Property SC04_FakePlayer Auto
ReferenceAlias Property SC09_LeanMarker Auto
VisualEffect Property MAGDragonPowerAbsorbManEffect Auto
VisualEffect Property MAGDragonPowerAbsorbEffect Auto
VisualEffect Property FXCameraAttachFalmerDustEffect Auto
Sound Property _00E_MQ05_MerchantDeathM Auto
Sound Property _00E_Male_PlayerHitM Auto
Sound Property _00E_Female_PlayerHitM Auto
Sound Property WPNBowDraw Auto
Sound Property MAGConjurePortal Auto
Sound Property OBJDwemerRepositoryRotateM Auto
Sound Property OBJDwemerRepositoryDoorM Auto
Sound Property MAGIllusionCharm Auto
Sound Property _00E_A2_ChaosruneImplosionSoundM Auto
Sound Property MAGDestructionBlizzard2DLP Auto
Sound Property QSTAlduinDeathExplosionA Auto
Sound Property MAGIllusionReleaseSound Auto
Spell Property _00E_FakeArrowSP Auto
Spell Property _00E_MQ11a_SC19_BlackStoneChannelBeam Auto
Message Property _00E_FS_NQ01_YuslanThought Auto
Message Property _00E_BlitzheilungArkanistenfieber_sFeverIncreased Auto
Message Property _00E_FS_NQ01_SC10_YuslanMessage Auto
Formlist Property FS_NQ01_SC12_PusBugs Auto
Faction Property IgnoreInCombatFaction Auto
Idle Property IdleMagic_01 Auto
Idle Property _00E_IdleStomp Auto
Idle Property IdleRitualStart Auto
Idle Property _00E_IdleSuicide Auto
MusicType Property _00E_FS_Special_SeaOfEventualitiesLoop Auto
Scene Property FS_NQ01_SC00_Start Auto
Scene Property FS_NQ01_SC01_ExpositionInBath Auto
Scene Property FS_NQ01_SC02_Cloister_01 Auto
Scene Property FS_NQ01_SC03_Cloister_02 Auto
Scene Property FS_NQ01_SC04_Cloister_03 Auto
Scene Property FS_NQ01_SC05_Cloister_04 Auto
Scene Property FS_NQ01_SC06_DustPit Auto
Scene Property FS_NQ01_SC07_Worldwalker_Activation Auto
Scene Property FS_NQ01_SC08_Qyra_01 Auto
Scene Property FS_NQ01_SC09_Qyra_02 Auto
Scene Property FS_NQ01_SC11_Qyra_03 Auto
Scene Property FS_NQ01_SC10_Qyra_SecretEnding Auto
Scene Property FS_NQ01_SC12_Aftermath Auto
EffectShader Property _00E_A2_GhostwalkReappear Auto
EffectShader Property _00E_FXEldritchShader03 Auto
EffectShader Property _00E_FireBlueFXS Auto
EffectShader Property EnchBlueFXShader Auto
EffectShader Property _00E_FS_Tharael_DematerializeFXS Auto
GlobalVariable Property _00E_TeleportGlobal Auto
GlobalVariable Property Timescale Auto
GlobalVariable Property _00E_FS_NQ01_RespectedYuslansWish Auto
GlobalVariable Property _00E_FS_NQ01_YuslanSecretEnding Auto
ImageSpaceModifier Property FadeToBlackHoldIMOD Auto
ImageSpaceModifier Property FadeToBlackIMOD Auto
ImageSpaceModifier Property FadeToBlackBackIMOD Auto
ImageSpaceModifier Property _00E_FS_NQ01_EventualityShiftIMOD Auto
ImageSpaceModifier Property IllusionBlueMassiveImod Auto