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