This guide is aimed at experienced xEdit users and knowledgeable Papyrus scripters. I will not be covering how to use xEdit, how to install and apply xEdit scripts, etc.
Introduction
Most experienced xEdit users know that xEdit does not give you full control over the VMAD subrecord.
For example:
- You can add the VMAD subrecord, but you can't add scripts.
- You can remove properties, but you can't add properties.
- In special VMAD subrecords, you can add a fragment script and fragments, but you can't add properties.
You can, however, copy VMAD subrecords into other records.
While you are limited by the various attributes of existing VMAD subrecords (e.g., number of properties, number of scripts), this greatly expands your capabilities.
Copying VMAD subrecords
To copy a VMAD subrecord into another record, I recommend using my xEdit script: https://github.com/fireundubh/xedit-scripts.
- Select the target record(s) to which you want to add a VMAD subrecord.
- Right-click your selection and apply the script.
- Enter the 8-digit Form ID of the record whose VMAD subrecord you want to copy.
That's the easy part.
Finding VMAD subrecords
The hard part is determining which VMAD subrecord you need (e.g., number of properties, number of scripts) and which record has those features.
Determining what you need
VMAD subrecord types
You should be aware that there are seven types of VMAD subrecords:
- VMAD (generic)
- Info VMAD (unique to INFO records)
- Package VMAD (unique to PACK records)
- Perk VMAD (unique to PERK records)
- Quest VMAD (unique to QUST records)
- Scene VMAD (unique to SCEN records)
- Terminal VMAD (unique to TERM records)
As indicated, the INFO, PACK, PERK, QUST, SCEN, and TERM records have their own VMAD subrecord types.
Practically, this means that, for these records, you are limited to copying VMAD subrecords from INFO to INFO record, PACK to PACK record, and so on.
The generic VMAD subrecord is used for all other VMAD-capable records.
VMAD subrecord attributes
The attributes of a VMAD subrecord vary from record to record. Attributes include:
- Number of scripts
- Number of properties per script
- Fragment script exists
- Number of fragment script properties
- Number of fragments
- Number of phase fragments
- Number of aliases
- Number of scripts per alias
- Number of properties per alias
You should write your Papyrus scripts first, so that you can identify which attributes your scripts require.
Finding a VMAD subrecord Form ID
I've made the process of finding a VMAD subrecord Form ID fairly straightforward.
Using https://github.com/fireundubh/xedit-scripts/tree/master/references, you can filter for the attributes you want, and use the respective Form ID with my script.
This spreadsheet contains attribute data for all records with a VMAD subrecord in Fallout4.esm.
Tools
- https://github.com/fireundubh/xedit-scripts (requires xEdit, dubhFunctions, and mteFunctions)
- https://github.com/fireundubh/xedit-scripts/tree/master/references (Excel XLSX spreadsheet)