diff --git a/scripts/_00E_Func_RefreshFace.pex b/scripts/_00E_Func_RefreshFace.pex index 2282ab81..4153907b 100644 Binary files a/scripts/_00E_Func_RefreshFace.pex and b/scripts/_00E_Func_RefreshFace.pex differ diff --git a/scripts/_00e_theriantrophist_playeraswerewolf.pex b/scripts/_00e_theriantrophist_playeraswerewolf.pex index fbbe9782..5f74b870 100644 Binary files a/scripts/_00e_theriantrophist_playeraswerewolf.pex and b/scripts/_00e_theriantrophist_playeraswerewolf.pex differ diff --git a/source/scripts/_00E_Func_RefreshFace.psc b/source/scripts/_00E_Func_RefreshFace.psc index eba48c3c..d531cb2a 100644 --- a/source/scripts/_00E_Func_RefreshFace.psc +++ b/source/scripts/_00E_Func_RefreshFace.psc @@ -2,9 +2,15 @@ Scriptname _00E_Func_RefreshFace Hidden Function RefreshFace() Global - String facegen = "bUseFaceGenPreprocessedHeads:General" - Utility.SetINIBool(facegen, False) - Game.GetPlayer().QueueNiNodeUpdate() - Utility.SetINIBool(facegen, True) + if SKSE.GetVersion() + Actor PlayerREF = Game.GetForm(0x14) as Actor + + if ! PlayerREF.IsOnMount() && ! PlayerREF.IsSwimming() ; https://ck.uesp.net/wiki/QueueNiNodeUpdate_-_Actor + String facegen = "bUseFaceGenPreprocessedHeads:General" + Utility.SetINIBool(facegen, False) + PlayerREF.QueueNiNodeUpdate() + Utility.SetINIBool(facegen, True) + endif + endif EndFunction diff --git a/source/scripts/_00e_theriantrophist_playeraswerewolf.psc b/source/scripts/_00e_theriantrophist_playeraswerewolf.psc index 9d8b563f..d27fa99a 100644 --- a/source/scripts/_00e_theriantrophist_playeraswerewolf.psc +++ b/source/scripts/_00e_theriantrophist_playeraswerewolf.psc @@ -345,7 +345,16 @@ Endfunction Function _ReapplySkins() - Actor player = self.getActorReference() + if ! SKSE.GetVersion() + return + endif + + Actor player = GetReference() as Actor + + if player.IsOnMount() || player.IsSwimming() + return + endif + ActorBase playerbase = player.GetActorBase() if player.HasSpell(_00E_FS_Affinity_AbBrute) @@ -369,9 +378,15 @@ Function _ReapplySkins() EndFunction Function _FixNotTransformedPlayerSkin() - Actor player = Game.GetPlayer() - player.getActorBase().SetSkin(player.GetRace().GetSkin()) - player.QueueNiNodeUpdate() + if ! SKSE.GetVersion() + return + endif + + Actor player = GetReference() as Actor + if ! player.IsOnMount() && ! player.IsSwimming() + player.getActorBase().SetSkin(player.GetRace().GetSkin()) + player.QueueNiNodeUpdate() + endif EndFunction Event OnLocationChange(Location akOldLoc, Location akNewLoc) @@ -394,9 +409,7 @@ EndEvent Function OnPlayerLoadGame() WolfAttributes.renewNotPersistentStats() UpdateChymikumsLoadGame() - If Game.GetPlayer().IsOnMount() == false - _FixNotTransformedPlayerSkin() - EndIf + _FixNotTransformedPlayerSkin() Endfunction State Transfomed