Fixed Chymicum Vitality bonus getting stuck after expiration

This commit is contained in:
Eddoursul 2024-08-07 03:18:27 +02:00
parent bcf2bcd41b
commit ef2a9fc681
2 changed files with 7 additions and 9 deletions

View File

@ -152,11 +152,7 @@ Function TransformBack()
;MagicEffect _00E_FS_Affinity_ScourgeOfTheWilds_TitanME = Game.GetFormFromFile(0x0102F19F, "Enderal - Forgotten Stories.esm") as MagicEffect
Actor PlayerREF = self.getActorReference()
if ! PlayerREF
PlayerREF = Game.GetForm(0x14) as Actor
endif
Actor PlayerREF = Game.GetForm(0x14) as Actor
If PlayerREF.dispelSpell(_00E_FS_Affinity_ScourgeOfTheWilds_TitanSP)
while PlayerREF.getscale() > fPlayerScale
@ -179,9 +175,10 @@ Function OnWolfFormSpellEnd()
self.clear()
wolf.removeSpell(_00E_Theriantrophist_DetectLifeBaseSP)
wolf.removeItem(_00E_Theriantrophist_Claws, 100, abSilent = true)
; Dispel chymicum effects before all other effects to properly restore values
_DispelAllChymikums()
WolfAttributes.SetInWolfForm(false)
EquipementStorage.equipeItems()
_DispelAllChymikums()
EndFunction
Function TransformBackIfTransformed()
@ -191,7 +188,7 @@ Function TransformBackIfTransformed()
Endfunction
Bool Function IsTransformed()
return self.getActorReference() != None
return _00E_Theriantrophist_IsTransformed.GetValueInt() == 1
Endfunction
Function _TeachTransformBackTalent()
@ -453,12 +450,13 @@ Endfunction
State Transfomed
Event OnBeginState()
_00E_Theriantrophist_IsTransformed.setValue(1)
_UpdateChymikumTransformed()
RegisterForControl("Sneak")
SendModEvent("Theriantrophist_Transformed")
Sneaking = false
AddInventoryEventFilter(_00E_Theriantrophist_Claws)
; Change _00E_Theriantrophist_IsTransformed after applying chymicum effects in order to properly restire values
_00E_Theriantrophist_IsTransformed.setValue(1)
Endevent
Event OnEndState()
@ -468,7 +466,7 @@ State Transfomed
Sneaking = false
ControlQuest.GetAffinityControl().OnSneak(false)
Endif
_UpdateChymikumTransformedBack()
_DispelAllChymikums()
_00E_Theriantrophist_IsTransformed.setValue(0)
SendModEvent("Theriantrophist_TransformedBack")
UnRegisterForControl("Sneak")