If the game tries to throw an NPC with PushActorAway, but the NPC hasn't fully loaded in yet, the game will crash. This mod adds checks to two vanilla scripts to make sure the caster and target both have their 3D fully loaded before trying to use PushActorAway, which stops the NPC from being thrown if the game isn't ready and prevents the crash.
Requirements
This mod does not have any known dependencies other than the base game.
Not required to work, but required if you do not like staring at the windows desktop after moving cells
Permissions and credits
Credits and distribution permission
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.0.0
Initial release.
The vanilla scripts "voicepusheffectscript" and "mq101voicepusheffectscript", used for things like the full-strength Fus Ro Dah that throws its targets, both call the function PushActorAway. If the game tries to PushActorAway a target when its 3D data isn't fully loaded, it will crash. Under normal circumstances, this is rare, because if something's trying to throw something else then they're normally close enough to the player that they're both loaded properly - but it's still possible for this to happen, particularly if you're running a performance-intensive setup and/or have mods installed that use these vanilla scripts in unusual ways.
This mod replaces these two vanilla scripts with versions that require both the caster and the target to have their 3D data properly loaded before PushActorAway is called. If they're not both loaded properly, PushActorAway won't be called, the throw won't happen, and the crash won't occur. I've made no other changes to the scripts, and shouts work normally during regular gameplay.
If you're getting a lot of crashes with logs that start "Unhandled native exception occurred at 0x... (SkyrimSE.exe+619786) on thread ...", this mod might help.
INSTALLATION: Install using your mod manager of choice. This is a script replacer only, with no associated plugin. It can be installed on an existing save.
COMPATIBILITY: Any mod that makes changes to "voicepusheffectscript" or "mq101voicepusheffectscript" will conflict with this mod. If you come across any mods that replace this script, please let me know so I can take a look. PLEASE NOTE: This only prevents crashes from these two vanilla scripts. If a mod uses PushActorAway in its own scripts, rather than by making use of these vanilla scripts, that won't be affected by this mod, and the crash may still occur.
ADDITIONAL CREDITS: Many thanks to powerofthree for taking a look at the crashlogs I was investigating and being able to point me to PushActorAway. Without that, I'd never have been able to work out what was causing the crashes, let alone do anything to prevent them from happening.