WEAP records hold information about weapons.
C | V | Field | Name | Type/Size | Info |
---|---|---|---|---|---|
- | BAMT | unknown | formID | Alternate block material. Points to a MATT. | |
- | BIDS | unknown | formID | Block bash impact data set. Points to a IPDS. | |
- | CNAM | template | formID | Points to another WEAP record to use as a template | |
? | CRDT | Critical Damage | struct |
16 byte struct
SSE version: 24 byte struct
|
|
+ | DATA | data | struct[10] | ||
|
int32 | ||||
|
float | ||||
|
int16 | Base damage. | |||
+ | DESC | description | lstring | ||
+ | DNAM | Weapon data | struct[100] | ||
|
uint8 | Lookup: 0=Other, 1=OneHandSword, 2=OneHandDagger, 3=OneHandAxe, 4=OneHandMace, 5=TwoHandSword, 6=TwoHandAxe, 7=Bow, 8=Staff, 9=Crossbow
|
|||
|
int8 | unknown | |||
|
in16 | unknown | |||
|
float | Speed of weapon. | |||
|
float | For melee weapons, this is a multiplier used in the reach formula: fCombatDistance * NPCScale * WeaponReach (where fCombatDistance is a gamesetting). | |||
|
uint16 | Flags. Known flag values include:
|
|||
|
uint16 | Possibly more flags, but has a constant value of 145 (0x91) in all records | |||
|
float | (deprecated?) The angle of view when using Iron Sights. Done by zooming in. | |||
|
uint32 | 0 in all records | |||
|
uint8 | Base VATS To-Hit Chance (possibly obsolete). Only values are 0 and 5 | |||
|
int8 | -1 in all records | |||
|
uint8 | Number of projectiles per single ammo object (possibly obsolete). 1 in all records | |||
|
int8 | Embedded Weapon: Actor Value, adding 46 to the stored value gives the actor value index, CK allows (0 PerceptionCondition through 6 BrainCondition), only valid if Embedded Weapon flag is set | |||
|
float | Tells combat AI they don't need to be closer than this value. | |||
|
float | Tells combat AI they don't want to be any further away than this value. | |||
|
uint32 | 0 in all records | |||
|
uint32 | Flags. Known flag values include:
|
|||
|
float | 1 in all records | |||
|
float | Values range from 0.1 to 5, but is not displayed in CK | |||
|
float | Rumble: left motor strength | |||
|
float | Rumble: right motor strength | |||
|
float | Rumble: duration | |||
|
uint32 | 0 in all records | |||
|
uint32 | 0 in all records | |||
|
uint32 | 0 in all records | |||
|
int32 | Skill governing weapon's use (for staves, this is a magic skill, not a weapon skill, but apparently ignored in that case). Provided as an actor value; -1 for weapons without a governing skill | |||
|
uint32 | 0 in all records | |||
|
uint32 | 0 in all records | |||
|
int32 | Actor Value, CK allows 39 DamageResist through 44 MagicResist or -1 for None (always -1 in original files) | |||
|
uint32 | 0 in all records | |||
|
float | Stagger | |||
- | EAMT | Enchantment Charge Amount | uint16 | ||
+ | EDID | editorID | zstring | Max 0x200 bytes, including null terminator. | |
- | EITM | Enchantment | formID | Points to a ENCH. | |
- | ETYP | Equip Type | formID | Specifies which equipment slot is used by the weapon (typically "BothHands" or "EitherHand"). Points to a EQUP. | |
+ | FULL | Name | lstring | ||
- | INAM | unknown | formID | Normal weapon swing impact set. Points to a IPDS. | |
- | KSIZ | keywordCount | uint32 | ||
- | KWDA | keywords | formID[KSIZ.keywordCount] | ||
+ | OBND | objectBounds | OBND | ||
+ | MODL | Model File Name | zstring | ||
- | MODS | Alternate textures | Alternate Textures | Used when overriding textures in a nif file with texture sets | |
- | MODT | unknown | Model Textures | ||
- | NAM7 | unknown | formID | Attack Loop Sound (SNDR) Not found in original files | |
- | NAM8 | unknown | formID | UnEquip Sound (SNDR) | |
- | NAM9 | unknown | formID | Equip Sound (SNDR). | |
- | NNAM | unknown | zstring | Embedded Weapon Node | |
- | SNAM | unknown | formID | Attack Sound (Trap Fire) (SNDR) | |
- | TNAM | unknown | formID | Attack Fail Sound (SNDR). | |
- | UNAM | unknown | formID | Idle Sound (SNDR) | |
- | VMAD | unknown | VMAD | ||
+ | VNAM | Sound Detection Level | uint32 | The amount of sound using the weapon generates, seems to be used in determining nearby NPCs detection of the actor using the weapon. 2(0x02) = Silent, 1(0x01) = Normal, 0(0x00) = Loud, 3(0x03) = Very Loud. | |
- | WNAM | unknown | formID | 1st Person Model Object. Points to a STAT. Affects the Inventory Item display. | |
- | XNAM | unknown | formID | Attack Sound (2D) (SNDR) found in Dawnguard.esm | |
- | YNAM | unknown | formID | Pickup Sound (SNDR) not found in original files | |
- | ZNAM | unknown | formID | Putdown Sound (SNDR) not found in original files |
The skill influencing the weapon damage and receiving xp is found in DNAM.Skill .
The use cost for staves (per use or per second) and enchanted weapons is the enchantment_cost. It is modified by the skills found in the effects of the enchantment (DATA.Skill), which may be none.
For unenchanted weapons the gold value is found in DATA.Value - called base_value in the following. For enchanted weapons the CK shows only the base_value, but that's not what's used ingame:
gold_value = base_value + [0.12*EAMT + 8*enchantment_cost]
A missing EAMT field is treated as 0.
The following game settings can be changed to modify that formula:
fEnchantmentPointsMult = 0.12
fEnchantmentEffectPointsMult = 8
NotesEdit
- What skill governs a weapon is set separately (under Weapon Data: 4C: Skill) from its Anim Type (Weapon Data: 00: Anim Type) which is separate from its ETYP which is separate from its keywords, such as "WeapTypeBattleaxe".
- Skill determines what skill governs the weapon.
- Perks, magic effects, etc can check whatever they want to in general to apply to something, but they usually check keywords.
- ETYP is purely how many hands the weapon needs; for example, the unpatched Ebony Blade and Headsman's Axe were both one-handed weapons with an ETYP of both hands.
- Keywords can also specify the weapon material (e.g., "WeapMaterialIron"), which is primarily used for smithing and matching set purposes, and whether the weapon is sold by merchants ("VendorItemWeapon").