Moved HumanHeart tracking from item script to quest alias

This commit is contained in:
Eddoursul 2024-01-19 22:35:30 +01:00
parent b88ad2cba6
commit 2e41a7ef8d
7 changed files with 136 additions and 101 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,30 @@
Scriptname _00E_FS_NQR03_PlayerAlias extends ReferenceAlias Hidden
; _00E_FS_NQR03_NessahsHeart is tracked in _00E_FS_NQR03_HeartSC
event OnInit()
AddInventoryEventFilter(HumanHeart)
endevent
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
_00E_FS_NQR03_Functions rQuest = GetOwningQuest() as _00E_FS_NQR03_Functions
int iStage = rQuest.GetCurrentStageID()
if iStage < 90
return
endif
AddInventoryEventFilter(_00E_EmptyFormlist)
RemoveInventoryEventFilter(HumanHeart)
If iStage <= 95
rQuest.ClearPlayerAlias()
rQuest.SetObjectiveDisplayed(45, True)
endif
EndEvent
Ingredient Property HumanHeart Auto
FormList Property _00E_EmptyFormlist Auto

View File

@ -5,14 +5,15 @@ Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldCo
If FS_NQR03.GetCurrentStageID() >= 90 && FS_NQR03.GetCurrentStageID() <= 95
If akNewContainer == PlayerREF && !bDone
bDone = True
If bIsNessahsHeart
FS_NQR03.SetObjectiveDisplayed(40, True, True)
Else
FS_NQR03.ClearPlayerAlias()
FS_NQR03.SetObjectiveDisplayed(45, True)
EndIf
ElseIf akOldContainer == PlayerREF && bIsNessahsHeart
Self.Disable()
FS_NQR03.SetObjectiveDisplayed(40, True, True)
ElseIf akOldContainer == PlayerREF
if akNewContainer
akNewContainer.RemoveItem(_00E_FS_NQR03_NessahsHeart, 1, true)
else
Disable()
Delete()
endif
PlayerREF.AddItem(_00E_FS_NQR03_NessahsHeart, 1, true)
_00E_FS_CantDropItemMessage.Show()
EndIf
@ -21,7 +22,6 @@ Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldCo
EndEvent
bool bDone
bool Property bIsNessahsHeart Auto
Actor Property PlayerREF Auto
@ -29,4 +29,4 @@ Ingredient Property _00E_FS_NQR03_NessahsHeart Auto
_00E_FS_NQR03_Functions Property FS_NQR03 Auto
Message Property _00E_FS_CantDropItemMessage Auto
Message Property _00E_FS_CantDropItemMessage Auto

View File

@ -2,19 +2,9 @@
;NEXT FRAGMENT INDEX 13
Scriptname QF_FS_NQR03_0014CEA2 Extends Quest Hidden
;BEGIN ALIAS PROPERTY FS_NQR03_SC01_Scion
;BEGIN ALIAS PROPERTY Tharael
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_SC01_Scion Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_Flavour_03_Akolythe_Male
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_Flavour_03_Akolythe_Male Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Sister_Envy
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Sister_Envy Auto
ReferenceAlias Property Alias_Tharael Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_SC02_Flavour_NoviceFemale
@ -22,11 +12,21 @@ ReferenceAlias Property Alias_Sister_Envy Auto
ReferenceAlias Property Alias_FS_NQR03_SC02_Flavour_NoviceFemale Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_DetachedFatherVoice
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_DetachedFatherVoice Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Brother_Greed
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Brother_Greed Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_Flavour_03_Akolythe_Male
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_Flavour_03_Akolythe_Male Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Sister_Pride
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Sister_Pride Auto
@ -37,14 +37,9 @@ ReferenceAlias Property Alias_Sister_Pride Auto
ReferenceAlias Property Alias_FS_NQR03_Flavour_03_Akolythe_Female Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_MissingPages
;BEGIN ALIAS PROPERTY FS_NQR03_SC01_Scion
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_MissingPages Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY First_Seer
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_First_Seer Auto
ReferenceAlias Property Alias_FS_NQR03_SC01_Scion Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_SC02_Flavour_VoiceMale
@ -52,29 +47,39 @@ ReferenceAlias Property Alias_First_Seer Auto
ReferenceAlias Property Alias_FS_NQR03_SC02_Flavour_VoiceMale Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_Poster
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_Poster Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY First_Seer
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_First_Seer Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Bard
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Bard Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Sister_Envy
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Sister_Envy Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Brother_Sorrow
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Brother_Sorrow Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_Poster
;BEGIN ALIAS PROPERTY Player
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_Poster Auto
ReferenceAlias Property Alias_Player Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_DetachedFatherVoice
;BEGIN ALIAS PROPERTY FS_NQR03_MissingPages
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_DetachedFatherVoice Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Tharael
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Tharael Auto
ReferenceAlias Property Alias_FS_NQR03_MissingPages Auto
;END ALIAS PROPERTY
;BEGIN FRAGMENT Fragment_6
@ -89,14 +94,26 @@ kmyQuest.TeleportPlayer()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_0
Function Fragment_0()
;BEGIN FRAGMENT Fragment_1
Function Fragment_1()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.SetUp()
kmyQuest.UnlockDoorEnableTharael()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_10
Function Fragment_10()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.UpdateObjectives_03()
;END CODE
EndFunction
;END FRAGMENT
@ -113,18 +130,6 @@ kmyQuest.UpdateObjectives_02()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_4
Function Fragment_4()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.StartSC04()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_12
Function Fragment_12()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -138,30 +143,6 @@ kmyQuest.DisableBard()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_2
Function Fragment_2()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.StartSC02()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_10
Function Fragment_10()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.UpdateObjectives_03()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_9
Function Fragment_9()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -174,18 +155,6 @@ kmyQuest.UpdateObjectives_03()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_7
Function Fragment_7()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.GivePlayerNote()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_5
Function Fragment_5()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -198,18 +167,6 @@ kmyQuest.UpdateObjectives_01()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_1
Function Fragment_1()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.UnlockDoorEnableTharael()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_11
Function Fragment_11()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -222,4 +179,52 @@ kmyQuest.FinishUp()
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_7
Function Fragment_7()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.GivePlayerNote()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_4
Function Fragment_4()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.StartSC04()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_2
Function Fragment_2()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.StartSC02()
;END CODE
EndFunction
;END FRAGMENT
;BEGIN FRAGMENT Fragment_0
Function Fragment_0()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST
;BEGIN CODE
kmyQuest.SetUp()
;END CODE
EndFunction
;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment