enderalse/source/scripts/_00e_fs_nq05_playeralias.psc

139 lines
5.2 KiB
Plaintext
Raw Normal View History

Scriptname _00E_FS_NQ05_PlayerAlias extends ReferenceAlias
Event OnInit()
AddInventoryEventFilter(_00E_EmptyFormlist)
If FS_NQ05.GetStage() == 35 ; version update
AddInventoryEventFilter(SkeeverTail)
AddInventoryEventFilter(Garlic)
AddInventoryEventFilter(MothWingMonarch)
AddInventoryEventFilter(Vynroot)
endif
_00E_FS_NQ05_GarlicCountGlobal.Value = PlayerREF.GetItemCount(Garlic)
_00E_FS_NQ05_MothWingMonarchCountGlobal.Value = PlayerREF.GetItemCount(MothWingMonarch)
_00E_FS_NQ05_SkeeverTailCountGlobal.Value = PlayerREF.GetItemCount(SkeeverTail)
_00E_FS_NQ05_VynrootCountGlobal.Value = PlayerREF.GetItemCount(Vynroot)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_GarlicCountGlobal)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_MothWingMonarchCountGlobal)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_SkeeverTailCountGlobal)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_VynrootCountGlobal)
EndEvent
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
If FS_NQ05.GetStage() != 35
AddInventoryEventFilter(_00E_EmptyFormlist) ; in case clearing fails
RemoveInventoryEventFilter(Garlic)
RemoveInventoryEventFilter(MothWingMonarch)
RemoveInventoryEventFilter(Vynroot)
RemoveInventoryEventFilter(SkeeverTail)
Self.Clear()
return
endif
if akBaseItem == Garlic
FS_NQ05.ModObjectiveGlobal(aiItemCount, _00E_FS_NQ05_GarlicCountGlobal, 37, 1, true, true, true)
return
endif
if akBaseItem == MothWingMonarch
FS_NQ05.ModObjectiveGlobal(aiItemCount, _00E_FS_NQ05_MothWingMonarchCountGlobal, 38, 1, true, true, true)
return
endif
if akBaseItem == SkeeverTail
FS_NQ05.ModObjectiveGlobal(aiItemCount, _00E_FS_NQ05_SkeeverTailCountGlobal, 36, 1, true, true, true)
return
endif
if akBaseItem == Vynroot
FS_NQ05.ModObjectiveGlobal(aiItemCount, _00E_FS_NQ05_VynrootCountGlobal, 39, 1, true, true, true)
return
endif
EndEvent
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
If FS_NQ05.GetStage() != 35
AddInventoryEventFilter(_00E_EmptyFormlist) ; in case clearing fails
RemoveInventoryEventFilter(Garlic)
RemoveInventoryEventFilter(MothWingMonarch)
RemoveInventoryEventFilter(Vynroot)
RemoveInventoryEventFilter(SkeeverTail)
Self.Clear()
return
endif
if akBaseItem == Garlic
bool bNotify = (_00E_FS_NQ05_GarlicCountGlobal.Value > 0)
_00E_FS_NQ05_GarlicCountGlobal.Value = PlayerREF.GetItemCount(Garlic)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_GarlicCountGlobal)
if bNotify && (_00E_FS_NQ05_GarlicCountGlobal.Value == 0) && FS_NQ05.IsObjectiveCompleted(37)
FS_NQ05.SetObjectiveCompleted(37, false)
FS_NQ05.SetObjectiveDisplayed(37, true, true)
elseif (_00E_FS_NQ05_GarlicCountGlobal.Value > 0) && ! FS_NQ05.IsObjectiveCompleted(37)
FS_NQ05.SetObjectiveCompleted(37, true)
endif
return
endif
if akBaseItem == MothWingMonarch
bool bNotify = (_00E_FS_NQ05_MothWingMonarchCountGlobal.Value > 0)
_00E_FS_NQ05_MothWingMonarchCountGlobal.Value = PlayerREF.GetItemCount(MothWingMonarch)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_MothWingMonarchCountGlobal)
if bNotify && (_00E_FS_NQ05_MothWingMonarchCountGlobal.Value == 0) && FS_NQ05.IsObjectiveCompleted(38)
FS_NQ05.SetObjectiveCompleted(38, false)
FS_NQ05.SetObjectiveDisplayed(38, true, true)
elseif (_00E_FS_NQ05_MothWingMonarchCountGlobal.Value > 0) && ! FS_NQ05.IsObjectiveCompleted(38)
FS_NQ05.SetObjectiveCompleted(38, true)
endif
return
endif
if akBaseItem == SkeeverTail
bool bNotify = (_00E_FS_NQ05_SkeeverTailCountGlobal.Value > 0)
_00E_FS_NQ05_SkeeverTailCountGlobal.Value = PlayerREF.GetItemCount(SkeeverTail)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_SkeeverTailCountGlobal)
if bNotify && (_00E_FS_NQ05_SkeeverTailCountGlobal.Value == 0) && FS_NQ05.IsObjectiveCompleted(36)
FS_NQ05.SetObjectiveCompleted(36, false)
FS_NQ05.SetObjectiveDisplayed(36, true, true)
elseif (_00E_FS_NQ05_SkeeverTailCountGlobal.Value > 0) && ! FS_NQ05.IsObjectiveCompleted(36)
FS_NQ05.SetObjectiveCompleted(36, true)
endif
return
endif
if akBaseItem == Vynroot
bool bNotify = (_00E_FS_NQ05_VynrootCountGlobal.Value > 0)
_00E_FS_NQ05_VynrootCountGlobal.Value = PlayerREF.GetItemCount(Vynroot)
FS_NQ05.UpdateCurrentInstanceGlobal(_00E_FS_NQ05_VynrootCountGlobal)
if bNotify && (_00E_FS_NQ05_VynrootCountGlobal.Value == 0) && FS_NQ05.IsObjectiveCompleted(39)
FS_NQ05.SetObjectiveCompleted(39, false)
FS_NQ05.SetObjectiveDisplayed(39, true, true)
elseif (_00E_FS_NQ05_VynrootCountGlobal.Value > 0) && ! FS_NQ05.IsObjectiveCompleted(39)
FS_NQ05.SetObjectiveCompleted(39, true)
endif
return
endif
endEvent
Quest Property FS_NQ05 Auto
Ingredient Property Garlic Auto
Ingredient Property MothWingMonarch Auto
Ingredient Property Vynroot Auto
Ingredient Property SkeeverTail Auto
GlobalVariable Property _00E_FS_NQ05_GarlicCountGlobal Auto
GlobalVariable Property _00E_FS_NQ05_MothWingMonarchCountGlobal Auto
GlobalVariable Property _00E_FS_NQ05_SkeeverTailCountGlobal Auto
GlobalVariable Property _00E_FS_NQ05_VynrootCountGlobal Auto
Actor Property PlayerREF Auto
FormList Property _00E_EmptyFormlist Auto