Starfield Mod:Mod File Format/PERK
From Starfield Wiki
OMOD records hold information about Object Modifiers. These include things like armor/weapon mods.
- EDID - String EditorId
- DATA - Custom structure (variable sized)
dword includeCount
dword propertyCount
word unknown1
dword nameLength // Includes the terminating NUL character
byte name[nameLength]
word unknown2
dword attachPointFormId
dword attachParentSlotCount
dword attachParentSlots[attachParentSlotCount] // Array of formids
dword unknown3
include_t includes[includeCount] // See below for structure definition
property_t properties[propertyCount] // See below for structure definition
- Minimum length of this structure appears to be 34 bytes. Maximum length found in Starfield.esm is 511 bytes.
- FULL - LString FullName
- DESC - LString Description
- MODL - String ModelFilename (optional)
- FLLD - Dword Unknown (always 1?)
- NAM1 - Byte Priority
- XFLG - Byte Unknown (usually not included, 5 records have a value of 2)
Include Data Definition[edit]
This is a fixed size structure of 7 bytes used in the DATA subrecord.
dword modFormId
byte minLevel
byte optional
byte notUseAll //Boolean
Property Data Definition[edit]
This is a fixed size structure of 24 bytes used in the DATA subrecord:
dword valueType // See below for possible values
dword valueFunction // See below for possible values
byte propertyName[4] // See below for possible values
dword value1 // Usually a dword, sometimes a float
float value2 // Usually a float, sometimes a dword
float step
ValueType[edit]
The property valueType has one of 6 possible values which affect how the value1/value2 values should be used:
- 0 -- Dword Dword
- 1 -- Float Float
- 2 -- Bool Bool (values are dwords)
- 4 -- FormId Dword
- 5 -- ENUM Unused (both dwords)
- 6 -- FormId Float
FunctionType[edit]
The property functionType has one of 3 possible values which determines how the property modifier acts on the value:
- 0 -- Set (set value)
- 1 -- Add (add to value)
- 2 -- Mul+Add (multiply and add?)
PropertyName[edit]
propertyName is a 4 byte string which describes the type of modifer. Usually the first character indicates the record type modified and the 3 following the type of modification:
AA01
AA02
AACT
ACPT
ADMG
AENC Armor Enchantment
AKEY Armor Keyword
ARAT Armor Rating
AVAL Armor Value
AWGT
FBDS
FBUR
FHDT
FLMS
FORF Weapon Override Rate of Fire
FREP
FTYP
GVAL Weapon Value
GWEI Weapon Weight
NACV NPC Actor Value
NAID
NARO
NCST
NENC
NFAC NPC Faction
NGFA
NINV NPC Inventory
NKEY NPC Keyword
NMMX
NMSL NPC Layered Material Swap
NPRK NPC Perk
NRCE NPC Race
NREA
NSKN NPC Skin
NSPL
NXPO
SDMG
SPAV
WABS
WACV Weapon Actor Value
WADL
WAIM
WAOS
WCDM
WCIM
WCO1
WCO2
WCO3
WCO4
WCO5
WCO6
WDMG
WDTV
WEMT
WENC
WIMP
WKEY Weapon Keyword
WMNR
WMXR
WNPR
WOPR
WRC1
WRC2
WRC5
WRSP
WSCP
WSDM
WSLV Weapon Stealth Level
WSPD
WSPS
WSTS
WTMC
ZDTA
ZFOV