Skip to content

Weapon Structure Definition

michal-kapala edited this page Apr 22, 2020 · 16 revisions

Weapon Structure Definition

  • For the 3 classes up to 3 weapons are defined over the packet GetAllDefaultLoadoutKits in InventoryService
  • Weapons in game are defined over the packet GetTemplateWeaponMaps in WeaponService

Template Weapon Maps

  • in the packet for the weapon definitions are 4 std::maps with mapkeys
  1. TemplateWeaponList containing information about the weapon itself (TWL)
  2. WeaponCompatibilityBridge containing list of DWORD ids (WCB)
  3. TemplateComponentLists containing list of map keys (TCL)
  4. Components containing information about components of a weapon

BoneStructure Parameter

Is a bitfield. For now, all bone structure parameters are set to 255 except the weaponbody where its set to 8

Weapon Body

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 0
  3. from this components the key member is used to load the GAO

Stock

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 4
  3. from this components the key member is used to load the GAO

ForeGrip and Barrel

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 20 to refer to the GripAndBarrel Component
  3. from the components the modefierlistid is used to select a modefierlist
  4. 2 skill modefiers should exist there with modtype 2 and proptype 105 (WCPT_Package_RDVForeGripID_I) & 106 (WCPT_Package_RDVBarrelID_I)
  5. their methodvalue selects components again by mapkey
  6. these components should have type 5 (WCMT_ForeGrip) & 6 (WCMT_Barrel)
  7. from these components the key member is used to load the GAOs
  8. parent component for barrel: ForeGrip Component

Scope

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 8
  3. from this components the key member is used to load the GAO

Clip / Magazine

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 9
  3. from this components the key member is used to load the GAO

Grenade Launcher

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 10
  3. from this components the key member is used to load the GAO

Laser Pointer

  1. TCL should contain 1 item with key of weapon and as value the key of 1 component
  2. this component should have type = 12
  3. from this components the key member is used to load the GAO
  4. parent component: Fore Grip Component

Possible Asset Keys

Body Component (type = 0)

  • GRO-W-Ar-AsVal-Body.gao - 0xAD102A65 (2903517797)

Stock Component (type = 4)

  • GRO-W-Ar-AsVal-Stock-Folding-01.gao - 0xAD102B48 (2903518024)

Fore Grip Component (type = 5)

  • GRO-W-Ar-AsVal-ForeGrip-02.gao - 0xAD102B0A‬ (2903517962)

Barrel Component (type = 6)

  • GRO-W-Ar-AsVal-Barrel-Medium.gao - 0xAD102A54 (2903517780)

Scope (type = 8)

  • GRO-W-Scope-Acog-02.gao - 0xF7700653 (4151314003)

Clip / Magazine (type = 9)

  • GRO-W-Ar-AsVal-Clip-Basic.gao - 0xAD102AA2 (2903517858)

Grenade Launcher (type = 10)

  • GRO-W-GrenadeLauncher.gao - 0x01800368 (25166696)

Laser pointer (type = 12)

  • GRO-W-LaserPointer.gao - 0x0180031A (25166618)

GripAndBarrel Component (type = 20) (currently the same as ForeGrip Component)

  • GRO-W-Ar-AsVal-ForeGrip-02.gao - 0xAD102B0A‬ (2903517962)
Clone this wiki locally