Oblivion Mod:Mod File Format/ENCH
An ENCH record holds information on a single enchantment, which can be applied to an item.
Subrecords known to occur in the ENCH record include (confirmed):
-
- EDID (required): Variable length string, Editor ID
- FULL (optional, very): Name (variable length string)
- ENIT (required?): Basic enchantment data?
- EFID (optional, multiple): Holds an effect name
- EFIT (optional, multiple): Holds effect data
- SCIT (optional, multiple): Holds script effect data
- FULL (optional, multiple): Holds the custom script effect name
The FULL record was found in one mod, not found in Oblivion.esm. Might be there due to erroneous use of outside tool, or might be due to copying of a spell record to enchantment record. (There's a command in the Construction Set to copy a spell to an enchantment, although it doesn't seem to work in Construction Set version 1.2.404.)
ENIT Subrecord[edit]
Appears to hold 16 bytes of basic enchantment data.
Name | Type/Size | Info |
---|---|---|
Type | 4 (dword) | The basic enchantment type. Known values are:
|
ChargeAmount | 4 (dword) | The manual charge value used if AutoCalc is off. |
EnchantCost | 4 (dword) | The manual enchantment cost used if AutoCalc is off. |
Flags | 4 (dword) | Usually 0xCDCDCD00 or 0x00000000.
Note that in a general programming context values of 0xCD usually represent uninitialized data. |
EFID Subrecord[edit]
There will be an EFID for each effect added to the enchantment. It seems to be always followed by a matching EFIT subrecord. Its size seems fixed at 4 bytes.
Name | Type/Size | Info |
---|---|---|
EffectID | 4 (char [4], not nul terminated) | The ID of the magic effect (ex: FIDG) |
EFIT Subrecord[edit]
There will be an EFIT for each effect added to the enchantment. It seems to always follow a matching EFID subrecord. Its size may be fixed at 24 bytes.
Name | Type/Size | Info |
---|---|---|
EffectID | 4 (char [4], not nul terminated) | The ID of the magic effect (ex: FIDG). This seems to be the same as the ID in the preceding EFID subrecord. The purpose for this duplication is not known. |
Magnitude | 4 (dword) | The effect magnitude. |
Area | 4 (dword) | The effect area. |
Duration | 4 (dword) | The effect duration. |
Type | 4 (dword) | The type of effect to apply.
|
ActorValue | 4 (dword) | Specifies the effect subtype for effects that need an actor value (ex: Fortify Attribute). See Actor Value Indices for more information. |
SCIT Subrecord[edit]
There will be one SCIT subrecord for each script effect added to the enchantment. It will be followed by a matching FULL subrecord and preceded by the usual EFID and EFIT subrecords. The length of the subrecord is almost always 16 bytes with values of 4 bytes (1 instance) and 12 bytes (2 instances) also observed. Presumably shorter SCIT subrecords can use default values for the missing fields.
Name | Type/Size | Info |
---|---|---|
ScriptFormID | 4 (dword) | Specifies the FormID of the script to use for the effect. A value of 0x00000000 represents no script. |
School | 4 (dword) | Gives the spell school that the custom effect uses.
|
VisualEffect | 4 (char[4], not terminated) | Specifies the magic effect ID to be used as the visual effect. A visual effect of NONE has a value of 0x00000000. |
Flags | 4 (dword) | Usually 0x00559E01.
Unsure what the 0x00559E00 values represent, if anything. |
FULL Subrecord[edit]
There will be one FULL subrecord, a variable string, for each script effect added to the enchantment. It will be preceded by a matching SCIT subrecord. It holds the effect name as entered by the user. The default value is "Script Effect".