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

279 lines
7.9 KiB

Scriptname _00E_FS_NQR02_Functions extends Quest
Import _00E_QuestFunctions
;=====================================================================================
; EVENTS
;=====================================================================================
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function SetUpSC01()
SetObjectiveDisplayed(5)
FS_NQR02_TharaelREF.Enable()
FS_NQR02_TharaelREF.RemoveItem(_00E_FS_NQR_TharaelsBow, 1, true)
FS_NQR02_TharaelREF.RemoveItem(_00E_FS_NQR_TharaelsArrows, 55, true)
FS_NQR02_DummyToDisableREF.Disable()
FS_NQR02_IAmInTheWayDogREF.Disable()
FS_NQR02_TharaelREF.AddToFaction(PlayerAlliesFaction)
FS_NQR02_TharaelREF.MoveTo(FS_NQR02_SC01_TharaelMarker)
FS_NQR02_TharaelREF.SetAlpha(1.0)
FS_NQR02_TharaelREF.SetOutfit(_00E_FeinlederrstungCowl)
FS_NQR02_TharaelREF.EquipItemEx(_00E_FS_NQR05_Tharael_Dagger, 1, true)
EndFunction
Function SetUpSC02()
SetObjectiveCompleted(5)
SetObjectiveDisplayed(10)
FS_NQR02_QalianREF.Enable()
FS_NQR02_QalianREF.BlockActivation(True)
FS_NQR02_SC02_WhoreREF.Enable()
FS_NQR02_SC02_MeetingQalian.ForceStart()
EndFunction
Function BlockBedrollActivation()
FS_NQR02_QalianBedrollREF.BlockActivation(True)
EndFunction
Function UnblockActivationQalian()
FS_NQR02_QalianREF.BlockActivation(False)
EndFunction
Function SetUpSC03()
SetObjectiveCompleted(11)
SetObjectiveDisplayed(15)
FS_NQR02_SC02_WhoreREF.Disable()
FS_NQR02_SC03_DisableMarker.Disable()
FS_NQR02_SC03_QalianLeadsGroupToPit.ForceStart()
FS_NQR02_Banditparent.Enable()
EndFunction
Function SetUpSC04()
_00E_QuestFunctions.SetNPCAsCompanion(FS_NQR02_TharaelREF, True, 550, 400, 400)
FS_NQR02_SC04_TarPit.ForceStart()
EndFunction
Function MoveGroup()
FadeToBlackIMOD.Apply()
Utility.Wait(2)
FadeToBlackHoldIMOD.ApplyCrossFade(2)
PlayerREF.MoveTo(FS_NQR02_SC04_PlayerMarker)
FS_NQR02_TharaelREF.MoveTo(FS_NQR02_SC04_TharaelMarker)
FS_NQR02_QalianREF.MoveTo(FS_NQR02_SC04_QalianMarker)
FadeToBlackBackIMOD.ApplyCrossFade(1)
EndFunction
;Removed this function since it's pretty unnecessary - Till
;Function PortIfNotNear()
;
; If FS_NQR02_TharaelREF.GetDistance(PlayerREF) >= 750
; FS_NQR02_TharaelREF.MoveTo(PlayerREF)
; EndIf
;
; If FS_NQR02_QalianREF.GetDistance(PlayerREF) >= 750
; FS_NQR02_QalianREF.MoveTo(PlayerREF)
; EndIf
;
;EndFunction
Function SetUpSC05()
SetObjectiveCompleted(15)
SetObjectiveDisplayed(20)
FS_NQR02_SC05_CorpseDiscovery.ForceStart()
EndFunction
Function UpdateObjectivesSkeleton()
SetObjectiveCompleted(20)
SetObjectiveDisplayed(25)
EndFunction
Function TharaelResetAnimation()
; Debug.SendAnimationEvent(FS_NQR02_TharaelREF, "IdleForceDefaultState")
EndFunction
Function Dig()
FS_NQR02_TharaelREF.SetGhost(True)
FS_NQR02_QalianREF.SetGhost(True)
FadeToBlackIMOD.Apply()
Utility.Wait(2)
FadeToBlackHoldIMOD.ApplyCrossFade(2)
If FS_NQR02_SC05_OilPoolREF.IsEnabled()
FS_NQR02_SC05_OilPoolREF.Disable()
EndIf
FS_NQR02_SC05_DirtPilEREF.Enable()
FS_NQR02_SC05CollisionREF.Enable()
FS_NQR02_OpenLidREF.BlockActivation(True)
FS_NQR02_TharaelREF.MoveTo(FS_NQR02_SC05_QalianMarker)
PlayerREF.MoveTo(FS_NQR02_SC05_PlayerMarker)
FadeToBlackBackIMOD.ApplyCrossFade(1)
EndFunction
Function OpenLid()
SetObjectiveDisplayed(27)
FS_NQR02_OpenLidREF.BlockActivation(False)
; FS_NQR02_OpenLidREF.SetOpen(True)
EndFunction
Function UpdateObjectivesCorpse()
if FS_NQR02_OpenLidREF.GetOpenState() != 1
FS_NQR02_OpenLidREF.SetOpen(True)
EndIf
if FS_NQR02_OpenLidREF.GetOpenState() != 1 || FS_NQR02_OpenLidREF.GetOpenState() == 2
FS_NQR02_OpenLidREF.Disable()
EndIf
SetObjectiveCompleted(27)
SetObjectiveCompleted(25)
SetObjectiveDisplayed(30)
EndFunction
Function SetUpSC06()
_00E_QuestFunctions.SetNPCAsCompanion(FS_NQR02_TharaelREF, False)
FS_NQR02_TharaelREF.EquipItemEx(_00E_FS_NQR05_Tharael_Dagger, 1, true)
SetObjectiveCompleted(30)
SetObjectiveDisplayed(35)
FS_NQR02_SC06_QalianConfrontation.ForceStart()
EndFunction
Function TharaelKillQalian()
FS_NQR02_QalianREF.SetGhost(False)
FS_NQR02_QalianREF.GetActorBase().SetEssential(False)
FS_NQR02_TharaelREF.PlayIdleWithTarget(pa_1HMKillMoveDualWieldA, FS_NQR02_QalianREF)
;FS_NQR02_TharaelREF.PlayIdleWithTarget(pa_1HMKillMoveShortJ, FS_NQR02_QalianREF)
Utility.Wait(5)
; FS_NQR02_QalianREF.Kill(FS_NQR02_TharaelREF)
EndFunction
Function FinishUp()
SetObjectiveCompleted(35)
_00E_QuestFunctions.SetNPCAsCompanion(FS_NQR02_TharaelREF, False)
Levelsystem.RemoveSilence()
Levelsystem.RemoveCombatSoundtracks()
Levelsystem.SetAllowIdleChatter(True)
Levelsystem.GiveEP(__Config_iRewardEXP)
FS_NQR03.SetStage(5)
Self.CompleteQuest()
Levelsystem.TeleportNPC(FS_NQR02_TharaelREF, _00E_NPCDumpMarker)
FS_NQR02_TharaelREF.Disable()
FS_NQR02_DummyToDisableREF.Enable()
FS_NQR02_IAmInTheWayDogREF.Enable()
FS_NQR02_SC03_DisableMarker.Enable()
FS_TharaelDialogue.SetStage(5)
FS_EnvironmentScene04.SetStage(5)
If _00E_AchievementsEnabled.GetValueInt() == 1
If _00E_FS_NQR02_SparedQalian.GetValueInt() == 0
Steam.UnlockAchievement("END_QALIAN_01")
Else
Steam.UnlockAchievement("END_QALIAN_02")
EndIf
EndIf
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
int __Config_iRewardEXP = 500
_00E_QuestFunctions Property Levelsystem Auto
Actor Property FS_NQR02_TharaelREF Auto
Actor Property FS_NQR02_QalianREF Auto
Actor Property FS_NQR02_SC02_WhoreREF Auto
Actor Property FS_NQR02_DummyToDisableREF Auto
Actor Property FS_NQR02_IAmInTheWayDogREF Auto
Actor Property PlayerREF Auto
Actor Property FS_NQR02_Banditparent Auto
ObjectReference Property FS_NQR02_SC01_TharaelMarker Auto
ObjectReference Property FS_NQR02_SC04_TharaelMarker Auto
ObjectReference Property FS_NQR02_SC04_QalianMarker Auto
ObjectReference Property FS_NQR02_SC04_PlayerMarker Auto
ObjectReference Property FS_NQR02_SC05_OilPoolREF Auto
ObjectReference Property FS_NQR02_SC05_DirtPilEREF Auto
ObjectReference Property FS_NQR02_SC05CollisionREF Auto
ObjectReference Property FS_NQR02_SC05_PlayerMarker Auto
ObjectReference Property FS_NQR02_SC05_QalianMarker Auto
ObjectReference Property FS_NQR02_OpenLidREF Auto
ObjectReference Property _00E_NPCDumpMarker Auto
ObjectReference Property FS_NQR02_QalianBedrollREF Auto
ObjectReference Property FS_NQR02_SC03_DisableMarker Auto
Idle Property pa_1HMKillMoveShortJ Auto
Idle Property pa_1HMKillMoveShortD Auto
Idle Property pa_1HMKillMoveShortK Auto
Idle Property pa_1HMKillMoveShortA Auto
Idle Property pa_1HMKillMoveShortC Auto
Idle Property pa_1HMKillMoveDualWieldA Auto
Idle Property pa_1HMKillMoveShortB Auto
Idle Property KillMoveDualWield Auto
Idle Property KillMoveDualWield00 Auto
Idle Property KillMoveDualWieldDecap00 Auto
Scene Property FS_NQR02_SC01_TharaelBarracksSC Auto
Scene Property FS_NQR02_SC02_MeetingQalian Auto
Scene Property FS_NQR02_SC03_QalianLeadsGroupToPit Auto
Scene Property FS_NQR02_SC04_TarPit Auto
Scene Property FS_NQR02_SC05_CorpseDiscovery Auto
Scene Property FS_NQR02_SC06_QalianConfrontation Auto
Faction Property PlayerAlliesFaction Auto
Quest Property FS_NQR03 Auto
Quest Property FS_TharaelDialogue Auto
Quest Property FS_EnvironmentScene04 Auto
Weapon Property _00E_FS_NQR05_Tharael_Dagger Auto
Outfit Property _00E_FeinlederrstungCowl Auto
Outfit Property _00E_FS_NQR_Rhalata_Voice_OutfitMask Auto
ImageSpaceModifier Property FadeToBlackIMOD Auto
ImageSpaceModifier Property FadeToBlackHoldIMOD Auto
ImageSpaceModifier Property FadeToBlackBackIMOD Auto
Weapon Property _00E_FS_NQR_TharaelsBow Auto
Ammo Property _00E_FS_NQR_TharaelsArrows Auto
GlobalVariable Property _00E_FS_NQR02_SparedQalian Auto
GlobalVariable Property _00E_AchievementsEnabled Auto