Jump to content

[LE] accessing INGR subrecords


Recommended Posts

So, this is probably a bit too ambitious for how far along I am with modding (I'm doing the CK.com tutorials), but at some point I want to do something with randomizing ingredient effects. I realize there is a mod for this but I want to do it a bit differently and ideally I want the game to generate working recipes for potions that apothecaries can sell. This is what the zEdit mod says for technical information:

 

"Every ingredient (INGR) record contains an Effects array which lists out the different effects that an ingredient has. Each effect element contains an EFID subrecord, which links to the base magical effect (MGEF) record of the effect, and an EFIT subrecord, which contains data about the magnitude, area and duration of the effect.
This patcher first gathers all loaded INGR records, collects all their effects, and randomly assigns effects back to the INGR records depending on the randomization type selected in the patcher settings.
The EFIT subrecords are collected alongside their respective effect elements, but are unmodified.
Before patching, the array of all loaded INGR records are shuffled before passing it to the zEdit UPF module to facilitate some of the randomization types. The patcher will also never assign duplicate effects onto the same INGR record"
So my question is: how do you access and manipulate the subrecords? I'm not 1337 coder, but I feel like I could do what I want to do in Python (as a rough draft/testing) if it's just a matter of getting and setting array entries.
Edited by kithwrike
Link to comment
Share on other sites

The EFID and EFIT that you are referring to are entries within the INGR record. If you load an INGR record in xEdit (TES5Edit / SSEEdit) you can see them both under the Effects header.

 

To access and manipulate them:

Option 1: Open the Creation Kit and make the changes manually -- a nightmare for more than a single plugin

Option 2: Open xEdit and make the changes manually -- less windows to flip about but still a nightmare for more than a single plugin

Option 3: Create an xEdit script that scans the loaded active load order for INGR records and manipulate the EFID / EFIT entries as desired. Looking at how the aforementioned zEdit mod does this will be a big help. -- easier said than done but has the benefit of working with any and all loaded plugins

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...