Moved armor set listener to a separate quest
This commit is contained in:
parent
cc4c637b52
commit
d66445da5b
BIN
Armor set listener.esp
Normal file
BIN
Armor set listener.esp
Normal file
Binary file not shown.
BIN
Skyrim.esm
BIN
Skyrim.esm
Binary file not shown.
BIN
scripts/_00E_ArmorSetListener.pex
Normal file
BIN
scripts/_00E_ArmorSetListener.pex
Normal file
Binary file not shown.
Binary file not shown.
22
source/scripts/_00E_ArmorSetListener.psc
Normal file
22
source/scripts/_00E_ArmorSetListener.psc
Normal file
@ -0,0 +1,22 @@
|
||||
Scriptname _00E_ArmorSetListener extends Quest Hidden
|
||||
|
||||
Function OnArmorSetBonusAdded(Bool bFullSet)
|
||||
Sound.SetInstanceVolume(MAGIllusionCharm.Play(PlayerREF), 0.4) ; Play MAGIllusionCharm at lower volume
|
||||
|
||||
If bFullSet && ! bSetAchievementUnlocked
|
||||
Steam.UnlockAchievement("END_SET_01")
|
||||
bSetAchievementUnlocked = True
|
||||
EndIf
|
||||
EndFunction
|
||||
|
||||
Function OnArmorSetBonusRemoved()
|
||||
_00E_ArmorSetScript_sSetBonusRemoved.Show()
|
||||
EndFunction
|
||||
|
||||
bool bSetAchievementUnlocked = false
|
||||
|
||||
Sound Property MAGIllusionCharm Auto
|
||||
|
||||
Actor Property PlayerRef Auto
|
||||
|
||||
Message Property _00E_ArmorSetScript_sSetBonusRemoved Auto
|
@ -7,7 +7,7 @@ Scriptname _00E_ArmorSetScript extends ObjectReference
|
||||
Event OnEquipped(Actor akActor)
|
||||
|
||||
If akActor == PlayerREF
|
||||
;this event won't be sent by SKSE / SkyUI when using he Equip Mode of SkyUI to directly equip an item from another container.
|
||||
;this event won't be sent by SKSE / SkyUI when using the Equip Mode of SkyUI to directly equip an item from another container.
|
||||
;the same goes for the OnObjectEquipped event, hence we need the work around in OnContainerChanged
|
||||
UpdateSpells()
|
||||
EndIf
|
||||
@ -43,15 +43,9 @@ EndEvent
|
||||
|
||||
Function UpdateSpells()
|
||||
|
||||
Int iIndex
|
||||
|
||||
If Levelsystem == None
|
||||
Levelsystem = Game.GetFormFromFile(0x00010AA2, "Skyrim.esm") As _00E_Questfunctions
|
||||
EndIf
|
||||
|
||||
Int iIndex = 0
|
||||
Int nEquippedPieces = 0
|
||||
Form[] setPieces = __Config_SetList.ToArray()
|
||||
iIndex = 0
|
||||
While iIndex < setPieces.Length
|
||||
If PlayerREF.IsEquipped(setPieces[iIndex] as Armor)
|
||||
nEquippedPieces += 1
|
||||
@ -86,9 +80,9 @@ Function UpdateSpells()
|
||||
EndWhile
|
||||
|
||||
If bSpellAdded
|
||||
Levelsystem.OnArmorSetBonusAdded(nEquippedPieces >= setPieces.Length)
|
||||
ArmorSetListener.OnArmorSetBonusAdded(nEquippedPieces >= setPieces.Length)
|
||||
ElseIf bSpellRemoved
|
||||
Levelsystem.OnArmorSetBonusRemoved()
|
||||
ArmorSetListener.OnArmorSetBonusRemoved()
|
||||
EndIf
|
||||
|
||||
EndFunction
|
||||
@ -101,7 +95,7 @@ EndFunction
|
||||
Bool Property __Config_5Pieces Auto
|
||||
{Does this set have five pieces? Default: False}
|
||||
|
||||
_00E_Questfunctions Property Levelsystem Auto
|
||||
_00E_ArmorSetListener Property ArmorSetListener Auto
|
||||
|
||||
GlobalVariable Property __Config_SetGlobal Auto
|
||||
{The global associated with this set. Example _25E_HSet_FallenOneGlobal.}
|
||||
|
Loading…
Reference in New Issue
Block a user