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 must get permission 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
po3 aka powerofthree - This mod is literally powered by po3. Big thanks! Fuzzles - Original request & invaluable QA. This mod wouldn't exist without them <3 ws aka wSkeever - Helpful input and round function shrimperator - Helpful input DylanJamesWasTaken - Helpful input and SFX request Mardoxx & cdcooley - Steal Alarms idea Vae - Promo image concept DinosoftLabs - Walk Icon. Free for personal & commercial use with attribution: https://www.flaticon.com/free-icon/walk_4974395 Aldo Cervantes - Pouch Icon. Free for personal & commercial use with attribution: https://www.flaticon.com/premium-icon/pouch_2147285 grantando - Inventory Grab. Public Domain: https://freesound.org/people/grantando/sounds/568158/ mrickey13 - Item Equip. Public Domain: https://freesound.org/people/mrickey13/sounds/518850/ Speedenza - Transition Whoosh 5a. CC BY-NC 4.0: https://freesound.org/people/Speedenza/sounds/241146/
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.8
Pick Up Radius Event Filtering has been significantly improved & optimized. Objects with a pending Pick-Up or Harvest are now prevented from triggering another Pick Up Radius. In some cases this will reduce script load dramatically.
Massively improved the speed of Keyword Item Matching (>55% faster in tests).
Pick Up Radius now works for shot ammunition, however a shot arrow/bolt is still considered different to a dropped arrow/bolt until an skse utility can provide some functions to help identify Projectile yields.
Utility Container has been moved into a holding cell along with an utility Actor.
Fixed an potential issue where the marker used as the center of your Pick Up Radius could get stranded in a deleted area by uninstalling the mod providing that cell if that was the last place you triggered Pick Up Radius.
Fixed a typo where I was setting the wrong variable when Harvesting Flora/Trees that could sometimes result in not all of the Flora/Trees in range being Harvested.
Version 1.7
By request of RadiantWings, the MCM Option for "Allow Stealing" has been expanded to a Menu where you can select from: No, Yes, Only When Sneaking. Unfortunately the sneak check does cost some speed, so be aware of that if you plan to use it.
Altered the way Books are processed by Keyword Item Matching for users with modlists that add various Keywords to Books (by request of RadiantWings). Formerly, they were only checked for the spell tome keyword to prevent further unnecessary and time-consuming checks. Anyone who was patching their Keywords Formlist will have to forward the VendorItemSpellTome Keyword added to the list in this version.
By request of jinxmaster1, a limited blacklist/filter has been implemented. This allows you to prevent each Category of item (Weapons, Armor, Books, etc) from triggering Pick Up Radius. Specific Items & Keywords can be whitelisted using the Formlists provided.
Category Item Matching now distinguishes between Food and Potions/Poisons (they're the same type of Form internally), for better synergy with the new blacklist feature. Unfortunately this will cost some speed when processing a large volume of Potions via Category Item Matching.
Version 1.6c
Fixed an issue where the Init Events on new game/installation were sometimes being sent too early, meaning some important variables failed to fill properly. Reloading could refresh these variables, but this is no longer necessary.
HarvestThread has been excised from the mod. I will never again attempt to multithread on the same object as the MCM.
Version 1.6b
Improved Event Filter, and also fixed a potentially serious issue with one of the variables it was passing to the async pick up.
Timeout variable was incremented one line out of place, meaning we could erroneously time out after 0.5s instead of 10s.
Harvest Thread is disabled with a mod event callback instead of a property write. Hopefully eliminating the last of the lingering MCM issues for some users.
Version 1.6
Improved Thread Management & Item Filtering.
Fixed an issue where the MCM was delayed or not appearing at all.
Added an MCM option for another hotkey to cycle through Item Matching styles by request of Jennievm. Hotkey is disabled by default, and can be unbound by "defaulting" it.
Version 1.5
Completely rewrote most of the mod to support asynchronous processing. Previously, item matching & pick up ran on a single thread in sequence. This meant that you couldn't receive matched items from the latest pick-up until all previous pick-ups had finished processing.
Fixed an issue where Steal Alarms weren't being sent in some circumstances.
Fixed an issue where a Radius of 0 was being interpreted as the maximum range by the PE functions.
Throttled some loops that were contributing to stack dumps for some users. Combined with the new asynchronous processing there should be no further issues.
Item processing now makes sure the item it's about to loot for you has its 3D loaded - This is to "fix" a Vanilla issue where cell refs don't get cleaned up right away. Unfortunately this does cost some execution speed. (An update to the PE functions used may be pending and would fix things without costing any speed)
Fixed an issue where the list of keywords from recent loot wasn't removing old keywords.
Now properly increments the "Items Stolen" Tracked Stat when stealing items via Pick Up Radius.
Version 1.4
Pick Up Radius now supports harvesting Flora, Trees, Nirnroot, and Critters with new options added to the MCM.
Version 1.3b
Hotfix for small issue with the Import On Reload setting. It now better respects the setting as it exists in your save, not your JSON file. This does not interfere with settings being loaded when starting a new game or installing the mod.
Version 1.3
Removed reliance on inventory events due to a potential race condition. As a result several sections of the code have been revised & improved. A big thanks to VishVadeva50 for their help with this issue.
Version 1.2
Improved Hotkey support for gamepads & controllers when using Hold or Inverse Hold modes (IsKeyPressed() function was returning false-negatives for some controllers).
Optimized some Form checks when interacting with an item.
Version 1.1
Added an MCM option to allow or forbid Pick Up Radius from stealing items.
Light Plugin can be placed anywhere in load-order. No Vanilla records edited, conflict-free. Load-order agnostic
Make sure to install Papyrus Extender for your version of the game (AE/SE)
Description:
Loot matching items in a radius upon pick up. Items are matched using the Base Object, Keywords, Or Category of the item you interacted with. Radius size and position configurable. Also features multiple Hotkey modes allowing you to precisely control when Pick Up Radius is enabled, or remove the need for a hotkey entirely! Pick Up Radius does not apply to items in Containers or items you're Grabbing. Harvesting is supported from version 1.4 onward.
Spoiler:
Show
MCM Settings can be saved & loaded (requires PapyrusUtil) with saved presets being imported automatically when starting a new game.
MCM Settings:
Pick Up Mode - Master control for the mod's features
Always Off - Functionally disables Pick Up Radius
Always On - Pick Up Radius will function without the need for a hotkey
Hold - Pick Up Radius is inactive unless hotkey is held
Inverse Hold - Pick Up Radius is active unless hotkey is held
Toggle - Hotkey will toggle Pick Up Radius on/off
Item Matching - Matched items must have the same Base Object as the looted item, share a Keyword found in the Keywords Formlist (all ingredients, spell tomes, etc), or be of the same Category/type (all weapons, armours, etc). For some items there will be no difference between Keyword and Category Matching
Radius - The maximum range of Pick Up Radius in game units, from 0 to 20480 (diameter of 5 cells)
Radius Position - Switch between your character and the targeted item as the center of the Pick Up Radius
Pick Up Sound - Play a sound effect when looting additional items. Custom sounds can be supported by overwriting the placeholders provided
Allow Stealing - Allow or forbid stealing via Pick Up Radius
Steal Alarms - Allows NPCs a chance to detect items being stolen via Pick Up Radius
Flora - Allow or forbid the Harvesting of matching Flora, Trees, and Nirnroot via Pick Up Radius
Critters - Allow or forbid the gathering of matching Critters via Pick Up Radius
Extend Radius - Extends or reduces the range of Pick Up Radius for Flora & Critters (additive with primary setting)
Cycle Item Matching - Allows you to bind a hotkey to cycle through the Item Matching styles. Hotkey can be disabled by "defaulting" the option whilst selected in the MCM
Import On Reload - Automatically import your saved settings whenever you load a save
Filter / Limited Blacklist:
Using the MCM, you can now prevent each Category of Item (Weapons, Armor, Books, etc) from triggering Pick Up Radius. Specific Items & Keywords can be whitelisted by adding them to the Formlists provided for each Category. The blacklist has no effect on Item Matching, only which items can trigger Pick Up Radius. To do otherwise would be too slow with Papyrus. Example: Filtering Clutter will prevent all Misc Items from triggering Pick Up Radius except for Gold, Gems, and Ore/Ingots because those have been whitelisted. However, if you were Matching by Category you will proceed to pick up all Misc Items in range.
Compatibility & Recommended Mods:
If using Keyword Item Matching - Modded Keywords can be supported by patching them into the Keyword Formlist (PUR_ListKeywords) provided, or by using the Advanced page of the MCM in-game. It should be noted that Keyword Item Matching is hierarchical and will resolve based on the first match found, even if a "better" match might be further down the Keyword Formlist. If no match is found the Item Matching will default to the Base Object of the targeted item. A Keyword patching tutorial has been provided in the spoiler below.