Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou are not allowed to modify my files, including creating bug fixes or improving on features under any circumstances
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou are not allowed to use assets from this file under any circumstances
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 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
Bethesda for Skyrim and the Creation Kit The authors of Skyrim Script Extender The authors of SkyUI The authors of PapyrusUtil JZBai for Manual Crossbow Reload, the main source of inspiration for this one MrJack/mrpwn for Sublime Papyrus cdcooley for sharing his scripting knowledge on the forums
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.4.2
Removed caching of 'is bolt' and 'is crossbow' check results for items to lower complexity
Fixed the issue of unequipping normal arrows when activated
Adjustments to variable naming
Adjustments to the alias script states and the logic used to swap between them
Version 1.4.1
Fixed some Papyrus log errors when the actor alias script enters the default state but has not been bound to an actor yet
Version 1.4.0
Renamed scripts and forms to use a shorter _RR_ prefix, so savegame cleaning is necessary before updates
Fixed bolts being equipped when opening inventory menu after equipping other ammo outside it
Added string token-based crossbow and bolt detection based on mesh paths, configurable through the JSON file
Added support for Project Flintlock Rifle by Ghosu
Added support for Ordo Legionis flintlock muskets by Taveren
Removed dependency on Skyrim.esm, Update.esm and Dawnguard.esm to make the mod usable on projects without those
Removed unnecessary entries from the translation files
Reworked event processing to stop the reload animation early enough to avoid starting the audio in most cases during normal use
Removed audio file replacements and custom audio snippets, so the intended reload sounds from the weapon itself will always be used, improving compatibility
Removed the mod reset option and sound volume slider from the menu
Migrated reload prevention logic from the quest script to alias script
Lowered the default unequip delay to 0ms after the event handling changes
Optimizations to reload handling logic in cases where the reload button gets spammed
Allow resetting unequip delay to default without opening the slider, and set the maximum slider time to 4 seconds
Add some more caching for crossbow, bolt and equip checks to avoid matching the same weapon or ammo several times against the keyword lists
Version 1.2.0.3
The mod should now be compatible with Project Flintlock Rifle by Ghosu.
Reduced silent sound file sizes and re-packed the archive with the new BSArch version.
Version 1.2.0.2
Initial experimental port to Skyrim: Special Edition
Version 1.2.0.1
Reloading crossbow should now only work when the player has one equipped and drawn.
Preferences from ReasonableReloading.json are now applied on each savegame load to ensure the mod state matches the .json state.
Version 1.2.0
Removed the functionality for displaying a message about the number of remaining bolts.
Replaced CampUtil.GetPlayerEquippedAmmo() with an OnObjectEquipped event filter on a new script (_CX_RR_AliasScript) on PlayerRef ReferenceAlias.
Migrated MCM configuration option values to the new ReasonableReloading.json file using JsonUtil from PapyrusUtils.
Removed SkyUILib dependency.
Removed Campfire dependency.
Renamed "_CX_RR_MCMScript" to "_CX_RR_MenuScript".
Renamed "_CX_RR_MCMQuest" to "_CX_RR_Quest".
Cleaning up all existing mod data from a savegame is recommended before upgrading, using Hadoram's utility. Upgrading may break stuff.
Version 1.1.5
No longer unequip bolts upon drawing (a weapon, "drawing") an already loaded crossbow.
Version 1.1.4.1
Added new MCM logo art.
Version 1.1.4
Fixed some state-related misunderstandings.
Converted some properties to variables.
Removed the option to use Actor.PlayIdle, leaving only Debug.SendAnimationEvent.
Removed a couple of unnecessary configuration options.
Version 1.1.3
Finally replaced the custom index finder with <array>.Find() command.
Fixed empty ModName property that prevented the MCM menu from being listed.
If updating from a recent version where the MCM menu was not listed, you could try the following console command to "kick" the menus (all of them, apparently): "SetStage SKI_ConfigManagerInstance 1". It is the same one Jaxonz MCM Kicker uses internally (I checked it), but I have no idea what the side effects may be.
Version 1.1.2
Various minor changes to fix the things I broke in the last few versions.
Version 1.1.1
Spamming the reload hotkey should no longer break the mod.
When exiting a menu, the mod no longer registers normal arrows as current ammo.
Other very minor adjustments.
Version 1.1.0
The mod should no longer manage normal arrows (I forgot arrows are also ammo).
Whenever the player is in killmove mode, reload prevention is now skipped completely.
Version 1.0.9
Removed the script "_CX_RR_PlayerScript".
Replaced some Properties with normal variables (no reason for them to be properties).
The mod no longer filters any OnObjectEquipped events.
Experimental option to use Actor.PlayIdle instead of Debug.SendAnimationEvent.
Added compatibility measures for killmove stuff (like VioLens).
Version 1.0.8
Minor tweaks and changes to scripts.
Smaller MCM logo.
Missing MiscUtil should no longer cause errors in Papyrus log when debug messages turned off.
Sound descriptors are now exactly like their IS counterparts, to maintain sound quality.
Version 1.0.7
Fixed the issue with reloading upon picking up bolts.
Fixed the issue with bolts getting always unequipped when visiting a menu.
Included the Immersive Sounds Compendium reload sounds (with permission).
Minor changes here and there.
Version 1.0.6
Silenced all normal reloading sounds (Dawnguard + Immersive Sounds).
Added new reloading sounds, played upon hotkey keypress - this means that the sound-plays-anim-stopped bug should be gone.
Skyrim.esm, Update.esm, Dawnguard.esm and Campfire.esm listed as masters.
Minor tweaks here and there.
Version 1.0.5
Various changes and optimisations to scripts.
Campfire by Chesko now required (the CampUtil API).
Changed all editor IDs, savegame mod form removal and standard cleaning + clean save required for updating.
Version 1.0.4
Added option to change delay (Utility.Wait) before unequip after BowRelease\Fast.
Added option to skip reloading animation (causes bolts to not be shown on the bow).
Packed the archive in RAR instead of RAR5 format so everyone and their mod manager can open it.
Version 1.0.3
Mod now uses anim events a lot more.
No bolts are ever removed from player inventory.
Works with automatic crossbows out of the box.
Lots of MCM options removed as redundant.
Script size cut in half as a result of various changes.
Version 1.0.2
Bolts should no longer unequip upon entering a menu.
Experimental option to prevent reload anim playing upon closing a menu.
Automatic crossbows should now be stored as Weapons in FormList.
Various changes to scripts.
Version 1.0.1
Fixed the issues with incomplete translation support.
Added support for automatic crossbows (player needs to register them as such).
Added the option to unregister single crossbows from the list or revert the list to empty.
Added the option to define the amount of bolts to add upon reloading.
Added an unnoticeable container to save bolts from being erased completely.
Added the option to access the container (click button in MCM, then exit start menu).
Added the option to disable bolt reduction upon reloading (works with reload hotkey).
Added an optional dummy weight system (to compensate for missing bolt weight, for Requiem users).
Added the option to reset the mod completely (if it gets too bugged somehow).
Version 1.0.0
Initial release.
Reasonable Reloading is an experimental manual crossbow reload mod, designed to be event-driven, script-based, lightweight and unobtrusive. The mod functions by listening for item equip and animation events and reacting to those as they happen. Please note, however, that I am not an experienced Papyrus scripter and the mod will not be of professional quality. If you want to use something more reliable or tested for your crossbow reload needs, please have a look at other manual crossbow reload mods. Thank you.
Compatibility
The mod does not directly modify any records, but it might conflict with other mods that modify crossbow reloading.
Installation & Removal
To install this mod, a mod manager would be recommended. Uninstallation is never supported. Load order does not matter. When updating the mod, I would recommend using a savegame cleaning utility to clean the items from this mod from your savegame.
Known Issues & Bugs
The mod always unequips the current bolt when leaving a menu. This is because it assumes that the current bolt was not equipped upon opening the menu and would therefore result in reload animation upon exit. The mod is also not tagged as ESL because the quest FormID is too high and compacting it would break saves with the mod already enabled.