Scriptname _00E_MQ13c_Functions extends Quest Conditional Import Utility Import Game int function _GetScriptVersion() Global return 1 endFunction ;===================================================================================== ; FUNCTIONS ;===================================================================================== Function SetUp() GetRomance() akYaela = _00E_MC_YaelaREF akKurmai = _00E_SC_KurmaiREF MQ13b_NexusDoor.BlockActivation(True) akKurmai.Enable() akYaela.Enable() akCompanionRomance.Enable() EndFunction Function GetRomance() If CaliaRomance.GetValueInt() == 1 akCompanionRomance = _00E_MC_CaliaREF akCompanionNoRomance = _00E_MC_JesparREF Elseif JesparRomance.GetValueInt() == 1 akCompanionRomance = _00E_MC_JesparREF akCompanionNoRomance = _00E_MC_CaliaREF Else If SympathyJespar.GetValueInt() > SympathyCalia.GetValueInt() bNoRomance = True akCompanionRomance = _00E_MC_JesparREF akCompanionNoRomance = _00E_MC_CaliaREF Else akCompanionRomance = _00E_MC_CaliaREF akCompanionNoRomance = _00E_MC_JesparREF Endif EndIf refAliasCompanionRomance.ForceRefTo(akCompanionRomance) refAliasCompanionNoRomance.ForceRefTo(akCompanionNoRomance) Return EndFunction Function MoveElevatorUp() akYaela.UnequipItem(Torch01Intense) PlayerREF.UnequipItem(Torch01Intense, False, True) PlayerREF.RemoveItem(Torch01Intense, 1, False) Debug.SendAnimationEvent(akYaela, "IdleForceDefaultState") if akCompanionRomance.GetDistance(MQ13c_SC01_CaliaTranslateToMarker001) > 200 ; Failsave for the case the companion stands far away from the ; center of the lift. (Side-effect of ; http://sureai.net:9898/browse/ERB-1325 .) akCompanionRomance.MoveTo(MQ13c_SC01_CaliaTranslateToMarker001) Wait(3) endif _00E_TimeControl.SkipTimeToHour(10.5) fTimescaleBefore = Timescale.GetValue() _00E_Music_Special_Zyklus_OneSelection.Remove() _00E_SilenceAbruptHighPriority.Add() _00E_MQ13b_SC10_NexusFadeHOLD.ApplyCrossFade(4) MQ13b_SC10_NexusLift002.TranslateToRef(MQ13c_SC01_NexusLiftOriginMarker, 95) iNexusLiftSound = DRSStoneRotatingDiscLPM.Play(MQ13b_SC10_NexusLift002) bNexusLiftInMotion = True MQ13b_SC11_ShutterREF.TranslateToRef(MQ13c_SC01_ShaftOriginRef, 300.0, 300.0) _00E_MQ13b_SC10_NexusFadeBack.ApplyCrossFade(7) Game.ShakeCamera(afStrength = 0.1, afDuration = 15) EndFunction Function NexusElevatorStop() _00E_MQ13b_SC10_NexusFadeBack.Remove() _00E_MQ13b_SC10_NexusFadeHOLD.Remove() ImageSpaceModifier.RemoveCrossFade() Sound.StopInstance(iNexusLiftSound) ShakeCamera(afStrength = 0.5) PlayerREF.StopTranslation() akCompanionRomance.StopTranslation() bNexusLiftInMotion = False bLiftHasArrived = True If akYaela.GetDistance(MQ13c_SC01_YaelaTranslateMarker) > 200 akYaela.MoveTo(MQ13c_SC01_YaelaTranslateMarker) EndIf If akCompanionRomance.GetDistance(MQ13c_SC01_CaliaTranslateToMarker) > 200 akCompanionRomance.MoveTo(MQ13c_SC01_CaliaTranslateToMarker) EndIf _00E_Func_AIWalk.PlayerAIWalkStop() EndFunction Function StartSC02() akSteelbird = MQ13c_SC03_SteelbirdREF as Actor akSteelbird.Enable() akSteelbird.SetGhost(True) akYaela.MoveTo(MQ13c_SC01_YaelaTranslateMarker) akCompanionRomance.MoveTo(MQ13c_SC01_CaliaTranslateToMarker) akKurmai.MoveTo(MQ13c_SC02_KurmaiSpawnMarker) akKurmai.EquipItem(_03E_21_Sternlingsstreitkolben, true, true) MQ13c_SC02_KurmaiReappears.ForceStart() EndFunction Function StartSC03() akYaela.EquipItem(_04E_StabDerErdrung, 1, true) _00E_PlayerFunctions.GetSoundControl().RemoveSilence() _00E_SilenceAbruptHighPriority.Remove() _00E_Music_Combat_Epic.Add() akYaela.MoveTo(MQ13c_SC01_YaelaTranslateMarker) akCompanionRomance.MoveTo(MQ13c_SC01_CaliaTranslateToMarker) akSteelbird = MQ13c_SC03_SteelbirdREF as Actor akSteelbird.Enable() _00E_MQ04_CrystalExpImpactEXP.Apply() _00E_MQ04_CrystalTouch.Play(PlayerREF) akCompanionRomance.SetGhost(False) akKurmai.SetGhost(False) akKurmai.GetActorBase().SetEssential(False) _00E_Ability_StaggerSelfSpell.Cast(akYaela) _00E_Ability_StaggerSelfSpell.Cast(akCompanionRomance) _00E_Ability_StaggerSelfSpell.Cast(akKurmai) akCompanionRomance.SetGhost(True) JesparNoCombatComments.SetValueInt(1) akYaela.SetGhost(True) ShakeCamera() Wait(1) MQ13c_SC03_SteelbirdAttack.ForceStart() EndFunction Function SC03_BringSteelbirdToNexus() ; Move the Steelbird to the Nexus hall if he is away. ; Failsave for http://sureai.net:9898/browse/ERB-2253 . if akSteelbird.getDistance(MQ13c_SC02_KurmaiSpawnMarker) > 8000 akSteelbird.moveTo(MQ13c_SC02_KurmaiSpawnMarker) ; This is of course not exactly where the Steelbird ; is supposed to be (it should be the DragonPerchTower, ; which is not a property), but it's close enough for ; the AI to pick up from here (I believe). endif EndFunction Function HoldTheDoor() ; Lock the door to the Atrium once everyone is inside. Makes the ; Steelbird banging on the door a tad more realistic. ; This fixes http://sureai.net:9898/browse/ERB-1230 . while (_00E_MC_JesparREF.GetParentCell() != MQ13cAtrium) || (_00E_MC_CaliaREF.GetParentCell() != MQ13cAtrium) || (PlayerREF.GetParentCell() != MQ13cAtrium) Utility.Wait(1) endwhile MQ13c_SC08_DoorREF.SetLockLevel(255) MQ13c_SC08_DoorREF.Lock(True) EndFunction Function SteelDragonRoar() _00E_MQ13c_Steelbird_RoarSingleM.Play(PlayerREF) EndFunction Function KillKurmai() akKurmai.SetGhost(False) akKurmai.GetActorBase().SetEssential(False) akKurmai.KillEssential(akKurmai) if !akKurmai.IsDead() akKurmai.KillEssential(akKurmai) EndIf EndFunction Function DragonIdle() If !NQ01.IsCompleted() NQ01.FailAllObjectives() NQ01.SetCurrentStageID(35) EndIf MQ13c_SC03_CollisionPlane.Enable() akSteelbird.PlayIdle(Dragon_PerchRoar) _00E_MQ13c_Steelbird_RoarM.Play(PlayerREF) akKurmai.GetActorBase().SetEssential(False) akKurmai.SetGhost(False) EndFunction Function SpawnBarrier() MQ13c_SC03_FailsaveBox.Enable() akYaela.PlaceAtMe(_00E_A2_RiftExplosion) MQ13c_SC03_YaelaBarrier.PlayAnimation("PlayAnim02") _00E_MAGEldritchCharge_050M.Play(MQ13c_SC03_YaelaBarrier) iBarrierSound = QSTDA16MagicBarrierLPM.Play(MQ13c_SC03_YaelaBarrier) EndFunction Function OpenDoor() MQ13c_SC04_CollMarkerREF.Enable() MQ13c_SC03_MuratteParent.Disable() MQ13b_NexusDoor.BlockActivation(False) EndFunction Function PlayYaelaDeathSound() _00E_MQ13c_YaleaDeathM.Play(PlayerREF) EndFunction Function StartSC04() RequestAutoSave() MQ13c_SC04_CenturionREF.Enable() MQ13c_SC01_KillBoxREF.Enable() MQ13c_SC03_SteelbirdREF.StopCombat() akCompanionRomance.StopCombat() akCompanionRomance.StopCombatAlarm() _00E_EquipControl.SheatheWeapon(akCompanionRomance) if akCompanionRomance.GetDistance(PlayerREF) >= 200 akCompanionRomance.MoveTo(MQ13c_SC04_CompMarker) EndIf MQ13c_SC04_CenturionAttack.ForceStart() _00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(akCompanionRomance, True, 600, 700, 200) MQ13c_SC04_PullChainREF.Activate(akCompanionRomance) EndFunction Function EnterCombat() MQ13c_SC03_SteelbirdREF.StopCombat() MQ13c_SC04_DeadMurat.Enable() MQ13c_SC04_SpiderParent.Enable() ; Activate all spiders to get them released into the room int nItems = MQ13c_Nexushall_Spiders.GetSize() Int index = 0 While index < nItems Actor enemy = MQ13c_Nexushall_Spiders.GetAt(index) as Actor if enemy != MQ13c_SC04_CenturionREF enemy.Activate(akCompanionRomance) EndIf index += 1 EndWhile MQ13c_SC04_CenturionREF.StartCombat(akCompanionRomance) akCompanionRomance.StartCombat(MQ13c_SC04_CenturionREF) EndFunction Function DisableBlockade() MQ13c_SC04_CollMarkerREF.Disable() MQ13c_SC04_CollMarkerREF001.Enable() EndFunction Function KillEnemies() int iIndex = MQ13c_Nexushall_Spiders.GetSize() while iIndex > 0 iIndex -= 1 Actor akActorToKill = MQ13c_Nexushall_Spiders.GetAt(iIndex) as Actor akActorToKill.Kill(PlayerREF) endwhile EndFunction Function CompanionCombatFailsave() if akCompanionRomance.IsInCombat() akCompanionRomance.StopCombat() akCompanionRomance.StopCombatAlarm() EndIf EndFunction Function RemoveCombatMusic() JesparNoCombatComments.SetValueInt(0) _00E_Music_Combat_Epic.Remove() EndFunction Function ActivateBlockade() RequestAutoSave() MQ13c_SC04_Lever.Enable() if bCompanionInLiftZone akCompanionRomance.MoveTo(PlayerREF) EndIf MQ13c_SC04_PressurePlate.Activate(MQ13c_SC04_PressurePlate) MQ13c_SC04_BarrierREF.TranslateToRef(MQ13c_SC04_BarrierTranslateMarker, 300.0) while !MQ13c_SC05_Botanicum.IsPlaying() MQ13c_SC04_PressurePlate.Activate(MQ13c_SC04_PressurePlate) Wait(0.75) EndWhile EndFunction Function PlayImpact() ShakeCamera(afStrength = 0.15) EndFunction Function StartSC05() MQ13c_SC05_Botanicum.ForceStart() EndFunction Function OpenSecretDoor() MQ13c_SC04_SecretDoorREF.Activate(MQ13c_SC04_SecretDoorREF) MQ13c_SC04_MoveableWallREF.TranslateTo(MQ13c_SC04_MoveableWallREF.GetPositionX(), MQ13c_SC04_MoveableWallREF.GetPositionY(), MQ13c_SC04_MoveableWallREF.GetPositionZ() - 250.0, -09.0280, 0.0, 270.0073, 100.0) StartSC05() SetUpDebris() EndFunction Function SunlightFailsave() _00E_MQ13b_SC10_NexusFadeBack.Remove() _00E_MQ13b_SC10_NexusFadeHOLD.Remove() ImageSpaceModifier.RemoveCrossFade() _00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(akCompanionRomance, True) EndFunction Function SetUpDebris() _00E_MQ07a_YoungMageREF.MoveTo(_00E_NPCDumpMarker) akCompanionNoRomance.MoveTo(_00E_NPCDumpMarker) MQ13b_StarshipREF002.Disable() MQ13b_StarshipREF003.Disable() MQ13c_SC05_PropMarker.Enable() EndFunction Function StartSC06() MQ13c_SC06_FailsaveREF.Enable() MQ13c_SC06_TravelToGearTower.ForceStart() EndFunction Function OpenCage01() _00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(akCompanionRomance, True, 600, 700, 200) MQ13c_SC06_Wall01.TranslateTo(MQ13c_SC06_Wall01.GetPositionX(), MQ13c_SC06_Wall01.GetPositionY(), MQ13c_SC06_Wall01.GetPositionZ() - 2000, MQ13c_SC06_Wall01.GetAngleX(), MQ13c_SC06_Wall01.GetAngleY(), MQ13c_SC06_Wall01.GetAngleZ(), 150.0) OBJDwemerRepositoryRotateM.Play(MQ13c_SC06_Wall01) Wait(3) MQ13c_SC06_Wall01_Navcut.Disable() MQ13c_SC06_CageDoor01_Open = True int iIndex = MQ13c_SC06_Cage01_Enemies.GetSize() while iIndex > 0 iIndex -= 1 Actor akActorToCheck = MQ13c_SC06_Cage01_Enemies.GetAt(iIndex) as Actor akActorToCheck.EvaluatePackage() akActorToCheck.StartCombat(PlayerREF) EndWhile EndFunction Function OpenCage02() MQ13c_SC06_Wall02.TranslateTo(MQ13c_SC06_Wall02.GetPositionX(), MQ13c_SC06_Wall02.GetPositionY(), MQ13c_SC06_Wall02.GetPositionZ() - 2000, MQ13c_SC06_Wall02.GetAngleX(), MQ13c_SC06_Wall02.GetAngleY(), MQ13c_SC06_Wall02.GetAngleZ(), 150.0) OBJDwemerRepositoryRotateM.Play(MQ13c_SC06_Wall02) Wait(3) MQ13c_SC06_Wall02_Navcut.Disable() MQ13c_SC06_CageDoor02_Open = True int iIndex = MQ13c_SC06_Cage02_Enemies.GetSize() while iIndex > 0 iIndex -= 1 Actor akActorToCheck = MQ13c_SC06_Cage02_Enemies.GetAt(iIndex) as Actor akActorToCheck.EvaluatePackage() akActorToCheck.StartCombat(PlayerREF) EndWhile EndFunction Function OpenCage03() MQ13c_SC06_Wall03.TranslateTo(MQ13c_SC06_Wall03.GetPositionX(), MQ13c_SC06_Wall03.GetPositionY(), MQ13c_SC06_Wall03.GetPositionZ() - 2000, MQ13c_SC06_Wall03.GetAngleX(), MQ13c_SC06_Wall03.GetAngleY(), MQ13c_SC06_Wall03.GetAngleZ(), 150.0) OBJDwemerRepositoryRotateM.Play(MQ13c_SC06_Wall03) Wait(3) MQ13c_SC06_Wall03_Navcut.Disable() MQ13c_SC06_CageDoor03_Open = True int iIndex = MQ13c_SC06_Cage03_Enemies.GetSize() while iIndex > 0 iIndex -= 1 Actor akActorToCheck = MQ13c_SC06_Cage03_Enemies.GetAt(iIndex) as Actor akActorToCheck.EvaluatePackage() akActorToCheck.StartCombat(PlayerREF) EndWhile EndFunction Function EnableCrystalActivation() _00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(akCompanionRomance, False) MQ13c_SC06_CrystalActREF.Enable() EndFunction Function ActivateTurret() _00E_MQ13c_sCrystalDoesntMove.Show() _00E_MQ04_CrystalTouch.Play(PlayerREF) EndFunction Function StartSC07() MQ13c_SC07_TurretAttack.ForceStart() EndFunction Function ActivateTurret02() Game.RequestAutoSave() SetObjectiveCompleted(15) _00E_PlayerFunctions.GetSoundControl().RemoveSilence() _00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks() _00E_Music_Combat_Shieldbrothers.Add() _00E_MQ13c_TurretChargeSoundM.Play(MQ13c_SC06_TurretFX) MQ13c_SC06_TurretFX.PlayGamebryoAnimation("mCharge") EndFunction Function FireBolt01() MQ13c_SC06_TurretFX.PlayGamebryoAnimation("mCast") VoiceDragonShock.Cast(MQ13c_SC06_TurretFX, MQ13c_SC06_TurretCastMarker001) EndFunction Function GoToFiringState() GoToState("FiringTurret") EndFunction Function FireBolt02() MQ13c_SC06_TurretFX.PlayGamebryoAnimation("mCast") VoiceDragonShock.Cast(MQ13c_SC06_TurretFX, MQ13c_SC06_TurretCastMarker002) EndFunction Function FireBolt03() MQ13c_SC06_TurretFX.PlayGamebryoAnimation("mCast") VoiceDragonShock.Cast(MQ13c_SC06_TurretFX, MQ13c_SC06_TurretCastMarker003) EndFunction Function OpenSecretPassage() SetCurrentStageID(95) MQ13c_SC07_WallTranslater.TranslateToRef(MQ13c_SC07_WallTranslateRef, 400.0) OBJDwemerRepositoryRotateM.Play(MQ13c_SC07_WallTranslater) SetObjectiveDisplayed(20) akCompanionNoRomance.Enable() akCompanionNoRomance.MoveTo(MQ13c_SC06_CompanionNoRomanceMarker) EndFunction Function TurretFireAtThePlayer() MQ13c_SC06_TurretFX.PlayGamebryoAnimation("mCast") VoiceDragonShock.Cast(MQ13c_SC06_TurretFX, PlayerREF) EndFunction Function SetPlayerInSafeZone() MQ13c_SC07_PlayerInSafeZone = True EndFunction Function CloseShutter() GameHour.SetValue(8.0) ; Probably to flavor lighting (?), no proper SkipTimeToHour needed _00E_Music_Combat_Shieldbrothers.Remove() MQ13c_SC07_WallTranslater.TranslateToRef(MQ13c_SC07_WallTranslateBackREF, 400.0) OBJDwemerRepositoryRotateM.Play(MQ13c_SC07_WallTranslater) EndFunction Function FireTurret() If !MQ13c_SC07_PlayerInSafeZone FireBolt01() Wait(2) FireBolt02() Wait(2) FireBolt03() Else If MQ13c_SC07_TurretBoxREF.bPlayerOnSurface TurretFireAtThePlayer() EndIf EndIf EndFunction Function StopFiring() GoToState("defaultState") EndFunction Function SetObjective() SetObjectiveCompleted(20) if akCompanionRomance == _00E_MC_CaliaREF SetObjectiveDisplayed(30) Else SetObjectiveDisplayed(25) EndIf EndFunction Function StartSC08() akCompanionRomance.MoveTo(PlayerREF) akCompanionNoRomance.MoveTo(PlayerREF) MQ13c_AtriumDoorREF.BlockActivation(True) GameHour.SetValue(10.75) ; Probably to flavor lighting (?), no proper SkipTimeToHour needed MQ13c_SC08_TravelToBridge.ForceStart() EndFunction Function SpawnSteelbird() SetObjectiveCompleted(30) SetObjectiveCompleted(25) SetObjectiveDisplayed(35) RequestAutoSave() akSteelbird = MQ13c_SC08_SteelbirdSpawn.PlaceActorAtMe(MQ13c_SC03_SteelbirdREF.GetActorBase(), 1) as Actor _00E_MQ13c_Steelbird_RoarSingleM.Play(PlayerREF) _00E_PlayerFunctions.GetSoundControl().RemoveSilence() _00E_PlayerFunctions.GetSoundControl().RemoveCombatSoundtracks() _00E_Music_Special_Zyklus_OneSelection.Remove() _00E_Music_Combat_BonehunterNoCond.Add() akSteelbird.Enable() akSteelbird.MoveTo(MQ13c_SC08_SteelbirdSpawn) akSteelbird.StartCombat(PlayerREF) akSteelbird.SetGhost(true) Utility.Wait(1) MQ13c_AtriumDoorREF.BlockActivation(False) bSteelbirdAtriumSpawned = True EndFunction Function StartSteelbirdAttack() GoToState("SteelbirdAttacksAtrium") EndFunction Function BangOnDoor() MQ13c_SC08_DoorBangDust002.PlaceAtMe(FXdustDropMedExplosion, 1) MQ13c_SC08_DoorBangDust001.PlaceAtMe(FXdustDropMedExplosion, 1) AMBrCivilWarCatapultsDistantM.Play(PlayerREF) TRPSwingGrateImpactFleshHighRadiusM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorREF.PlayImpactEffect(PHYGenericMetalHeavyImpactSet) If PlayerREF.GetDistance(MQ13c_SC08_DoorREF) < 500.0 ShakeCamera(afStrength = 0.8) Else ShakeCamera(afStrength = 0.5) EndIf If RandomFloat(0, 1) > 0.5 _00E_MQ13c_Steelbird_RoarM.Play(MQ13c_SC08_SteelbirdSpawnMarker) EndIf EndFunction Function SteeldragonEnter() OBJVerticalSarcophagusOpenM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorBangDust002.PlaceAtMe(FXdustDropMedExplosion, 1) MQ13c_SC08_DoorBangDust001.PlaceAtMe(FXdustDropMedExplosion, 1) akSteelbirdAtrium = MQ13c_SC08_SteelbirdSpawnMarker.PlaceActorAtMe(MQ13c_SC03_SteelbirdREF.GetActorBase(), 1) refAliasSteelbird.ForceRefTo(akSteelbirdAtrium) TRPSwingGrateImpactFleshHighRadiusM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorREF.PlayImpactEffect(PHYGenericMetalHeavyImpactSet) Wait(0.5) TRPSwingGrateImpactFleshHighRadiusM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorREF.PlayImpactEffect(PHYGenericMetalHeavyImpactSet) MQ13c_SC08_DoorREF.SetOpen(True) _00E_MQ13c_Steelbird_RoarM.Play(MQ13c_SC08_SteelbirdSpawnMarker) ShakeCamera() Wait(3) CollapseReactor() EndFunction Function StartSC09() MQ13c_SC08_DoorREF.BlockActivation(True) MQ13c_SC09_Killscene.ForceStart() EndFunction Function PlayerEnterAIWalk() Game.ForceFirstPerson() _00E_Func_AIWalk.PlayerAIWalk(True) PlayerCapsuleChair.Activate(PlayerREF, true) EndFunction Function CollapseReactor() MQ13c_SC09_SteelbirdColMarker.Enable() MAGNightingaleSubterfugeFire2DHighRadiusM.Play(MQ13c_SC09_ReactorREF) Wait(0.5) OBJEyeofMagnusVanishM.Play(MQ13c_SC09_ReactorREF) MQ13c_SC09_ReactorREF.PlaceAtMe(MGEyeRemoveExplosion) Wait(5) ShakeCamera(afStrength = 1.0) QSTAlduinDeathExplosionC.Play(MQ13c_SC09_ReactorREF) MQ13c_SC09_ReactorREF.PlaceAtMe(_00E_MQ13c_SC09_LethalShockExplosion) MQ13c_SC09_ReactorREF.PlaceAtMe(ExplosionShockMass01) If GetCurrentStageID() < 120 Wait(0.7) akCompanionRomance.SetGhost(False) akCompanionRomance.GetActorBase().SetEssential(False) akCompanionNoRomance.GetActorBase().SetEssential(False) akCompanionNoRomance.SetGhost(False) ShockFXShader.Play(PlayerREF) ShockFXShader.Play(akCompanionNoRomance) ShockFXShader.Play(akCompanionRomance) MAGShockExpMassImod.Apply() Debug.SetGodMode(false) akCompanionNoRomance.Kill(akSteelbirdAtrium) akCompanionRomance.Kill(akSteelbirdAtrium) PlayerREF.Kill(akSteelbirdAtrium) EndIf EndFunction Function PlayLaunchSequence() PlayerREF.SetGhost(True) MQ13c_Capsule_ParentREF.Enable() SetObjectiveCompleted(45) _00E_MQ13c_Steelbird_RoarSingleM.Play(PlayerREF) _00E_Music_Combat_BonehunterNoCond.Remove() bCapsuleClosed = True ForceFirstPerson() int iCapsuleLaunch = _00E_MQ13c_CapsuleLaunch_WithSteelbirdM.Play(PlayerREF) Sound.SetInstanceVolume(iCapsuleLaunch, 0.3) OBJVerticalSarcophagusOpenM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorBangDust002.PlaceAtMe(FXdustDropMedExplosion, 1) MQ13c_SC08_DoorBangDust001.PlaceAtMe(FXdustDropMedExplosion, 1) akSteelbirdAtrium = MQ13c_SC08_SteelbirdSpawnMarker.PlaceActorAtMe(MQ13c_SC03_SteelbirdREF.GetActorBase(), 1) refAliasSteelbird.ForceRefTo(akSteelbirdAtrium) TRPSwingGrateImpactFleshHighRadiusM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorREF.PlayImpactEffect(PHYGenericMetalHeavyImpactSet) Wait(0.5) MQ13c_SC09_Grid.Disable() TRPSwingGrateImpactFleshHighRadiusM.Play(MQ13c_SC08_DoorREF) _00E_MQ13c_SC09_BashOpenDoorM.Play(MQ13c_SC08_DoorREF) MQ13c_SC08_DoorREF.PlayImpactEffect(PHYGenericMetalHeavyImpactSet) MQ13c_SC08_DoorREF.SetOpen(True) _00E_MQ13c_Steelbird_RoarM.Play(MQ13c_SC08_SteelbirdSpawnMarker) ShakeCamera() _00E_TimeControl.SkipTimeToHour(18.4) MQ13c_SC09_PlayerButtonREF.Activate(GetPlayer()) QSTDwemerGong01.Play(PlayerREF) Wait(1) TRPDwemerPistonOutM.Play(PlayerREF) MAGNightingaleSubterfugeFire2DHighRadiusM.Play(MQ13c_SC09_ReactorREF) OBJEyeofMagnusVanishM.Play(MQ13c_SC09_ReactorREF) MQ13c_SC09_ReactorREF.PlaceAtMe(MGEyeRemoveExplosion) ShakeCamera(afStrength = 0.1) _00E_MQ13c_Steelbird_RoarM.Play(MQ13c_SC09_PlayerButtonREF) ShakeCamera(GetPlayer(), 0.2, 3) Wait(5.5) ShakeCamera(afStrength = 1.0) QSTAlduinDeathExplosionC.Play(MQ13c_SC09_ReactorREF) MQ13c_SC09_ExpMarker01.PlaceAtMe(FireBallExp01) Wait(0.5) MQ13c_SC09_ExpMarker02.PlaceAtMe(FireBallExp01) Wait(0.5) MQ13c_SC09_ReactorREF.PlaceAtMe(AlduinFirestormImpactExplosion) MQ13c_SC09_ReactorREF.PlaceAtMe(FireStormExplosion) Wait(1.5) _00E_MQ13c_LaunchCapsuleMotionBlur.Apply() ShakeCamera(GetPlayer(), RandomFloat(0.8, 0.9), 8) PlayerREF.TranslateTo(PlayerREF.GetPositionX(), PlayerREF.GetPositionY(), (PlayerREF.GetPositionZ() - 15000.0), PlayerREF.GetAngleX(), PlayerREF.GetAngleY(), PlayerREF.GetAngleZ(), 700.0, 700.0) MQ13c_SC09_CapsuleREF.TranslateTo(MQ13c_SC09_CapsuleREF.GetPositionX(), MQ13c_SC09_CapsuleREF.GetPositionY(), (MQ13c_SC09_CapsuleREF.GetPositionZ() - 15000.0), MQ13c_SC09_CapsuleREF.GetAngleX(), MQ13c_SC09_CapsuleREF.GetAngleY(), MQ13c_SC09_CapsuleREF.GetAngleZ(), 717.0, 717.0) Wait(8) FadeToWhiteHoldImod.ApplyCrossFade(afFadeDuration = 3.0) PlayerREF.StopTranslation() MQ13c_SC09_CapsuleREF.StopTranslation() Wait(2) SetCurrentStageID(125) EndFunction Function UpdateObjectives() fSteelbirdTimer = fSteelbirdTimer + __Config_fExtraTimeAfterMapHasBeenFound SetObjectiveCompleted(40) SetObjectiveDisplayed(45) EndFunction Function MoreTime() fSteelbirdTimer = fSteelbirdTimer + 10 EndFunction Function CloseCompanionCapsules() MQ13c_SC09_Button02RomanceREF.Activate(akCompanionRomance) MQ13c_SC09_Button01NoRomanceREF.Activate(akCompanionNoRomance) EndFunction Function EnableCrashSite() MQ13c_Capsule_ParentREF.Enable() MQ13b_Capsule_Chronikum_REF.Enable() PlayerREF.StopTranslation() _00E_TimeControl.SkipTimeToHour(0) Timescale.SetValue(10) MQ13c_SC10_Linker.Enable() akCompanionRomance.MoveTo(MQ13c_SC10_CompanionRomanceMarker) akCompanionNoRomance.MoveTo(MQ13c_SC10_CompanionNoRomanceMarker) akCompanionNoRomance.MoveTo(MQ13c_SC10_CompanionWoundedMarkerREF) PlayerREF.MoveTo(MQ13c_SC10_PlayerStartMarker) ; I have moved the two Enable's (under this comment) beneath the ; four MoveTo's (above this comment). This fixed the CTD reported ; at http://forum.sureai.net//tracker.php?p=8&t=10816 . akCompanionRomance.Enable() akCompanionNoRomance.Enable() PlayerREF.SetGhost(False) MQ13c_SC10_CrashSiteScene.ForceStart() EndFunction Function PlayerWakeUp() if akCompanionRomance == _00E_MC_JesparREF SetObjectiveDisplayed(50) Else SetObjectiveDisplayed(55) EndIf ImageSpaceModifier.RemoveCrossFade(afFadeDuration = 0.1) FadeToWhiteHoldImod.Remove() _00E_WakeUp.ApplyCrossFade() PlayerREF.PlayIdle(Idle_1stPersonWoozyGetUpFromBed) Wait(3) _00E_Func_AIWalk.PlayerAIWalkStop() Game.EnablePlayerControls() EndFunction Function ShowSearchObjective() _00E_TeleportGlobal.SetValueInt(0) if akCompanionNoRomance == _00E_MC_JesparREF SetObjectiveCompleted(55) SetObjectiveDisplayed(50) Else SetObjectiveCompleted(50) SetObjectiveDisplayed(55) EndIf EndFunction Function CompleteSearchObjective() if akCompanionNoRomance == _00E_MC_JesparREF SetObjectiveCompleted(50) Else SetObjectiveCompleted(55) EndIf EndFunction Function FadeOutAndStartSC11() FadeToBlackIMOD.Apply() Wait(2) FadeToBlackHoldIMOD.ApplyCrossFade(1) MQ13c_SC10_bHasFaded = True If _00E_MC_JorrekRef.IsEnabled() _00E_MC_JorrekRef.Disable() EndIf _00E_MC_YuslanRef.Enable() _00E_MC_TealorREF.Enable() _00E_MC_NataraREF.Enable() _00E_MC_LexREF.Enable() _00E_MC_YuslanRef.MoveTo(_00E_MQ08Prologue_NataraChair) _00E_MC_TealorREF.MoveTo(_00E_MQ08aPrologue_TeaorThrone) _00E_MC_NataraREF.MoveTo(_00E_MQ08Prologue_NataraChair) _00E_MC_NataraREF.MoveTo(MQ10bJorrek) akCompanionRomance.MoveTo(_00E_MQ08aPrologue_YuslanChair) PlayerREF.MoveTo(_00E_MQ08aPrologue_KonstantinChair) akCompanionNoRomance.MoveTo(MQ06_SC2_PlayerBed) _00E_MC_LexREF.MoveTo(LexStool) SetCurrentStageID(140) MQ13c_SC11_Emporium.ForceStart() PlayerREF.Activate(_00E_MQ08aPrologue_KonstantinChair) EndFunction Function FadeBack() FadeToBlackBackImod.ApplyCrossFade(3) EndFunction Function StartFinalCompanionQuest() If akCompanionRomance == _00E_MC_JesparREF && !CQJ06.IsCompleted() CQJ06.SetCurrentStageID(5) Elseif akCompanionRomance == _00E_MC_CaliaREF && !CQC06.IsCompleted() CQC06.SetCurrentStageID(5) EndIf EndFunction Function MQ13cAddSilence() AllowIdleChatter.SetValue(0) _00E_SilenceAbruptHighPriority.Add() EndFunction Function MQ13cRemoveSilence() AllowIdleChatter.SetValue(1) _00E_SilenceAbruptHighPriority.Remove() EndFunction Function FinishUP() _00E_PlayerFunctions.GetSoundControl().RemoveSilence() AllowIdleChatter.SetValue(1) _00E_EPHandler.GiveEP(__Config_iRewardEXP) MQ14.SetCurrentStageID(5) TimeScale.SetValue(10) EndFunction Function CompanionQuestFailsave() If MQ14.GetCurrentStageID() < 15 if (JesparRomance.GetValueInt() == 1) && !(CQJ06.IsRunning()) CQJ06.SetCurrentStageID(5) Elseif (CaliaRomance.GetValueInt() == 1) && !(CQC06.IsRunning()) CQC06.SetCurrentStageID(5) EndIf EndIf EndFunction ;===================================================================================== ; STATES ;===================================================================================== State SteelbirdAttacksAtrium Event OnBeginState() fSteelbirdTimer = __Config_fSteelbirdTimer RegisterForSingleUpdate(5) EndEvent Event OnUpdate() If (fSteelbirdTimer > 0) && !MQ13c_SC09_PlayerIsInCapsule BangOnDoor() if GetCurrentStageID() < 120 _00E_MQ13c_sSteelBirdTimerMSG.Show(fSteelbirdTimer as Int) fSteelbirdTimer = (fSteelbirdTimer - __Config_fKnockInterval) RegisterForSingleUpdate(__Config_fKnockInterval) endif Else Return EndIf EndEvent EndState State FiringTurret Event OnBeginState() if !PlayerREF.IsDead() MQ13c_SC07_TurretIsFiring = True FireTurret() RegisterForSingleUpdate(1) EndIf EndEvent Event OnUpdate() if !PlayerREF.IsDead() FireTurret() RegisterForSingleUpdate(1) EndIf EndEvent EndState ;===================================================================================== ; PROPERTY ;===================================================================================== ; TIMESCALE AUF DEFAULT-WERT ZURÜCKSETZEN! ; MUSIC-Types REMOVEN! ; GOD MODE RUNTERSETZEN! bool bNoRomance bool bCapsuleClosed bool bNexusLiftInMotion int iNexusLiftSound int iBarrierSound float fTimescaleBefore float Property fSteelbirdTimer Auto Conditional Hidden bool Property bLiftHasArrived Auto Conditional Hidden bool Property bCompanionInLiftZone Auto Hidden bool Property MQ13c_SC06_CageDoor01_Open Auto Conditional Hidden bool Property MQ13c_SC06_CageDoor02_Open Auto Conditional Hidden bool Property MQ13c_SC06_CageDoor03_Open Auto Conditional Hidden bool Property MQ13c_SC07_PlayerInSafeZone Auto Conditional Hidden bool Property MQ13c_SC07_TurretIsFiring Auto Conditional Hidden bool Property MQ13c_SC09_PlayerIsInCapsule Auto Conditional Hidden bool Property MQ13c_SC10_bHasFaded Auto Conditional Hidden bool Property bSteelbirdAtriumSpawned Auto Conditional Hidden float Property __Config_fSteelbirdTimer = 100.0 Auto float Property __Config_fKnockInterval = 10.0 Auto float Property __Config_fExtraTimeAfterMapHasBeenFound = 30.0 Auto Int Property __Config_iRewardEXP = 1500 Auto Actor akYaela Actor akKurmai Actor akSteelbird Actor akSteelbirdAtrium Light Property Torch01Intense Auto Quest Property NQ01 Auto Quest Property MQ14 Auto Quest Property CQJ06 Auto Quest Property CQC06 Auto MusicType Property _00E_Music_Special_Zyklus_OneSelection Auto MusicType Property _00E_Music_Combat_EpicOneSelection Auto MusicType Property _00E_Music_Combat_Epic Auto MusicType Property _00E_Music_Combat_Shieldbrothers Auto MusicType Property _00E_SilenceAbruptHighPriority Auto MusicType Property _00E_Music_Combat_BonehunterNoCond Auto ReferenceAlias Property refAliasCompanionRomance Auto ReferenceAlias Property refAliasCompanionNoRomance Auto ReferenceAlias Property refAliasSteelbird Auto ImpactDataSet Property PHYGenericMetalHeavyImpactSet Auto GlobalVariable Property AllowIdleChatter Auto Actor Property akCompanionRomance Auto Hidden Actor Property akCompanionNoRomance Auto Hidden Actor Property PlayerREF Auto Actor Property _00E_MC_JesparREF Auto Actor Property _00E_MC_CaliaREF Auto Actor Property _00E_SC_KurmaiREF Auto Actor Property _00E_MC_JorrekRef Auto Actor Property _00E_MC_YaelaREF Auto Actor Property MQ13c_SC04_CenturionREF Auto Actor Property MQ13c_SC04_SpiderParent Auto Actor Property _00E_MQ07a_YoungMageREF Auto Actor Property MQ13c_SC03_SteelbirdREF Auto Actor Property _00E_MC_TealorREF Auto Actor Property _00E_MC_NataraREF Auto Actor Property _00E_MC_YuslanRef Auto Actor Property _00E_MC_LexRef Auto Idle Property Dragon_PerchRoar Auto Idle Property Idle_1stPersonWoozyGetUpFromBed Auto ObjectReference Property MQ13b_SC10_NexusLift002 Auto ObjectReference Property MQ13b_SC11_ShutterREF Auto ObjectReference Property MQ13c_SC01_ShaftOriginRef Auto ObjectReference Property MQ13c_SC01_YaelaTranslateMarker Auto ObjectReference Property MQ13c_SC01_CaliaTranslateToMarker Auto ObjectReference Property MQ13c_SC01_CaliaTranslateToMarker001 Auto ObjectReference Property MQ13c_SC01_NexusLiftOriginMarker Auto ObjectReference Property MQ13c_SC02_KurmaiSpawnMarker Auto ObjectReference Property MQ13c_SC03_YaelaBarrier Auto ObjectReference Property MQ13c_SC03_CollisionPlane Auto ObjectReference Property MQ13b_NexusDoor Auto ObjectReference Property MQ13c_SC03_FailsaveBox Auto ObjectReference Property MQ13c_SC04_CompMarker Auto ObjectReference Property MQ13c_SC03_MuratteParent Auto ObjectReference Property MQ13c_SC04_DeadMurat Auto ObjectReference Property MQ13c_SC04_Lever Auto ObjectReference Property MQ13c_SC04_MoveableWallREF Auto ObjectReference Property MQ13c_SC04_SecretDoorREF Auto ObjectReference Property _00E_NPCDumpMarker Auto ObjectReference Property MQ13b_StarshipREF002 Auto ObjectReference Property MQ13b_StarshipREF003 Auto ObjectReference Property MQ13c_SC05_PropMarker Auto ObjectReference Property MQ13c_SC04_PressurePlate Auto ObjectReference Property MQ13c_SC04_CollMarkerREF Auto ObjectReference Property MQ13c_SC04_CollMarkerREF001 Auto ObjectReference Property MQ13c_SC04_BarrierREF Auto ObjectReference Property MQ13c_SC04_BarrierTranslateMarker Auto ObjectReference Property MQ13c_SC06_Wall01 Auto ObjectReference Property MQ13c_SC06_Wall01_Navcut Auto ObjectReference Property MQ13c_SC06_Wall02_Navcut Auto ObjectReference Property MQ13c_SC06_Wall02 Auto ObjectReference Property MQ13c_SC06_Wall03_Navcut Auto ObjectReference Property MQ13c_SC06_Wall03 Auto ObjectReference Property MQ13c_SC06_CrystalActREF Auto ObjectReference Property MQ13c_SC06_TurretFX Auto ObjectReference Property MQ13c_SC06_TurretCastMarker001 Auto ObjectReference Property MQ13c_SC06_TurretCastMarker002 Auto ObjectReference Property MQ13c_SC06_TurretCastMarker003 Auto ObjectReference Property MQ13c_SC06_CompanionNoRomanceMarker Auto ObjectReference Property MQ13c_SC07_WallTranslater Auto ObjectReference Property MQ13c_SC07_WallTranslateRef Auto ObjectReference Property MQ13c_SC07_WallTranslateBackREF Auto ObjectReference Property MQ13c_SC08_SteelbirdSpawn Auto ObjectReference Property MQ13c_SC08_DoorBangDust001 Auto ObjectReference Property MQ13c_SC08_DoorBangDust002 Auto ObjectReference Property MQ13c_SC08_DoorREF Auto ObjectReference Property MQ13c_SC08_SteelbirdSpawnMarker Auto ObjectReference Property MQ13c_SC09_ReactorREF Auto ObjectReference Property MQ13c_SC09_SteelbirdColMarker Auto ObjectReference Property MQ13c_SC09_CapsuleREF Auto ObjectReference Property MQ13c_SC09_Button02RomanceREF Auto ObjectReference Property MQ13c_SC09_Button01NoRomanceREF Auto ObjectReference Property MQ13c_SC09_PlayerButtonREF Auto ObjectReference Property MQ13c_SC09_Grid Auto ObjectReference Property MQ13c_SC09_ExpMarker01 Auto ObjectReference Property MQ13c_SC09_ExpMarker02 Auto ObjectReference Property MQ13c_SC10_Linker Auto ObjectReference Property MQ13c_SC10_CompanionWoundedMarkerREF Auto ObjectReference Property MQ13c_SC10_CompanionRomanceMarker Auto ObjectReference Property MQ13c_SC10_CompanionNoRomanceMarker Auto ObjectReference Property MQ13c_SC10_PlayerStartMarker Auto ObjectReference Property _00E_MQ08aPrologue_TeaorThrone Auto ObjectReference Property _00E_MQ08Prologue_NataraChair Auto ObjectReference Property _00E_MQ08aPrologue_YuslanChair Auto ObjectReference Property LexStool Auto ObjectReference Property _00E_MQ08aPrologue_KonstantinChair Auto ObjectReference Property MQ06_SC2_PlayerBed Auto ObjectReference Property MQ13c_SC01_KillBoxREF Auto ObjectReference Property MQ13c_SC06_FailsaveREF Auto ObjectReference Property MQ13b_Capsule_Chronikum_REF Auto ObjectReference Property MQ13c_SC04_PullChainREF Auto ObjectReference Property MQ13c_AtriumDoorREF Auto ObjectReference Property MQ10bJorrek Auto ObjectReference Property PlayerCapsuleChair Auto ObjectReference Property MQ13c_Capsule_ParentREF Auto _00E_MQ13c_SC07_TurretSC Property MQ13c_SC07_TurretBoxREF Auto Formlist Property MQ13c_SC06_Cage01_Enemies Auto Formlist Property MQ13c_SC06_Cage02_Enemies Auto Formlist Property MQ13c_SC06_Cage03_Enemies Auto Formlist Property MQ13c_Nexushall_Spiders Auto Explosion Property _00E_A2_RiftExplosion Auto Explosion Property FXdustDropMedExplosion Auto Explosion Property MGEyeRemoveExplosion Auto Explosion Property _00E_MQ13c_SC09_LethalShockExplosion Auto Explosion Property ExplosionShockMass01 Auto Explosion Property FireStormExplosion Auto Explosion Property AlduinFirestormImpactExplosion Auto Explosion Property FireballExp01 Auto Weapon Property _04E_StabDerErdrung Auto Weapon Property _03E_21_Sternlingsstreitkolben Auto Scene Property MQ13c_SC02_KurmaiReappears Auto Scene Property MQ13c_SC03_SteelbirdAttack Auto Scene Property MQ13c_SC04_CenturionAttack Auto Scene Property MQ13c_SC05_Botanicum Auto Scene Property MQ13c_SC06_TravelToGearTower Auto Scene Property MQ13c_SC07_TurretAttack Auto Scene Property MQ13c_SC08_TravelToBridge Auto Scene Property MQ13c_SC09_Killscene Auto Scene Property MQ13c_SC10_CrashSiteScene Auto Scene Property MQ13c_SC11_Emporium Auto Sound Property DRSStoneRotatingDiscLPM Auto Sound Property _00E_MQ04_CrystalTouch Auto Sound Property _00E_MQ13c_Steelbird_RoarSingleM Auto Sound Property _00E_MAGEldritchCharge_050M Auto Sound Property QSTDA16MagicBarrierLPM Auto Sound Property _00E_MQ13c_Steelbird_RoarM Auto Sound Property OBJDwemerRepositoryRotateM Auto Sound Property AMBrCivilWarCatapultsDistantM Auto Sound Property TRPSwingGrateImpactFleshHighRadiusM Auto Sound Property OBJVerticalSarcophagusOpenM Auto Sound Property MAGNightingaleSubterfugeFire2DHighRadiusM Auto Sound Property OBJEyeofMagnusVanishM Auto Sound Property QSTAlduinDeathExplosionC Auto Sound Property QSTDwemerGong01 Auto Sound Property TRPDwemerPistonOutM Auto Sound Property _00E_MQ13c_TurretChargeSoundM Auto Sound Property _00E_MQ13c_YaleaDeathM Auto Sound Property _00E_MQ13c_SC09_BashOpenDoorM Auto Sound Property _00E_MQ13c_CapsuleLaunch_WithSteelbirdM Auto EffectShader Property ShockFXShader Auto Spell Property _00E_Ability_StaggerSelfSpell Auto Spell Property VoiceDragonShock Auto Message Property _00E_MQ13c_sCrystalDoesntMove Auto Message Property _00E_MQ13c_sSteelBirdTimerMSG Auto ImageSpaceModifier Property _00E_MQ13b_SC10_NexusFadeHOLD Auto ImageSpaceModifier Property _00E_MQ13b_SC10_NexusFadeBack Auto ImageSpaceModifier Property _00E_MQ04_CrystalExpImpactEXP Auto ImageSpaceModifier Property MAGShockExpMassImod Auto ImageSpaceModifier Property FadeToBlackHoldIMOD Auto ImageSpaceModifier Property FadeToBlackIMOD Auto ImageSpaceModifier Property FadeToBlackBackIMOD Auto ImageSpaceModifier Property _00E_WakeUp Auto ImageSpaceModifier Property FadeToWhiteHoldImod Auto ImageSpaceModifier Property _00E_MQ13c_LaunchCapsuleMotionBlur Auto GlobalVariable Property GameHour Auto GlobalVariable Property Timescale Auto GlobalVariable Property CaliaRomance Auto GlobalVariable Property JesparRomance Auto GlobalVariable Property SympathyJespar Auto GlobalVariable Property SympathyCalia Auto GlobalVariable Property JesparNoCombatComments Auto GlobalVariable Property _00E_TeleportGlobal Auto Cell Property MQ13cAtrium Auto