Skip to content

Weapon Balancer

Type: Exec (In → Out)
Category: PLAYER

Applies per-weapon-class multipliers to pipeline parameters. Defines a stats table (Pistol, Rifle, Shotgun, Sniper, SMG, etc.) and applies them automatically based on weapon_type, publishing the wb_* multipliers that other nodes consume.

Properties

Global caps

Property Type Default Description
Damage Cap Float (0.1–20) 5.0 Maximum damage multiplier
Recoil Cap Float (0.1–20) 5.0 Maximum recoil multiplier
Spread Cap Float (0.1–20) 5.0 Maximum spread multiplier
Fire Rate Cap Float (0.1–20) 5.0 Maximum fire rate multiplier
Fallback String "rifle" Class used when weapon_type is not in the table
Debug Bool False Prints active multipliers to the console

Global modifiers

Property Type Default Description
ADS Spread × Float (0–1) 0.60 Spread when ADS is active (< 1 = more accurate)
ADS Recoil × Float (0–1) 0.80 Recoil when ADS is active
Hipfire × Float (≥1) 1.30 Spread penalty when not aiming
Move × Float (≥1) 1.40 Spread penalty while moving

Per-class stats (D=Damage, R=Recoil, S=Spread, F=Fire Rate)

Class D R S F
Pistol 0.75 0.60 1.10 1.40
Rifle 1.00 1.00 1.00 1.00
Shotgun 1.40 1.70 2.50 0.55
Sniper 2.50 2.00 0.30 0.20
SMG 0.50 0.70 1.30 2.00
LMG 0.90 1.40 1.60 1.80
Melee 1.00 0.00 0.00 1.00

(All values are editable by default)

Sockets

Socket Direction Type
In Input Exec
Out Output Exec

Published variables (wb_*)

Variable Type Description
wb_damage float Damage multiplier
wb_recoil float Recoil multiplier
wb_spread float Spread multiplier
wb_fire_rate float Fire rate multiplier
wb_class string Active weapon class

Graph position

[Weapon State Publisher] → [Weapon Balancer] → [Weapon Reload] → [Weapon Fire Executor] → ...

Must come before Fire Executor and damage nodes so the multipliers are available.