Starfield Mod:Mod File Format/PERK

From Starfield Wiki
Jump to: navigation, search

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