diff --git a/scripts/_00e_theriantrophist_playeraswerewolf.pex b/scripts/_00e_theriantrophist_playeraswerewolf.pex index 5a1af682..e146fb43 100644 Binary files a/scripts/_00e_theriantrophist_playeraswerewolf.pex and b/scripts/_00e_theriantrophist_playeraswerewolf.pex differ diff --git a/source/scripts/_00e_theriantrophist_playeraswerewolf.psc b/source/scripts/_00e_theriantrophist_playeraswerewolf.psc index 061b21b3..e697c2d3 100644 --- a/source/scripts/_00e_theriantrophist_playeraswerewolf.psc +++ b/source/scripts/_00e_theriantrophist_playeraswerewolf.psc @@ -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")