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 FS_NQR03.GetCurrentStageID() >= 90 && FS_NQR03.GetCurrentStageID() <= 95
If akNewContainer == PlayerREF && !bDone If akNewContainer == PlayerREF && !bDone
bDone = True bDone = True
If bIsNessahsHeart FS_NQR03.SetObjectiveDisplayed(40, True, True)
FS_NQR03.SetObjectiveDisplayed(40, True, True) ElseIf akOldContainer == PlayerREF
Else if akNewContainer
FS_NQR03.ClearPlayerAlias() akNewContainer.RemoveItem(_00E_FS_NQR03_NessahsHeart, 1, true)
FS_NQR03.SetObjectiveDisplayed(45, True) else
EndIf Disable()
ElseIf akOldContainer == PlayerREF && bIsNessahsHeart Delete()
Self.Disable() endif
PlayerREF.AddItem(_00E_FS_NQR03_NessahsHeart, 1, true) PlayerREF.AddItem(_00E_FS_NQR03_NessahsHeart, 1, true)
_00E_FS_CantDropItemMessage.Show() _00E_FS_CantDropItemMessage.Show()
EndIf EndIf
@ -21,7 +22,6 @@ Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldCo
EndEvent EndEvent
bool bDone bool bDone
bool Property bIsNessahsHeart Auto
Actor Property PlayerREF Auto Actor Property PlayerREF Auto
@ -29,4 +29,4 @@ Ingredient Property _00E_FS_NQR03_NessahsHeart Auto
_00E_FS_NQR03_Functions Property FS_NQR03 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 ;NEXT FRAGMENT INDEX 13
Scriptname QF_FS_NQR03_0014CEA2 Extends Quest Hidden Scriptname QF_FS_NQR03_0014CEA2 Extends Quest Hidden
;BEGIN ALIAS PROPERTY FS_NQR03_SC01_Scion ;BEGIN ALIAS PROPERTY Tharael
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_SC01_Scion Auto ReferenceAlias Property Alias_Tharael 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
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_SC02_Flavour_NoviceFemale ;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 ReferenceAlias Property Alias_FS_NQR03_SC02_Flavour_NoviceFemale Auto
;END ALIAS PROPERTY ;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 ;BEGIN ALIAS PROPERTY Brother_Greed
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Brother_Greed Auto ReferenceAlias Property Alias_Brother_Greed Auto
;END ALIAS PROPERTY ;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 ;BEGIN ALIAS PROPERTY Sister_Pride
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Sister_Pride Auto 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 ReferenceAlias Property Alias_FS_NQR03_Flavour_03_Akolythe_Female Auto
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_MissingPages ;BEGIN ALIAS PROPERTY FS_NQR03_SC01_Scion
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_MissingPages Auto ReferenceAlias Property Alias_FS_NQR03_SC01_Scion Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY First_Seer
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_First_Seer Auto
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_SC02_Flavour_VoiceMale ;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 ReferenceAlias Property Alias_FS_NQR03_SC02_Flavour_VoiceMale Auto
;END ALIAS PROPERTY ;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 ;BEGIN ALIAS PROPERTY Bard
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Bard Auto ReferenceAlias Property Alias_Bard Auto
;END ALIAS PROPERTY ;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 ;BEGIN ALIAS PROPERTY Brother_Sorrow
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Brother_Sorrow Auto ReferenceAlias Property Alias_Brother_Sorrow Auto
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_Poster ;BEGIN ALIAS PROPERTY Player
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_Poster Auto ReferenceAlias Property Alias_Player Auto
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY FS_NQR03_DetachedFatherVoice ;BEGIN ALIAS PROPERTY FS_NQR03_MissingPages
;ALIAS PROPERTY TYPE ReferenceAlias ;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_FS_NQR03_DetachedFatherVoice Auto ReferenceAlias Property Alias_FS_NQR03_MissingPages Auto
;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY Tharael
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_Tharael Auto
;END ALIAS PROPERTY ;END ALIAS PROPERTY
;BEGIN FRAGMENT Fragment_6 ;BEGIN FRAGMENT Fragment_6
@ -89,14 +94,26 @@ kmyQuest.TeleportPlayer()
EndFunction EndFunction
;END FRAGMENT ;END FRAGMENT
;BEGIN FRAGMENT Fragment_0 ;BEGIN FRAGMENT Fragment_1
Function Fragment_0() Function Fragment_1()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions ;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
Quest __temp = self as Quest Quest __temp = self as Quest
_00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions _00E_FS_NQR03_Functions kmyQuest = __temp as _00E_FS_NQR03_Functions
;END AUTOCAST ;END AUTOCAST
;BEGIN CODE ;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 ;END CODE
EndFunction EndFunction
;END FRAGMENT ;END FRAGMENT
@ -113,18 +130,6 @@ kmyQuest.UpdateObjectives_02()
EndFunction EndFunction
;END FRAGMENT ;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 ;BEGIN FRAGMENT Fragment_12
Function Fragment_12() Function Fragment_12()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions ;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -138,30 +143,6 @@ kmyQuest.DisableBard()
EndFunction EndFunction
;END FRAGMENT ;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 ;BEGIN FRAGMENT Fragment_9
Function Fragment_9() Function Fragment_9()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions ;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -174,18 +155,6 @@ kmyQuest.UpdateObjectives_03()
EndFunction EndFunction
;END FRAGMENT ;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 ;BEGIN FRAGMENT Fragment_5
Function Fragment_5() Function Fragment_5()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions ;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -198,18 +167,6 @@ kmyQuest.UpdateObjectives_01()
EndFunction EndFunction
;END FRAGMENT ;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 ;BEGIN FRAGMENT Fragment_11
Function Fragment_11() Function Fragment_11()
;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions ;BEGIN AUTOCAST TYPE _00E_FS_NQR03_Functions
@ -222,4 +179,52 @@ kmyQuest.FinishUp()
EndFunction EndFunction
;END FRAGMENT ;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 ;END FRAGMENT CODE - Do not edit anything between this and the begin comment