File information

Last updated

Original upload

Created by

zhitsak

Uploaded by

zhitsak

Virus scan

Safe to use

About this mod

A SKSE plugin that lets you add custom effects to items when they are activated, grabbed, released, thrown, or hit. You can make things happen like spawning items, impact data sets, actors, casting spells, creating explosions, playing sounds, and swapping objects - all controlled with JSON files.

Requirements
Permissions and credits
Changelogs


Object Impact Framework (OIF) is a SKSE plugin that lets you add custom effects to items when they are activated, grabbed, released, thrown, or hit. You can make things happen like spawning items, impact data sets, actors, casting spells, creating explosions, playing sounds, and swapping objects - all controlled with JSON files. Compatible with everything.

There is also a ready-made config for cutting cheeses and the bread, available right below the main file.


The more detailed documentation for mod authors with examples: GitHub.


Users Info

  • Make sure you have installed: SKSE and Address Library (or VR Address Library)
  • Place your JSON files in: Data/SKSE/Plugins/ObjectImpactFramework/
  • Troubleshooting: If something doesn’t work, look at the mod's log file for error messages. The log can be found in Documents/My Games/Skyrim Special Edition/SKSE/ObjectImpactFramework.log


Mod Authors Info
 
  • Filter Note: An object must be defined by at least one of the four parameters - formIDseditorIDs, formListsformTypes, keywords - for the event to work.
  • FormIDs Note: If you are not using the standard 0x prefix and are copying from CK or SSEEdit, make sure you put 00 instead of the load order digits.
  • Identifiers Must Match: Make sure the formID or editorID fits the effect (e.g., a spell ID for "SpawnSpell", an item ID for "SpawnItem").
  • Priority Note: Place effects with "Remove" and "Swap" (unless used with "nonDeletable": 1) prefixes at the very end of the event, otherwise the removed object may not have time to call other effects on itself before gets deleted.
  • You can modify existing JSON files without quitting the game, just edit the file and reload the save.
 

Complete Quick Reference


Events

  • "Activate" - Activating / opening objects
  • "Hit" - Hits with weapons / spells
  • "Grab" - Grabbing items
  • "Release" - Releasing grabbed items
  • "Telekinesis" - Telekinesis spell
  • "Throw" - Throwing objects (requires Grab And Throw mod)
  • "CellAttach" - Object is attached to a cell
  • "CellDetach" - Object is detached from a cell
  • "WeatherChange" - Weather has changed

Allowed Object Types

  • "activator"
  • "talkingactivator"
  • "weapon"
  • "armor"
  • "ammo"
  • "ingredient"
  • "misc"
  • "key"
  • "book"
  • "note"
  • "scroll"
  • "soulgem"
  • "potion" (includes food/drinks)
  • "furniture"
  • "door"
  • "flora"
  • "container"
  • "static"
  • "moveablestatic"
  • "tree"
  • "light"

Filter Options

Object Identification (need at least one):

  • formIDs / formIDsNot - Specific object form IDs ("Skyrim.esm:0x123456")
  • editorIDs / editorIDsNot - Specific object editor IDs ("VendorItemClutter")
  • FormTypes - Object categories (see list above)
  • formLists / formListsNot - Formlist references with index support (-1 for all items, -2 for parallel relationship for mirrored formlists, 0+ for specific index)
  • keywords / keywordsNot - Required/forbidden keywords
Conditional Filters:

  • chance - Probability (0-100)
  • interactions - How many hits / uses before triggering
  • limit - Maximum times this can happen per object
  • questItemStatus - Whether the object is a quest item (0 for non-quest, 1 for alias, 2 for quest, 3 for all)
  • isInitiallyDisabled - Whether the object has the kInitiallyDisable flag (0 for no, 1 for yes, 2 for all)
  • locations / locationsNot - Specific cells / locations / worldspaces or formlists of them
  • weathers / weathersNot - Specific weathers of formlists of them
  • perks / perksNot - Source actor perk requirements 
  • actorValues / actorValuesNot - Source actor stats (["Health >= 50"])
  • level / levelNot - Source actor level ([">= 10"])
  • hasItem / hasItemNot - Source actor inventory items requirements
  • isPluginInstalled / isPluginNotInstalled - Mod dependencies
  • isDllInstalled / isDllNotInstalled - DLL dependencies
Hit-Specific Filters:

  • weaponTypes / weaponTypesNot - "onehandsword", "twohandsword", "onehandaxe", "twohandaxe", "onehandmace", "twohandmace", "dagger", "ranged", "staff", "handtohand", "spell", "scroll", "shout", "ability", "power", "lesserpower", "explosion", "total", "other"
  • weapons / weaponsNot - Specific weapon / spell / explosion IDs
  • weaponsFormLists / weaponsFormListsNot - Weapon / spell / explosion formlists
  • weaponsKeywords / weaponsKeywordsNot - Weapon / spell keywords
  • attacksTypes (or attacks) / attacksTypesNot (or attacksNot) - "regular", "power", "bash", "charge", "rotating", "continuous", "constant", "fireandforget", "ignoreweapon", "overridedata"
  • deliveryTypes / deliveryTypesNot - "self", "aimed", "targetactor", "targetlocation", "touch", "total"
  • allowProjectiles - 0 for no, 1 for yes (default)
  • projectiles / projectilesNot - Specific projectile IDs
  • projectilesFormLists / projectilesFormListsNot - Projectile formlists

Effect Types

Object spawn/swap:

  • "RemoveItem" - Delete object
  • "EnableItem" - Enable object
  • "DisableItem" - Disable object
  • "SpawnItem" / "SpawnLeveledItem" - Spawn items
  • "SwapItem" / "SwapLeveledItem" - Replace object with items
  • "SpawnActor" / "SpawnLeveledActor" - Spawn creatures/NPCs
  • "SwapActor" / "SwapLeveledActor" - Replace object with creatures/NPCs
Magic Effects:

  • "SpawnSpell" / "SpawnLeveledSpell" - Cast on nearby actors
  • "SpawnSpellOnItem" / "SpawnLeveledSpellOnItem" - Cast on object
  • "ApplyIngestible" - Apply object's potion effects to nearby actors
  • "ApplyOtherIngestible" - Apply specified potion effects to nearby actors
Visual/Audio Effects:

  • "SpawnImpactDataSet" - Play Impact Data Sets
  • "SpawnExplosion" - Create explosions (cannot be used with fade = 0 and SpawnType other than 0 or 4)
  • "SpawnEffectShader" / "SpawnEffectShaderOnItem" - Visual effects
  • "ToggleNode" - Toggles model's node on and off
  • "PlaySound" - Play sound descriptors
  • "PlayIdle" - Play animation on a source actor
Lighting Effects:

  • "SpawnLight" - Create lights
  • "RemoveLight" - Delete nearby lights
  • "DisableLight" - Disable nearby lights
  • "EnableLight" - Enable previously disabled nearby lights
Utility Effects:

  • "SpillInventory" - Empty containers
  • "AddContainerItem" - Add specified items to containers
  • "AddActorItem" - Add specified items to a source actor
  • "RemoveContainerItem" - Remove specified items from containers
  • "RemoveActorItem" - Remove specified items from a source actor
  • "UnlockItem" - Unlock object
  • "LockItem" - Lock object
  • "ActivateItem" - Activates object (same as pressing E on any item)

Items Configuration Options

Effect's "items" possible fields:

  • formID - Specific object ID ("Skyrim.esm:0x123456")
  • editorID - Specific object editor ID ("EditorIDName")
  • formList - Formlist with index ([{"formID": "...", "index": 0}], [{"editorID": "...", "index": -2}])
  • chance - Individual item chance (0-100)
  • count - How many items / times
  • radius - Effect radius (spells, lights, applying ingestibles)
  • duration - Effect duration (shaders, animations)
  • scale - Object scaling
  • fade - Fade effect on spawn (0 for no fade, 1 for fade (default))
  • spawnType - Spawn positioning (0-8)
  • nonDeletable - Keep original in swaps (0 for deletable, 1 for non-deletable)
  • string - Single text string (animations only)
  • strings - Multiple text strings (nodes only)
  • mode - Determines fuction mode (0 for disable, 1 for enable)
FormID Formats

  • "Skyrim.esm:0x123456" (esp/esm)
  • "MyMod.esl:0x456" (esl/espfe)
  • "Skyrim.esm:00123456" (with leading zeros for esp/esm)
  • "MyMod.esp:FE000800" (with FE prefix for espfe/esl)
FormList Index Options

  • -1 (default) - All items at once
  • -2 - Parallel relationship for mirrored lists
  • -3 - Random selection from list
  • 0+ - Specific index
Spawn Types

  • 0 - Basic PlaceAtMe
  • 1 - Center of original
  • 2 - Top of original
  • 3 - Bottom of original
  • 4 (default) - Buggy physics-bypassing PlaceAtMe
  • 5 - Buggy physics-bypassing center
  • 6 - Buggy physics-bypassing top
  • 7 - Buggy physics-bypassing bottom
  • 8 - Pin to ground below

My other mods: