Create an account

Keyword Item Distributor (KID) v3.0.4  

Upload: 04 Nov 2023, 17:48
Created by: powerofthree [X]
Uploaded by: Aqxaro
Keyword Item Distributor (KID) v3.0.4

Requirements 

SKSE64
Skyrim SE 1.5.39 onwards / Skyrim VR
meh's Address Library for SKSE Plugins
VR Address Library for SKSEVR
MergeMapper 

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

Item names (eg. Iron Sword)
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

To match specific items in a mod :
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

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
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

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

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

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

B - is bolt
D(min/max) - damage (float values)

Magic Effect

H - hostile
D - delivery
CT - casting type
R(value) - resistance actor value (numerical)

school(min/max) 
eg. 20(0/25) gets you all novice destruction magic effects

Potion

P - poison
F - food

Ingredient

F - food

Book

S - teaches spell
AV - teaches actor value (skill)
numeric actor value (eg. 20 for Destruction)

Soul Gem

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

ST - spell type

List of spell types

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

Furniture

T - furniture type
BT - bench type
US - bench use skill

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. 
Comments
The minimum comment length is 10 characters.