File information
Last updated
Original upload
Created by
powerofthreeUploaded by
powerofthreeVirus scan
Safe to use
Current section
About this mod
Collection of engine bug fixes and tweaks. SKSE plugin.
- Requirements
-
Nexus requirements
Mod name Notes Address Library for SKSE Plugins Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You 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 points You are not 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.13.1
- Fixes [Cache EditorIDs]: Fix 1.6.1170 game bug where weather editorIDs were not cached properly
- Fixes [No Death Dispel]: Add some checks to prevent crashes caused by broken mods
- General optimization.
-
Version 1.12.2
- Tweaks [Faction Stealing] : Optimized code, skip factions that aren't flagged as CanBeOwner
-
Version 1.12.1
- Tweaks [Faction Stealing] : Cache faction NPCs to mitigate performance issues on heavily modded games
-
Version 1.12.0
- Fixes: Add MagicItemFindKeywordFunctor crash fix
- Fixes [Screenshot Validation]: Fixed issue where validator would treat screenshot prefix as a directory
- Tweaks [Faction Stealing]: Now checks if ALL (unique or persistent) actors are friendly with the player, instead of just the actors currently present in the area.
-
Version 1.11.0
- Fixes: Add WornRestrictionsForWeapons (based on Parapet's Ammo Enchanting )
- Minor performance improvements
-
Version 1.10.2
- Fixes [Validate Screenshot Location] : fix crash if screenshot folder location was previously on a missing drive
-
Version 1.10.1
- Fixes [FirstPersonSetAlpha Fix] : reverted since some users had purple textures for unknown reasons
-
Version 1.10.0
- Fixes: Add FirstPersonSetAlpha Fix (thanks to ForestJ316 )
-
Version 1.9.2
- Fixes [Validate Screenshot Location] : fix memory allocation crash
-
Version 1.9.1
- Fixes [Validate Screenshot Location] : add exception handling to prevent crashes
-
Version 1.9.0
- Fixes: Add ValidateScreenshotLocation
-
Version 1.8.2
- Move settings loader to PostLoad event
- Update C++ dependencies
-
Version 1.8.1
- Moved OffensiveSpellAI Fix to Tweak category. Now defaults to false since certain spell mods had invalid condition setups
- Drop 1.6.353 support.
- Fixes [CacheEditorIDs] : Replaced editorID map with faster implementation
-
Version 1.8.0
- Fixes : Added Creature Breathing Sounds
- Fixes [Reapply Spells On Load] : Fix incompatibility with Scrambled Bugs's AttachHitEffectArt patch
- Fixes [Flag Stolen Produce] : Removed, broken fix
- Papyrus : Added missing files
- Papyrus : Restored IsTweakInstalled functionality
-
Version 1.7.5
- Support AE 1.6.629+
-
Version 1.7.1
- Fixes [Flag Stolen Produce] : Temporarily disabled as it was causing ingredient stacking issues due to different ownership
-
Version 1.7.0
- Fixes : Added Toggle Global AI Fix
- Fixes : Added Use Furniture In Combat
- Fixes : Added Offensive Spell AI
- Fixes : Added Flag Stolen Produce
- Tweaks [Grabbing is Stealing] : Fix bug where containers and other non carryable items could trigger stealing alarms
- Exposed GetEditorID function for SKSE plugin developers
-
Version 1.6.0
- Fixes : Added Jumping Bonus Fix
- Tweaks : Added Silent Sneak Power Attack
- Fixes [Skinned Decal Delete] : Fixed crash on death, re-enabled fix
- Fixes [Queued Ref Crash] : Renamed to Distant Ref Load Crash
- Added papyrus function to get installed tweaks
-
Version 1.5.1
- Fixes [Skinned Decal Delete] : Temporarily disable fix to fix crashes
-
Version 1.5.0
- Fixes : Added Skinned Decal Delete Fix
- Experimental : Added Stack Dump Timeout Modifier
- Fixes [Map Marker Placement Fix] : Fix is disabled if Disable Fast Travel SKSE is installed
- Fixes [Load EditorIDs Fix] : MovableStatic editorIDs are now supported
- Tweaks [Dynamic Snow Material] : Reworked tweak, fixed bug where snow decals would appear on non snowy surfaces, add support for seasonal snow
- Removed broken tweaks [GetEquipped Fix, Load Door Fade Out Tweak] from config
-
Version 1.4.1
- Support for Address Library AE
- Disabled GetEquipped Fix
- Disabled Load Door Fade Out Tweak
-
Version 1.4
- Support for Anniversary Edition (1.6.318)
- Fixes [GetEquipped Fix] : Optimized function by caching inventory calls
-
Version 1.3.3
- Fixes [Load EditorIDs] : Skips corrupt forms and unreferenced formtypes
-
Version 1.3.2
- Fixes [Load EditorIDs] : Fixed bug with overriding formtypes whose editorIDs were already loaded in vanilla
-
Version 1.3.1
- Fixes [Load EditorIDs] : Fixed bug where sound descriptor editorIDs were not loaded properly
-
Version 1.3
- Fixes : Added GetEquipped Fix
- Fixes : Added EffectShader Z-Buffer Fix
- Fixes : Added ToggleCollision Fix
- Fixes : Added Load EditorIDs
- Tweaks : Added No Poison Prompt
- Experimental : Added Clean Orphaned ActiveEffects
- Experimental : Added Update GameHour Timers
- Tweaks [Faction Stealing] : Object does not count as stealing/pickpocketing if faction is set to ignore these
- Plugin now dynamically allocates trampoline space based on amount of tweaks installed
-
Version 1.2
- Tweaks : Added No Hostile Spell Absorb
- Tweaks : Added Grabbing Is Stealing
- Tweaks : Added Load Door Activate Prompts
- Tweaks [Load Door Fade Out] : Fixed bug where sounds did not play when player activated a door.
- Tweaks [Dynamic Snow Material] : Fixed bug that caused this tweak to be disabled in the previous version.
- Tweaks : Renamed [Patches] section in .ini file to [Tweaks]. Existing .ini files will be affected after running the game.
-
Version 1.1.1
- Tweaks [CombatToNormal Dialogue Fix] : Fixed crash when target was None
- Tweaks [Disable GodMode] : Fixed bug where tweak was ignoring settings
-
Version 1.1
- Fixes : Added IsFurnitureAnimType Fix
- Fixes : Added Light Attach Crash
- Fixes : Added No Conjuration Spell Absorb
- Fixes [CombatToNormal Dialogue Fix] : Fixed bug where NPCs would use combat dialogue when targets are lost
- Tweaks : Added Screenshot Notification To Console
- Tweaks : Added No Attack Messages
- Tweaks : Added Sit To Wait
- Tweaks : Added Disable God Mode
- Tweaks [Dynamic Snow Material] : Now applies to statics with snow texturesets, eg. snowy roads.
- Experimental : Removed FastPlayer option
-
powerofthree's Tweaks
RequirementsSKSE64 2.0.20 (SE) OR SKSE64 2.1.5+ (AE) Visual C++ Redistributables 2022 Address Library for SKSE Plugins
Description
A collection of bug fixes and tweaks not covered by other plugins.
Fixes are bugfixes or other game improvements.
Tweaks are optional gameplay or immersion features.
Experimental options are untested, and may possibly cause unforeseen side-effects. Only enable this if you know what you're doing.
Each of these settings can be configured in po3_Tweaks.ini (in Data/SKSE/Plugins). Config file will auto regenerate if missing and new settings will be appended to the file with future updates.
Fixes (default : enabled)
Tweaks (default: disabled)
For SKSE Plugin developers
The TESForm `GetFormEditorID` virtual function is unchanged, and still returns an empty string (for forms that normally discard editorIDs).
This is because the function is called in several places that would risk a buffer overflow (eg. when naming ArmorAddon ninodes).
powerofthree's Tweaks provides an alternative method to get a form's editorID, using the exported function "GetFormEditorID".
Example of how to use this in your plugin
Credits
Requirements
Description
A collection of bug fixes and tweaks not covered by other plugins.
Fixes are bugfixes or other game improvements.
Tweaks are optional gameplay or immersion features.
Experimental options are untested, and may possibly cause unforeseen side-effects. Only enable this if you know what you're doing.
Each of these settings can be configured in po3_Tweaks.ini (in Data/SKSE/Plugins). Config file will auto regenerate if missing and new settings will be appended to the file with future updates.
Fixes (default : enabled)
- Distant Ref Load Crash
Fixes loading crash caused by missing 3D on distant references. This may be caused by mods such as Windhelm Bridge Tweaks. - Map Marker Placement
Allows placing map markers near fast travel destinations when fast travel is disabled. - Enable 'Can't Be Taken Book' Flag
Restores 'Can't be taken' book flag functionality. Books can be read but not taken into inventory, if this flag is enabled in book records. - Projectile Range Fix
Adjusts range of projectile fired while moving to maintain consistent lifetime. This is a working implementation of the LE fix found here. - CombatToNormal Dialogue Fix
Fixes bug where LostToNormal dialogue triggers in place of CombatToNormal, ie. combat ends and NPCs say "must have scared them off". - Cast Added Spells on Load
Fixes issue where added spells are dispelled and not reapplied on NPCs upon loading. - Cast No Death Dispel Spells on Load
No-death-dispel flagged spells are reapplied on dead NPCs upon loading. - IsFurnitureAnimType Fix
Patches IsFurnitureAnimType condition function so it works on furniture references (previously, it only worked on actors currently using said furniture). - Light Attach Crash
Fixes crash when lights (torches, magelight, quicklight, etc) get attached to unloaded actors. - No Conjuration Spell Absorb
Adds NoAbsorb flag to all conjuration spells missing this flag. - EffectShader Z-Buffer Fix
Fixes effectshader z-buffer rendering so particles can show through objects (for non detect-life shaders) - ToggleCollision Fix
Patches ToggleCollision console command to toggle object collision for selected console references - Skinned Decal Delete
Immediately delete skinned decals when they're marked for removal (ie. removing bloody armor) - Jumping Bonus Fix
Jump height is multiplied by 1% per point of JumpingBonus actor value - Toggle Global AI Fix
TAI console command/Debug.ToggleAI() function disables/enables all loaded NPC AI - Use Furniture In Combat
Use furniture in combat and prevent getting forced out of furniture when attacked. Default is player only0 - off, 1 - player only, 2 - player and NPCs - Offensive Spell AI
Check spell condition validity before NPCs equip offensive spells (mages won't keep spamming sun spells against non-undead) - Breathing Sounds
Fix creature breathing sounds persisting after cell change - First Person SetAlpha Fix
Fixes SetAlpha function making hands invisible for first person - Worn Restrictions For Weapons
Enables enchant 'Worn Restrictions' feature for weapons - Validate Screenshot Location
Validates game screenshot location. Default to Skyrim root directory if sScreenshotBaseName ini setting is empty or folder path does not exist - MagicItemFindKeywordFunctor Crash Fix
Fixes a game function crash when attempting to lookup keywords on effects with missing magic effects- Load EditorIDs
Loads editorIDs for skipped forms. EditorIDs can now be used in console commands (player.placeatme dlc1serana). - Load EditorIDs
Tweaks (default: disabled)
- Faction Stealing
Items will be marked stolen until player is friendly with all members of faction. This attemps to fix a vanilla mechanic described here. - Voice Modulation (default: 1.0)
Applies voice distortion effect on NPCs wearing face covering helmets. A value of 1.0 has no effect; pitch is directly proportional to value.
Recommended setting (0.85-0.90), values lower than this will cause audio to desync with subtitles and lipsync. - Game Time Affects Sounds
Scales sound pitch based on time multiplier, eg. Slow Time will cause all sounds to be low pitched. - Dynamic Snow Material
Applies snow material to all statics with directional snow/snow texturesets, eg. Footprints mod will work on snowy wooden planks and roads. - Disable Water Ripples On Hover
Levitating NPCs and player (vampire lord, dragon priest, wispmother, netch, etc) will not trigger water ripples when hovering over water. - Screenshot Notification To Console
Displays screenshot notification as a console message. - No Attack Messages (default: 0)
Disables critical hit/sneak notifications. - Sit To Wait
Player can only wait when sitting down. - Disable God Mode (default: 0)
Disables god/immortal mode. - Grabbing Is Stealing
Grabbing owned items counts as stealing. - Load Door Activate Prompt (default: 0)
Replaces load door activate prompts with Enter and Exit.
1 - replaces prompt (Open Breezehome -> Enter Breezehome)
2 - replaces prompt and cell name when moving from interior to exterior (Open Skyrim -> Exit Sleeping Giant Inn) - No Poison Prompt (default: 0)
Disables poison confirmation messages.0 - off, 1 - disable confirmation, 2 - show other messages as notifications (may clip with inventory menu), 3 - both - Silent Sneak Power Attacks
Prevent player shouting during power attacks if sneaking
- Fast GetRandomInt()
Speeds up Utility.GetRandomInt function calls by decoupling it from framerate. - Fast GetRandomFloat()
Speeds up Utility.GetRandomFloat function calls by decoupling it from framerate. - Clean Orphaned ActiveEffects
Removes orphaned active effects from NPCs that had ability perks but lost them (eg. SPID didn't distribute perks to NPCs this run) - Update GameHour Timers
Updates game timers (eg. potion duration) when advancing time using GameHour.SetValue papyrus function - Stack Dump Timeout Modifier
How many seconds before Papyrus will start dumping script stacks (vanilla : 30 seconds).Setting this to 0 will disable the timeout (warning: this may result in a locked state if Skyrim can't dump stacks).
For SKSE Plugin developers
The TESForm `GetFormEditorID` virtual function is unchanged, and still returns an empty string (for forms that normally discard editorIDs).
This is because the function is called in several places that would risk a buffer overflow (eg. when naming ArmorAddon ninodes).
powerofthree's Tweaks provides an alternative method to get a form's editorID, using the exported function "GetFormEditorID".
std::string GetFormEditorID(const RE::TESForm* a_form)
{
static auto tweaks = GetModuleHandle(L"po3_Tweaks");
static auto func = reinterpret_cast<_GetFormEditorID>(GetProcAddress(tweaks, "GetFormEditorID"));
if (func) {
return func(a_form->formID);
}
return "";
}
Example of how to use this in your plugin
Credits
- Plugin source
- Ryan (SniffleMan) for CommonLibSSE
- KernalsEgg for helpful advice
- alandtse for contributing to this mod