0 of 0
File information
Last updated
Original upload
Created by
powerofthreeUploaded by
powerofthreeVirus scan
Safe to use
Current section
About this mod
SKSE plugin that distributes keywords to weapons/armor/magic effects/ingestibles and other items, using config files.
- Requirements
-
Nexus requirements
Mod name Notes Address Library for SKSE Plugins for SE/AE users MergeMapper optional, recommended for VR users powerofthree's Tweaks Skyrim Script Extender (SKSE64) VR Address Library for SKSEVR for VR users 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 can upload this file to other sites but you must credit me as the creator of the file
- Modification permission You 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 permission You can convert this file to work with other games as long as you credit me as the creator of the file
- Asset use permission You 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 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 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 3.4.0
- Fix bug where spell school trait did not work with powers/lesser powers
- Fix bug where the first loaded keyword was always sorted alphabetically by editorID
-
Version 3.3.0
- Distribution is now twice as fast
-
Version 3.2.0
- Add Dispel With Keywords trait to Magic Effects
- Check costliest magic effect keywords/archetypes/actor values filters when distributing to spells/enchantments
- Add hostile trait to spells/enchantments/scrolls
-
Version 3.1.0
- Form Filter [Spell/Scrolls] - add half cast perk
- Fix issue where spell tome keywords would reset upon loading another save
- Fix issue where Magic Effect primary/secondary/resist actor values were not evaluated
-
Version 3.0.4
- Armor : added body slot trait (30-61)
- Fix editorIDs being treated as NONE if they contained "NONE" substring
-
Version 3.0.3
- Skip distribution if a filter part of an ALL filterset (X+Y+Z) was not found
- Updated DLL dependencies
-
Version 3.0.2
- Sort non-dependent keywords according to entry order (previously it was at random)
- Fix several bugs related to parsing traits
-
Version 3.0.1
- Reduce log spam
- Halve distribution time for 100+ entries
-
Version 3.0.0
- Refactored codebase, ported several improvements from SPID
- Support Activator, Flora, Furniture, Race, Talking Activator, Enchantment form types
- Allow runtime generated keywords to be used in filters
- Keywords are sorted based on their dependencies
- Add model path filter (currently does not work for armor)
- Combine string and form filter checks (ie. effectArchetype string + CastingArt formID is now possible)
- String Filter [Weapon] - add weapon skill actor value
- Form Filter - support equip slots
- Form Filter [Armor] - add enchantments
- Form Filter [Weapon] - add enchantments
- Form Filter [Magic Effect] - add projectile
- Traits [Armor]- add weight
- Traits [Weapon]- add animation type, damage
- Traits [Ammo] - add damage
- Traits [Magic Effect] - add resistance actor value
- Chance is now fixed (persists across game sessions; item keywords will be always swapped or not)
- Fix bug where archetype and actor value string filters were ignored
- Tidied up log, display only errors
- Show time taken for form lookup and keyword distribution
- Misc fixes
-
Version 2.2.0
- Add spell support
- Skip keyword distribution for entries with no valid filters (eg. mod not found)
-
Version 2.1.1
- Fix bug where Book ActorValue trait did not work for spell books
- Fix bug where distribution could fail if chance was set to NONE
- Log critical errors to console
-
Version 2.1.0
- Support AE 1.6.629+
- Update VR version
- Add key, soulgem support
- Allow using formlists as filters
- Fix plugin name inconsistency
- Fix location filter check
- Include config name when logging errors
- Forward improvements from SPID + other minor changes
-
Version 2.0
- Added keyword distribution to Misc Items
- Added armor rating filter traits to Armor (HEAVY, LIGHT, CLOTHING)
- Added Actor Value string support to magic effects (filter effects by skill, eg. "Destruction")
- Fixed bug where esm records would not be recognized
-
Version 1.3.1
- fixed bug where filter keywords would not be recognized
- clarified error messages
-
Version 1.3.0
- Support for Anniversary Edition (1.6 and above)
- Add keyword distribution to books
- EditorIDs can be used in place of formIDs (requires powerofthree's Tweaks)
- some minor bug fixes and code improvements
-
Version 1.2.1
- Fixed bug where KID would not send "registration finished" events to SPID, if KID had no configs to distribute
-
Version 1.2.0
- Added keyword distribution to ingredients
- Added filtering by parent location
- Added VR version
- Fixed bug where chance modifier would be evaluated twice
-
Version 1.1.0
- Added magic effects/potions/scrolls/locations
- Added traits
- Added support for adding keywords to all valid records in a mod
- Fixed bug with wildcard matching on names
-
KEYWORD ITEM DISTRIBUTOR
Requirements
SKSE64
Skyrim SE 1.5.39 onwards / Skyrim VR
meh's Address Library for SKSE Plugins
Description
SKSE utility plugin that allows modders to add keywords to weapons/armor/ammo/magic effects/potions/scrolls/locations/books, at startup.
How To Use
Distributed records should be written to an ini file containing the suffix "_KID", in the Data folder (for example, MyMod_KID.ini).
They should follow this general format:
Keyword
Type
The type of item you want the keyword to be added to.
Filtering
Filters are for distributing to only specific groups of items.
NOTE: Combining multiple filters will progressively restrict the pool of items that can be distributed to.
Distribute the same keyword multiple times to add it to different types of items
Effect archetypes (Magic Effects, Spells, Enchantments, Scrolls, Potions)
Actor Values (Books, Magic Effects, Spells, Enchantments, Scrolls, Potions, Weapons)
Nif path (string must end with ".nif". Does not work for armors)
(eg. weapons/MyIronSword.nif)
List of archetypes
using formIDs : (0x1234~MyAwesomeSword.esp, 0x4567~MyAwesomeArmor.esp)
using editorIDs : (MyAwesomeSwordID, MyAwesomeArmorID)
To get all items in a mod : (MyAwesomeSwords.esp,MyAwesomeArmors.esp)
List of item specific filters
Pattern Matching
Requirements [strings, formIDs] : require items to have all keywords, using + (eg. ArmorTypeHeavy+ArmorTypeGauntlet to get all heavy gauntlets).
Exclusions [strings, formIDs] : exclude items that have name/keyword/form, using - (eg. -Wooden Sword to exclude all wooden swords).
Wildcards [strings] : get all items that have name or keyword containing wildcard, using * (eg. *Iron to get Iron Sword/Iron Bow/Iron Cuirass).
Matches [strings, formIDs] : default setting. Item must match with any of the listed strings or formIDs. This is equivalent to OR.
These are evaluated in the following order :
1.Requirements
2.Exclusions
3.Matches
3.Wildcards
Multiple entries should be separated using a comma. You can mix and match both string and form filters together.
Traits
Item specific filters you can use to narrow down items further. Negative pattern matching can be used with single letter traits (eg. -H to get all non-hostile magic effects, -E to get non-enchanted items)
Armor
Weapon
Ammo
Magic Effect
Potion
Ingredient
Book
Soul Gem
Spell/Enchantment/Scroll
Furniture
Chance
Percentage chance that keywords will be added to items. Chance is fixed and does not change across game sessions (ie. it will either be distributed or not).
Value is from 0.0 -100.0, default chance is 100 if left blank or NONE.
Examples
Notes
Check po3_KeywordItemDistributor.log in My Games/Skyrim Special Edition/SKSE, for more information about the process.
Installation
Credits
Source
Requirements
SKSE64
Skyrim SE 1.5.39 onwards / Skyrim VR
meh's Address Library for SKSE Plugins
Description
SKSE utility plugin that allows modders to add keywords to weapons/armor/ammo/magic effects/potions/scrolls/locations/books, at startup.
How To Use
Distributed records should be written to an ini file containing the suffix "_KID", in the Data folder (for example, MyMod_KID.ini).
They should follow this general format:
Keyword = formID~esp(OR)keywordEditorID|type|strings,formIDs(OR)editorIDs|traits|chance
Keyword
- FormID is the formID of the keyword with leading zero digits removed (eg. 0x12345)
- esp is the name of the mod containing the keyword (MyMod.esp). This is not necessary for Skyrim and DLC records.
- Keyword EditorID is the name of the keyword. If the keyword name cannot be found, the mod will dynamically generate the keyword for you, which can be checked in game using SKSE's GetKeywordString function
Type
The type of item you want the keyword to be added to.
Weapon
Armor
Ammo
Magic Effect
Potion
Scroll
Location
Ingredient
Book
Misc Item
Key
Soul Gem
Spell
Activator
Flora
Furniture
Race
Talking Activator
Enchantment
Filtering
Filters are for distributing to only specific groups of items.
NOTE: Combining multiple filters will progressively restrict the pool of items that can be distributed to.
Distribute the same keyword multiple times to add it to different types of items
- Strings
Effect archetypes (Magic Effects, Spells, Enchantments, Scrolls, Potions)
Actor Values (Books, Magic Effects, Spells, Enchantments, Scrolls, Potions, Weapons)
Nif path (string must end with ".nif". Does not work for armors)
(eg. weapons/MyIronSword.nif)
List of archetypes
Spoiler:
ValueMod
Script
Dispel
CureDisease
Absorb
DualValueMod
Calm
Demoralize
Frenzy
Disarm
CommandSummoned
Invisibility
Light
Darkness
NightEye
Lock
Open
BoundWeapon
SummonCreature
DetectLife
Telekinesis
Paralysis
Reanimate
SoulTrap
TurnUndead
Guide
WerewolfFeed
CureParalysis
CureAddiction
CurePoison
Concussion
ValueAndParts
AccumulateMagnitude
Stagger
PeakValueMod
Cloak
Werewolf
SlowTime
Rally
EnhanceWeapon
SpawnHazard
Etherealize
Banish
SpawnScriptedRef
Disguise
GrabActor
VampireLord
Show
ValueMod
Script
Dispel
CureDisease
Absorb
DualValueMod
Calm
Demoralize
Frenzy
Disarm
CommandSummoned
Invisibility
Light
Darkness
NightEye
Lock
Open
BoundWeapon
SummonCreature
DetectLife
Telekinesis
Paralysis
Reanimate
SoulTrap
TurnUndead
Guide
WerewolfFeed
CureParalysis
CureAddiction
CurePoison
Concussion
ValueAndParts
AccumulateMagnitude
Stagger
PeakValueMod
Cloak
Werewolf
SlowTime
Rally
EnhanceWeapon
SpawnHazard
Etherealize
Banish
SpawnScriptedRef
Disguise
GrabActor
VampireLord
- FormIDs/EditorIDs
using formIDs : (0x1234~MyAwesomeSword.esp, 0x4567~MyAwesomeArmor.esp)
using editorIDs : (MyAwesomeSwordID, MyAwesomeArmorID)
To get all items in a mod : (MyAwesomeSwords.esp,MyAwesomeArmors.esp)
List of item specific filters
Spoiler:
Armor - enchantment
Weapon - enchantment
Ammo - projectile
Location - music type, crime faction, parent location
Magic Effect - effect shader, hit art, casting art, enchant visuals/effect shader, projectile
Book - learned spell
Spell/Potion/Scroll/Ingredient/Potion - magic effects, half cast perk
Enchantment - magic effect/worn restriction formlist
Activator - water type
Flora - produce item
Furniture - associated spell
Race - skin (armor), racial ability
Talking Activator - voice type
Equip Slots - for weapons/armor/other equippable items using slots
Formlist - checks whether any of the form filters included in the list are valid
Show
Armor - enchantment
Weapon - enchantment
Ammo - projectile
Location - music type, crime faction, parent location
Magic Effect - effect shader, hit art, casting art, enchant visuals/effect shader, projectile
Book - learned spell
Spell/Potion/Scroll/Ingredient/Potion - magic effects, half cast perk
Enchantment - magic effect/worn restriction formlist
Activator - water type
Flora - produce item
Furniture - associated spell
Race - skin (armor), racial ability
Talking Activator - voice type
Equip Slots - for weapons/armor/other equippable items using slots
Formlist - checks whether any of the form filters included in the list are valid
Pattern Matching
Spoiler:
Show
Requirements [strings, formIDs] : require items to have all keywords, using + (eg. ArmorTypeHeavy+ArmorTypeGauntlet to get all heavy gauntlets).
Exclusions [strings, formIDs] : exclude items that have name/keyword/form, using - (eg. -Wooden Sword to exclude all wooden swords).
Wildcards [strings] : get all items that have name or keyword containing wildcard, using * (eg. *Iron to get Iron Sword/Iron Bow/Iron Cuirass).
Matches [strings, formIDs] : default setting. Item must match with any of the listed strings or formIDs. This is equivalent to OR.
These are evaluated in the following order :
1.Requirements
2.Exclusions
3.Matches
3.Wildcards
Multiple entries should be separated using a comma. You can mix and match both string and form filters together.
Traits
Item specific filters you can use to narrow down items further. Negative pattern matching can be used with single letter traits (eg. -H to get all non-hostile magic effects, -E to get non-enchanted items)
Armor
Spoiler:
E - enchanted
T - template
AR(min/max) - armor rating (float values)
W(min/max) - weight (float values)
30 to 61 - body slot
HEAVY - heavy armors
LIGHT - light armors
CLOTHING - clothing
Show
E - enchanted
T - template
AR(min/max) - armor rating (float values)
W(min/max) - weight (float values)
30 to 61 - body slot
HEAVY - heavy armors
LIGHT - light armors
CLOTHING - clothing
Weapon
Spoiler:
E - enchanted
T - template
W(min/max) - weight (float values)
D(min/max) - damage (float values)
Weapon Types
HandToHandMelee
OneHandSword
OneHandDagger
OneHandAxe
OneHandMace
TwoHandSword
TwoHandAxe
Bow
Staff
Crossbow
Show
E - enchanted
T - template
W(min/max) - weight (float values)
D(min/max) - damage (float values)
Weapon Types
HandToHandMelee
OneHandSword
OneHandDagger
OneHandAxe
OneHandMace
TwoHandSword
TwoHandAxe
Bow
Staff
Crossbow
Ammo
Spoiler:
B - is bolt
D(min/max) - damage (float values)
Show
B - is bolt
D(min/max) - damage (float values)
Magic Effect
Spoiler:
H - hostile
D - delivery
CT - casting type
R(value) - resistance actor value (numerical)
DISPEL - has DispelWithKeywords flag
school(min/max)
eg. 20(0/25) gets you all novice destruction magic effects
List of schools
Show
H - hostile
D - delivery
CT - casting type
R(value) - resistance actor value (numerical)
DISPEL - has DispelWithKeywords flag
school(min/max)
eg. 20(0/25) gets you all novice destruction magic effects
List of schools
Spoiler:
None : -1
Alteration : 18
Conjuration : 19,
Destruction : 20,
Illusion : 21,
Restoration : 22
Show
None : -1
Alteration : 18
Conjuration : 19,
Destruction : 20,
Illusion : 21,
Restoration : 22
Potion
Spoiler:
P - poison
F - food
Show
P - poison
F - food
Ingredient
Spoiler:
F - food
Show
F - food
Book
Spoiler:
S - teaches spell
AV - teaches actor value (skill)
numeric actor value (eg. 20 for Destruction)
Show
S - teaches spell
AV - teaches actor value (skill)
numeric actor value (eg. 20 for Destruction)
Soul Gem
Spoiler:
BLACK - soulgem can hold NPC soul?
SOUL(size) - size of soul contained in soulgem
GEM(size) - maximum soul size soulgem can store
Soul Gem Sizes
Petty : 1
Lesser : 2
Common : 3
Greater : 4
Grand : 5
Show
BLACK - soulgem can hold NPC soul?
SOUL(size) - size of soul contained in soulgem
GEM(size) - maximum soul size soulgem can store
Soul Gem Sizes
Petty : 1
Lesser : 2
Common : 3
Greater : 4
Grand : 5
Spell/Enchantment/Scroll
Spoiler:
H - hostile
ST - spell type
List of spell types
D - delivery type
CT - casting type
school
eg. 20 gets you all destruction spells
List of schools
Show
H - hostile
ST - spell type
List of spell types
Spoiler:
Spell : 0,
Disease : 1
Power : 2
LesserPower : 3
Ability : 4
Poison : 5
Enchantment : 6
Potion : 7
Ingredient : 8
LeveledSpell : 9
Addiction : 10
VoicePower : 11
StaffEnchantment : 12
Scroll : 13
Show
Spell : 0,
Disease : 1
Power : 2
LesserPower : 3
Ability : 4
Poison : 5
Enchantment : 6
Potion : 7
Ingredient : 8
LeveledSpell : 9
Addiction : 10
VoicePower : 11
StaffEnchantment : 12
Scroll : 13
D - delivery type
CT - casting type
school
eg. 20 gets you all destruction spells
List of schools
Spoiler:
None : -1
Alteration : 18
Conjuration : 19,
Destruction : 20,
Illusion : 21,
Restoration : 22
Show
None : -1
Alteration : 18
Conjuration : 19,
Destruction : 20,
Illusion : 21,
Restoration : 22
Furniture
Spoiler:
T - furniture type
BT - bench type
US - bench use skill
Furniture Types
Bench Types
Show
T - furniture type
BT - bench type
US - bench use skill
Furniture Types
Spoiler:
Perch : 0
Lean : 1
Sit : 2
Sleep : 3
Show
Perch : 0
Lean : 1
Sit : 2
Sleep : 3
Bench Types
Spoiler:
CreateObject : 1
SmithingWeapon : 2
Enchanting : 3
EnchantingExperiment : 4
Alchemy : 5
AlchemyExperiment : 6
SmithingArmor : 7
Show
CreateObject : 1
SmithingWeapon : 2
Enchanting : 3
EnchantingExperiment : 4
Alchemy : 5
AlchemyExperiment : 6
SmithingArmor : 7
Chance
Percentage chance that keywords will be added to items. Chance is fixed and does not change across game sessions (ie. it will either be distributed or not).
Value is from 0.0 -100.0, default chance is 100 if left blank or NONE.
Examples
;add MysticismSpells keyword to all magic effects in Mysticism
Keyword = MysticismSpells|Magic Effect|MysticismMagic.esp
;add NoviceDestruction keyword to all matching magic effects
Keyword = NoviceDestruction|Magic Effect|NONE|20(0/25)
;add poisonous food keyword to all poisonous foods
Keyword = PoisonousFood|Potion|NONE|P,F
;add keyword to all non-enchanted heavy gauntlets (armor having both ArmorHeavy and ArmorGauntlet keywords)
Keyword = 0x1234~MyArmorMod.esp|Armor|ArmorHeavy+ArmorGauntlet|-E
;Add keyword using name, to all bound arrows
Keyword = MysticalAmmo|Ammo|*Bound
;Add sun damage keyword to magic effects with sun hit art
Keyword = MagicDamageSun|Magic Effect|0x02019C9D,0x0200A3BB,0x0200A3BC
;Add spell tome destruction keyword to all books that teach destruction spells
Keyword = SpellTomeDestruction|Book|NONE|S,20
;alternate method
Keyword = SpellTomeDestruction|Book|Destruction|S
;Add MagicAbsorb keyword to all magic effects with Absorb effect archetype
Keyword = MagicAbsorb|Magic Effect|Absorb
;Add steel mace keyword to all weapons with this model path
Keyword = SteelMace|Weapon|*steelmace.nif
Notes
Check po3_KeywordItemDistributor.log in My Games/Skyrim Special Edition/SKSE, for more information about the process.
Installation
- Install as normal with a mod manager.
Credits
Source
- Ryan (SniffleMan) for CommonLibSSE
- SimpleINI for INI code and directory access