enderalse/scripts/source/_00e_nq_g_04_functions.psc

187 lines
4.1 KiB
Plaintext

Scriptname _00E_NQ_G_04_Functions extends Quest Conditional
Import _00E_QuestFunctions
;=====================================================================================
; 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)
If _00E_AchievementsEnabled.GetValueInt() == 1
Game.UnlockAchievement("END_PROTECTOR_01")
EndIf
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)
Levelsystem.Brawl(_00E_NQ_G_04_Duul)
EndFunction
Function StartSC03()
Levelsystem.SetAllowIdleChatter(True)
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()
Levelsystem.GiveEP(__Config_RewardEXP)
Levelsystem.RemoveSilence()
Levelsystem.SetAllowIdleChatter(True)
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
_00E_QuestFunctions Property Levelsystem 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
;for guild rank, called by TIF__00139D66
Faction Property ArkHaendlergilde Auto
GlobalVariable Property _00E_AchievementsEnabled Auto