MGEF records hold information about magical effects which are used in spells, enchantments and potions.
C | V | Field | Name | Type/Size | Info |
---|---|---|---|---|---|
+ | EDID | EditorID | zstring | Max 0x200 bytes, including null terminator. | |
- | VMAD | unknown | VMAD | ||
- | FULL | name | lstring | ||
- | MDOB | static | formID | Menu Display Object | |
- | KSIZ | keywordCount | uint32 | ||
* | KWDA | keywords | formID[KSIZ.keywordCount] | ||
+ | DATA | data | struct[152] | ||
|
uint32 | Flags
|
|||
|
float | ||||
|
formID | The type of record here depends on the EffectType (see below). | |||
|
int32 | Usually a base magic skill ActorValue (index) or -1 | |||
|
uint32 | Resistance skill index (generally 39-45) ActorValue (index) or -1 | |||
|
uint32 | Mask of 0xffff0000 (lower 2 bytes always 0) | |||
|
formID | LIGH | |||
|
float | Somehow controls the tapering of the spell over time, 0-1 typically | |||
|
formID | EFSH | |||
|
FormID | EFSH | |||
|
uint32 | Required Skill level (0, 25, 50, 75, 100) | |||
|
uint32 | 0 for none | |||
|
float | probably default if not provided, normal range 0.5-3 | |||
|
float | Somehow affects the tapering of spell duration, 0-2 typically | |||
|
float | Controls how fast the duration tapers off presumably, 0-5 typically | |||
|
float | Only valid if SecondAV is set, typical values of 0-2 | |||
|
uint32 | The basic type of effect to apply (0-46). See below for effect type details. | |||
|
int32 | ActorValue (index) or -1. Vast majority are 24 (direct health) | |||
|
formID | PROJ | |||
|
formID | EXPL | |||
|
uint32 | cast type:
|
|||
|
uint32 | delivery type
|
|||
|
int32 | Secondary ActorValue (index) or -1 (usually only shock/frost have this) | |||
|
formID | Hand effects ARTO | |||
|
formID | Impact effects ARTO (eg ward getting hit) | |||
|
formID | Impact data IPDS of projectiles | |||
|
float | Typically 0-10 | |||
|
formID | DUAL | |||
|
float | 0-3 | |||
|
formID | ARTO | |||
|
uint32 | Always 0 | |||
|
uint32 | Always 0 | |||
|
formID | SPEL | |||
|
formID | IPDS | |||
|
formID | PERK | |||
|
uint32 | 0-3
|
|||
|
float | Unknown exact purpose, values of 0, 50, 9999, 100000, 1000000 | |||
|
float | Unknown exact purpose, values of 0, 60, 10000, 600000 | |||
* | ESCE | CounterEffects | formid | Contain a magic effect formid that presumably counters the effects of the current one. | |
* | SNDD | soundData | list[struct[8]]
|
Array of structs, max 6 items. Sound types include:
|
|
+ | DNAM | Description | lstring | Effect description, e.g.: "Health regenerates <mag>% slower." | |
- | CTDA | conditionData | CTDA |
Effect TypesEdit
The following are the valid effect types for each magic effect and their associated data:
- 0 = Value Mod: PrimaryAV selects which actor value to modify
- 1 = Script: No Extra data?
- 2 = Dispel: No extra data?
- 3 = Cure Disease: No extra data?
- 4 = Absorb: PrimaryAV selects which actor value to absorb
- 5 = Dual Value Mod: PrimaryAV and SecondAV select which actor value to modify along with SecondAVWeight
- 6 = Calm: PrimaryAV is forced to be "Aggression"
- 7 = Demoralize: PrimaryAV is forced to be "Confidence"
- 8 = Frenzy: PrimaryAV is forced to be "Aggression"
- 9 = Disarm: No extra data?
- 10 = Command Summoned: No extra data?
- 11 = Invisibility: PrimaryAV is forced to be "Invisibility"
- 12 = Light: RelatedID is the light formid
- 15 = Lock: No extra data?
- 16 = Open: No extra data?
- 17 = Bound Weapon: RelatedID is the weapon to summon
- 18 = Summon Creature: RelatedID is the NPC to spawn (must have the summonable flag set)
- 19 = Detect Life: No extra data?
- 20 = Telekinesis: No extra data?
- 21 = Paralysis: PrimaryAV is forced to be "Paralysis "
- 22 = Reanimate: No extra data?
- 23 = Soul Trap: No extra data?
- 24 = Turn Undead: PrimaryAV is forced to be "Confidence"
- 25 = Guide: RelatedID is a hazard, used only by Clairvoyance
- 26 = Werewolf Feed: No extra data?
- 27 = Cure Paralysis: No extra data?
- 28 = Cure Addiction: No extra data?
- 29 = Cure Poison: No extra data?
- 30 = Concussion: No extra data?
- 31 = Value and Parts: PrimaryAV is used, not used in game
- 32 = Accumulate Magnitude: PrimaryAV, used by Ward Steadfast/Lesser/Greater
- 33 = Stagger: No extra data?
- 34 = Peak Value Mod: PrimaryAV selects which actor value to modify, RelatedID is a keyword (Assoc. Item 2 in the C.K.) - SecondaryAV & SecondAVWeight are not used.
- 35 = Cloak: RelatedID is a spell (only some spells supported, either/both hand?)
- 36 = Werewolf: RelatedID is a race
- 37 = Slow Time: No extra data?
- 38 = Rally: PrimaryAV is forced to be "Confidence"
- 39 = Enchance Weapon: RelatedID is an enchantment
- 40 = Spawn Hazard: RelatedID is a hazard
- 41 = Etherealize: No extra data?
- 42 = Banish: PrimaryAV is forced to be "Confidence"
- 43 = Spawn Scripted Ref: No extra data?, used by ThrowVoice
- 44 = Disguise: No extra data?
- 45 = Grab Actor: No extra data?
- 46 = Vampire Lord: RelatedID is a race