enderalse/source/scripts/_00e_mq12b_functions.psc

1307 lines
42 KiB
Plaintext
Raw Blame History

Scriptname _00E_MQ12b_Functions extends Quest Conditional
Import _00E_QuestFunctions
Import Utility
;=====================================================================================
; GENERAL FUNCTIONS
;=====================================================================================
Int CurScriptVersion = 0
Int Property LATEST_SCRIPT_VERSION = 2 AutoReadOnly
Actor[] RegisteredDisabledNPCs
Int nRegisteredDisabledNPCs
Bool bDisabledNPCsLocked
Actor[] RegisteredGhostedNPCs
Int nRegisteredGhostedNPCs
Bool bGhostedNPCsLocked
Function PrepareNPC(Actor akMoveActor, Bool bOnlyGhost = False)
If bArkUnderAttackPrelude == False
Return
EndIf
; Validate akMoveActor, could receive "nullptr form" instead of a valid actor from the packages
If akMoveActor == None || akMoveActor.GetActorBase() == None
Return
EndIf
If akMoveActor.IsDisabled()
Return
EndIf
If bOnlyGhost == False && akMoveActor.GetEnableParent() == None
akMoveActor.Disable()
_RegisterDisabledNPC(akMoveActor)
Return
EndIf
If akMoveActor.IsGhost() == False
akMoveActor.SetGhost(True)
_RegisterGhostedNPC(akMoveActor)
Return
EndIf
EndFunction
Function _RegisterDisabledNPC(Actor akMoveActor)
While bDisabledNPCsLocked
Utility.WaitMenuMode(0.1)
EndWhile
bDisabledNPCsLocked = True
If RegisteredDisabledNPCs.Length == 0 ; Version update
RegisteredDisabledNPCs = New Actor[128]
nRegisteredDisabledNPCs = 0
EndIf
If RegisteredDisabledNPCs.Find(akMoveActor) < 0
If nRegisteredDisabledNPCs >= RegisteredDisabledNPCs.Length
Debug.Notification("MQ12b has problems: reached the limit of stored disabled NPCs")
Else
RegisteredDisabledNPCs[nRegisteredDisabledNPCs] = akMoveActor
nRegisteredDisabledNPCs += 1
EndIf
EndIf
bDisabledNPCsLocked = False
EndFunction
Function _RegisterGhostedNPC(Actor akMoveActor)
While bGhostedNPCsLocked
Utility.WaitMenuMode(0.1)
EndWhile
bGhostedNPCsLocked = True
If RegisteredGhostedNPCs.Length == 0 ; Version update
RegisteredGhostedNPCs = New Actor[128]
nRegisteredGhostedNPCs = 0
EndIf
If RegisteredGhostedNPCs.Find(akMoveActor) < 0
If nRegisteredGhostedNPCs >= RegisteredGhostedNPCs.Length
Debug.Notification("MQ12b has problems: reached the limit of stored ghosted NPCs")
Else
RegisteredGhostedNPCs[nRegisteredGhostedNPCs] = akMoveActor
nRegisteredGhostedNPCs += 1
EndIf
EndIf
bGhostedNPCsLocked = False
EndFunction
Function ReEnableNPCs()
Int Index
ObjectReference ref
Index = 0
While Index < nRegisteredDisabledNPCs
RegisteredDisabledNPCs[Index].EnableNoWait()
RegisteredDisabledNPCs[Index] = None
Index += 1
EndWhile
RegisteredDisabledNPCs = New Actor[1]
Index = 0
While Index < nRegisteredGhostedNPCs
RegisteredGhostedNPCs[Index].SetGhost(False)
RegisteredGhostedNPCs[Index] = None
Index += 1
EndWhile
RegisteredGhostedNPCs = New Actor[1]
; Old ways of enabling NPCs, for backward compatibility
OldReenableDisabledNPC()
If CurScriptVersion == 0
_00E_QuestFunctions.EnableReferenceFormList(MQ12b_SC11_NPCsRef)
MQ12b_SiegeNPCs.Revert()
OldRemoveGhostFlag()
EndIf
EndFunction
Function OldReenableDisabledNPC() ; For version updates with CurScriptVersion < 2
If CurScriptVersion < 2
_00E_QuestFunctions.EnableReferenceFormList(MQ12b_AllDisabledNPCs)
EndIf
EndFunction
Function OldRemoveGhostFlag() ; For version updates with CurScriptVersion == 0
If CurScriptVersion == 0 && Self.IsCompleted() == 1
int Index = MQ12b_UnGhostNPCs_OnVersionUpdate1580.GetSize()
While Index > 0
Index -= 1
(MQ12b_UnGhostNPCs_OnVersionUpdate1580.GetAt(Index) as Actor).SetGhost(False)
EndWhile
EndIf
EndFunction
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function SetUp()
iCrimeGoldBeforeMQ12bNonViolent = A_CrimeFaction.GetCrimeGoldNonViolent()
iCrimeGoldBeforeMQ12bViolent = A_CrimeFaction.GetCrimeGoldViolent()
A_CrimeFaction.SetCrimeGold(0)
A_CrimeFaction.SetCrimeGoldViolent(0)
_00E_MC_JorrekRef.Disable()
_00E_MC_TealorREF.EquipItem(_01E_20Hueterschwert, true, true)
_00E_MC_YuslanRef.Disable()
_00E_SilenceLongTransitionHighPriority.Add()
MQ03_SC1_CastleWorldDoor.BlockActivation(True)
_00E_SouthQuarter_UndercityDoorREF.BlockActivation(True)
MQ12b_SC4_BarracksDoorREF.BlockActivation(True)
MQ12b_SC5_HarborDoorREF.BlockActivation(True)
CapitalCity_UpperCityToMarket01.BlockActivation(True)
CapitalCity_UpperCityToMarket02.BlockActivation(True)
MQ12b_Market_CastleCollisionREF.Enable()
MQ12b_DisableThisDudeHeIsAnnoyingREF.Disable()
_00E_TeleportGlobal.SetValueInt(1)
PlayerREF.AddToFaction(MQ12b_TemporarySiegeFaction)
Ordenshueter.GetReference().Enable()
Ordenshueter.GetReference().MoveTo(MQ12b_SC1_Orderguard01)
Ordenshueterin.GetReference().MoveTo(MQ12b_SC1_Orderguard02)
CurScriptVersion = LATEST_SCRIPT_VERSION
RegisteredDisabledNPCs = New Actor[128]
nRegisteredDisabledNPCs = 0
RegisteredGhostedNPCs = New Actor[128]
nRegisteredGhostedNPCs = 0
bArkUnderAttackPrelude = True
SkyrimOvercastRain.SetActive(True)
_00E_MC_LexREF.EvaluatePackage()
AdjustTime()
EndFunction
Function BlockDoors()
int iIndex = MQ12b_SC01_ArkDoors.GetSize()
While iIndex > 0
iIndex -= 1
ObjectReference objDoorToBlock = MQ12b_SC01_ArkDoors.GetAt(iIndex) as ObjectReference
objDoorToBlock.BlockActivation(True)
EndWhile
EndFunction
Function StartSC02Failsave()
iCrimeGoldBeforeMQ12bNonViolent = A_CrimeFaction.GetCrimeGoldNonViolent()
iCrimeGoldBeforeMQ12bViolent = A_CrimeFaction.GetCrimeGoldViolent()
If Self.GetStage() < 15
Self.SetStage(15)
EndIf
If _00E_MC_LeoraREF.IsDisabled()
_00E_MC_LeoraREF.Enable()
EndIf
If _00E_MC_YuslanRef.IsDisabled()
_00E_MC_YuslanRef.Enable()
EndIf
Utility.Wait(0.25)
_00E_MC_LeoraREF.MoveTo(MQ12b_SC2_LeoraMarker002)
_00E_MC_YuslanRef.MoveTo(MQ12b_SC2_ShaRimMarker002)
If !MQ12b_SC2_Attack.IsPlaying()
MQ12b_SC2_Attack.ForceStart()
EndIf
EndFunction
Function StartSC02()
If _00E_MC_LeoraREF.IsDisabled()
_00E_MC_LeoraREF.Enable()
EndIf
If _00E_MC_YuslanRef.IsDisabled()
_00E_MC_YuslanRef.Enable()
EndIf
SkyrimOvercastRain.SetActive(True)
_00E_MC_LeoraREF.MoveTo(MQ12b_SC2_LeoraMarker002)
_00E_MC_YuslanRef.MoveTo(MQ12b_SC2_ShaRimMarker002)
MQ12b_SC2_Attack.ForceStart()
EndFunction
Function TealorAppears()
If _00E_MC_TealorRef.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
_00E_SilenceLongTransitionHighPriority.Add()
Levelsystem.SetAllowIdleChatter(False)
_00E_MC_TealorREF.MoveTo(MQ12b_SC2_TealorStartMarker005)
Utility.Wait(0.5)
If _00E_MC_TealorREF.GetWorldSpace() == PlayerREF.GetWorldSpace()
_00E_MC_TealorREF.MoveTo(MQ12b_SC2_TealorStartMarker005)
EndIf
EndFunction
Function SC02_TealorFailsave()
; Failsave to move Tealor to the scene in the upper quarters
; where Yuslan is arguing with Leora about the magical blockade.
If _00E_MC_TealorREF.GetDistance(_00E_MC_YuslanRef) > 198
Wait(1)
If _00E_MC_TealorREF.GetDistance(_00E_MC_YuslanRef) > 198
_00E_MC_TealorREF.MoveTo(MQ12b_SC2_ShaRimMarker002)
Endif
EndIf
EndFunction
Function StartSC03()
_00E_SilenceLongTransitionHighPriority.Remove()
_00E_Music_Combat_BonehunterNoCond.Add()
If _00E_MC_LeoraREF.IsDisabled()
_00E_MC_LeoraREF.Enable()
EndIf
If _00E_MC_YuslanRef.IsDisabled()
_00E_MC_YuslanRef.Enable()
EndIf
If _00E_MC_TealorRef.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
MQ12b_SC3_CityGuardREF.Enable()
MQ12b_SC3_CityGuardREF.MoveTo(MQ12b_SC3_CityGuardStartMarker)
MQ12b_SC3_CatapultAttack.ForceStart()
AMBrCivilWarCatapultsDistantM.Play(PlayerREF)
ObjectReference CatapultStrike = MQ12b_SC3_CatapultStrikeMarker002.PlaceAtMe(CWCatapultStrike)
_00E_MC_TealorREF.SetLookAt(CatapultStrike)
_00E_MC_LeoraREF.SetLookAt(CatapultStrike)
_00E_MC_YuslanRef.SetLookAt(CatapultStrike)
Wait(4)
_00E_Ability_StaggerSelfSpell.Cast(_00E_MC_YuslanRef,_00E_MC_YuslanRef)
_00E_Ability_StaggerSelfSpell.Cast(_00E_MC_LeoraREF,_00E_MC_LeoraREF)
MQ12b_SC3_BarrierREF002.Enable()
MQ12b_SC3_TealorBarrierMarkerREF.Enable()
Wait(1)
LaunchCityAttack()
EndFunction
Function LaunchCityAttack()
Game.RequestAutoSave()
SendModEvent("ArkSiegeStarted")
iBellSound = _00E_BellLoop.Play(PlayerREF)
MQ03_SC1_CastleWorldDoor.BlockActivation(True)
MQ12b_SC4_BarracksDoorREF.BlockActivation(True)
_00E_SouthQuarter_UndercityDoorREF.BlockActivation(True)
MQ12b_SC5_HarborDoorREF.BlockActivation(True)
MQ12b_SC5_LowerDistrictMarketDoor01REF.BlockActivation(True)
MQ12b_SC5_LowerDistrictMarketDoor02REF.BlockActivation(True)
EnableMarketProps()
SkyrimOvercastRain.SetActive(True)
_00E_SilenceLongTransitionHighPriority.Remove()
_00E_Music_Combat_BonehunterNoCond.Add()
_00E_MQ12b_SC3_ScreamM.Play(MQ12b_SC3_ScreamMarker)
AMBCivilWarBattleStartDistant.Play(PlayerREF)
MQ12b_SC3_PanicTriggerboxREF.Enable()
MQ12b_StayDisabledLinker.Disable()
MQ12b_SC3_UpperCityLinker01.Enable()
MQ12b_SC3_CatapultFireController.PlaceAtMe(CWCatapultStrikeNoDmg)
StrikeSpawner = MQ12b_SC3_CatapultFireController
bArkUnderAttack = True
MQ12b_ArkUnderAttack.SetValueInt(1)
RegisterForSingleUpdate(3)
GoToState("SiegeUpperCity")
Wait(1)
MQ12b_SC3_BattleSoundMarker.Enable()
EndFunction
Function SoldierFailsave()
if MQ12b_SC3_CityGuardREF.GetDistance(MQ12b_SC3_CityGuardRunToMarker) >= 350
MQ12b_SC3_CityGuardREF.MoveTo(MQ12b_SC3_CityGuardRunToMarker)
EndIf
EndFunction
Function StartSC04()
If _00E_MC_TealorRef.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 600, 700, 200)
MQ12b_SC3_BarrierREF002.PlayAnimation("TransitionAnim")
MQ12b_SC4_TealorTravelToMistDistrict.ForceStart()
MQ12b_SC3_TealorBarrierMarkerREF.Disable()
CapitalCity_UpperCityToMarket01.BlockActivation(False)
CapitalCity_UpperCityToMarket02.BlockActivation(False)
EndFunction
Function TeleportYuslan()
Levelsystem.TeleportNPC(_00E_MC_YuslanRef, MQ07a_SC14_YoungMageMarker001)
EndFunction
Function UnblockHarborDoor()
MQ12b_SC5_HarborDoorREF.BlockActivation(False)
EndFunction
Function EnableMarketProps()
MQ12b_SC4_Market_Linker.Enable()
EndFunction
Function StartSC05()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
MQ12b_SC3_CityGuardREF.Disable()
_00E_MC_TealorREF.MoveTo(MQ12b_SC4_TealorBenchmark01)
MQ12b_SC5_TealorLowerDistrict.ForceStart()
EnableLowerCityProps()
EndFunction
Function EnableLowerCityProps()
MQ12b_SC5_LowerDistrictLinkMarker.Enable()
MQ12b_SC5_HarlejanLinker.Enable()
EndFunction
Function StartSC06()
Sound.StopInstance(iBellSound)
MQ12b_SC11_GateREF.Enable()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 600, 700, 200)
If MQ12b_SC11_GateREF.GetOpenState() != 1
MQ12b_SC11_GateREF.SetOpen(True)
EndIf
MQ12b_SC6_HarborLinker.Enable()
MQ12c_GuardLinker.Disable()
MQ12b_SC5_HarlejanLinker.Enable()
MQ12b_SC6_NehrimeseGateLinker.Enable()
MQ12b_SC6_HarborProp045.Enable()
_00E_MC_TealorREF.MoveTo(MQ12b_SC5_TealorBenchmark02)
MQ12b_SC5_HarlejanGuardNaraREF.MoveTo(DebugMarker001)
MQ12b_SC5_HarlejanGuardYoungREF.MoveTo(DebugMarker002)
MQ12b_SC5_HarlejanGuardGidonREF.MoveTo(DebugMarker003)
MQ12b_SC5_SergeantHarlejanREF.MoveTo(DebugMarker004)
MQ12b_SC6_BattleInHarborDistrict.ForceStart()
; need to disable these guards: if the player ignored them, tealor might aggro them even in the harbor
MQ12b_SC4_Market_Linker.Disable()
GypsyMinstrelsControl.TriggerUpdate()
EndFunction
Function EnableArchers()
MQ12b_SC6_ArcherMarker.Enable()
EndFunction
Function EnableGateFoes()
MQ12b_SC6_NehrimeseGateLinker.Enable()
EndFunction
Function SC07_Failsave()
MQ12b_SC5_HarlejanGuardYoungREF.MoveTo(MQ12b_SC11_TealorSpawnMarker)
EndFunction
Function StartSC07()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
SetObjectiveCompleted(10)
MQ12b_SC5_HarlejanGuardNaraREF.ResetHealthAndLimbs()
MQ12b_SC5_HarlejanGuardYoungREF.ResetHealthAndLimbs()
MQ12b_SC5_HarlejanGuardGidonREF.ResetHealthAndLimbs()
MQ12b_SC5_SergeantHarlejanREF.ResetHealthAndLimbs()
Wait(1)
MQ12b_SC7_GateDiscussion.ForceStart()
EndFunction
Function PlayStuckSound()
_00E_MQ12b_SC6_GateCrankStuckM.Play(MQ12b_SC7_CrankREF)
EndFunction
;=====================================Repair gate crank sequence ====================================
Function StartSC08()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, True, 600, 700, 200)
MQ12b_SC8_GateDoorREF.Lock(False)
MQ12b_SC8_FollowTealorToWallEntrance.ForceStart()
EndFunction
Function ChangeMusic()
SetObjectiveCompleted(15)
_00E_MC_TealorREF.MoveTo(PlayerREF)
_00E_Music_Combat_BonehunterNoCond.Remove()
EndFunction
Function StartSC09()
_00E_QuestFunctions.SetNPCAsCompanion(_00E_MC_TealorREF, False)
MQ12b_SC9_PlayerRepairsMechanism.ForceStart()
MQ12b_SC9_Door.Lock(False)
EndFunction
Function CallVision()
MQ12b_SC09_PlayerVisionMarker = PlayerREF.PlaceAtMe(XMarker, 1)
Levelsystem.VisionEffectTimestop()
EndFunction
Function EndVision()
Levelsystem.VisionEffectTimestopStop()
PlayerREF.MoveTo(MQ12b_SC09_PlayerVisionMarker)
EndFunction
Function FireCannon()
FXExplosionCatapultFarM.Play(PlayerREF)
EndFunction
Function StartSC10()
MQ12b_SC10_PlayerRepairsMechanismPart02.ForceStart()
EndFunction
Function EnableAssassin()
MQ12b_SC10_WayOut.BlockActivation(False)
InitializeCoordinates(PlayerREF)
MQ12b_SC10_NehrimeseAssassin.Enable()
_00E_A2_Ghostwalk_TeleportSound.Play(PlayerREF)
_00E_A2_GhostwalkTeleportReappearVFX.Play(MQ12b_SC10_NehrimeseAssassin)
MQ12b_SC10_NehrimeseAssassin.PlaceAtMe(_00E_A2_GhostwalkImpactExplosion, 1)
MQ12b_SC10_NehrimeseAssassin.MoveTo(PlayerREF, EndLocX, EndLocY, EndLocZ)
MQ12b_SC10_NehrimeseAssassin.SetAngle(TargetAngleX, TargetAngleY, TargetAngleZ)
_00E_A2_GhostwalkTeleportVFX.Play(MQ12b_SC10_NehrimeseAssassin)
_00E_A2_GhostwalkTeleportReappearVFX.Stop(MQ12b_SC10_NehrimeseAssassin)
MQ12b_SC10_NehrimeseAssassin.StartCombat(PlayerREF)
EndFunction
Function InitializeCoordinates(Actor TargetVictim)
EndLocX = (-100*Math.Sin(TargetVictim.GetAngleZ()))
EndLocY = (-100*Math.Cos(TargetVictim.GetAngleZ()))
EndLocZ = 0
TargetAngleX = TargetVictim.GetAngleX()
TargetAngleY = TargetVictim.GetAngleY()
TargetAngleZ = TargetVictim.GetAngleZ()
EndFunction
;=====================================Samael Gate Scene ============================================
Function EnableDefenseTroop()
AudioCategoryAMB.SetVolume(0.7)
Weather.ReleaseOverride()
SkyrimStormRain.ForceActive(True)
bArkUnderAttackFinalScene = True
MoveUnwantedNPCs()
MQ12b_SC11_CannonREF.Enable()
MQ12b_SC6_HarborProp045.Disable()
If _00E_MC_TealorREF.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
_00E_MC_TealorREF.MoveTo(MQ12b_SC11_TealorSpawnMarker)
MQ12b_SC5_HarlejanGuardGidonREF.MoveTo(MQ12b_SC11_GidonCannonMarker)
MQ12b_SC5_HarlejanGuardNaraREF.MoveTo(MQ12b_SC11_NaraCannonMarker)
MQ12b_SC5_SergeantHarlejanREF.MoveTo(MQ12b_SC11_HarlejanCannonMarker)
MQ12b_SC5_HarlejanGuardYoungREF.MoveTo(MQ12b_SC11_YoungGuardCannonMarker)
MQ12b_SC11_SamaelREF.MoveTo(MQ12b_SC11_SamaelMarker)
MQ12b_SC11_SamaelREF.Enable()
MQ12b_SC11_SamaelREF.SetAlpha(0.0)
MQ12b_SC11_CollisionMarker.Enable()
MQ12b_SC11_HarborGateScene.ForceStart()
_00E_SilenceLongTransitionHighPriority.Add()
EndFunction
Function MoveUnwantedNPCs()
int iNPCIndex = MQ12b_SC11_NPCsRef.GetSize()
While iNPCIndex > 0
iNPCIndex -= 1
Actor RefToMove = MQ12b_SC11_NPCsRef.GetAt(iNPCIndex) as Actor
If !RefToMove.IsDisabled() && !(RefToMove.IsDead())
RefToMove.SetGhost(True)
RefToMove.MoveTo(MQ12b_SC11_GuardDumpMarker)
EndIf
EndWhile
Return
EndFunction
Function FadeInSamael()
_00E_SilenceLongTransitionHighPriority.Remove()
_00E_Music_Dungeon_Hideout.Remove()
_00E_Music_Special_MQ12b_Samael.Add()
TimeFadeIn01FXS.Play(MQ12b_SC11_SamaelREF)
MQ12b_SC11_SamaelREF.MoveTo(MQ12b_SC11_SamaelMarker)
Debug.sendAnimationEvent(MQ12b_SC11_SamaelREF, "IdleWebEnterInstant")
MQ12b_SC11_SamaelREF.setActorValue("Variable03", 5)
TimeFadeOut01FXS.Stop(MQ12b_SC11_SamaelREF)
TimeFadeIn01FXS.Play(MQ12b_SC11_SamaelREF)
MQ12b_SC11_SamaelBarrierREF.Enable()
_00E_MAGEldritchExplosionImod.Apply()
Game.ShakeCamera(afStrength = 0.1)
_00E_QuestFunctions.WaitForReferenceToLoad(MQ12b_SC11_SamaelBarrierREF)
MAGConjurePortal.Play(MQ12b_SC11_SamaelBarrierREF)
MQ12b_SC11_SamaelBarrierREF.PlayAnimation("playanim02")
bBarrierFailsave = True
RegisterForSingleUpdate(2)
_00E_MQ12b_SC11_BarrierLightREF.Enable()
EndFunction
Function ExplosionSamael()
MQ12b_SC11_SamaelREF.playidle(WebIdleExit)
Wait(1)
TimeFadeIn01FXS.Stop(MQ12b_SC11_SamaelREF)
MQ12b_SC11_SamaelREF.setActorValue("Variable03", 0)
MQ12b_SC11_SamaelREF.PlaceAtMe(_00E_MAGEldritchShockExplosion, 1)
_00E_MAGEldritchExplosionM.Play(MQ12b_SC11_SamaelREF)
_00E_Ability_StaggerSelfSpell.Cast(MQ12b_SC5_HarlejanGuardYoungREF, MQ12b_SC5_HarlejanGuardYoungREF)
_00E_Ability_StaggerSelfSpell.Cast(MQ12b_SC5_SergeantHarlejanREF, MQ12b_SC5_SergeantHarlejanREF)
MQ12b_SC11_SamaelREF.SetAlpha(1)
MQ12b_SC11_SamaelREF.PushActorAway(MQ12b_SC5_HarlejanGuardGidonREF, 5)
MQ12b_SC5_HarlejanGuardGidonREF.GetActorBase().SetEssential(False)
MQ12b_SC5_HarlejanGuardGidonREF.Kill(MQ12b_SC11_SamaelREF)
MQ12b_SC11_SamaelREF.PushActorAway(MQ12b_SC5_HarlejanGuardNaraREF, 5)
MQ12b_SC5_HarlejanGuardNaraREF.GetActorBase().SetEssential(False)
MQ12b_SC5_HarlejanGuardNaraREF.Kill(MQ12b_SC11_SamaelREF)
EndFunction
Function SamaelLevitateHarlejanAndGuard()
_00E_FXEldritchShader03.Play(MQ12b_SC5_SergeantHarlejanREF)
_00E_FXEldritchShader03.Play(MQ12b_SC5_HarlejanGuardYoungREF)
Debug.SendAnimationEvent(MQ12b_SC5_HarlejanGuardYoungREF, "returnToDefault")
Debug.SendAnimationEvent(MQ12b_SC5_SergeantHarlejanREF, "returnToDefault")
Debug.SendAnimationEvent(MQ12b_SC5_HarlejanGuardYoungREF, "IdleDA02BoethiahPostEnter")
Debug.SendAnimationEvent(MQ12b_SC5_SergeantHarlejanREF, "IdleDA02BoethiahPostEnter")
Wait(4)
_00E_A1_DevourSoul_DisintegrateFXS.Play(MQ12b_SC5_SergeantHarlejanREF)
_00E_A1_DevourSoul_DisintegrateFXS.Play(MQ12b_SC5_HarlejanGuardYoungREF)
EndFunction
Function KillHarlejanAndGuard()
Game.ShakeCamera(afStrength = 0.5)
ObjectReference KillMarkerHarlejan = MQ12b_SC5_SergeantHarlejanREF.PlaceAtMe(XMarker)
ObjectReference KillMarkerGuardYoung = MQ12b_SC5_HarlejanGuardYoungREF.PlaceAtMe(XMarker)
KillMarkerGuardYoung.MoveTo(MQ12b_SC5_SergeantHarlejanREF, 0.0, 0.0, 200)
KillMarkerHarlejan.MoveTo(MQ12b_SC5_HarlejanGuardYoungREF, 0.0, 0.0, 200)
_00E_A1_DevourSoul_DisintegrateFXS.Stop(MQ12b_SC5_SergeantHarlejanREF)
_00E_A1_DevourSoul_DisintegrateFXS.Stop(MQ12b_SC5_HarlejanGuardYoungREF)
_00E_FXEldritchShader03.Stop(MQ12b_SC5_HarlejanGuardYoungREF)
_00E_FXEldritchShader03.Stop(MQ12b_SC5_HarlejanGuardYoungREF)
MQ12b_SC5_HarlejanGuardYoungREF.SetAlpha(0.0)
MQ12b_SC5_SergeantHarlejanREF.SetAlpha(0.0)
KillMarkerHarlejan.PlaceAtMe(_00E_MAGEldritchShockExplosion)
KillMarkerHarlejan.PlaceAtMe(_00E_FS_MAGGoreExplosion)
KillMarkerGuardYoung.PlaceAtMe(_00E_MAGEldritchShockExplosion)
KillMarkerGuardYoung.PlaceAtMe(_00E_FS_MAGGoreExplosion)
_00E_A1_DevourSoulScreamM.Play(KillMarkerGuardYoung)
_00E_A1_DevourSoulScreamM.Play(KillMarkerHarlejan)
EndFunction
Function CloseGate()
MQ12b_SC11_GateREF.SetOpen(False)
EndFunction
Function SamaelTeleportAway()
_00E_Music_Combat_BonehunterNoCond.Remove()
_00E_SilenceTransitionHighPriority.Add()
MQ12b_SC5_HarlejanLinker.Disable()
;MQ12b_SC5_SergeantHarlejanREF.Disable()
;MQ12b_SC5_HarlejanGuardYoungREF.Disable()
_00E_MC_TealorREF.StopCombat()
_00E_MC_TealorREF.StopCombatAlarm()
_00E_A1_DevourSoul_DisintegrateFXS.Play(MQ12b_SC11_SamaelREF)
Utility.Wait(1)
MQ12b_SC11_SamaelREF.PlaceAtMe(_00E_MAGEldritchShockExplosion, 1)
MQ12b_SC11_SamaelREF.Disable()
EndFunction
;=====================================Taranor Gate Scene ============================================
Function SetUpSC12()
Game.RequestAutoSave()
; need to disable these guards: if the player ignored them / they got stuck somewhere, tealor & yuslan might aggro them even in the harbor
; is also called in StartSC06() but needs to be here for save compatibility
MQ12b_SC4_Market_Linker.Disable()
MQ12b_SC12_FacadeSoldierNehrim01.GetActorBase().SetEssential(false)
MQ12b_SC12_FacadeSoldierEnderal01.PlayIdleWithTarget(pa_1HMKillMoveShortB, MQ12b_SC12_FacadeSoldierNehrim01)
MQ12b_SC6_HarborProp023.PlayIdleWithTarget(pa_1HMKillMoveShortB, MQ12b_SC6_HarborProp046)
MQ12b_SC6_HarborProp047.Kill(MQ12b_SC6_HarborProp047)
MQ12b_SC6_HarborProp022.PlayIdleWithTarget(pa_1HMKillMoveShortB, MQ12b_SC12_FacadeSoldierEnderal02)
_00E_MC_TealorREF.StopCombat()
_00E_MC_TealorREF.StopCombatAlarm()
_00E_MC_YuslanRef.Enable()
If !_00E_MC_TaranorREF.IsEnabled()
_00E_MC_TaranorREF.Enable()
EndIf
If _00E_MC_TaranorREF.IsDead()
_00E_MC_TaranorREF.Resurrect()
EndIf
If !_00E_SC_AlmaREF.IsEnabled()
_00E_SC_AlmaREF.Enable()
EndIf
If _00E_SC_AlmaREF.IsDead()
_00E_SC_AlmaREF.Resurrect()
EndIf
MQ12b_SC12_ConversationWithTaranor.ForceStart()
EndFunction
Function SC12_ComeOutTaranor()
; Sometimes, Taranor fails to come to the gate when needed in SC12
; (see http://sureai.net:9898/browse/ERB-2130 ).
; This failsave teleports him.
If _00E_MC_TaranorREF.GetDistance(MQ12b_SC12_TaranorWalkMarker001) > 200
_00E_MC_TaranorREF.MoveTo(MQ12b_SC12_TaranorWalkMarker001)
EndIf
EndFunction
Function TeleportYuslanToGate()
Wait(2)
_00E_QuestFunctions.SafeMoveTo(_00E_MC_YuslanRef, MQ12b_SC12_YuslanTeleportMarker)
_00E_QuestFunctions.WaitForReferenceToLoad(_00E_MC_YuslanRef)
TimeFadeIn01FXS.Play(_00E_MC_YuslanRef)
Debug.sendAnimationEvent(_00E_MC_YuslanRef, "IdleWebEnterInstant")
_00E_MC_YuslanRef.SetActorValue("Variable03", 5)
TimeFadeOut01FXS.Stop(_00E_MC_YuslanRef)
TimeFadeIn01FXS.Play(_00E_MC_YuslanRef)
Game.ShakeCamera(afStrength = 0.1)
_00E_MC_YuslanRef.playidle(WebIdleExit)
TimeFadeIn01FXS.Stop(_00E_MC_YuslanRef)
_00E_MC_YuslanRef.SetActorValue("Variable03", 0)
MQ12b_SC12_YuslanTeleportMarker.PlaceAtMe(_00E_MAGEldritchShockExplosionTeleport, 1)
_00E_MC_TaranorREF.MoveTo(MQ12b_SC12_TaranorEnableMarker)
_00E_SC_AlmaREF.MoveTo(MQ12b_SC12_AlmaMarkerREF)
EndFunction
Function SetUpSC13()
PlayerREF.AddItem(_01E_TeleportrolleSonnentempel, 1)
_00E_MQ12b_SC11_BarrierLightREF.Disable()
EnableArcanistsAndGuard()
Levelsystem.SetAllowIdleChatter(False)
Wait(1)
MQ12b_SC13_TempleScene.ForceStart()
MQ12b_SC11_SamaelBarrierREF.PlayAnimation("playanim01")
_00E_MC_YaelaREF.MoveTo(MQ12a_SC15_YaelaStandMarker)
MQ12b_SC14_SiegeTempleMarker.Enable()
_00E_MQ12b_SC15_Novice.MoveTo(MQ12b_SC15_NoviceMarkerREF)
MQ12b_SC14_TempleGuardWoundedREF.Enable()
MQ12b_SC14_HarborGuardREF.MoveTo(MQ12b_SC14_OrderGuardMarker)
_00E_MC_LeoraREF.Enable()
_00E_MC_LeoraREF.SetAlpha(1)
_00E_MC_JorrekRef.Disable()
MQ12b_SC14_JorrekREF.Enable()
MQ12b_SC14_ApothekariusREF.Enable()
MQ12b_SC14_ApothekariusREF.MoveTo(MQ12b_SC14_GuardMarkerREF)
_00E_MC_LeoraREF.MoveTo(MQ12b_SC14_LeoraMarkerREF)
_00E_MC_NataraREF.MoveTo(MQ12b_SC14_NataraMarkerREF)
EndFunction
Function EnableArcanistsAndGuard()
MQ12b_SC12_HarborArcanist02REF.Enable()
BerserkerFXS.Play(MQ12b_SC12_YoungGuardREF)
Return
EndFunction
Function EnableArcanistFX()
_00E_MagicProtectionLoop02M.Play(MQ12b_SC12_HarborArcanist01REF)
MQ12b_SC12_HarborArcanist02REF.AddSpell(_00E_ABEldritchDrainSelfWithFX)
MQ12b_SC12_HarborArcanist01REF.AddSpell(_00E_ABEldritchDrainSelfWithFX)
_00E_MC_YuslanRef.AddSpell(_00E_ABEldritchDrainSelfWithFX)
EndFunction
Function MoveTealorWeatherFailsave()
If _00E_MC_TealorREF.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
_00E_MC_TealorREF.MoveTo(MQ12b_SC14_TealorMarkerREF)
SkyrimStormRain.ForceActive(True)
EndFunction
Function SetUpSC14()
SkyrimStormRain.ForceActive(True)
MQ16_StubbornGuardREF.MoveTo(MQ12b_SC16_Flavour_Keeper_Female)
MQ12b_Flavour_Novice.MoveTo(MQ12b_SC16_Flavour_Novice)
MQ05Prologue_EmporiumKeeper.MoveTo(MQ12b_SC16_Flavour_Keeper_01)
Game.RequestAutoSave()
MQ12b_SC14_JorrekREF.Enable()
MQ12b_SC14_JorrekREF.SetOutfit(_25E_HolyOrder_WardenOutfit)
MQ12b_SC13_TempleScene.Stop()
If _00E_MC_TealorREF.IsDisabled()
_00E_MC_TealorREF.Enable()
EndIf
If MQ12b_SC13_TempleScene.IsPlaying()
MQ12b_SC13_TempleScene.Stop()
EndIf
_00E_MC_TealorREF.MoveTo(MQ12b_SC14_TealorMarkerREF)
_00E_MC_NataraREF.MoveTo(MQ12b_SC14_NataraMarkerREF)
MQ12b_SC16_Flavor.ForceStart()
MQ12b_SC14_TempleScene02.ForceStart()
EndFunction
Function SetUpSC15()
_00E_MC_LexREF.MoveTo(MQ12a_SC0_DebugLexStart)
_00E_MC_YaelaREF.MoveTo(MQ12a_SC15_YaelaStandMarker)
MQ12b_SC15_TempleScene03.ForceStart()
EndFunction
Function CompleteQuestAndStartMQ12c()
If MQ12b_SC16_Flavor.IsPlaying()
MQ12b_SC16_Flavor.Stop()
EndIf
A_CrimeFaction.SetCrimeGold(iCrimeGoldBeforeMQ12bNonViolent)
A_CrimeFaction.SetCrimeGoldViolent(iCrimeGoldBeforeMQ12bViolent)
MQ12b_SC12_HarborArcanist02REF.Disable()
MQ12b_Market_CastleCollisionREF.Disable()
MQ12b_SC12_YoungGuardREF.Disable()
AudioCategoryAMB.SetVolume(1.0)
PlayerREF.RemoveFromFaction(MQ12b_TemporarySiegeFaction)
MQ12b_SC14_JorrekREF.Disable()
; the following line is called twice before, that was inserted later, see description of bug above, still needs to be called here for save compatibility
MQ12b_SC4_Market_Linker.Disable()
MQ12b_SC3_UpperCityLinker01.Disable()
MQ12b_SC5_LowerDistrictLinkMarker.Disable()
MQ12b_SC5_HarlejanLinker.Disable()
MQ12b_SC6_HarborLinker.Disable()
MQ12b_SC6_ArcherMarker.Disable()
MQ12b_SC3_BattleSoundMarker.Disable()
MQ12b_SC6_NehrimeseGateLinker.Disable()
Ark_MyradRef.MoveToMyEditorLocation()
MQ12b_DisableThisDudeHeIsAnnoyingREF.Enable()
bArkUnderAttackPrelude = False
bArkUnderAttack = False
bArkUnderAttackFinalScene = False
Weather.ReleaseOverride()
_00E_SilenceTransitionHighPriority.Remove()
_00E_TeleportGlobal.SetValueInt(0)
TimeScale.SetValue(fTimeScaleBefore)
MQ03_SC1_CastleWorldDoor.BlockActivation(False)
MQ12b_SC4_BarracksDoorREF.BlockActivation(False)
MQ12b_SC5_HarborDoorREF.BlockActivation(False)
_00E_SouthQuarter_UndercityDoorREF.BlockActivation(False)
MQ12b_SC5_LowerDistrictMarketDoor01REF.BlockActivation(False)
MQ12b_SC5_LowerDistrictMarketDoor02REF.BlockActivation(False)
UnregisterForUpdate()
Levelsystem.GiveEP(__Config_RewardEXP)
Levelsystem.SetAllowIdleChatter(True)
Self.CompleteQuest()
ReEnableNPCs()
DisablePanicTriggerbox()
MQ12c.SetStage(5)
GoToState("Aftermath")
RegisterForSingleUpdateGameTime(24)
If _00E_AchievementsEnabled.GetValueInt() == 1
Game.UnlockAchievement("END_SIEGE_01")
EndIf
EndFunction
Function DisablePanicTriggerbox() ;extra function because it gets also called from _00E_PlayerSetUpScript
MQ12b_SC3_PanicTriggerboxREF.Disable()
EndFunction
Function StartSC01Failsave()
If !MQ12b_SC01_LexilExplains.IsPlaying()
MQ12b_SC01_LexilExplains.ForceStart()
EndIf
EndFunction
;=====================================================================================
; ADJUST GAME TIME
;=====================================================================================
Function AdjustTime()
float fGameHour = GameHour.GetValue()
fTimeScaleBefore = TimeScale.GetValue()
If (fGameHour <= 4 || fGameHour >= 21)
TimeScale.SetValue(0.1)
Else
GoToState("WaitForNight")
EndIf
EndFunction
State WaitForNight
Event OnBeginState()
TimeScale.SetValue(100)
RegisterForSingleUpdate(5)
EndEvent
Event OnUpdate()
If (GameHour.GetValue() <= 4 || GameHour.GetValue() >= 21)
TimeScale.SetValue(0.1)
Else
RegisterForSingleUpdate(5)
EndIf
EndEvent
EndState
;=====================================================================================
; SIEGE EFFECTS
;=====================================================================================
Function UpdateCatapultStrikes(String sStrikeLocation)
sCurrentStrikeLocation = sStrikeLocation
EndFunction
State Aftermath
Event OnUpdateGameTime()
MQ12b_SC14_SiegeTempleMarker.Disable()
EndEvent
EndState
State SiegeUpperCity
Event OnUpdate()
; Valid location names are:
; "Market"
; "UpperCity"
; "LowerDistrict"
; "HarborDistrict"
if bBarrierFailsave
bBarrierFailsave = False
MQ12b_SC11_SamaelBarrierREF.PlayGamebryoAnimation("AnimIdle02")
EndIf
If !bArkUnderAttackFinalScene
If sCurrentStrikeLocation == "Market"
MQ12b_SC4_StrikeSpawnerMarket.CallCatapultStrike()
ElseIf sCurrentStrikeLocation == "UpperCity"
MQ12b_SC3_CatapultFireController.CallCatapultStrike()
ElseIf sCurrentStrikeLocation == "LowerDistrict"
MQ12b_SC4_StrikeSpawnerLowerDistrict.CallCatapultStrike()
ElseIf sCurrentStrikeLocation == "HarborDistrict"
MQ12b_SC4_StrikeSpawnerHarborDistrict.CallCatapultStrike()
EndIf
If (GameHour.GetValue() <= 4 || GameHour.GetValue() >= 21) && TimeScale.GetValue() > 1.0
TimeScale.SetValue(0.1)
EndIf
RegisterForSingleUpdate(5)
EndIf
EndEvent
EndState
;=====================================================================================
; PROPERTIES
;=====================================================================================
bool bBarrierFailsave
float fTimeScaleBefore
float EndLocX
float EndLocY
float EndLocZ
float TargetAngleX
float TargetAngleY
float TargetAngleZ
int Property iCrimeGoldBeforeMQ12bViolent Auto Hidden
int Property iCrimeGoldBeforeMQ12bNonViolent Auto Hidden
; TELEPORT GLOBAL; WEATHER; MUSIK ZUR<55>CKSETZEN! BLOCKIERTE T<>REN WIEDER ZUR<55>CKSETZEN!
; UNWANTED NPCs ZUR<55>CKSETZEN! FLEE VARIABLES ZUR<55>CKSETZEN!!
_00E_QuestFunctions Property Levelsystem Auto
String sCurrentStrikeLocation = "UpperCity"
int Property __Config_RewardEXP Auto
int iBarrierSound
int iBellSound
bool Property bArkUnderAttack Auto Hidden Conditional
bool Property bArkUnderAttackPrelude Auto Hidden Conditional
bool Property bArkUnderAttackFinalScene Auto Hidden Conditional
Actor Property _00E_MC_LexREF Auto
Actor Property _00E_MC_YuslanRef Auto
Actor Property _00E_MC_LeoraREF Auto
Actor Property _00E_MC_TealorREF Auto
Actor Property _00E_MC_TaranorREF Auto
Actor Property _00E_MC_JorrekRef Auto
Actor Property _00E_MC_NataraREF Auto
Actor Property PlayerREF Auto
Actor Property MQ12b_DisableThisDudeHeIsAnnoyingREF Auto
Actor Property MQ12b_SC3_CityGuardREF Auto
Actor Property MQ12b_SC5_HarlejanGuardNaraREF Auto
Actor Property MQ12b_SC5_HarlejanGuardYoungREF Auto
Actor Property MQ12b_SC5_HarlejanGuardGidonREF Auto
Actor Property MQ12b_SC5_SergeantHarlejanREF Auto
Actor Property MQ12b_SC10_NehrimeseAssassin Auto
Actor Property MQ12b_SC11_SamaelREF Auto
Actor Property MQ12b_SC12_FacadeSoldierNehrim01 Auto
Actor Property MQ12b_SC12_FacadeSoldierEnderal01 Auto
Actor Property MQ12b_SC12_FacadeSoldierEnderal02 Auto
Actor Property MQ12b_SC6_HarborProp022 Auto
Actor Property MQ12b_SC6_HarborProp023 Auto
Actor Property MQ12b_SC6_HarborProp046 Auto
Actor Property MQ12b_SC6_HarborProp047 Auto
Actor Property _00E_SC_AlmaREF Auto
Actor Property MQ12b_SC12_YoungGuardREF Auto
Actor Property MQ12b_SC12_HarborArcanist01REF Auto
Actor Property MQ12b_SC12_HarborArcanist02REF Auto
Actor Property MQ12b_SC14_ApothekariusREF Auto
Actor Property _00E_MQ12b_SC15_Novice Auto
Actor Property MQ12b_SC14_JorrekREF Auto
Actor Property MQ12b_SC14_HarborGuardREF Auto
Actor Property _00E_MC_YaelaREF Auto
Actor Property MQ05Prologue_EmporiumKeeper Auto
Actor Property MQ12b_Flavour_Novice Auto
Actor Property MQ16_StubbornGuardREF Auto Hidden
Quest Property MQ12c Auto
ImageSpaceModifier Property _00E_MAGEldritchExplosionImod Auto
MusicType Property _00E_Music_Combat_BonehunterNoCond Auto
MusicType Property _00E_SilenceLongTransitionHighPriority Auto
MusicType Property _00E_SilenceTransitionHighPriority Auto
MusicType Property _00E_Music_Dungeon_Hideout Auto
MusicType Property _00E_Music_Special_MQ12b_Samael Auto
GlobalVariable Property _00E_TeleportGlobal Auto
GlobalVariable Property MQ12b_ArkUnderAttack Auto
GlobalVariable Property GameHour Auto
GlobalVariable Property TimeScale Auto
GlobalVariable Property _00E_AchievementsEnabled Auto
Outfit Property _25E_HolyOrder_WardenOutfit Auto
ObjectReference Property MQ12b_SC1_Orderguard01 Auto
ObjectReference Property MQ12b_SC1_Orderguard02 Auto
ObjectReference Property MQ12a_SC0_DebugLexStart Auto
ObjectReference Property MQ12b_SC2_LeoraMarker002 Auto
ObjectReference Property MQ12b_SC2_ShaRimMarker002 Auto
ObjectReference Property MQ12b_SC2_TealorStartMarker005 Auto
ObjectReference Property MQ12b_SC3_CatapultStrikeMarker002 Auto
ObjectReference Property MQ12b_SC3_BarrierREF002 Auto
ObjectReference Property MQ12b_SC3_UpperCityLinker01 Auto
ObjectReference Property MQ12b_SC3_PanicTriggerboxREF Auto
ObjectReference Property MQ12b_SC3_ScreamMarker Auto
ObjectReference Property MQ12b_SC3_BattleSoundMarker Auto
ObjectReference Property MQ12b_SC3_CityGuardStartMarker Auto
ObjectReference Property MQ07a_SC14_YoungMageMarker001 Auto
ObjectReference Property MQ12b_SC3_TealorBarrierMarkerREF Auto
ObjectReference Property MQ12b_SC4_Market_Linker Auto
ObjectReference Property MQ12b_SC4_BarracksDoorREF Auto
ObjectReference Property MQ03_SC1_CastleWorldDoor Auto
ObjectReference Property MQ12b_SC5_LowerDistrictLinkMarker Auto
ObjectReference Property MQ12b_SC4_TealorBenchmark01 Auto
ObjectReference Property MQ12b_SC5_TealorBenchmark02 Auto
ObjectReference Property MQ12b_SC5_HarborDoorREF Auto
ObjectReference Property MQ12b_SC5_LowerDistrictMarketDoor01REF Auto
ObjectReference Property MQ12b_SC5_LowerDistrictMarketDoor02REF Auto
ObjectReference Property MQ12b_SC5_HarlejanLinker Auto
ObjectReference Property MQ12b_SC6_HarborLinker Auto
ObjectReference Property MQ12b_SC6_NehrimeseGateLinker Auto
ObjectReference Property MQ12b_SC6_ArcherMarker Auto
ObjectReference Property MQ12b_SC7_CrankREF Auto
ObjectReference Property _00E_SouthQuarter_UndercityDoorREF Auto
ObjectReference Property MQ12b_SC8_GateDoorREF Auto
ObjectReference Property MQ12b_SC9_Door Auto
ObjectReference Property MQ12b_SC11_CannonREF Auto
ObjectReference Property MQ12b_SC11_NaraCannonMarker Auto
ObjectReference Property MQ12b_SC11_YoungGuardCannonMarker Auto
ObjectReference Property MQ12b_SC11_GidonCannonMarker Auto
ObjectReference Property MQ12b_SC11_HarlejanCannonMarker Auto
ObjectReference Property MQ12b_SC11_SamaelMarker Auto
ObjectReference Property MQ12b_SC11_SamaelBarrierREF Auto
ObjectReference Property MQ12b_SC11_TealorSpawnMarker Auto
ObjectReference Property MQ12b_SC6_HarborProp045 Auto
ObjectReference Property _00E_MQ12b_SC11_BarrierLightREF Auto
ObjectReference Property MQ12b_SC11_GuardDumpMarker Auto
ObjectReference Property MQ12b_SC11_CollisionMarker Auto
ObjectReference Property MQ12b_SC11_GateREF Auto
ObjectReference Property MQ12b_SC12_YuslanTeleportMarker Auto
ObjectReference Property MQ12b_SC12_TaranorEnableMarker Auto
ObjectReference Property MQ12b_SC12_TaranorWalkMarker001 Auto
ObjectReference Property MQ12b_SC12_AlmaMarkerREF Auto
ObjectReference Property MQ12b_SC14_TempleGuardWoundedREF Auto
ObjectReference Property MQ12b_SC14_LeoraMarkerREF Auto
ObjectReference Property MQ12b_SC14_NataraMarkerREF Auto
ObjectReference Property MQ12b_SC14_GuardMarkerREF Auto
ObjectReference Property MQ12b_SC14_SiegeTempleMarker Auto
ObjectReference Property MQ12b_SC15_NoviceMarkerREF Auto
ObjectReference Property MQ12b_SC14_TealorMarkerREF Auto
ObjectReference Property MQ12a_SC15_YaelaStandMarker Auto
ObjectReference Property MQ12b_SC14_OrderGuardMarker Auto
ObjectReference Property MQ12b_SC09_PlayerVisionMarker Auto Hidden
ObjectReference Property MQ12b_StayDisabledLinker Auto Hidden
ObjectReference Property MQ12b_SC10_WayOut Auto Hidden
ObjectReference Property MQ12b_Market_CastleCollisionREF Auto Hidden
ObjectReference Property MQ12b_SC16_Flavour_Keeper_01 Auto Hidden
ObjectReference Property MQ12b_SC16_Flavour_Keeper_Female Auto Hidden
ObjectReference Property MQ12b_SC16_Flavour_Novice Auto Hidden
ObjectReference Property MQ12c_GuardLinker Auto Hidden
ObjectReference Property MQ12b_SC3_CityGuardRunToMarker Auto Hidden
ObjectReference Property Ark_MyradRef Auto
ObjectReference Property CapitalCity_UpperCityToMarket01 Auto
ObjectReference Property CapitalCity_UpperCityToMarket02 Auto
ObjectReference Property DebugMarker004 Auto
ObjectReference Property DebugMarker003 Auto
ObjectReference Property DebugMarker002 Auto
ObjectReference Property DebugMarker001 Auto
Faction Property MQ12b_TemporarySiegeFaction Auto
Faction Property A_CrimeFaction Auto
CWCatapultStrikeSpawnerScript Property StrikeSpawner Auto Hidden
CWCatapultStrikeSpawnerScript Property MQ12b_SC3_CatapultFireController Auto
CWCatapultStrikeSpawnerScript Property MQ12b_SC4_StrikeSpawnerMarket Auto
CWCatapultStrikeSpawnerScript Property MQ12b_SC4_StrikeSpawnerLowerDistrict Auto
CWCatapultStrikeSpawnerScript Property MQ12b_SC4_StrikeSpawnerHarborDistrict Auto
Static Property XMarker Auto
SoundCategory Property AudioCategoryAMB Auto
Formlist Property MQ12b_SC11_NPCsRef Auto
Formlist Property MQ12b_SC01_ArkDoors Auto
Formlist Property MQ12b_SiegeNPCs Auto
Formlist Property MQ12b_AllDisabledNPCs Auto
Formlist Property MQ12b_UnGhostNPCs_OnVersionUpdate1580 Auto
Activator Property CWCatapultStrike Auto
Activator Property CWCatapultStrikeNoDmg Auto
Sound Property AMBrCivilWarCatapultsDistantM Auto
Sound Property AMBCivilWarBattleStartDistant Auto
Sound Property _00E_MQ12b_SC3_ScreamM Auto
Sound Property _00E_MQ12b_SC6_GateCrankStuckM Auto
Sound Property FXExplosionCatapultFarM Auto
Sound Property _00E_A2_Ghostwalk_TeleportSound Auto
Sound Property MAGConjurePortal Auto
Sound Property _00E_A1_DevourSoulScreamM Auto
Sound Property _00E_MAGEldritchExplosionM Auto
Sound Property _00E_MagicProtectionLoop02M Auto
Sound Property _00E_BellLoop Auto
Weather Property SkyrimOvercastRain Auto
Weather Property SkyrimStormRain Auto
Idle Property WebIdleExit Auto
Idle Property pa_1HMKillMoveShortB Auto
Spell Property _00E_Ability_StaggerSelfSpell Auto
Spell Property _00E_ABEldritchDrainSelfWithFX Auto
Scene Property MQ12b_SC01_LexilExplains Auto
Scene Property MQ12b_SC2_Attack Auto
Scene Property MQ12b_SC3_CatapultAttack Auto
Scene Property MQ12b_SC4_TealorTravelToMistDistrict Auto
Scene Property MQ12b_SC5_TealorLowerDistrict Auto
Scene Property MQ12b_SC6_BattleInHarborDistrict Auto
Scene Property MQ12b_SC7_GateDiscussion Auto
Scene Property MQ12b_SC8_FollowTealorToWallEntrance Auto
Scene Property MQ12b_SC9_PlayerRepairsMechanism Auto
Scene Property MQ12b_SC10_PlayerRepairsMechanismPart02 Auto
Scene Property MQ12b_SC11_HarborGateScene Auto
Scene Property MQ12b_SC12_ConversationWithTaranor Auto
Scene Property MQ12b_SC13_TempleScene Auto
Scene Property MQ12b_SC14_TempleScene02 Auto
Scene Property MQ12b_SC15_TempleScene03 Auto
Scene Property MQ12b_SC16_Flavor Auto
Scroll Property _01E_TeleportrolleSonnentempel Auto
Weapon Property _01E_20Hueterschwert Auto
ReferenceAlias Property Ordenshueter Auto
ReferenceAlias Property Ordenshueterin Auto
Explosion Property _00E_A2_GhostwalkImpactExplosion Auto
Explosion Property _00E_MAGEldritchShockExplosion Auto
Explosion Property _00E_FS_MAGGoreExplosion Auto
Explosion Property _00E_MAGEldritchShockExplosionTeleport Auto
VisualEffect Property _00E_A2_GhostwalkTeleportReappearVFX Auto
VisualEffect Property _00E_A2_GhostwalkTeleportVFX Auto
EffectShader Property TimeFadeIn01FXS Auto
EffectShader Property TimeFadeOut01FXS Auto
EffectShader Property _00E_FXEldritchShader03 Auto
EffectShader Property _00E_A1_DevourSoul_DisintegrateFXS Auto
EffectShader Property BerserkerFXS Auto
_00E_GypsyMinstrelsControlScript Property GypsyMinstrelsControl Auto