375 lines
8.9 KiB
Plaintext
375 lines
8.9 KiB
Plaintext
Scriptname _00E_FS_NQR03_Functions extends Quest
|
|
|
|
Import _00E_QuestFunctions
|
|
Import Utility
|
|
|
|
;=====================================================================================
|
|
; EVENTS
|
|
;=====================================================================================
|
|
|
|
Event OnUpdateGameTime()
|
|
|
|
SetStage(10)
|
|
|
|
EndEvent
|
|
|
|
Event OnUpdate()
|
|
Game.EnablePlayerControls()
|
|
EndEvent
|
|
|
|
;=====================================================================================
|
|
; FUNCTIONS
|
|
;=====================================================================================
|
|
|
|
Function SetUp()
|
|
|
|
SetObjectiveDisplayed(5)
|
|
RegisterForSingleUpdateGameTime(24)
|
|
|
|
EndFunction
|
|
|
|
Function UnlockDoorEnableTharael()
|
|
|
|
FS_NQR03_BardREF.Enable()
|
|
FS_NQR03_BardREF.BlockActivation()
|
|
FS_NQR03_SC99_BardSC.ForceStart()
|
|
FS_NQR03_TharaelREF.Enable()
|
|
FS_NQR03_TharaelREF.MoveTo(FS_NQR03_SC01_TharaelMarkerREF)
|
|
FS_NQR03_TharaelREF.SetOutfit(_00E_FS_TharaelOutfit)
|
|
FS_NQR03_TharaelREF.RemoveItem(_00E_FS_NQR05_Tharael_Dagger, 2)
|
|
FS_NQR03_LethoREF.Enable()
|
|
SetObjectiveDisplayed(5, False)
|
|
SetObjectiveDisplayed(10)
|
|
FS_NQR03_DoorREF.Lock(False)
|
|
FS_NQR03_SC01_TharaelShedDiscussion.ForceStart()
|
|
FS_NQR03_SC03_SecretDoorREF.BlockActivation(True)
|
|
|
|
EndFunction
|
|
|
|
Function TharaelFailsave()
|
|
|
|
if FS_NQR03_TharaelREF.IsDisabled()
|
|
FS_NQR03_TharaelREF.Enable()
|
|
FS_NQR03_TharaelREF.MoveTo(FS_NQR03_SC01_TharaelMarkerREF)
|
|
EndIf
|
|
|
|
if !FS_NQR03_SC01_TharaelShedDiscussion.IsPlaying()
|
|
FS_NQR03_SC01_TharaelShedDiscussion.ForceStart()
|
|
endif
|
|
|
|
EndFunction
|
|
|
|
Function DisableBard()
|
|
|
|
FS_NQR03_BardREF.Disable()
|
|
FS_NQR03_SC99_BardSC.Stop()
|
|
|
|
EndFunction
|
|
|
|
Function OpenDoor()
|
|
|
|
FS_NQR03_SC03_SecretDoorREF.SetOpen(True)
|
|
|
|
EndFunction
|
|
|
|
Function PlayerEquipRobes()
|
|
|
|
PlayerREF.AddItem(_00E_FS_RhalataRobes_NoviceWithHood, 1)
|
|
PlayerREF.EquipItem(_00E_FS_RhalataRobes_NoviceWithHood)
|
|
|
|
EndFunction
|
|
|
|
Function SetUpBrotherSorrow()
|
|
|
|
SetObjectiveCompleted(10)
|
|
SetObjectiveDisplayed(15)
|
|
|
|
if !FS_NQR03_SC01_TharaelShedDiscussion.IsPlaying()
|
|
FS_NQR03_SC01_TharaelShedDiscussion.ForceStart()
|
|
EndIf
|
|
|
|
FS_NQR03_RhalataTempleDoorREF.Lock(False)
|
|
FS_NQR03_TharaelREF.AddItem(_00E_FS_NQR05_Tharael_Dagger, 2)
|
|
|
|
EndFunction
|
|
|
|
Function TeleportBrotherGalang()
|
|
|
|
Levelsystem.TeleportNPC(FS_NQR03_LethoREF, FS_NQR03_BrotherGriefMarkerREF)
|
|
SetStage(20)
|
|
SetObjectiveCompleted(10)
|
|
SetObjectiveDisplayed(15)
|
|
|
|
EndFunction
|
|
|
|
Function StartSC02()
|
|
|
|
FS_NQR03_SC02_TempleScene_01.ForceStart()
|
|
|
|
EndFunction
|
|
|
|
Function RemovePages()
|
|
|
|
FS_NQR_SQ_01.SetStage(5)
|
|
|
|
if PlayerREF.GetItemCount(_00E_FS_NQR02_MissingPages) >= 1
|
|
PlayerREF.RemoveItem(_00E_FS_NQR02_MissingPages, 1)
|
|
EndIf
|
|
|
|
FS_NQR03_RhalataTemple.SetName(_00E_sRhalataTempleName.GetName())
|
|
|
|
EndFunction
|
|
|
|
Function ModDistrust(int iAmount)
|
|
|
|
_00E_FS_NQR_RhalataMistrust.Mod(iAmount)
|
|
|
|
EndFunction
|
|
|
|
Function AddNote()
|
|
|
|
PlayerREF.AddItem(_00E_FS_NQR03_SeerMoneyNote, 1)
|
|
|
|
EndFunction
|
|
|
|
Function StartSC04()
|
|
|
|
SetObjectiveDisplayed(55)
|
|
FS_NQR03_SC04_TempleScene_02.ForceStart()
|
|
|
|
EndFunction
|
|
|
|
Function AddRewardMoney()
|
|
|
|
PlayerREF.RemoveItem(_00E_FS_NQR03_SeerMoneyNote, 1)
|
|
PlayerREF.AddItem(Gold001, 300)
|
|
SetObjectiveCompleted(55)
|
|
|
|
EndFunction
|
|
|
|
Function UpdateObjectives_01()
|
|
|
|
SetObjectiveCompleted(15)
|
|
SetObjectiveDisplayed(20)
|
|
|
|
EndFunction
|
|
|
|
Function TeleportPlayer()
|
|
|
|
Levelsystem.TeleportNPC(FS_NQR03_BrotherGreedREF, FS_NQR03_BrotherGreedMarkerREF)
|
|
FS_NQR03_BrotherGreedREF.EvaluatePackage()
|
|
Levelsystem.TeleportPlayer(FS_NQR03_DarkValleyMarkerREF)
|
|
|
|
SetStage(75)
|
|
RegisterForSingleUpdate(2)
|
|
|
|
EndFunction
|
|
|
|
Function GivePlayerNote()
|
|
|
|
PlayerREF.AddItem(_00E_FS_NQR03_BrotherGreedNote, 1)
|
|
SetObjectiveCompleted(20)
|
|
SetObjectiveDisplayed(25)
|
|
Utility.Wait(2)
|
|
|
|
EndFunction
|
|
|
|
Function UpdateObjectives_02()
|
|
|
|
SetObjectiveCompleted(25)
|
|
SetObjectiveDisplayed(30)
|
|
|
|
EndFunction
|
|
|
|
Function UpdateObjectives_03()
|
|
|
|
SetObjectiveCompleted(30)
|
|
FS_NQR03_SisterPrideREF.SetGhost(False)
|
|
|
|
if GetStage() == 90
|
|
|
|
SetObjectiveDisplayed(40)
|
|
|
|
Elseif GetStage() == 95
|
|
|
|
SetObjectiveDisplayed(40)
|
|
SetObjectiveDisplayed(45)
|
|
|
|
if PlayerREF.GetItemCount(HumanHeart) < 1
|
|
SetObjectiveDisplayed(60)
|
|
endif
|
|
|
|
EndIf
|
|
|
|
EndFunction
|
|
|
|
Function ClearPlayerAlias()
|
|
|
|
FS_NQR03_BrotherGreedREF.SetOutfit(_00E_FS_TharaelOutfit)
|
|
SetObjectiveCompleted(60)
|
|
|
|
EndFunction
|
|
|
|
Function TakeHeartReal()
|
|
|
|
PlayerREF.AddItem(_00E_FS_NQR03_BrotherGreedNote_02, 1)
|
|
ModDistrust(-10)
|
|
UpdateStageAndObjectivesGivenHeart()
|
|
|
|
EndFunction
|
|
|
|
Function TakeHeartFake()
|
|
|
|
PlayerREF.AddItem(_00E_FS_NQR03_BrotherGreedNote_02, 1)
|
|
ModDistrust(10)
|
|
FS_NQR03_GivenFakeHeart.SetValueInt(1)
|
|
|
|
UpdateStageAndObjectivesGivenHeart()
|
|
EndFunction
|
|
|
|
Function UpdateStageAndObjectivesGivenHeart()
|
|
|
|
SetStage(100)
|
|
|
|
if IsObjectiveDisplayed(45) && !IsObjectiveDisplayed(40)
|
|
SetObjectiveCompleted(45)
|
|
Elseif IsObjectiveDisplayed(40) && !IsObjectiveDisplayed(45)
|
|
SetObjectiveCompleted(40)
|
|
Else
|
|
SetObjectiveCompleted(40)
|
|
SetObjectiveCompleted(45)
|
|
EndIf
|
|
|
|
SetObjectiveDisplayed(50)
|
|
EndFunction
|
|
|
|
Function TeleportBrotherGreed()
|
|
|
|
Levelsystem.TeleportNPC(FS_NQR03_BrotherGreedREF, FS_NQR03_TeleportBackMarkerBrotherGreed)
|
|
|
|
EndFunction
|
|
|
|
Function TeleportPlayerAndBrotherGreed()
|
|
|
|
Levelsystem.TeleportNPC(FS_NQR03_BrotherGreedREF, FS_NQR03_TeleportBackMarkerBrotherGreed)
|
|
FS_NQR03_BrotherGreedREF.EvaluatePackage()
|
|
Levelsystem.TeleportPlayer(FS_NQR03_TeleportBackMarkerPlayer)
|
|
|
|
RegisterForSingleUpdate(2)
|
|
SetObjectiveCompleted(50)
|
|
SetObjectiveDisplayed(51)
|
|
|
|
EndFunction
|
|
|
|
Function RemoveHeart()
|
|
|
|
If FS_NQR03_GivenFakeHeart.GetValueInt() == 1
|
|
PlayerREF.RemoveItem(HumanHeart, 1)
|
|
Else
|
|
PlayerREF.RemoveItem(_00E_FS_NQR03_NessahsHeart, 1)
|
|
EndIf
|
|
|
|
EndFunction
|
|
|
|
Function FinishUp()
|
|
|
|
PlayerREF.AddItem(_01E_FS_TeleportrolleRhalataTemple, 3)
|
|
FS_NQR03_DoorREF.Lock(True)
|
|
SetObjectiveCompleted(50) ; in case the player didn't teleport back with the brother greed
|
|
SetObjectiveCompleted(51)
|
|
Levelsystem.RemoveSilence()
|
|
Levelsystem.RemoveCombatSoundtracks()
|
|
Levelsystem.SetAllowIdleChatter(True)
|
|
FS_NQR03_SC03_SecretDoorREF.SetOpen(False)
|
|
FS_NQR03_SC03_SecretDoorREF.BlockActivation(True)
|
|
FS_NQR03_TharaelREF.Disable()
|
|
FS_NQR03_SphereREF.Enable()
|
|
Levelsystem.GiveEP(iRewardEXP)
|
|
FS_NQR04.SetStage(5)
|
|
|
|
EndFunction
|
|
|
|
Function ClearAliasesEnvironmentScene02()
|
|
|
|
FS_NQR03_SC02_Flavour_NoviceFemale.Clear()
|
|
FS_NQR03_SC02_Flavour_VoiceMale.Clear()
|
|
|
|
EndFunction
|
|
|
|
Function ClearAliasesEnvironmentScene03()
|
|
|
|
FS_NQR03_Flavour_03_Akolythe_Male.Clear()
|
|
FS_NQR03_Flavour_03_Akolythe_Female.Clear()
|
|
|
|
EndFunction
|
|
|
|
Function ClearAliasesEnvironmentScene01()
|
|
|
|
FS_NQR03_SC01_Scion.Clear()
|
|
|
|
EndFunction
|
|
|
|
;=====================================================================================
|
|
; PROPERTIES
|
|
;=====================================================================================
|
|
|
|
ReferenceAlias Property FS_NQR03_SC02_Flavour_VoiceMale Auto
|
|
ReferenceAlias Property FS_NQR03_SC02_Flavour_NoviceFemale Auto
|
|
ReferenceAlias Property FS_NQR03_Flavour_03_Akolythe_Male Auto
|
|
ReferenceAlias Property FS_NQR03_Flavour_03_Akolythe_Female Auto
|
|
ReferenceAlias Property FS_NQR03_SC01_Scion Auto
|
|
|
|
int Property iRewardEXP = 1000 Auto Hidden
|
|
int Property iPagesRewardEXP = 250 Auto Hidden
|
|
|
|
_00E_QuestFunctions Property Levelsystem Auto
|
|
|
|
Actor Property FS_NQR03_TharaelREF Auto
|
|
Actor Property FS_NQR03_BrotherGreedREF Auto
|
|
Actor Property FS_NQR03_LethoREF Auto
|
|
Actor Property FS_NQR03_SisterPrideREF Auto
|
|
Actor Property PlayerREF Auto
|
|
Actor Property FS_NQR03_BardREF Auto
|
|
|
|
Armor Property _00E_FS_RhalataRobes_NoviceWithHood Auto
|
|
|
|
Book Property _00E_FS_NQR03_SeerMoneyNote Auto
|
|
Book Property _00E_FS_NQR03_BrotherGreedNote Auto
|
|
Book Property _00E_FS_NQR03_BrotherGreedNote_02 Auto
|
|
|
|
Quest Property FS_NQR04 Auto
|
|
Quest Property FS_NQR_SQ_01 Auto
|
|
|
|
ObjectReference Property FS_NQR03_DoorREF Auto
|
|
ObjectReference Property FS_NQR03_SC03_SecretDoorREF Auto
|
|
ObjectReference Property FS_NQR03_BrotherGriefMarkerREF Auto
|
|
ObjectReference Property FS_NQR03_DarkValleyMarkerREF Auto
|
|
ObjectReference Property FS_NQR03_BrotherGreedMarkerREF Auto
|
|
ObjectReference Property FS_NQR03_TeleportBackMarkerBrotherGreed Auto
|
|
ObjectReference Property FS_NQR03_TeleportBackMarkerPlayer Auto
|
|
ObjectReference Property FS_NQR03_RhalataTempleDoorREF Auto
|
|
ObjectReference Property FS_NQR03_SC01_TharaelMarkerREF Auto
|
|
ObjectReference Property FS_NQR03_SphereREF Auto
|
|
|
|
Outfit Property _00E_FS_TharaelOutfit Auto
|
|
|
|
Ingredient Property _00E_FS_NQR03_NessahsHeart Auto
|
|
Ingredient Property HumanHeart Auto
|
|
|
|
Scroll Property _01E_FS_TeleportrolleRhalataTemple Auto
|
|
|
|
GlobalVariable Property _00E_FS_NQR_RhalataMistrust Auto
|
|
GlobalVariable Property FS_NQR03_GivenFakeHeart Auto
|
|
|
|
MiscObject Property _00E_FS_NQR02_MissingPages Auto
|
|
MiscObject Property Gold001 Auto
|
|
|
|
Scene Property FS_NQR03_SC01_TharaelShedDiscussion Auto
|
|
Scene Property FS_NQR03_SC02_TempleScene_01 Auto
|
|
Scene Property FS_NQR03_SC04_TempleScene_02 Auto
|
|
Scene Property FS_NQR03_SC99_BardSC Auto
|
|
|
|
Weapon Property _00E_FS_NQR05_Tharael_Dagger Auto
|
|
|
|
Message Property _00E_sRhalataTempleName Auto
|
|
Cell Property FS_NQR03_RhalataTemple Auto |