File information
Last updated
Original upload
Created by
powerofthree-sasnikolUploaded by
powerofthreeVirus scan
Activity logs
This page was last updated on 28 January 2025, 10:23PM
- Changelogs
-
-
Version 7.2.0.RC11
- Fixed minor crash that happened when Papyrus SetOutfit was called with None outfit (invalid call)
-
Version 7.2.0.RC8
- Massively overhauled Outfit distribution system. It should no longer produce unexpected results such as missing outfits, re-appearing outfits on looted dead npcs, multiple outfits on the same NPC, etc.
- Fixed the issue introduced in RC7 when distributed spells would only be added to one instance of NPC (for example only one Horker :) ) Thanks to Bectile for the help!
-
Version 7.2.0.RC7
- Fixed issue when SPID could equip outfits on dead NPCs. Previous fix in RC6 only addressed On Death Distribution and I forgot that regular distribution could also affect dead NPCs :D The fix will be improved in the future.
- Attempted to fix a random crash reported on RC6. Hope it helps :)
-
Version 7.2.0.RC6
- Further reworked outfits management to handle various cases. The thing should be pretty solid now.
- Fixed yet another crash reported in RC5 :) at some point you, guys, will run out of those :D
- Fixed distributed Outfits that were looted re-appearing on dead NPCs.
- Also, randomly fixed the issue where abilities distributed on death were not applied.
-
Version 7.2.0.RC5
- Fixed another crash reported in RC4
-
Version 7.2.0.RC4
- Fixed crash when entering Solitude
- This should also (hopefully) fix other crashes related to Outfits, that occurred during save/load.
- Thank you all for feedback and patience!
-
Version 7.2.0.RC3
- Fixed the crash reported in the comments section
-
Version 7.2.0.RC2
- Implemented proper handling for outfits baked into saves. Outfits that are no longer distributed will be reverted back to original outfits.
- Also, introduced a safe check that ensures that distributed outfit is wearable by target NPC. This also prevents some cases of naked NPCs when they can't wear distributed outfit.
- Ensured that On Death Distribution applies only once per game session.
-
Version 7.2.0.RC1
- Enabled equipping Outfits upon distribution. Please test it out and let me know if there are any issues, especially naked NPCs :)
-
Version 7.1.3
- Fixed another small issue causing filters to be ignored on some entries. E.g. everyone getting wrong outfit. aglowinthefield, thanks for a nice report!
-
Version 7.1.2
- Fixed an issue when SPID required all forms in filter to be valid. (no other changes for now)
-
Version 7.1.1
- Fixed an issue when SPID required all forms in filter to be valid.
- Background maintenance for upcoming new features :)
-
Version 7.1.0
- Added full support for On Death Distribution. You can now distribute all supported forms on death.
- Fixed a false-positive warning in the log that looks like this: "Filter (SomeEditorID) SKIP - invalid formtype (KYWD)"
-
Version 7.0.0
- Added Exclusive Groups: allows you to mark distributed forms as mutually exclusive without tons of keywords :) See corresponding article for details.
- Added Linked Distribution: allows you to do additional unconditional distribution when distributing other forms. Like automatically giving arrows when distributing a bow. See corresponding article for details.
- Added support for Random Counts! You can now write count as a range. e.g. 5-10 will give anywhere between 5 and 10 items.
- Added support for Decimal Chances! There is now no limit how low you can go :D go for your 0.0001% chances.
- Added support for type inferring. You can now just write "Form = ..." and let SPID figure out what you're distributing.
- Deprecated LevSpell entry. You can now just write "Spell = ..." for both Leveled Spells and regular ones.
- And the last, but not the least addition - Official Documentation!
- Also few fixes and improvements:
- Fixed distribution of DeathItems caused NPCs to unequip what they had, occasionally becoming naked when dying :)
- Slightly improved logging of a few errors.
- Allowed filtering not leveled NPCs by their base template.
-
Version 6.8.5.rc6
- Equip distributed leveled items
- Skip equipping outfit items that have been removed from inventory (if NPC is dead)
-
Version 6.8.5.rc5
- Fix bug where NPC inventory would reset on leveling up
- Additional safeguards to prevent outfit stacking on dead NPCs
-
Version 6.8.5.rc4
- Reintroduce distribution on main menu load. You'll be able to see stats for every distribution except Item/Outfit/DeathItem
- Items (weapons and armor) will be automatically equipped upon distribution (items take priority over outfits)
- Prevent outfit stacking if actor was assigned a random different outfit every time or no outfit at all (cause of naked NPCs)
- Skip outfit force equip if actor is dead
- Duplicate item entries with different counts are now accumulated and distributed
- Fix leveled actor race filter
-
Version 6.8.2
- Revert distribution on main menu start since it was causing memory leaks for some users
-
Version 6.8.1
- Fix potential memory leak
-
Version 6.8.0
- Reworked initial distribution (for everything except Items/Outfits) so it triggers at main menu start. Items/Outfits are still dynamically distributed on NPC 3D load.
- Readded [RESULTS] section (which shows what got distributed to how many NPCs in SPID.log).
- Fix issue where packages/package formlists could not be resolved.
- Minor code fixes.
-
Version 6.7.6
- Fix armor distribution issue with race-based models
- Fix log directory for AE 1.6.1130 users
-
Version 6.7.5
- Fix issue where vanilla outfit items weren't removed after outfit distribution
-
Version 6.7.4
- Outfits are once again distributed dynamically since keyword distribution (that some outfits depend on) requires dynamic actor data. This fixes issues where outfits were distributed before keywords so they failed.
-
Version 6.7.2
- Fix crash if an NPC was marked as deleted from a mod
- Entries containing "NOT" will no longer be sanitized
- Use final templated NPC race keywords
-
Version 6.7.1
- Fix crash if NPC race was none
-
Version 6.7.0
- Revert outfit distribution to pre-6.0 behavior
- Skip outfit distribution if NPC is incapable of wearing it (invalid race)
- Revert deterministic Chance formula
-
Version 6.6.2
- Skip distribution if a filter part of an ALL filterset (X+Y+Z) was not found
- Fix editorIDs being treated as NONE if they contained "NONE" substring
- Update dependencies
- Drop 1.6.353 support
-
Version 6.6.1
- Fix bug where default NPC outfits would be unequipped if they had distributed items
-
Version 6.6.0
- Add leveled, player teammate filter traits
- Chance is now deterministic (persists across game sessions, NPCs will either get it or not)
- Fix string ALL filter not checking names or editorIDs
- Sort non-dependent keywords according to entry order (previously it was at random)
- Fix leveled items not being resolved during distribution
- Fix distributed items not showing up in barter menu
- Force outfit equip (twice) to hopefully fix unreplicatable naked NPC issue
- Lowered memory usage during form lookup
-
Version 6.5.2
- Fix naked "Starts Dead" NPCs (and hopefully other cases)
-
Version 6.5.1
- Fix bug where isolated keywords were skipped when resolving keyword dependencies
-
Version 6.5.0
- Distribution is now fully dynamic and triggers when the actor loads into a cell for the first time. This fixes several issues with previous static method, especially with distribution failing on leveled actors
- Distributed NPCs are tagged with "SPID_Processed" keyword.
- Outfits are automatically equipped by NPCs - no more "ResetInventory" console commands. Scripted outfit changes will still take priority.
- NPCs with distributed outfits are tagged with "SPID_ProcessedOutfit" keyword.
- Add Editor Location form filter.
- Improved keyword resolution and dependency sorting.
- Improved outfit/skin sorting.
- Performance improvements when looking up forms and actor distribution.
- Distribution (and outfit equipping) works on "Starts Dead" actors
- Fix Child filter not working if the IsChild race flag had been removed
- Fix several bugs with leveled distribution
- Fix distribution resetting on actors when reloading saves within the same cell
- Automatically sanitize 00012345 formIDs (copy pasted from xEdit) into valid 0x12345 format
- Tidied up SPID log
-
Version 6.4.0
- Add Skin form filter
- Outfit distribution now respects config entry order
- Fix sanitized configs not saving correctly
- Fix distribution failing on unique + templated npcs
- Fix distribution failing on NPC form filters
- Fix bug where entries without level filters would be discarded upon NPC levelup
- Fix crash caused by missing NPC class
-
Version 6.3.0
- Significant speed improvements to filter checks and form distribution - SPID 6.3.0 is now 4-5 times as fast compared with 6.2.0 (1900 SPID entries)
- All NPCs are now processed individually on actorbase init, rather than all at once.
- Removed [RESULTS] sections since it is no longer applicable (a better logging method will be available in the next SPID version; for now, use More Informative Console)
- Added NPC class skill weight filters
- Added performance profiling under [STATS] section to SPID log,
- Fixed bug where distribution could be applied to already processed NPCs, multiple times, in game - this caused the stutter/long load times seen in 6.20
- Fixed bug where some static/unique NPC distributions were wiped upon loading saves
- Fix crash caused if using outdated MergeMapper plugin
-
Version 6.2.0
- Add spells to filter list
- Removed duplicates in log, result count of affected NPCs for each entry is summed across all configs
- Fix bug where distribution failed for leveled actors with static actorbases
- Fix broken editorID, mod filters for leveled actors with dynamic actorbases
- Fix actor distribution upon starting a new game
- Fix keyword sorting in log
-
Version 6.1.0
- Fix issue where configs would not be evaluated according to insertion order
- Fix bug where entries distributed to Fox race would also apply to leveled NPCs based on it
- Fix keyword sorting for entries with level filters
- Fix several dynamic distribution bugs related to leveled NPCs
- Fix dynamic distribution changes not triggering immediately after level up (note. certain distribution like spells still require cell reload)
- Speedup dynamic distribution for users with multiple SPID configs + multiple added NPCs
- Include SPID config name when logging errors in SPID log
-
Version 6.0.3
- Discard broken entries that were causing SPID to fail, and log them
- Handle nonstandard saves with underscore+letters
-
Version 6.0.2
- Fix another crash when logging failed keywords
-
Version 6.0.1
- Fix crash when resolving keywords with empty editorIDs
- Log mods with these broken keywords
-
Version 6.0.0
- General
Support AE 1.6.629+
Dynamic distribution (in game)
1. Leveled NPCs
Records are distributed when NPCs are generated and spawned from leveled lists.
This fixes several issues (eg. entries not being properly added because their base race defaulted to FoxRace)
2. PC Level Mult NPCs and entries with actor/skill level filters.
Records are distributed on each player level up/down.
Failed entries (due to RNG) will not be re-distributed.
Stops once the NPC has reached their maximum possible level.
Handles reloading between saves/swapping characters.
The [Results] section in SPID log is hence no longer accurate (since distribution can happen anytime now after loading into the game). It is still valid for non-leveled NPCs and entries without actor/skill level filters.
Other features
Add sleep outfit distribution (no effect in game, requires an upcoming mod to enable sleep outfits)
Add skin armor distribution
Add package override list distribution (under Package)
Add option to specify package index for Packages
Add formlist filter support (each formlist item will be checked to see if it matches other filter types)
Add IsChild as a new trait
Changes
Configs are sorted alphabetically (A-Z)
Keywords are sorted based on dependancies (ie. keywords used by others will always be distributed first)
NPC level is now accurately calculated
Use cached editorIDs provided by powerofthree's Tweaks
Display local formID~modName under [Results] section
Several improvements to codebase
Other changes I forgot since last year
- General
-
Version 5.2.0
- Skip form distribution for entries with no valid filters
-
Version 5.1.1
- Support for Address Library AE
-
Version 5.1.0
- Support for Anniversary Edition (1.6.318)
- Added editorID lookup (requires powerofthree's Tweaks)
- Added faction distribution
- Added pattern matching for skill level
- Fixed erroneous sanitization
- Fixed crashes when logging records with skipped editorIDs
-
Version 5.0.4
- Added distribution support to all NPCs from a single mod.
- Added distribution by voice type.
- Invalid filters will be skipped instead of stopping the record from being distributed.
- SPID runs after Keyword Item Distributor (KID) if both are installed.
- Fixed bug with wildcard matching on names.
- Tentative fix for VR bug where DLC formIDs failed upon lookup.
-
Version 5.0.3
- Fixed VR version
- Fixed memory allocation issue with adding perks
- Reverted to pre 4.5.0 method of distribution
-
Version 5.0.2
- Fixed bug where keywords with special characters would be incorrectly parsed.
-
Version 5.0.1
- Fixed bug where multi-hyphenated names would be incorrectly parsed.
-
Version 5.0
- Changed SPID .ini format. Existing mods are compatible; files will be automatically upgraded to new format on game load.
- SPIDFormatter.exe can also be run from the Data directory to batch upgrade / downgrade existing INIs.
- INIs are sanitized and validated; extra spaces or commas won't trip up SPID anymore.
- (See stickied comment for format changes)
- Added support for mod-added formID filters (0x123~NewModFaction.esp, 0x123~NewModClass.esp)
- Replaced gender filter with traits (gender/unique/summonable)
- Actor level filter is skipped for NPCs that level with the player.
- Fixed regression where custom keywords created across multiple files would not be added
- Fixed crash when empty outfits were added to NPCs
-
Version 4.5.1
- Reverted plugin name to avoid breaking mods that use it to check whether SPID is installed.
-
Version 4.5
- Added string filter wildcards (*ActorType).
- Added string/formID requirements (ActorTypeVampire+ActorTypeCreature).
- Death Items now accept all item types (previously only leveled items). Can have multiple death items added on top of base death item.
- Outfit replaces base outfit record. Multiple outfits from different configs are merged into one dynamic outfit for each NPC.
- Added filtering by NPC formID.
- Cleaned up log. It should only show errors, and final output.
- Distribution is now done after SKSE's Data Loaded event (so other SKSE plugins can add their own records without conflict).
- Fixed bug where string filter would always evaluate as true, if the string didn't match with name or keyword.
- Fixed bug with leveled actors receiving multiple items each time their actorbase reset.
-
Version 4.4
- Added death item distribution
-
Version 4.2
- Added keyword distribution to NPCs. Keywords can either be normal formids, or custom keywords that can be checked using SKSE's GetKeywordString() function.
- Fixed incorrect distribution on leveled NPCs (most of them use FoxRace, so NPCs would be flagged as creatures)
- Fixed items not being distributed to leveled NPCs
- Removed NPC count from the SPID log since leveled actors get their spells/items distributed when their actorbase loads.
-
Version 1.0
- Initial Release
-
- Author's activity
-
January 2025
-
29 Jan 2025, 8:22AM | Action by: sasnikol
Attribute change
'File \'Spell Perk Item Distributor\' version changed to 7.2.0.RC11.'
-
28 Jan 2025, 10:23PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC11'
-
28 Jan 2025, 10:22PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version .2.0.RC11]'
-
26 Jan 2025, 3:52PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC10]'
-
11 Jan 2025, 10:02AM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC9]'
-
10 Jan 2025, 11:21PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC8'
-
10 Jan 2025, 11:15PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC8]'
December 2024
-
28 Dec 2024, 8:26PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC7'
-
28 Dec 2024, 8:23PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC7]'
-
26 Dec 2024, 10:51PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC6'
-
26 Dec 2024, 10:51PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC5'
-
26 Dec 2024, 10:47PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC6]'
-
20 Dec 2024, 10:02PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC5]'
-
19 Dec 2024, 11:24AM | Action by: sasnikol
Attribute change
'File \'Spell Perk Item Distributor\' description changed.'
-
18 Dec 2024, 10:12PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC4'
-
18 Dec 2024, 10:11PM | Action by: sasnikol
Changelog added
'Change log added for version 7.2.0.RC4'
-
18 Dec 2024, 10:11PM | Action by: sasnikol
Changelog added
'Change log added for version 7.1.3'
-
18 Dec 2024, 10:03PM | Action by: sasnikol
File added
'Spell Perk Item Distributor [version 7.2.0.RC4]'
-
06 Dec 2024, 9:04PM | Action by: sasnikol
Mod edited
'Exclusive Groups'
-
06 Dec 2024, 9:03PM | Action by: sasnikol
Mod edited
'Exclusive Groups'
-
- Mod page activity
-
April 2025
-
27 Apr 2025, 4:39PM | Action by: RatCentral
Untracked
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 4:34PM | Action by: Zephyrty
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 4:29PM | Action by: Nathalorn
Tracked
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 4:28PM | Action by: OGBlackOni
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 3:14PM | Action by: sidewayz24
Tracked
Spell Perk Item Distributor (SPID)
-
27 Apr 2025, 2:20PM | Action by: YucaLoca
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 2:14PM | Action by: YucaLoca
Tracked
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 1:32PM | Action by: StahlNerd
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 12:58PM | Action by: CBDwine
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 12:50PM | Action by: Cerzoka
Tracked
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 12:05PM | Action by: giskardmkii
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 12:01PM | Action by: AK448
Untracked
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 11:23AM | Action by: coreymayer17
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 10:47AM | Action by: hiisiallakannon
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 10:23AM | Action by: brich2004
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 10:21AM | Action by: Awroobus
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 9:48AM | Action by: AquaFresh1998
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 9:40AM | Action by: FrostyTheManSnow
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 9:20AM | Action by: khemirimelek
Endorsed
'Spell Perk Item Distributor (SPID)'
-
27 Apr 2025, 9:19AM | Action by: deltawolf69
Endorsed
'Spell Perk Item Distributor (SPID)'
-