About this mod
SKSE plugin that distributes keywords to weapons/armor/magic effects/ingestibles and other items, using config files.
- Requirements
- Permissions and credits
- Changelogs

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 only)
Actor Values (Books, Magic Effects, Weapons)
Nif path (string must end with ".nif". Does not work for armors)
(eg. weapons/MyIronSword.nif)
List of archetypes
- 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
Pattern Matching
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
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
;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