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.
 
 
 

177 lines
3.9 KiB

Scriptname _00E_NQ_G_04_Functions extends Quest Conditional
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function GiveContract()
PlayerREF.AddItem(_00E_NQ_G_04_GoldenSickleContract)
EndFunction
Function DuulToggleGhost()
_00E_NQ_G_04_Duul.SetGhost(true)
EndFunction
Function RemoveContract()
PlayerREF.RemoveItem(_00E_NQ_G_04_GoldenSickleContract)
Steam.UnlockAchievement("END_PROTECTOR_01")
EndFunction
Function GiveLetter()
PlayerREF.AddItem(_00E_NQ_G_04_LetterForDijaam)
EndFunction
Function RemoveLetter()
;fixes EFSB-400: there was a condition mid dialogue which requested the player to have the letter at hand
;if the player wouldn't have the letter in their inventory, they would get stuck in unskippable dialogue
;we'll add the letter if it isn't present in the inventory at the time of dialogue
If PlayerREF.GetItemCount(_00E_NQ_G_04_LetterForDijaam) == 0
PlayerREF.AddItem(_00E_NQ_G_04_LetterForDijaam, 1, true)
EndIf
PlayerREF.RemoveItem(_00E_NQ_G_04_LetterForDijaam)
EndFunction
Function GiveKey()
PlayerREF.AddItem(CapitalCityHaendlergilde)
EndFunction
Function EnableDuul()
_00E_NQ_G_04_Duul.Enable()
EndFunction
Function DisableDuul()
_00E_NQ_G_04_Duul.Disable()
EndFunction
Function EnableDijaam()
_00E_SC_DijaamOnelys.Enable()
EndFunction
Function MoveDijaamToMarker()
_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_04_DijaamTeleportForSceneMarker)
EndFunction
Function MoveDijaamToTavern()
_00E_SC_DijaamOnelys.SetOutfit(_00E_SC_DijaamOutfit)
_00E_SC_DijaamOnelys.MoveTo(_00E_NQ_G_04_DijaamTeleportToTavernMarker)
EndFunction
Function PrepareDijaamForDialogue()
EnableDijaam()
MoveDijaamToMarker()
EndFunction
Function StripPlayer()
PlayerREF.UnEquipAll()
EndFunction
Function BribeDuul()
PlayerRef.RemoveItem(Gold001, 50)
bBribed = true
EndFunction
Function StartSC02()
_00E_NQ_G_04_Duul.RemoveFromAllFactions()
NQ_G_04_SC02_DuulFight.ForceStart()
_00E_NQ_G_04_Duul.EvaluatePackage()
EndFunction
Function DuulAttack()
_00E_NQ_G_04_Duul.SetGhost(false)
_00E_PlayerFunctions.GetBrawlControl().Brawl(_00E_NQ_G_04_Duul)
EndFunction
Function StartSC03()
AllowIdleChatter.SetValue(1)
NQ_G_04_SC03_DijaamEncounter.ForceStart()
EndFunction
Function MaelStopWriting()
_00E_SC_Mael.PlayIdle(IdleStop)
EndFunction
Function RewardMoney()
PlayerREF.AddItem(Gold001, __Config_RewardMoney)
EndFunction
Function FinishQuest()
_00E_EPHandler.GiveEP(__Config_RewardEXP)
_00E_PlayerFunctions.GetSoundControl().RemoveSilence()
AllowIdleChatter.SetValue(1)
Self.CompleteQuest()
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
;conditionals
bool Property bContractRead Auto Conditional
bool Property bPlayerWon Auto Conditional
bool Property bDuulWon Auto Conditional
bool Property bBribed Auto Conditional
;items
Book Property _00E_NQ_G_04_GoldenSickleContract Auto
Book Property _00E_NQ_G_04_LetterForDijaam Auto
Key Property CapitalCityHaendlergilde Auto
Outfit Property _00E_SC_DijaamOutfit Auto
;rewards
int Property __Config_RewardEXP Auto
int Property __Config_RewardMoney Auto
MiscObject Property Gold001 Auto
GlobalVariable Property AllowIdleChatter Auto
Idle Property IdleStop Auto
;actors
Actor Property PlayerRef Auto
Actor Property _00E_NQ_G_04_Duul Auto
Actor Property _00E_SC_DijaamOnelys Auto
Actor Property _00E_SC_Mael Auto
;scenes
Scene Property NQ_G_04_SC02_DuulFight Auto
Scene Property NQ_G_04_SC03_DijaamEncounter Auto
;marker
ObjectReference Property _00E_NQ_G_04_DijaamTeleportForSceneMarker Auto
ObjectReference Property _00E_NQ_G_04_DijaamTeleportToTavernMarker Auto