Scriptname _00E_NQ_G_07_Functions extends Quest Conditional

Import _00E_QuestFunctions
Import Utility
;=====================================================================================
;              							EVENTS                  					 
;=====================================================================================
Event OnUpdate()

	If bKontorBattleRunning && PlayerREF.GetParentCell() == CapitalCityGoldenSickleKontor
		KillOffKontorworkersFailsave()
	EndIf
	
	if bDijaamHanged == true
		_00E_SC_DijaamOnelysCorpseREF.Enable()
	EndIf
	
EndEvent
;=====================================================================================
;              							FUNCTIONS                  					 
;=====================================================================================
Function GiveLetter()

	PlayerREF.AddItem(_00E_NQ_G_07Mael_LetterLeora, 1)

EndFunction

Function GiveKey()

	PlayerREF.RemoveItem(_00E_NQ_G_07Mael_LetterLeora, 1)
	PlayerREF.AddItem(_00E_NQ_G_07_DijaamCellKey, 1)

EndFunction

Function GiveCellKey()

	PlayerREF.AddItem(_00E_NQ_G_07_DijaamCellKey, 1)

EndFunction

Function GiveTrapdoorKey()

	PlayerREF.AddItem(_00E_NQ_G_07_KontorTrapdoorKey, 1)

EndFunction

Function OpenTrapdoor()

	_00E_NQ_G_07Dijaam_TrapdoorREF.lock(false)

EndFunction

Function DijaamBloodSplattered()
	
	If _00E_SC_DijaamOnelys.Is3DLoaded()
		_00E_BloodyFXShader.Play(_00E_SC_DijaamOnelys)
	EndIf
	
EndFunction

Function RogashBloodSplattered()
	
	If _00E_NQ_G_07_RogashREF.Is3DLoaded()
		_00E_BloodyFXShader.Play(_00E_NQ_G_07_RogashREF)
	EndIf
	
EndFunction

Function MoveProtektor()

	_00E_NQ_G_04_DoorGuardREF.Enable()
	_00E_NQ_G_04_DoorGuardREF.Moveto(_00E_NQ_G_05_DijaamTeleportMarker)
	
EndFunction

Function SpawnSugarIsleEnvoy()

	_00E_NQ_G_07_OolanREF.Enable()
	_00E_NQ_G_07_WuulasREF.Enable()
	_00E_NQ_G_07_PrisonGuardREF.Disable()
	
	_00E_NQ_G_07_OolanREF.MoveTo(_00E_NQ_G_07Mael_OolanStandMarker)
	_00E_NQ_G_07_WuulasREF.MoveTo(_00E_NQ_G_07Mael_WuulasStandMarker)
	
	; block entrance
	NQ_G_07_JailDoorREF.Disable()
	; block teleport
	_00E_TeleportGlobal.SetValueInt(1)

EndFunction

Function OolanFaint()

	Game.ShakeCamera(afStrength = 0.3)
	_00E_NQ_G_07_OolanREF.PlaceAtMe(ExplosionShockMassNoEffectsSmall)
	_00E_NQ_G_07_OolanREF.PlayIdle(_00E_IdleFaint)
	_00E_NQ_G_07_OolanREF.SetHeadTracking(False)
	_00E_NQ_G_07_OolanREF.BlockActivation()
	_00E_NQ_G_07_OolanREF.SetGhost(true)

EndFunction

Function SetupSC04Part2()

	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Mael_DijaamThrowFlashPowderMarker)
	RemoveEssentialFlag(_00E_NQ_G_07_WuulasREF)
	_00E_NQ_G_07_WuulasREF.Kill()
	_00E_NQ_G_07_WuulasREF.BlockActivation()
	_00E_NQ_G_07_NoteGoToTheaterREF.Enable()

EndFunction

Function TeleportMendelus()

	_00E_NQ_G_07_MendelusREF.MoveTo(_00E_NQ_G_07_MendelusTheaterLeanMarker)
	_00E_NQ_G_07_MendelusREF.Enable()
	Wait(0.5)
	_00E_NQ_G_07_MendelusREF.MoveTo(_00E_NQ_G_07_MendelusTheaterLeanMarker)
	_00E_NQ_G_07_MendelusREF.AddItem(__Config_MendelusWeapon, 1)
	_00E_NQ_G_07_MendelusREF.SetGhost(True)
	_00E_NQ_G_07_MendelusREF.BlockActivation(True)

EndFunction

Function MendelusEyeGlow()

	_00E_NQ_G_07_MendelusREF.AddSpell(_00E_AbPosessed)

EndFunction

Function ShootPoisonArrow()

	bDijaamHanged = False
	_00E_NQG07_DijaamKnockedOut.SetValueInt(1)
	MAGShockExpImod.Apply()
	_00E_SC_DijaamOnelys.SetGhost(false)
	TRPPressurePlateMetal.Play(_00E_SC_DijaamOnelys)
	_00E_NQ_G_07_PoisonArrow.Cast(_00E_NQ_G_07_PoisonArrowSourceREF, _00E_SC_DijaamOnelys)
	Wait(0.75)
	bDijaamFainted = False
	DijaamFaint()
	_00E_SC_DijaamOnelys.SetGhost(True)

EndFunction

Function DijaamFaint()

	If !bDijaamFainted
		bDijaamFainted = True
		Game.ShakeCamera(afStrength = 0.3)
		FS_NQ_G_07_PressurePlateREF.PlaceAtMe(ExplosionShockMassNoEffectsSmall)
		FS_NQ_G_07_DijaamExplosionREF.PlaceAtMe(ExplosionShockMassNoEffectsSmall)
		_00E_SC_DijaamOnelys.PlayIdle(_00E_IdleFaint)
		_00E_SC_DijaamOnelys.SetHeadTracking(False)
		_00E_SC_DijaamOnelys.BlockActivation()
		_00E_SC_DijaamOnelys.SetGhost(true)
	EndIf

EndFunction

Function GetUp(Actor akGetUpTarget)
		
	_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
	_00E_NQG07_DijaamKnockedOut.SetValueInt(0)
	If akGetUpTarget.GetEquippedWeapon(false) != None
		akGetUpTarget.UnequipItem(akGetUpTarget.GetEquippedWeapon(false))
	EndIf
	If akGetUpTarget.GetEquippedWeapon(true) != None
		akGetUpTarget.UnequipItem(akGetUpTarget.GetEquippedWeapon(true))
	EndIf
	akGetUpTarget.SetGhost(false)
	Wait(0.1)
	akGetUpTarget.StopCombat()
	akGetUpTarget.SetHeadTracking(True)
	akGetUpTarget.EnableAI(True)
	akGetUpTarget.GetActorBase().SetEssential(true)
	akGetUpTarget.SetGhost(true)
	akGetUpTarget.PlayIdle(_00E_IdleGetUp)
	Wait(0.1)
	if Self.GetStage() == 90
	Self.Setstage(92)
	endif

EndFunction

Function LockTheaterDoors()

	_00E_SC_Mael.SetCrimeFaction(None)
	NQG07_TheaterDoor_01.Lock()
	NQG07_TheaterDoor_01.SetLockLevel(255)
	NQG07_TheaterDoor_02.Lock()
	NQG07_TheaterDoor_02.SetLockLevel(255)

EndFunction

Function BlindPlayer()

	_00E_NQ_G_07Mael_DijaamFlashPowderIMOD.Apply()

EndFunction

Function BlindPlayerLonger()

	_00E_NQ_G_07Mael_DijaamFlashPowderLongerIMOD.Apply()

EndFunction

Function GiveDevraPotion()
	
	; failsafe SetAlpha and BlockActivation
	_00E_NQ_G_07_AlyxREF.SetAlpha(1)
	_00E_NQ_G_07_DevraREF.SetAlpha(1)
	_00E_NQ_G_07_DevraREF.BlockActivation(false)
	_00E_NQ_G_07_DevraREF.AddItem(_00E_NQ_G_07_PetrifiedPotion, 1)

EndFunction

Function RemovePotion()
	
	_00E_SC_DijaamOnelys.StopCombat()
	_00E_SC_DijaamOnelys.StopCombatAlarm()
	_00E_SC_Mael.StopCombat()
	_00E_SC_Mael.StopCombatAlarm()
	_00E_SC_Mael.SetCrimeFaction(A_CrimeFaction)
	PlayerREF.RemoveItem(_00E_NQ_G_07_PetrifiedPotion, 1)
	If PlayerREF.IsWeaponDrawn()
		PlayerREF.SheatheWeapon()
	EndIf

EndFunction

Function RemoveNote()

	PlayerREF.RemoveItem(_00E_NQ_G_06_SickleNote, 1)

EndFunction

Function GuardRemoveMoney(int iMoneyToRemove)

	PlayerREF.RemoveItem(Gold001, iMoneyToRemove)

EndFunction

Function OverrideMaelActivator()

	_00E_NQ_G_07MaelActivateOverrideREF.Enable()

EndFunction

Function OverrideDijaamActivator()

	_00E_NQ_G_07DijaamActivateOverrideREF.Enable()
	_00E_NQ_G_07DijaamActivateOverrideREF.MoveTo(_00E_SC_DijaamOnelys)

EndFunction

Function RemoveEssentialFlag(Actor ActorToRemoveEssential)

	ActorBase ActorBaseToRemoveEssential = ActorToRemoveEssential.GetBaseObject() as ActorBase
	ActorBaseToRemoveEssential.SetEssential(false)

EndFunction

Function StartCombatPetrified02()

	Game.RequestAutoSave()
	wait(0.1)
	_00E_Music_Combat_Dark.Add()
	_00E_NQ_G_07_DevraREF.Enable()
	_00E_NQ_G_07_AlyxREF.Enable()
	_00E_NQ_G_07_Mael_DevraTeleportTheaterMarker.PlaceAtMe(ExplosionShockMassNoEffects, 1)
	_00E_NQ_G_07_Mael_AlyxTeleportTheaterMarker.PlaceAtMe(ExplosionShockMassNoEffects, 1)
	_00E_A2_GhostwalkTeleportReappearVFX.Play(_00E_NQ_G_07_AlyxREF)
	_00E_A2_GhostwalkTeleportReappearVFX.Play(_00E_NQ_G_07_DevraREF)
	_00E_NQ_G_07_DevraREF.MoveTo(_00E_NQ_G_07_Mael_DevraTeleportTheaterMarker)
	_00E_NQ_G_07_AlyxREF.MoveTo(_00E_NQ_G_07_Mael_AlyxTeleportTheaterMarker)
	_00E_NQ_G_07_DevraREF.StartCombat(PlayerREF)
	_00E_NQ_G_07_AlyxREF.StartCombat(PlayerREF)
	
EndFunction

Function StartCombatPetrified()

	Game.RequestAutoSave()
	wait(0.1)
	_00E_Music_Combat_Dark.Add()
	_00E_NQ_G_07_DevraREF.Enable()
	_00E_NQ_G_07_AlyxREF.Enable()
	_00E_NQ_G_07_Mael_DevraTeleportTheaterMarker.PlaceAtMe(ExplosionShockMassNoEffects, 1)
	_00E_NQ_G_07_Mael_AlyxTeleportTheaterMarker.PlaceAtMe(ExplosionShockMassNoEffects, 1)
	_00E_NQ_G_07_DevraREF.MoveTo(_00E_NQ_G_07_Mael_DevraTeleportTheaterMarker)
	_00E_NQ_G_07_AlyxREF.MoveTo(_00E_NQ_G_07_Mael_AlyxTeleportTheaterMarker)
	_00E_A2_GhostwalkTeleportReappearVFX.Play(_00E_NQ_G_07_AlyxREF)
	_00E_A2_GhostwalkTeleportReappearVFX.Play(_00E_NQ_G_07_DevraREF)
	_00E_NQ_G_07_DevraREF.StartCombat(PlayerREF)
	_00E_NQ_G_07_AlyxREF.StartCombat(PlayerREF)
	_00E_NQ_G_07_MendelusREF.BlockActivation(False)
		
EndFunction

Function StartCombatMendelus()

	RemoveEssentialFlag(_00E_NQ_G_07_MendelusREF)
	_00E_NQ_G_07_MendelusREF.SetGhost(False)
	_00E_NQ_G_07_MendelusREF.EquipItem(__Config_MendelusWeapon)
	_00E_NQ_G_07_MendelusREF.RemoveFromAllFactions()
	_00E_NQ_G_07_MendelusREF.AddToFaction(NQ_G_03_PetrifiedCombatFaction)
	_00E_NQ_G_07_MendelusREF.StartCombat(PlayerREF)
	
	if !_00E_NQ_G_07_AlyxREF.IsDead()
		_00E_NQ_G_07_AlyxREF.StartCombat(PlayerREF)
	Elseif !_00E_NQ_G_07_DevraREF.IsDead()
		_00E_NQ_G_07_DevraREF.StartCombat(PlayerREF)
	EndIf
	
EndFunction

Function DespawnTheaterScene()

	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	
	_00E_SC_Mael.MoveToMyEditorLocation()
	_00E_SC_DijaamOnelys.Disable()
	_00E_NQ_G_07_MendelusREF.Disable()
	_00E_NQ_G_07_DevraREF.Disable()
	_00E_NQ_G_07_AlyxREF.Disable()
	_00E_NQ_G_07Mael_BloodsplatterDecalREF.Enable()
	_00E_NQ_G_07_OolanREF.Disable()
	_00E_NQ_G_07_WuulasREF.Disable()
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(false)
	_00E_NQ_G_07Dijaam_Mercenary01REF.Disable()
	_00E_NQ_G_07Dijaam_Mercenary02REF.Disable()
	PlayerREF.AddItem(ArkTheaterKey, 1)
	
	_00E_NQ_G_OfelioREF.Enable()
	
	FadeToBlackBackIMOD.ApplyCrossFade(1)

EndFunction

Function PlayMusic()

	_00E_SilenceAbruptHighPriority.Remove()
	_00E_Music_Special_Romance.Add()

EndFunction 

Function DijaamThrowFlashpowder(ObjectReference akTarget, bool bLonger)

	_00E_SC_DijaamOnelys.PlayIdle(_00E_IdleThrow)
	
	Wait(1)
	
	_00E_NQ_G_07_OolanREF.SetGhost(False)
	akTarget.PlaceAtMe(_00E_A1_FlashpowderExplosion, 1)
	PlayerREF.PlaceAtMe(_00E_A1_FlashpowderExplosion, 1)
	MAGPowerRacialPacifyFire.Play(PlayerREF)
	_00E_SC_DijaamAttackScreamM.Play(PlayerREF)
	Game.ShakeCamera(afStrength = 0.5)
	BlindPlayer()


EndFunction

Function DijaamActivateOverrideDisable()
	
	_00E_NQ_G_07DijaamActivateOverrideREF.Disable()

EndFunction

Function MaelActivateOverrideDisable()

	_00E_NQ_G_07MaelActivateOverrideREF.Disable()

EndFunction

Function DespawnTheaterSceneDijaam()

	Wait(3)

	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	
	_00E_SC_Mael.Disable()
	_00E_NQ_G_07_MendelusREF.Disable()
	_00E_NQ_G_07_DevraREF.Disable()
	_00E_NQ_G_07_AlyxREF.Disable()
	_00E_NQ_G_07Mael_BloodsplatterDecalREF.Enable()
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(false)
	
	_00E_NQ_G_07Dijaam_GreenScarabREF.Disable()
	_00E_SC_DijaamOnelys.Disable()
	_00E_NQ_G_07Dijaam_DijaamCorpseREF.Enable()
	_00E_NQ_G_07Dijaam_DijaamCorpseREF.RemoveAllItems()
	_00E_NQ_G_07Dijaam_DijaamCorpseREF.SetOutfit(_00E_SC_DijaamOutfitDead)
	_00E_NQ_G_07Dijaam_DijaamCorpseREF.AddItem(_25E_Unique_KileanFalcata, 1)
	Wait(1)
	PlayerREF.MoveTo(_00E_NQ_G_07Dijaam_PlayerPositionMarker)
	_00E_MC_LeoraREF.MoveTo(_00E_NQ_G_07Dijaam_LeoraPositionMarker)
	
	_00E_NQ_G_OfelioREF.Enable()
	Wait(1)
	FadeToBlackBackIMOD.ApplyCrossFade(1)

EndFunction

Function ResetTheaterDijaam()

	_00E_SC_Mael.Disable()
	_00E_NQ_G_07_MendelusREF.Disable()
	_00E_NQ_G_07_DevraREF.Disable()
	_00E_NQ_G_07_AlyxREF.Disable()
	_00E_NQ_G_07Mael_BloodsplatterDecalREF.Enable()
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(false)
	
	_00E_NQ_G_07Dijaam_GreenScarabREF.Disable()
	_00E_NQ_G_OfelioREF.Enable()

EndFunction

Function ResurrectDijaam()

	_00E_SC_DijaamOnelys.UnequipItem(_25E_Unique_KileanFalcata)
	_00E_SC_DijaamOnelys.RemoveItem(_25E_Unique_KileanFalcata, 1)
	_00E_SC_DijaamOnelys.Resurrect()
	wait(0.1)
	_00E_SC_DijaamOnelys.AddItem(_25E_Unique_KileanFalcata, 1)
	_00E_SC_DijaamOnelys.EquipItem(_25E_Unique_KileanFalcata)

EndFunction

Function DijaamAttackPlayer()

	PlayerREF.RemoveFromFaction(NQ_G_07Dijaam_SugarIsleFaction)
	_00E_SC_DijaamOnelys.RemoveFromAllFactions()
	_00E_SC_DijaamOnelys.BlockActivation(false)
	_00E_SC_DijaamOnelys.SetGhost(false)
	RemoveEssentialFlag(_00E_SC_DijaamOnelys)
	if _00E_SC_DijaamOnelys.GetItemCount(_25E_Unique_KileanFalcata) == 0
		_00E_SC_DijaamOnelys.AddItem(_25E_Unique_KileanFalcata, 1)
	EndIf
	_00E_SC_DijaamOnelys.EquipItem(_25E_Unique_KileanFalcata)
	_00E_SC_DijaamOnelys.SetActorValue("Aggression", 3)
	wait(0.1)
	_00E_SC_DijaamOnelys.StartCombat(PlayerREF)

EndFunction

Function ToggleKillmoves()

	if KillMove.GetValue() == 1
		bKillMovesDeactivated = true
		KillMove.SetValue(0)
	ElseIf KillMove.GetValue() == 0 && bKillMovesDeactivated == true
		bKillMovesDeactivated = false
		KillMove.SetValue(1)
	EndIf

EndFunction

Function DijaamLeave()

	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	Wait(1)

	PlayerAIWalk()
	PlayerREF.UnequipAll()
	PlayerREF.SetOutfit(MinerClothesOutfit02)
	PlayerREF.MoveTo(_00E_NQ_G_07Dijaam_PlayerSleepMarker)
	Game.RequestAutoSave()
	Wait(7)
	 Game.EnablePlayerControls(false, false, false, false, false, false, true, false)
	_00E_NQ_G_07Dijaam_PlayerSleepMarker.Activate(PlayerREF, true)
	
	_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF.Enable()
	_00E_NQ_G_07Dijaam_ScarabREF.Disable()
	_00E_SC_DijaamOnelys.Disable()

EndFunction

Function PlayKiss()

	If PlayerREF.GetActorBase().GetRace() == HighElfRace
		fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.92)
	EndIf
	
	PlayerREF.UnequipItem(PlayerREF.GetEquippedShield(), false, true)
	PlayerREF.EquipItem(_00E_InvisibleHelmet_Armor, false, true)
	Wait(0.1)
	PlayerREF.RemoveItem(_00E_InvisibleHelmet_Armor, 1, true)
	_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
	PlayMusic()
	AudioCategoryMAG.Mute()
	AudioCategorySFX.Mute()
	Levelsystem.LockCamera()
	Game.SetPlayerAIDriven(True)
	Game.ForceThirdPerson()
	Wait(0.5)
	
	If PlayerREF.GetActorBase().GetSex() == 0
		PlayerREF.PlayIdleWithTarget(pa_Idle_Kiss_FemaleMale, _00E_SC_DijaamOnelys)
	Else
		PlayerREF.PlayIdleWithTarget(pa_Idle_Kiss_FemaleFemale, _00E_SC_DijaamOnelys)
	EndIf
	
	Wait(0.5)
	PlayerREF.SetUnconscious(True)
	_00E_SC_DijaamOnelys.SetUnconscious(True)
	PlayerREF.AddSpell(_00E_Game_abSlowTime, false)
	
	Wait(9)
	
	FadeOut()
 
EndFunction

Function FadeOut()
 
	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	Wait(1)
	PlayerREF.RemoveSpell(_00E_Game_abSlowTime)

	If PlayerREF.GetActorBase().GetRace() == HighElfRace
		PlayerREF.SetScale(fPlayerScale)
	EndIf

	PlayerREF.SetUnconscious(False)
	PlayerREF.PlayIdle(IdleStop_Loose)
	Debug.SendAnimationEvent(PlayerREF, "returnToDefault")
	PlayerREF.MoveTo(_00E_NQ_G_07Dijaam_PlayerSleepMarker)
	Wait(1)
	_00E_NQ_G_07Dijaam_PlayerSleepMarker.Activate(PlayerREF, true)
	Debug.ToggleMenus()
	_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF.Enable()
	_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF.SetMotionType(4)
	_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF.Enable()
	_00E_NQ_G_07Dijaam_ScarabREF.Disable()
	_00E_SC_DijaamOnelys.Disable()
	
		
EndFunction

Function ReopenTheaterDoors()

	NQG07_TheaterDoor_01.BlockActivation(False)
	NQG07_TheaterDoor_02.BlockActivation(False)
	NQG07_TheaterDoor_01.lock(false)
	NQG07_TheaterDoor_02.lock(false)

EndFunction

Function RemoveCombatMusic()

	_00E_Music_Combat_Dark.Remove()

EndFunction

Function DijaamPlayHitShader()

	EnchBlueFXShader.Play(_00E_SC_DijaamOnelys)
	_00E_MagicProtectionSpell02M.Play(_00E_SC_DijaamOnelys)
	Wait(1)
	EnchBlueFXShader.Stop(_00E_SC_DijaamOnelys)
	
EndFunction

Function FadeInLying()

	PlayerAIWalkStop()

	Levelsystem.SkipTimeToHour(5)
	
	AudioCategoryMAG.Unmute()
	AudioCategorySFX.Unmute()
	Levelsystem.UnlockCamera()
	RefreshFace()
	Game.EnablePlayerControls()
	SetStage(145)
	
	FadeIn()

EndFunction

Function KillOffMercenaries()

	if !_00E_NQ_G_07Dijaam_Mercenary02REF.IsDead()
		_00E_NQ_G_07Dijaam_Mercenary02REF.Kill(_00E_NQ_G_07Dijaam_Mercenary02REF)
	EndIf
	
	if !_00E_NQ_G_07Dijaam_Mercenary01REF.IsDead()
		_00E_NQ_G_07Dijaam_Mercenary01REF.Kill(_00E_NQ_G_07Dijaam_Mercenary01REF)
	EndIf
	
EndFunction

Function GiveBankKeyFence(Actor akSpeaker)

	PlayerREF.AddItem(_00E_NQ_G_07Dijaam_BankKey1212Fence, 1)
	_00E_NQ_G_07Dijaam_FenceMoneyBagREF.Enable()
	
	; properties will be filled in patch 1.6.0.0
	If	_00E_Class_Infiltrator_P08_C_Seducer == None
		_00E_Class_Infiltrator_P08_C_Seducer = Game.GetFormFromFile(0x00069D3D, "Skyrim.esm") as Perk
	EndIf

	If PlayerREF.GetAV("Speechcraft") >= 50 || PlayerREF.HasPerk(_00E_Class_Infiltrator_P08_C_Seducer)	
		_00E_NQ_G_07Dijaam_FenceMoneyBagREF.AddItem(Gold001, 650)
	Else
		_00E_NQ_G_07Dijaam_FenceMoneyBagREF.AddItem(Gold001, 450)
	EndIf
	
	_00E_NQ_G_07Dijaam_FenceMoneyBagREF.AddItem(_45E_Unique_HighwaymansOde, 1)
	_00E_NQ_G_07Dijaam_FenceMoneyBagREF.AddItem(_00E_NQ_G07Dijaam_FenceNote, 1)
	
	If _00E_NQ_G_07_Scarab == None
		_00E_NQ_G_07_Scarab = Game.GetFormFromFile(0x00146FBE, "Skyrim.esm") as MiscObject
	EndIf
	
	PlayerREF.RemoveItem(_00E_NQ_G_07_Scarab, 1, false, akSpeaker)

EndFunction

Function Place1000()

	_00E_NQ_G_07Dijaam_FenceMoneyBagREF.AddItem(Gold001, 1000)

EndFunction

Function GiveSword()

	;PlayerREF.AddItem(_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF, 1)
	PlayerREF.AddItem(Gold001, 200)
	
EndFunction

Function DumpDijaam()

	_00E_SC_DijaamOnelys.MoveTo(_00E_NPCDumpMarker)
	
EndFunction

Function DisableKontorWorkers()

	int iIndex = _00E_NQ_G_07_KontorNPCs.GetSize() - 1

	while iIndex >= 0
		Actor akActor = _00E_NQ_G_07_KontorNPCs.GetAt(iIndex) as Actor
		
		if akActor == _00E_SC_MendelusVollerbeutel || akActor == _00E_NQ_G_07_RogashREF
			akActor.MoveTo(_00E_NPCDumpMarker)
		Else
			akActor.Disable()
		EndIf
		
		iIndex -= 1
	endwhile

EndFunction

Function ResetKontor()

	int iIndex = _00E_NQ_G_07_KontorNPCs.GetSize() - 1

	while iIndex >= 0
		Actor akActor = _00E_NQ_G_07_KontorNPCs.GetAt(iIndex) as Actor
		
		if akActor == _00E_SC_MendelusVollerbeutel 
			; do nothing
		ElseIf akActor == _00E_NQ_G_07_DoriaREF || akActor == _00E_NQ_G_07_GunamREF || akActor == _00E_NQ_G_07_Kontorworker03REF || akActor == _00E_NQ_G_07_Kontorworker04REF
			akActor.MoveTo(_00E_NPCDumpMarker)
			akActor.Disable()
		ElseIf akActor == _00E_NQ_G_07_RogashREF
			akActor.MoveToMyEditorLocation()
			_00E_BloodyFXShader.Stop(akActor)
		Else
			akActor.Enable()
		EndIf
		
		iIndex -= 1
	endwhile
	
	_00E_NQ_G_07Mael_KontorMassacreEnableMarker.Disable()
	
	_00E_NQ_G_07_BloodSplatter01.Disable()
	_00E_NQ_G_07_BloodSplatter02.Disable()
	
EndFunction

Function OpenKontorDoors()

	_00E_SilenceAbruptHighPriority.Remove()
	_00E_NQ_G_07Mael_KontorOuterDoorNewREF.Disable()
	_00E_NQ_G_07Mael_KontorOuterDoorREF.Enable()
	_00E_NQ_G_07Mael_KontorInnerDoorREF.BlockActivation(false)
	_00E_NQ_G_07Mael_KontorInnerDoorREF.Lock(False)

EndFunction

Function TeleportRogash()

	_00E_NQ_G_07_RogashREF.MoveTo(_00E_NQ_G_07Mael_RogashTeleportMarker)
	RogashBloodSplattered()

EndFunction

Function DespawnRogash()

	_00E_NQ_G_07_RogashREF.MoveTo(_00E_NPCDumpMarker)
	
EndFunction

Function MoveDijaamToKontor()

	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Dijaam_DijaamKontorMarker)

EndFunction

Function DijaamAddScarab()

	_00E_NQ_G_07Dijaam_ScarabREF.Disable()
	_00E_SC_DijaamOnelys.AddItem(_00E_NQ_G_07Dijaam_ScarabREF, 1)

EndFunction

Function TeleportLeoraToSunTemple()

	_00E_MC_LeoraREF.MoveTo(_00E_TeleportMarker_Suntemple)

EndFunction

Function FadeOutIn()

	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	FadeToBlackBackIMOD.ApplyCrossFade(1)

EndFunction

Function MaelEvaluate()

	_00E_SC_Mael.EvaluatePackage()
	
Endfunction

Function DespawnHideOut()

	_00E_NQ_G_07Dijaam_HideOutMarker.Disable()
	_00E_SC_DijaamOnelys.Disable()
	_00E_NQ_G_07Dijaam_ScarabREF.Disable()

EndFunction

Function MoveDijaamToPlayer()

	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Dijaam_DijaamGraveyardTeleportMarker)

EndFunction

Function MoveDijaamToPlayerSewer()

	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Dijaam_DijaamSewerTeleport)

EndFunction

Function MoveToDijaamToPlayerFailsave()

	_00E_SC_DijaamOnelys.MoveTo(PlayerREF)

EndFunction

Function StartKontorCombat()

	bKontorBattleRunning = True
	_00E_NQ_G_07Mael_KontorInnerDoorREF.BlockActivation(true)
	_00E_NQ_G_07Dijaam_ArriveAtKontorTrigger.Disable()
	NQG07_TheaterDoor_01.BlockActivation(True)
	NQG07_TheaterDoor_02.BlockActivation(True)
	_00E_SilenceAbruptHighPriority.Remove()
	Levelsystem.RemoveCombatSoundtracks()
	Levelsystem.RemoveSilence()
	wait(0.1)

	_00E_Music_Combat_Dark.Add()
	NQ_G_03_PetrifiedCombatFaction.ModReaction(NQ_G_07Dijaam_SugarIsleFaction, -500)
	NQ_G_07Dijaam_SugarIsleFaction.ModReaction(NQ_G_03_PetrifiedCombatFaction, -500)
	_00E_SC_DijaamOnelys.AddToFaction(PlayerAlliesFaction)
	_00E_SC_DijaamOnelys.AddToFaction(NQ_G_07Dijaam_SugarIsleFaction)
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetActorValue("Aggression", 2)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetActorValue("Aggression", 2)
	_00E_NQ_G_07_DoriaREF.SetActorValue("Aggression", 2)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetGhost(False)
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetGhost(False)
	_00E_NQ_G_07_Kontorworker04REF.SetGhost(False)
	_00E_NQ_G_07_Kontorworker03REF.SetGhost(False)
	_00E_NQ_G_07_Kontorworker03REF.GetActorBase().SetEssential(False)
	_00E_NQ_G_07_Kontorworker04REF.GetActorBase().SetEssential(False)
	_00E_NQ_G_07_MazetoREF.SetGhost(False)
	_00E_NQ_G_07_DoriaREF.SetGhost(False)
	_00E_NQ_G_07_MazetoREF.GetActorBase().SetEssential(False)
	_00E_NQ_G_07_DoriaREF.GetActorBase().SetEssential(False)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetAV("Health", 5)
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetAV("Health", 5)
	_00E_SC_DijaamOnelys.EquipItem(_25E_Unique_KileanFalcata)
	wait(0.1)
		
	_00E_NQ_G_07_Kontorworker03REF.StartCombat(_00E_NQ_G_07Dijaam_Mercenary01REF)
	_00E_NQ_G_07_Kontorworker04REF.StartCombat(_00E_NQ_G_07Dijaam_Mercenary02REF)
	_00E_NQ_G_07_Kontorworker04REF.StartCombat(_00E_SC_DijaamOnelys)
	_00E_NQ_G_07Dijaam_Mercenary01REF.StartCombat(_00E_NQ_G_07_Kontorworker03REF)
	_00E_NQ_G_07Dijaam_Mercenary02REF.StartCombat(_00E_NQ_G_07_Kontorworker04REF)
	_00E_SC_DijaamOnelys.StartCombat(_00E_NQ_G_07_DoriaREF)
	_00E_NQ_G_07_DoriaREF.StartCombat(_00E_NQ_G_07Dijaam_Mercenary02REF)
	
	RegisterForSingleUpdate(60)
	
EndFunction

Function KontorWorkerKillMercenary()

	if !_00E_NQ_G_07Dijaam_Mercenary02REF.IsDead()
	
		if !_00E_NQ_G_07_Kontorworker03REF.IsDead() && _00E_NQ_G_07_Kontorworker03REF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary02REF
			_00E_NQ_G_07_Kontorworker03REF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary02REF)
		Elseif !_00E_NQ_G_07_Kontorworker04REF.IsDead() && _00E_NQ_G_07_Kontorworker04REF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary02REF
			_00E_NQ_G_07_Kontorworker04REF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary02REF)
		Elseif _00E_NQ_G_07_DoriaREF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary02REF
			_00E_NQ_G_07_DoriaREF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary02REF)
		Else
			_00E_NQ_G_07_DoriaREF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary02REF)
		EndIf
		
	Elseif !_00E_NQ_G_07Dijaam_Mercenary01REF.IsDead()
	
		if !_00E_NQ_G_07_Kontorworker03REF.IsDead() && _00E_NQ_G_07_Kontorworker03REF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary01REF
			_00E_NQ_G_07_Kontorworker03REF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary01REF)
		Elseif !_00E_NQ_G_07_Kontorworker04REF.IsDead() && _00E_NQ_G_07_Kontorworker04REF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary01REF
			_00E_NQ_G_07_Kontorworker04REF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary01REF)
		Elseif _00E_NQ_G_07_DoriaREF.GetCombatTarget() == _00E_NQ_G_07Dijaam_Mercenary01REF
			_00E_NQ_G_07_DoriaREF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary01REF)
		Else
			_00E_NQ_G_07_DoriaREF.PlayIdleWithTarget(pa_1HMKillMoveShortB, _00E_NQ_G_07Dijaam_Mercenary01REF)
		EndIf
	
	EndIf
	
	_00E_NQ_G_07_DoriaREF.GetActorBase().SetEssential(False)

EndFunction

Function SlowMazeto()

	_00E_NQ_G_07_MazetoREF.SetActorValue("SpeedMult", 65)
	_00E_NQ_G_07_Kontorworker04REF.SetGhost(false)
	_00E_NQ_G_07_Kontorworker03REF.SetGhost(false)
	_00E_NQ_G_07_DoriaREF.SetGhost(False)
EndFunction

Function KillMazeto()

	_00E_TeleportGlobal.SetValueInt(1)
	_00E_NQ_G_07_MazetoREF.SetGhost(false)
	Wait(0.1)
	_00E_NQ_G_07Dijaam_Mercenary02REF.PlayIdleWithTarget(pa_2HMKillMoveDecapSlash, _00E_NQ_G_07_MazetoREF)
	Wait(0.5)
	_00E_Male_PlayerHitM.Play(_00E_NQ_G_07_MazetoREF)
	
EndFunction

Function ResetKontorDijaam()

	int iIndex = _00E_NQ_G_07_KontorNPCs.GetSize() - 1
		
	_00E_NQ_G_07Dijaam_Mercenary01REF.Disable()
	_00E_NQ_G_07Dijaam_Mercenary02REF.Disable()
	_00E_NQ_G_07_DoriaREF.Disable()
	_00E_NQ_G_07_Kontorworker03REF.Disable()
	_00E_NQ_G_07_Kontorworker04REF.Disable()
	_00E_NQ_G_07_Kontorworker04REF.MoveToMyEditorLocation()
	_00E_NQ_G_07_MazetoREF.Disable()
	_00E_NQ_G_07Mael_KontorInnerDoorREF.BlockActivation(false)
	
	while iIndex >= 0
	
		Actor akActor = _00E_NQ_G_07_KontorNPCs.GetAt(iIndex) as Actor
		
		akActor.Enable()
		iIndex -= 1
		
	endwhile

EndFunction

Function AddSilence()

	bKontorBattleRunning = False
	_00E_SilenceAbruptHighPriority.Add()

EndFunction

Function MoveDijaamBehindPlayer()

	ObjectReference objSpawnMarker = PlayerREF.PlaceAtMe(XMarkerHeading, 1)
	objSpawnMarker.MoveTo(PlayerRef, -250.0 * Math.Sin(PlayerRef.GetAngleZ()), -250.0 * Math.Cos(PlayerRef.GetAngleZ()), PlayerRef.GetHeight())
	_00E_SC_DijaamOnelys.MoveTo(objSpawnMarker)
	_00E_SC_DijaamOnelys.AddItem(_00E_NQ_G_07_KontorTrapdoorKey, 1)

EndFunction

Function EnableKey()

	_00E_NQ_G_07Dijaam_CellDoorKeyREF.Enable()

EndFunction

Function DespawnGuard()

	_00E_NQ_G_07Dijaam_PrisonGuardREF.Disable()

EndFunction

Function SpawnDespawnBell()

	if _00E_NQ_G_07Dijaam_DistractionBellREF.IsDisabled() == false
		_00E_NQ_G_07Dijaam_DistractionBellREF.Disable()
	ElseIf _00E_NQ_G_07Dijaam_DistractionBellREF.IsDisabled() == true
		_00E_NQ_G_07Dijaam_DistractionBellREF.Enable()
	EndIf
	
	if _00E_NQ_G_07Dijaam_BellIInteractREF.IsDisabled() == false
		_00E_NQ_G_07Dijaam_BellIInteractREF.Disable()
	ElseIf _00E_NQ_G_07Dijaam_BellIInteractREF.IsDisabled() == true
		_00E_NQ_G_07Dijaam_BellIInteractREF.Enable()
	EndIf

EndFunction

Function SpawnBag()
	
	; "unsafe" fallback for older saves in case the quest was already running when the patch was released
	; don't remove these two if statements
	; on new saves the items will be created into aliases in the container _00E_NQ_G_07Dijaam_BagREF
	If _00E_NQ_G_07Dijaam_BagREF.GetItemCount(_00E_NQ_G_07Dijaam_DijaamShackleKey) == 0
		_00E_NQ_G_07Dijaam_BagREF.AddItem(_00E_NQ_G_07Dijaam_DijaamShackleKey, 1, true)
	EndIf
	
	If _00E_NQ_G_07Dijaam_BagREF.GetItemCount(_00E_NQ_G_07_NoteGoToTheater) == 0
		_00E_NQ_G_07Dijaam_BagREF.AddItem(_00E_NQ_G_07_NoteGoToTheater, 1, true)
	EndIf
	
	_00E_NQ_G_07Dijaam_BagREF.Enable()
	_00E_NQ_G_07Dijaam_BagREF.PlaceAtMe(ExplosionShockMassNoEffects, 1)
	
	; block entrance
	NQ_G_07_JailDoorREF.Disable()
	; block teleport
	_00E_TeleportGlobal.SetValueInt(1)

EndFunction

Function CheckForBagLooted()

	If PlayerREF.GetItemCount(_00E_NQ_G_07Dijaam_DijaamShackleKey) >= 1 && PlayerREF.GetItemCount(_00E_NQ_G_07_NoteGoToTheater) >= 1
		SetObjectiveCompleted(60)
		If CheckIfNoteIsRead()
			SetStage(65)
		EndIf
	EndIf

EndFunction

Bool Function CheckIfNoteIsRead()

	If _00E_NQ_G_07_NoteGoToTheater.IsRead() == true
		SetObjectiveCompleted(64)
		return true
	EndIf
	return false

EndFunction

Function EnableReleaseInteract()
	
	SetObjectiveDisplayed(65)
	_00E_NQ_G_07Dijaam_DijaamReleaseInteractREF.Enable()
	
EndFunction

Function DisableReleaseInteract()

	_00E_NQ_G_07Dijaam_DijaamReleaseInteractREF.Disable()

EndFunction

Function StartLeavingThePrison()

	_00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF.Enable()
	NQG07Dijaam_SC4_EscapeCollision.Enable()
	_00E_SC_DijaamOnelys.EvaluatePackage()
	Game.RequestAutoSave()

EndFunction

Function MoveOolanAndProtector()

	_00E_NQ_G_04_DoorGuardREF.Enable()
	_00E_NQ_G_07_OolanREF.Enable()
	
	_00E_NQ_G_07Dijaam_OolanProtektorDiscoverTrigger.Enable()
	_00E_NQ_G_04_DoorGuardREF.Enable()
	_00E_NQ_G_04_DoorGuardREF.MoveTo(_00E_NQ_G_07Dijaam_ProtektorStandMarker)
	_00E_NQ_G_07_OolanREF.MoveTo(_00E_NQ_G_07Dijaam_OolanStandMarker)
	
	SetObjectiveCompleted(70)

EndFunction

Function DespawnProtektor()

	_00E_NQ_G_04_DoorGuardREF.MoveToMyEditorLocation()

EndFunction

Function DespawnOolan()

	_00E_NQ_G_07_OolanREF.Disable()

EndFunction

Function ScarabCollectable()

	_00E_NQ_G_07Dijaam_ScarabREF.BlockActivation(false)

EndFunction 

Function DisableTriggerbox()

	_00E_NQ_G_07Dijaam_OolanProtektorDiscoverTrigger.Disable()
	
EndFunction
	
Function FadeIn()

	FadeToBlackBackIMOD.ApplyCrossFade(1)

EndFunction
	
Function RewardMoney()

	PlayerREF.AddItem(Gold001, __Config_RewardMoney)

EndFunction

Function ChairSwitch()

	NQ_G_05.SwitchChairs()

EndFunction

Function RemoveFromFactions()

	_00E_SC_DijaamOnelys.RemoveFromAllFactions()
	_00E_SC_Mael.RemoveFromAllFactions()
	
	If _00E_SC_DijaamOnelys.GetEquippedObject(0) != NONE
		_00E_SC_DijaamOnelys.UnequipItem(_00E_SC_DijaamOnelys.GetEquippedObject(0))
	EndIf
	
	If _00E_SC_DijaamOnelys.GetEquippedObject(1) != NONE
		_00E_SC_DijaamOnelys.UnequipItem(_00E_SC_DijaamOnelys.GetEquippedObject(1))
	EndIf

EndFunction

Function CleanSounds()

	Levelsystem.RemoveSilence()
	Levelsystem.RemoveCombatSoundtracks()

EndFunction

Function FinishQuest()
	
	RewardMoney()
	NQ_G_07_JailDoorREF.Enable()
	_00E_TeleportGlobal.SetValueInt(0)
	Levelsystem.GiveEP(__Config_RewardEXP)
	PlayerREF.AddItem(_00E_NQ_G_07Mael_RewardAmulet, 1)
	NQG07_GomesBalanREF.Enable()
	_00E_NQ_G_07_RogashREF.Enable()
	ReEnablePrisonGuards()
	Levelsystem.RemoveSilence()
	Levelsystem.RemoveCombatSoundtracks()
	Levelsystem.SetAllowIdleChatter(True)
	
	if bDijaamHanged == true
		RegisterForSingleUpdateGameTime(48)
	EndIf
	
	int iIndex = NQG07_Mael_GoldenSickleGuildhouseNPCs.GetSize() - 1
	
	while iIndex >= 0
		ObjectReference akActorToDisable = NQG07_Mael_GoldenSickleGuildhouseNPCs.GetAt(iIndex) as ObjectReference
		akActorToDisable.Enable()
		iIndex -= 1
	endwhile

EndFunction

Function FinishQuestDijaam()
	
	_00E_SilenceAbruptHighPriority.Remove()
	NQ_G_07_JailDoorREF.Enable(true)
	_00E_TeleportGlobal.SetValueInt(0)
	Levelsystem.GiveEP(__Config_RewardEXP)
	ResetGraveyardScene()
	ReEnablePrisonGuards()
	NQG07Dijaam_SC4_EscapeCollision.Disable()
	Levelsystem.RemoveSilence()
	Levelsystem.RemoveCombatSoundtracks()
	Levelsystem.SetAllowIdleChatter(True)

EndFunction

Function FinishQuestDijaamLeora()
	
	NQ_G_07_JailDoorREF.Enable()
	_00E_TeleportGlobal.SetValueInt(0)
	ReEnablePrisonGuards()
	_00E_NQ_G_07Dijaam_LeoraMoneyBagREF.Enable()
	_00E_NQ_G_07Dijaam_LeoraMoneyBagREF.AddItem(Gold001, __Config_LeoraRewardMoney)
	PlayerREF.AddItem(_00E_NQ_G_07Dijaam_BankKey1112Leora, 1)
	PlayerREF.AddItem(ArkTheaterKey, 1)
	NQG07Dijaam_SC4_EscapeCollision.Disable()
	ResetGraveyardScene()
	Levelsystem.GiveEP(__Config_RewardEXP)
	Levelsystem.RemoveSilence()
	Levelsystem.RemoveCombatSoundtracks()
	Levelsystem.SetAllowIdleChatter(True)

EndFunction
;=====================================================================================
;              						MAEL SCENES                  					 
;=====================================================================================
Function SetupSC01()

	NQ_G_05.SwitchChairs()
	_00E_SC_Mael.MovetoMyEditorLocation()
	_00E_SC_DijaamOnelys.Enable()
	
EndFunction

Function SetupSC02()

	_00E_NQ_G_07Dijaam_EscalationKontorEnableMarker.Enable() ; need to do it here to
	_00E_NQ_G_07Mael_KontorOuterDoorREF.Disable()
	_00E_NQ_G_07Mael_KontorOuterDoorNewREF.Enable()
	_00E_NQ_G_07Mael_KontorInnerDoorREF.BlockActivation(true)
	_00E_NQ_G_07_DoriaREF.Disable()
	_00E_NQ_G_07_GunamREF.Disable()
	_00E_NQ_G_07_Kontorworker03REF.Disable()
	_00E_NQ_G_07_Kontorworker04REF.Disable()
	NQG07_Mael_GuardActorParent.Enable()
	_00E_NQ_G_07Mael_KontorMassacreEnableMarker.Enable()
	_00E_NQ_G_07Mael_RopeKontorREF.MoveToMyEditorLocation()
	_00E_NQ_G_07Mael_RopeKontorREF.Enable()
	_00E_NQ_G_07Dijaam_TrapdoorREF.Lock(false)
	_00E_NQ_G_07Dijaam_TrapdoorREF.SetLockLevel(0)
	_00E_NQ_G_07Dijaam_Mercenary01REF.Enable()
	_00E_NQ_G_07Dijaam_Mercenary02REF.Enable()
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetGhost(False)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetGhost(False)
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetAV("Health", 250)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetAV("Health", 250)
	if NQ_G_01.iMiniQuest03 == 20
		_00E_NQ_G_07Mael_CorpseDoria.AddItem(_00E_NQ_G_01_Necklace, 1)
	EndIf
	DisableKontorWorkers()

EndFunction

Function KontorAmbushFailsave()

	_00E_SilenceAbruptHighPriority.Add()
	_00E_BloodyFXShader.Play(_00E_NQ_G_07_RogashREF)
	_00E_NQ_G_07_DoriaREF.Disable()
	_00E_NQ_G_07_GunamREF.Disable()
	NQG07_GomesBalanREF.Disable()
	_00E_NQ_G_07_Kontorworker03REF.Disable()
	_00E_NQ_G_07_Kontorworker04REF.Disable()
	_00E_NQ_G_07Dijaam_Mercenary01REF.SetGhost(False)
	_00E_NQ_G_07Dijaam_Mercenary02REF.SetGhost(False)
	NQG07_Mercenary_REF.SetGhost(False)
	
EndFunction

Function DisableFacadeGuards()

	NQG07_Mael_GuardActorParent.Disable()

EndFunction

Function SetupSC03()

	NQ_G_05.SwitchChairs()
	_00E_SC_Mael.Moveto(_00E_NPCDumpMarker)
	_00E_MC_LeoraREF.Enable()
	_00E_MC_LeoraREF.MoveTo(_00E_NQ_G_05_DijaamTalkToMaelMarker)
	_00E_NQ_G_04_DoorGuardREF.MoveToMyEditorLocation()
	_00E_NQ_G_04_DoorGuardREF.Disable() ; need to disable him otherwise a package might kick in and he walks right into the prison before he is supposed to
	_00E_NQ_G_07_BloodSplatter01.Enable()
	_00E_NQ_G_07_BloodSplatter02.Enable()
	
	int iIndex = NQG07_Mael_GoldenSickleGuildhouseNPCs.GetSize() - 1
	
	while iIndex >= 0
		ObjectReference akActorToDisable = NQG07_Mael_GoldenSickleGuildhouseNPCs.GetAt(iIndex) as ObjectReference
		akActorToDisable.Disable()
		iIndex -= 1
	endwhile

EndFunction

Function SetupSC04()

	_00E_NQ_G_07_PrisonGuardREF.Enable()
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07_DijaamShackleMarker)

EndFunction

Function SetupSC05()

	_00E_NQ_G_07Mael_DoorToLockREF.Setopen(false)
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(true)
	_00E_NQ_G_07Mael_DoorToLockREF.SetLockLevel(255)
	_00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF.Enable()
	_00E_NQ_G_07Mael_MaelShackleMarker.Enable()
	_00E_NQ_G_07Dijaam_EscalationKontorEnableMarker.Enable()
	_00E_SC_Mael.MoveTo(_00E_NQ_G_07Mael_MaelShackleMarker)
	_00E_SC_Mael.Enable()
	_00E_SC_Mael.BlockActivation()
	_00E_SC_Mael.SetHeadTracking(False)
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Mael_DijaamTeleportTheaterMarker)

EndFunction

Function SetupSC06()

	_00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF.Disable()
	_00E_NQ_G_07Mael_RopeKontorREF.Disable()
	_00E_NQ_G_07Mael_DoorToLockREF.SetLockLevel(0)
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(false)
	NQ_G_05.SwitchChairs()
	_00E_NQ_G_07_PrisonGuardREF.Disable()
	
	NQ_G_07_JailDoorREF.Enable()
	_00E_TeleportGlobal.SetValueInt(0)

EndFunction

Function SetupSC07()

	_00E_NQ_G_07_SalviraREF.MoveTo(_00E_NQ_G_07_SalviraStandMarker)
	_00E_NQ_G_07_ApothekariusREF.MoveTo(_00E_NQ_G_07_SalviraDialoguePartnerStandMarker)
	
EndFunction

Function StartSC01()

	NQ_G_07Mael_SC01_MaelMissionBrief.ForceStart()

EndFunction

Function StartSC02()

	NQ_G_07Mael_SC02_EscalationKontor.ForceStart()
	
EndFunction

Function StartSC03()

	NQ_G_07Mael_SC03_MaelDisappearance.ForceStart()

EndFunction

Function StartSC04()

	NQ_G_07Mael_SC04_DijaamPrison.ForceStart()

EndFunction

Function StartSC05()

	NQ_G_07Mael_SC05_TheaterFinale.ForceStart()

EndFunction

Function StartSC06()

	NQ_G_07Mael_SC06_MaelTalkAtSickle.ForceStart()

EndFunction

Function StartSC07()

	NQ_G_07Mael_SC07_HouseOfApothekarii.ForceStart()

EndFunction

Function DisablePrisonGuards()

	int iIndex = NQG07_PrisonNPCs.GetSize() - 1
	
	while iIndex >= 0
		ObjectReference akActorToDisable = NQG07_PrisonNPCs.GetAt(iIndex) as ObjectReference
		akActorToDisable.Disable()
		iIndex -= 1
	endwhile
	
EndFunction

Function ReEnablePrisonGuards()

	int iIndex = NQG07_PrisonNPCs.GetSize() - 1
	
	while iIndex >= 0
		ObjectReference akActorToDisable = NQG07_PrisonNPCs.GetAt(iIndex) as ObjectReference
		akActorToDisable.Enable()
		iIndex -= 1
	endwhile

EndFunction

Function ShowLetterThoughtMessage()
	
	_00E_NQG07_Mael_LetterThoughtMessage.ShowAsHelpMessage(_00E_NQG07_Mael_LetterThoughtMessage, 5, 1, 1)

EndFunction

;=====================================================================================
;              						DIJAAM SCENES                  					 
;=====================================================================================
Function SetupSC01D()

	_00E_SC_DijaamOnelys.Enable()
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_06_DijaamSitMarker)
	_00E_SC_Mael.Disable()

EndFunction

Function PrepareSetupSC02D()

	_00E_NQ_G_07Dijaam_ArriveAtKontorTrigger.Enable()
	DisableKontorWorkers()

EndFunction

Function SetupSC02D()

	_00E_NQ_G_07Mael_KontorOuterDoorREF.lock(false)
	_00E_SC_DijaamOnelys.AddItem(_25E_Unique_KileanFalcata, 1)
	_00E_SC_DijaamOnelys.EquipItem(_25E_Unique_KileanFalcata)
	
	;re-enables needed NPCs plus extra NPCs
	_00E_NQ_G_07Dijaam_EscalationKontorEnableMarker.Enable()
	_00E_NQ_G_07_MazetoREF.Enable()
	_00E_NQ_G_07_DoriaREF.Enable()
	_00E_NQ_G_07_Kontorworker03REF.Enable()
	_00E_NQ_G_07_Kontorworker04REF.Enable()
	_00E_NQ_G_07Dijaam_Mercenary01REF.Enable()
	_00E_NQ_G_07Dijaam_Mercenary02REF.Enable()
	
	;reassigning factions for combat
	_00E_NQ_G_07Dijaam_Mercenary01REF.RemoveFromAllFactions()
	_00E_NQ_G_07Dijaam_Mercenary02REF.RemoveFromAllFactions()
	_00E_SC_DijaamOnelys.RemoveFromAllFactions()
	
	_00E_NQ_G_07_Kontorworker03REF.RemoveFromAllFactions()
	_00E_NQ_G_07_Kontorworker04REF.RemoveFromAllFactions()
	_00E_NQ_G_07_DoriaREF.RemoveFromAllFactions()
	
	_00E_NQ_G_07Dijaam_Mercenary01REF.AddToFaction(NQ_G_07Dijaam_SugarIsleFaction)
	_00E_NQ_G_07Dijaam_Mercenary02REF.AddToFaction(NQ_G_07Dijaam_SugarIsleFaction)
	_00E_SC_DijaamOnelys.AddToFaction(NQ_G_07Dijaam_SugarIsleFaction)
	PlayerREF.AddToFaction(NQ_G_07Dijaam_SugarIsleFaction)
	
	_00E_NQ_G_07_Kontorworker03REF.AddToFaction(NQ_G_03_PetrifiedCombatFaction)
	_00E_NQ_G_07_Kontorworker04REF.AddToFaction(NQ_G_03_PetrifiedCombatFaction)
	_00E_NQ_G_07_DoriaREF.AddToFaction(NQ_G_03_PetrifiedCombatFaction)
	
	;setting up the scene
	_00E_NQ_G_07Dijaam_Mercenary01REF.MoveTo(_00E_NQ_G_07Dijaam_Mercenary01Marker)
	_00E_NQ_G_07Dijaam_Mercenary02REF.MoveTo(_00E_NQ_G_07Dijaam_Mercenary02Marker)
	
	_00E_NQ_G_07_Kontorworker03REF.MoveTo(_00E_NQ_G_07Dijaam_NpcCoverMarker02)
	_00E_NQ_G_07_Kontorworker04REF.MoveTo(_00E_NQ_G_07Dijaam_NpcCoverMarker01)
	_00E_NQ_G_07_Kontorworker04REF.SetGhost(True)
	_00E_NQ_G_07_Kontorworker03REF.SetGhost(True)
	_00E_NQ_G_07_MazetoREF.SetGhost(True)
	_00E_NQ_G_07_DoriaREF.SetGhost(True)
	_00E_NQ_G_07_DoriaREF.MoveTo(_00E_NQ_G_07Dijaam_DoriaKonfrontationStandMarker)
	
	;adding weapons to npcs
	;_00E_SC_DijaamOnelys.AddItem(_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF, 1)
	_00E_NQ_G_07_Kontorworker03REF.AddItem(__Config_KontorWorkerWeapon, 1)
	_00E_NQ_G_07_Kontorworker04REF.AddItem(__Config_KontorWorkerWeapon, 1)
	_00E_NQ_G_07_DoriaREF.AddItem(__Config_KontorWorkerWeapon, 1)
	;_00E_SC_DijaamOnelys.EquipItem(_00E_NQ_G_07Dijaam_DijaamSwordActivatorREF)

EndFunction

Function KillOffKontorworkersFailsave()

	If !_00E_NQ_G_07_DoriaREF.IsDead()
		_00E_NQ_G_07_DoriaREF.Kill(PlayerREF)
	EndIf
	
	If !_00E_NQ_G_07_Kontorworker03REF.IsDead()
		_00E_NQ_G_07_Kontorworker03REF.Kill(PlayerREF)
	EndIf
	
	If !_00E_NQ_G_07_Kontorworker04REF.IsDead()
		_00E_NQ_G_07_Kontorworker04REF.Kill(PlayerREF)
	EndIf
	
	If !_00E_NQ_G_07_Kontorworker04REF.IsDead()
		_00E_NQ_G_07_Kontorworker04REF.Kill(PlayerREF)
	EndIf
	
	If !_00E_NQ_G_07_MazetoREF.IsDead()
		_00E_NQ_G_07_MazetoREF.Kill(PlayerREF)
	EndIf

EndFunction

Function SetupSC03D()

	_00E_MC_LeoraREF.Enable()
	_00E_SC_Mael.Disable()
	_00E_NQ_G_07Dijaam_EscapeFromKontorSceneEnableMarker.Enable()
	_00E_MC_LeoraREF.MoveTo(_00E_NQ_G_07Dijaam_LeoraStandMarker)
	NQ_G_07_NoEscapeDoorREF.Lock()
	NQ_G_07_NoEscapeDoorREF.SetLockLevel(255)
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Dijaam_DijaamTombMarker)
	_00E_EnderalOvercast.ForceActive(True)

EndFunction

Function SetupSC04D()

	SetObjectiveDisplayed(45)
	DisablePrisonGuards()
	_00E_SC_Mael.Disable()
	_00E_TeleportGlobal.SetValueInt(0)
	_00E_NQ_G_07Dijaam_PrisonGuardREF.Enable()
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07_DijaamShackleMarker)
	_00E_NQ_G_04_DoorGuardREF.Disable()	
	DijaamBloodSplattered()
	Weather.ReleaseOverride()
	_00E_NQ_G_07Dijaam_EscapeFromKontorSceneEnableMarker.Disable()
	_00E_MC_LeoraREF.MoveTo(MQ10b_SC02_LeoraStartMarker)

EndFunction

Function ShowSpottedMessageAndLoseGame()

	MAGVampireSunlight.Play(PlayerREF)
	_00E_NQG07Dijaam_Spotted.Show()
	Wait(2)
	Game.QuitToMainMenu()
	
EndFunction

Function SetupSC05D()

	if Self.GetStage() < 80

		_00E_NQ_G_07Mael_DoorToLockREF.Setopen(false)
		_00E_NQ_G_07Mael_DoorToLockREF.Lock(true)
		_00E_NQ_G_07Mael_DoorToLockREF.SetLockLevel(255)
		_00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF.Disable()
		_00E_NQ_G_07Mael_MaelShackleMarker.Enable()
		_00E_SC_Mael.MoveTo(_00E_NQ_G_07Mael_MaelShackleMarker)
		_00E_NQ_G_07Dijaam_EscalationKontorEnableMarker.Disable()
		_00E_SC_Mael.Enable()
		_00E_SC_Mael.SetHeadTracking(False)
		_00E_SC_Mael.BlockActivation()
		_00E_SC_Mael.SetGhost(true)
		_00E_NQ_G_07Dijaam_GreenScarabREF.Enable()
		_00E_NQ_G_07Dijaam_GreenScarabREF.BlockActivation(True)
		MoveDijaamToPlayerSewer()
		
		StartSC05D()
		
	EndIf

EndFunction

Function SetupSC06D()

	_00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF.Disable()
	_00E_NQ_G_07Mael_DoorToLockREF.SetLockLevel(0)
	_00E_NQ_G_07Mael_DoorToLockREF.Lock(false)
	_00E_NQ_G_07Dijaam_PrisonGuardREF.Disable()
	_00E_SC_DijaamOnelys.RemoveItem(_25E_Unique_KileanFalcata, _00E_SC_DijaamOnelys.GetItemCount(_25E_Unique_KileanFalcata))
	
	DespawnTheaterSceneDijaam()
	
EndFunction

Function SetupAndStartSC07D()

	FadeToBlackIMOD.Apply()
	Wait(2)
	FadeToBlackHoldIMOD.ApplyCrossFade(1)
	
	ResetTheaterDijaam()
	
	StartSC07D()
	_00E_SilenceAbruptHighPriority.Add()
	Levelsystem.SkipTimeToHour(1)
	
	_00E_NQ_G_07Dijaam_HideOutMarker.Enable()
	
	_00E_NQ_G_07Dijaam_ScarabREF.Enable()
	_00E_NQ_G_07Dijaam_ScarabREF.BlockActivation()
	If PlayerREF.GetEquippedWeapon(true) != None
		PlayerREF.UnequipItem(PlayerREF.GetEquippedWeapon(true))
	EndIf
	If PlayerREF.GetEquippedWeapon(false) != None
		PlayerREF.UnequipItem(PlayerREF.GetEquippedWeapon(false))
	EndIf
	_00E_SC_DijaamOnelys.SetOutfit(_00E_SC_DijaamOutfit)
	_00E_SC_DijaamOnelys.RemoveItem(CapitalCityHaendlergilde, 1)
	_00E_SC_DijaamOnelys.RemoveItem(CapitalCityKontorKey, 1)
	_00E_SC_DijaamOnelys.RemoveItem(_00e_Calia_Necklace, 1)
	_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_07Dijaam_DijaamSitMarker)
	PlayerREF.MoveTo(_00E_NQ_G_07Dijaam_PlayerHideoutStandMarker)
	If PlayerREF.IsWeaponDrawn()
		PlayerREF.SheatheWeapon()
	EndIf
	_00E_NQ_G_07Dijaam_ScarabREF.SetMotionType(4)

EndFunction

Function SetupSC08D()

	_00E_NQ_G_07_SalviraREF.MoveTo(_00E_NQ_G_07_SalviraStandMarker)
	_00E_NQ_G_07_UndercityDwellerREF.MoveTo(_00E_NQ_G_07_SalviraDialoguePartnerStandMarker)

EndFunction

Function StartSC01D()

	NQ_G_07Dijaam_SC01_DijaamTalkAtTavern.ForceStart()

EndFunction

Function StartSC02D()

	_00E_NQ_G_07Mael_KontorInnerDoorREF.BlockActivation(True)
	NQ_G_07Dijaam_SC02_KontorEscalation.ForceStart()
	_00E_SilenceAbruptHighPriority.Add()

EndFunction

Function StartSC03D()

	NQ_G_07Dijaam_SC03_EscapeThroughTomb.ForceStart()

EndFunction

Function StartSC04D()

	NQ_G_07Dijaam_SC04_DijaamPrisonBreak.ForceStart()

EndFunction

Function SetUpGraveyardScene()

	NQG07Dijaam_Navcut_01.Enable()
	NQG07Dijaam_Navcut_02.Enable()
	Levelsystem.SkipTimeToHour(22.0)
	_00E_QuestFunctions.DisableReferenceFormList(NQG07_GraveyardNPCs)
	
	_00E_SC_DijaamOnelys.MoveTo(PlayerREF)
		
EndFunction

Function ResetGraveyardScene()

	NQG07Dijaam_Navcut_01.Disable()
	NQG07Dijaam_Navcut_02.Disable()

	int iIndex = NQG07_GraveyardNPCs.GetSize() - 1

	while iIndex >= 0 && Self.GetStage() <= 70
	
		Actor akActorToEnable = NQG07_GraveyardNPCs.GetAt(iIndex) as Actor
		akActorToEnable.MoveToMyEditorLocation()
		akActorToEnable.Enable()
		akActorToEnable.MoveToMyEditorLocation()
		iIndex -= 1
		
	endwhile

EndFunction

Function StartSC05D()

	if Self.GetStage() < 80
	
		NQ_G_07Dijaam_SC05_TheaterFinale.ForceStart()

	EndIf
		
EndFunction

Function StartSC06D()

	NQ_G_07Dijaam_SC06_TheaterDijaamDead.ForceStart()

EndFunction

Function StartSC07D()

	NQ_G_07Dijaam_SC07_DijaamHideOut.ForceStart()

EndFunction

Function StartSC08D()

	NQ_G_07Dijaam_SC08_HouseOfApothekarii.ForceStart()

EndFunction

Function ClearSalvinaAlias()

	Salvira.Clear()

EndFunction
;=====================================================================================
;              							PROPERTIES                  					 
;=====================================================================================

float fPlayerScale

bool bDijaamFainted
bool bKontorBattleRunning

bool Property bDijaamHanged Auto Conditional Hidden
bool Property bDijaamFollowing = true Auto Conditional Hidden
bool Property bKillMovesDeactivated Auto Hidden

;rewards
int Property __Config_RewardEXP Auto
int Property __Config_RewardMoney Auto
int Property __Config_LeoraRewardMoney Auto
MiscObject Property Gold001 Auto
Armor Property _00E_NQ_G_07Mael_RewardAmulet Auto

Race Property HighElfRace Auto

Cell Property CapitalCityGoldenSickleKontor Auto

; alias

ReferenceAlias Property Salvira Auto

;items
Book Property _00E_NQ_G_06_SickleNote Auto
Book Property _00E_NQ_G_07Mael_LetterLeora Auto
Book Property _00E_NQ_G07Dijaam_FenceNote Auto
Book Property _00E_NQ_G_07_NoteGoToTheater Auto

Objectreference Property _00E_NQ_G_07_NoteGoToTheaterREF Auto
Objectreference Property _00E_NQ_G_07Mael_PrisonOpenSecretDoorLeverREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_CellDoorKeyREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_GreenScarabREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_BagREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_LeoraMoneyBagREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_FenceMoneyBagREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamSwordActivatorREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_ScarabREF Auto
Objectreference Property NQ_G_07_JailDoorREF Auto
MiscObject Property _00E_NQ_G_07_PetrifiedPotion Auto
Armor Property _00E_Calia_Necklace Auto
Armor Property _00E_NQ_G_01_Necklace Auto
Armor Property _00E_InvisibleHelmet_Armor Auto
Weapon Property __Config_MendelusWeapon Auto
Weapon Property __Config_KontorWorkerWeapon Auto
Weapon Property _25E_Unique_KileanFalcata Auto
Weapon Property _45E_Unique_HighwaymansOde Auto
Key Property _00E_NQ_G_07_DijaamCellKey Auto
Key Property _00E_NQ_G_07_KontorTrapdoorKey Auto
Key Property _00E_NQ_G_07Dijaam_BankKey1112Leora Auto
Key Property ArkTheaterKey Auto
Key Property _00E_NQ_G_07Dijaam_BankKey1212Fence Auto
Key Property CapitalCityHaendlergilde Auto
Key Property CapitalCityKontorKey Auto
Key Property _00E_NQ_G_07Dijaam_DijaamShackleKey Auto

;doors
ObjectReference Property _00E_NQ_G_07Mael_KontorInnerDoorREF Auto
ObjectReference Property _00E_NQ_G_07Mael_KontorOuterDoorREF Auto
ObjectReference Property _00E_NQ_G_07Mael_KontorOuterDoorNewREF Auto
ObjectReference Property _00E_NQ_G_07Mael_RopeKontorREF Auto
ObjectReference Property _00E_NQ_G_07Dijaam_TrapdoorREF Auto
Objectreference Property _00E_NQ_G_07Mael_DoorToLockREF Auto
Objectreference Property NQG07Dijaam_Navcut_01 Auto
Objectreference Property NQG07Dijaam_Navcut_02 Auto
Objectreference Property NQG07_TheaterDoor_01 Auto
Objectreference Property NQG07_TheaterDoor_02 Auto
Objectreference Property NQ_G_07_NoEscapeDoorREF Auto

;scenes mael
Scene Property NQ_G_07Mael_SC01_MaelMissionBrief Auto
Scene Property NQ_G_07Mael_SC02_EscalationKontor Auto
Scene Property NQ_G_07Mael_SC03_MaelDisappearance Auto
Scene Property NQ_G_07Mael_SC04_DijaamPrison Auto
Scene Property NQ_G_07Mael_SC05_TheaterFinale Auto
Scene Property NQ_G_07Mael_SC06_MaelTalkAtSickle Auto
Scene Property NQ_G_07Mael_SC07_HouseOfApothekarii Auto

;scenes dijaam
Scene Property NQ_G_07Dijaam_SC01_DijaamTalkAtTavern Auto
Scene Property NQ_G_07Dijaam_SC02_KontorEscalation Auto
Scene Property NQ_G_07Dijaam_SC03_EscapeThroughTomb Auto
Scene Property NQ_G_07Dijaam_SC04_DijaamPrisonBreak Auto
Scene Property NQ_G_07Dijaam_SC05_TheaterFinale Auto
Scene Property NQ_G_07Dijaam_SC06_TheaterDijaamDead Auto
Scene Property NQ_G_07Dijaam_SC07_DijaamHideOut Auto
Scene Property NQ_G_07Dijaam_SC08_HouseOfApothekarii Auto

;actors
Actor Property NQG07_Mael_GuardActorParent Auto
Actor Property PlayerREF Auto
Actor Property _00E_SC_Mael Auto
Actor Property _00E_SC_DijaamOnelys Auto
Actor Property _00E_NQ_G_04_DoorGuardREF Auto
Actor Property _00E_MC_LeoraREF Auto
Actor Property _00E_NQ_G_07_OolanREF Auto
Actor Property _00E_NQ_G_07_WuulasREF Auto
Actor Property _00E_SC_MendelusVollerbeutel Auto
Actor Property _00E_NQ_G_07_MendelusREF Auto
Actor Property _00E_NQ_G_07_DevraREF Auto
Actor Property _00E_NQ_G_07_AlyxREF Auto
Actor Property _00E_NQ_G_07_RogashREF Auto
Actor Property _00E_NQ_G_07Mael_CorpseDoria Auto
Actor Property _00E_NQ_G_07_DoriaREF Auto
Actor Property _00E_NQ_G_07_GunamREF Auto
Actor Property _00E_NQ_G_07_Kontorworker03REF Auto
Actor Property _00E_NQ_G_07_Kontorworker04REF Auto
Actor Property _00E_NQ_G_07_PrisonGuardREF Auto
Actor Property _00E_NQ_G_07Dijaam_Mercenary01REF Auto
Actor Property _00E_NQ_G_07Dijaam_Mercenary02REF Auto
Actor Property _00E_NQ_G_07_MazetoREF Auto
Actor Property _00E_NQ_G_07Dijaam_DijaamCorpseREF Auto
Actor Property _00E_NQ_G_07Dijaam_PrisonGuardREF Auto
Actor Property _00E_SC_DijaamOnelysCorpseREF Auto
Actor Property _00E_NQ_G_07_UndercityDwellerREF Auto
Actor Property _00E_NQ_G_07_ApothekariusREF Auto
Actor Property _00E_NQ_G_07_SalviraREF Auto
Actor Property _00E_NQ_G_OfelioREF Auto
Actor Property NQG07_Mercenary_REF Auto
Actor Property NQG07_GomesBalanREF Auto

;marker
Objectreference Property _00E_NQ_G_05_DijaamTeleportMarker Auto
Objectreference Property _00E_NQ_G_05_DijaamTalkToMaelMarker Auto
Objectreference Property _00E_NPCDumpMarker Auto
Objectreference Property _00E_NQ_G_07_DijaamShackleMarker Auto
Objectreference Property _00E_NQ_G_07Mael_OolanStandMarker Auto
Objectreference Property _00E_NQ_G_07Mael_WuulasStandMarker Auto
Objectreference Property _00E_NQ_G_07Mael_DijaamThrowFlashPowderMarker Auto
Objectreference Property _00E_NQ_G_07Mael_MaelShackleMarker Auto
Objectreference Property _00E_NQ_G_07Mael_DijaamTeleportTheaterMarker Auto
Objectreference Property _00E_NQ_G_07_MendelusTheaterLeanMarker Auto
Objectreference Property _00E_NQ_G_07_PoisonArrowSourceREF Auto
Objectreference Property _00E_NQ_G_07_Mael_AlyxTeleportTheaterMarker Auto
Objectreference Property _00E_NQ_G_07_Mael_DevraTeleportTheaterMarker Auto
Objectreference Property _00E_NQ_G_07Mael_KontorMassacreEnableMarker Auto
Objectreference Property _00E_NQ_G_07Mael_RogashTeleportMarker Auto
Objectreference Property _00E_NQ_G_06_DijaamSitMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamKontorMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_EscalationKontorEnableMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_Mercenary01Marker Auto
Objectreference Property _00E_NQ_G_07Dijaam_Mercenary02Marker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DoriaKonfrontationStandMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_NpcCoverMarker01 Auto
Objectreference Property _00E_NQ_G_07Dijaam_NpcCoverMarker02 Auto
Objectreference Property _00E_NQ_G_07Dijaam_LeoraStandMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_EscapeFromKontorSceneEnableMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_OolanStandMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_ProtektorStandMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_PlayerPositionMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_LeoraPositionMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_HideOutMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamSitMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_PlayerHideoutStandMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_PlayerSleepMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamTombMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamGraveyardTeleportMarker Auto
Objectreference Property _00E_NQ_G_07Dijaam_DijaamSewerTeleport Auto
Objectreference Property _00E_NQ_G_07_SalviraStandMarker Auto
Objectreference Property _00E_NQ_G_07_SalviraDialoguePartnerStandMarker Auto
Objectreference Property FS_NQ_G_07_DijaamExplosionREF Auto
Objectreference Property FS_NQ_G_07_PressurePlateREF Auto
ObjectReference Property MQ10b_SC02_LeoraStartMarker Auto

;triggerboxes
Objectreference Property _00E_NQ_G_07Dijaam_OolanProtektorDiscoverTrigger Auto
Objectreference Property _00E_NQ_G_07Dijaam_ArriveAtKontorTrigger Auto

;bell for distracting guard
Objectreference Property _00E_NQ_G_07Dijaam_DistractionBellREF Auto
Objectreference Property _00E_NQ_G_07Dijaam_BellIInteractREF Auto

;blood
ObjectReference Property _00E_NQ_G_07_BloodSplatter01 Auto
ObjectReference Property _00E_NQ_G_07_BloodSplatter02 Auto
ObjectReference Property _00E_NQ_G_07Mael_BloodsplatterDecalREF Auto

;shader
EffectShader Property _00E_BloodyFXShader Auto
EffectShader Property EnchBlueFXShader Auto

;imagespacemodifiers
ImagespaceModifier Property FadeToBlackIMOD Auto
ImagespaceModifier Property FadeToBlackHoldIMOD Auto
ImagespaceModifier Property FadeToBlackBackIMOD Auto
ImagespaceModifier Property _00E_NQ_G_07Mael_DijaamFlashPowderIMOD Auto
ImagespaceModifier Property _00E_NQ_G_07Mael_DijaamFlashPowderLongerIMOD Auto
ImagespaceModifier Property MAGShockExpImod Auto

;spells
Spell Property _00E_NQ_G_07_PoisonArrow Auto
Spell Property _00E_AbPosessed Auto

;activation override sphere
ObjectReference Property _00E_NQ_G_07MaelActivateOverrideREF Auto
ObjectReference Property _00E_NQ_G_07Dijaam_DijaamReleaseInteractREF Auto
ObjectReference Property _00E_NQ_G_07DijaamActivateOverrideREF Auto
ObjectReference Property NQG07Mael_MaelWakeUpREF Auto
ObjectReference Property _00E_TeleportMarker_Suntemple Auto
ObjectReference Property NQG07Dijaam_SC4_EscapeCollision Auto

;effects for petrified teleport
VisualEffect Property _00E_A2_GhostwalkTeleportReappearVFX Auto
Static Property XMarkerHeading Auto ;for placing the ravens
Explosion Property ExplosionShockMassNoEffects Auto
Explosion Property ExplosionShockMassNoEffectsSmall Auto

;animations
Idle Property pa_2HMKillMoveDecapSlash Auto
Idle Property _00E_IdleThrow Auto
Idle Property _00E_IdleFaint Auto
Idle Property _00E_IdleGetUp Auto

;formlist for handling actors in kontor
Formlist Property _00E_NQ_G_07_KontorNPCs Auto
Formlist Property NQG07_Mael_GoldenSickleGuildhouseNPCs Auto
Formlist Property NQG07_PrisonNPCs Auto
Formlist Property NQG07_GraveyardNPCs Auto

;globals
GlobalVariable Property KillMove Auto
GlobalVariable Property _00E_TeleportGlobal Auto
GlobalVariable Property _00E_NQG07_DijaamKnockedOut Auto

;outfits
Outfit Property _00E_SC_DijaamOutfitDead Auto
Outfit Property _00E_SC_DijaamOutfit Auto
Outfit Property MinerClothesOutfit02 Auto

Message Property _00E_NQG07Dijaam_Spotted Auto

;faction
Faction Property NQ_G_03_PetrifiedCombatFaction Auto
Faction Property NQ_G_07Dijaam_SugarIsleFaction Auto
Faction Property PlayerAlliesFaction Auto
Faction Property A_CrimeFaction Auto

;for kiss scene
SoundCategory Property AudioCategoryMAG Auto
SoundCategory Property AudioCategorySFX Auto
Idle Property pa_Idle_Kiss_FemaleMale Auto
Idle Property pa_Idle_Kiss_FemaleFemale Auto
Idle Property IdleStop_Loose Auto
Idle Property pa_1HMKillMoveShortB Auto
Spell Property _00E_Game_abSlowTime Auto

MusicType Property _00E_Music_Special_Romance Auto
MusicType Property _00E_Music_Combat_Dark Auto
MusicType Property _00E_SilenceAbruptHighPriority Auto

;explosion for flashpowder
Explosion Property _00E_A1_FlashpowderExplosion Auto

Message Property _00E_NQG07_Mael_LetterThoughtMessage Auto

;weather for mood
Weather Property _00E_EnderalOvercast Auto

Sound Property MAGPowerRacialPacifyFire Auto
Sound Property _00E_SC_DijaamAttackScreamM Auto
Sound Property _00E_MagicProtectionSpell02M Auto
Sound Property MAGVampireSunlight Auto
Sound Property TRPPressurePlateMetal Auto
Sound Property _00E_Male_PlayerHitM Auto

; scarab
Perk Property _00E_Class_Infiltrator_P08_C_Seducer Auto
MiscObject Property _00E_NQ_G_07_Scarab Auto

;function calls
_00E_QuestFunctions Property Levelsystem Auto
_00E_NQ_G_05_Functions Property NQ_G_05 Auto
_00E_NQ_G_01_Functions Property NQ_G_01 Auto