Wardogs — UnderbarrelGrenadeLauncher Game Feature Reference

Extracted from cooked game data (Wardogs/Plugins/GameFeatures/UnderbarrelGrenadeLauncher, 4 JSON files, all parsed). Build ++Wardogs+Live-CL-516586, UE 5.7.

Naming flag: the launcher item is Id.Item.TestGrenadeLauncher, with display name “TEST Grenade Launcher”. It reads as a test or placeholder build, not a shipping item. The stats below are exported as-is, but the name and the magazine-audio reference suggest the item has not been finished.


1. Plugin Inventory

Asset Type Role
Content/UnderbarrelGrenadeLauncher GameFeatureData Plugin root. Scans /UnderbarrelGrenadeLauncher/Data for BH.Item assets
Content/Data/GrenadeLauncher BHInventoryItemDefinition (7 exports) The attachment item (Id.Item.TestGrenadeLauncher)
Content/Data/DA_GrenadeLauncher_Stats WDWeaponStatsData Firing, recoil and ballistic stats
Content/Data/DA_GrenadeLauncher_Audio WDAudioData Audio data asset. Exported with no properties

2. Attachment Item (GrenadeLauncher)

Field Value
ItemId Id.Item.TestGrenadeLauncher
DisplayName “TEST Grenade Launcher”
ItemContext Item.Attachment.Underbarrel

Fragments (6)

Fragment Purpose
BHInventoryFragment_UserInterface UI hook (no properties)
WDInventoryFragment_Attachment Weapon stats, ammo requirement, animations (section 3)
WDInventoryFragment_Gunsmith ItemType = EWDGunsmithItemType::Attachment
BHInventoryFragment_SubSlotSupport Ammo container (section 4)
WDItemsmithDataFragment_CameraData Gunsmith camera parameters (section 5)
WDInventoryFragment_Audio Audio asset ID_Magazine_Audio (see note in section 6)

3. Attachment Fragment: Weapon Setup

3a. Ammo requirement

Field Value
Required resource Id.Item.40mm
Resources used 1 per use
Resource type Item.Resource.AncillaryAmmo
Limit search to item true
Optional required sub-slot category None

3b. Reload animation

Field Value
First-person player montage AM_FP_UniTool_Reload
Third-person player montage AM_TP_UniTool_Reload
Override length false (length 1.0 if used)
Item blend-out time 0.1 s
Player blend-out time 0.1 s

Both montages come from the Universal Tool animation set, not a grenade-launcher-specific one.

3c. Firing animation

All four firing montage slots are null. Firing relies on the weapon’s own animation.

3d. Spread

SpreadValues is keyed by stance and uses curve table CT_Weapon_Spread. The Stand entry has value 1.0.

3e. Weapon stats reference

Stats come from WDWeaponStatsData DA_GrenadeLauncher_Stats (section 6), and audio from DA_GrenadeLauncher_Audio.


4. Ammo Container (BHInventoryFragment_SubSlotSupport)

Field Value
Container identifier Item.Ammo
Support filter EBHSupportFilterMethod::BlockList (allow and block lists both empty)
Size type EBHContainerType::Item
Grid size 1 x 1
List size -2 (exported value)
Max slot stack size 1
Stacked packing false
Hidden container false
Default items Id.Item.40mm (default amount null)

Effect: the launcher holds one 40mm round in a single-slot container, with no stacking.


5. Gunsmith Camera (WDItemsmithDataFragment_CameraData)

Keyed on Item.Attachment.Underbarrel:

Field Value
Focus position offset (0, 15, -5.20)
Focus position (0, 0, 0)
Default angle (pitch, yaw, roll) (0, 180, 0)
Center angle (0, 180, 0)
Angle offset limit 75
Desired distance 60
Distance limits (min, max) 10 to 200
Camera speed 1.0
Zoom speed 40
Flair pan limit min / max (-100, -50) / (100, 50)
Item-select view offset (0, 0)

6. Weapon Stats (DA_GrenadeLauncher_Stats)

Stat Value Notes
Rounds per minute 75  
Supported fire modes EWDFireMode::SemiAutomatic Only mode listed
Rounds per burst 1  
First focal plane false  
Spawn projectile from camera when ADS false  
Supported caliber Item.Caliber.40mm  
Initial bullet speed 7,600 Unit not stated
Effective range 300 Unit not stated

Recoil curves

Both ViewKickCurve and RecoveryKickCurve are two-key linear-to-cubic ramps:

Curve Key 0 (time, value) Key 1 (time, value) Interp
View kick (0, 0) (1, 1) Cubic, auto tangents
Recovery kick (0, 0) (1, 1) Cubic, auto tangents

Both are normalised 0-to-1 ramps (time 0 to 1, value 0 to 1). The export does not show what scales them.

Audio

DA_GrenadeLauncher_Audio (WDAudioData) is exported with no properties. The launcher’s sound therefore comes from the defaults or from whatever references it. The item’s WDInventoryFragment_Audio points at ID_Magazine_Audio, a magazine asset, which suggests the item reuses magazine audio.


7. Plugin Root (UnderbarrelGrenadeLauncher)

Field Value
Primary asset type BH.Item
Base class BHInventoryItemDefinition
Directory scanned /UnderbarrelGrenadeLauncher/Data
Specific assets none
Apply recursively true
Priority -1
Cook rule AlwaysCook

8. How Values Combine

  • Ammo: each shot uses 1 round of Id.Item.40mm (ResourcesUsed = 1). The container holds 1 round at a time (MaxSlotAmountStackSize = 1), so the launcher is effectively a single-shot magazine.
  • Fire rate: 75 RPM is about 0.8 s between shots (60 / 75). Semi-automatic means one shot per trigger pull.
  • Ballistics: a 7,600 initial speed over an effective range of 300. Units are not stated, so the range-to-speed relation cannot be checked from this folder.
  • Damage: no damage value is in this plugin. Damage is on the 40mm projectile asset, DA_40mm_ProjectileData (BaseDamage 100, ExplosiveRadius 1000).

9. Still Not Pulled / Limitations

  • Damage and splash. The 40mm round’s damage and explosion data are not in this plugin.
  • Unit for bullet speed and effective range is not stated.
  • CT_Weapon_Spread values are referenced by name only. The curve table is outside this plugin.
  • Reload and firing montages are referenced by path. Their timing is not in this dump.
  • DA_GrenadeLauncher_Audio is empty in the export. Whether that is intentional or a missing asset needs checking.
  • Test naming: whether TestGrenadeLauncher is shipped or only a test build cannot be confirmed from the dump. The name and magazine-audio reference are the evidence.