deadline-balancing

Deadline stat reference

This document explains the stats relevant to balancing. See balancing.md for the general balancing goals.

General stats: balancing.csv

balancing.csv contains the base stats for weapons and the general stats for attachments. A completed build starts with the weapon row and adds the stats of its attached parts.

Weight, ergonomics, recoil, capacity, deviation, and velocity are additive. Damage and fire rate are fractional modifiers. For example, 0.1 damage adds 10 percent of the weapon’s base damage. Muzzle loudness is an additive adjustment to a multiplier that starts at 1.

An empty attachment stat contributes no change. In a change sheet, however, an empty cell can overwrite an existing value when ported.

Some attachment types also have behavior defined outside balancing.csv, including ammunition, optics, lasers, flashlights, and property patches.

Stacking exceptions

Summary

Stat Better direction Unit or meaning
weight lower Deadline weight units
ergonomics higher handling scale, normally 0 to 100
horizontal_recoil lower recoil scale, normally 0 to 100
vertical_recoil lower recoil scale, normally 0 to 100
magazine_capacity situational rounds
barrel_deviation lower normal projectile dispersion
buck_barrel_deviation lower buckshot dispersion
bullet_damage higher modifier to ammunition damage
bullet_velocity higher studs per second
fire_rate situational modifier to base RPM
muzzle_loudness lower gunshot loudness multiplier
price lower credits

Weight

weight is measured in arbitrary Deadline weight units (dw). Total loadout weight affects movement speed and movement stamina. Weapon weight does not directly affect handling or recoil.

Use loaded real-world weight as the starting point. Magazine weight should include ammunition. The normal conversion is:

0.024 dw = 1 oz
1 dw = 41.67 oz = 2.60 lb = 1.18 kg

Weight can deviate from this conversion for gameplay. Common exceptions include SMGs, suppressors, heavy optics, high-capacity magazines, tactical devices, and very small parts that need a meaningful tradeoff. When reliable weight data is unavailable, use the closest comparable item.

Ergonomics

ergonomics controls weapon handling. Higher ergonomics improves aiming, switching, and reload behavior. It also slows aim-stamina drain and speeds recovery.

Each weapon maps ergonomics into its own handling ranges, so the same stat change can have different effects across weapons. These mappings normally use a 0 to 100 range.

Recoil

horizontal_recoil and vertical_recoil control recoil direction. Lower is better.

average_recoil = (horizontal_recoil + vertical_recoil) / 2

The ratio between horizontal and vertical recoil affects shot direction. More horizontal recoil relative to vertical recoil produces more sideways and diagonal movement. Horizontal recoil is usually more valuable to reduce because sideways movement is harder to compensate for.

Average recoil maps into weapon-specific traits that control camera movement, sway, roll, knockback, animation strength, direction continuity, and progressive recoil. Equal displayed stats can therefore feel different across weapons.

Magazine capacity

magazine_capacity is the number of rounds held before reloading.

Some internal-magazine builds calculate capacity from magazine space and shell size instead of using the visible attachment value directly.

Damage modifier

bullet_damage modifies the selected ammunition’s damage curve:

damage = ammunition damage at distance and body part * summed bullet_damage

The completed multiplier starts with the weapon value and adds attachment modifiers. Adding 0.10 therefore adds 10 percent of the ammunition curve’s value at every distance and body part.

Barrel deviation

barrel_deviation controls normal projectile dispersion. buck_barrel_deviation replaces it when the ammunition has use_buck_deviation enabled. Lower is more accurate.

The ammunition’s spread_multiplier scales the maximum dispersion. Its spread_factor controls how shots are distributed inside that area.

Velocity

bullet_velocity is projectile speed in studs per second. Higher velocity reduces travel time and projectile drop.

The selected ammunition determines how the completed weapon stat is used. Ammunition properties such as penetration can also derive their value from completed velocity.

Use real-world velocity as a reference, then evaluate it against the game’s engagement distances.

Fire rate

fire_rate is a fractional modifier to the weapon’s base rounds per minute:

completed RPM = base RPM * (1 + fire_rate)

For example, 0.05 increases RPM by 5 percent and -0.05 reduces it by 5 percent. Property patches can replace RPM or fire modes instead of modifying them.

Muzzle loudness

muzzle_loudness is an additive adjustment to the gunshot loudness multiplier. The completed value starts at 1 and is clamped from 0.1 to 2.

For example, a muzzle device with -0.70 normally produces a completed multiplier of 0.30. Sound assets and special muzzle behavior can make equal values sound different.

Price

price is the attachment’s cost in credits. Price affects accessibility but does not offset an item’s combat strength.

Price is not a primary balancing knob and does not justify a large strength gap. More expensive attachments can trend slightly better to support progression, but a class should not spread widely on price alone.

Ammunition stats: calibers.csv

calibers.csv defines ammunition behavior. The selected ammunition supplies the damage curve, spread behavior, velocity loss, penetration, suppression, and other projectile properties.

Damage curves

The damage_* fields define damage by body part and distance. The completed weapon’s bullet_damage multiplier is applied after evaluating this curve.

Players have 100 health. All body parts can be penetrated, so one projectile can cause multiple damage events. Evaluate the full curve when comparing different weapons or ammunition.

Spread

spread_multiplier scales maximum projectile dispersion. spread_factor controls how shots are distributed inside that area. use_buck_deviation selects buck_barrel_deviation instead of normal barrel_deviation.

The editor displays both average and maximum deviation.

Velocity loss

velocity_drop controls continuous velocity loss during flight. velocity_loss_limb_pen, velocity_loss_ricochet, and velocity_loss_wallbang are the fractions of velocity lost after each corresponding event.

Penetration

bullet_penetration_ability controls how much material a projectile can penetrate. Material and impact conditions also affect the result.

Many ammunition entries derive penetration ability from the completed weapon’s bullet_velocity, so velocity modifiers can change penetration indirectly.

Suppression

suppression scales the effect applied when a projectile passes near another player. The effect becomes stronger as the projectile passes closer.

suppression_type selects the associated bullet-pass sound. Progression and game-level multipliers can modify the final suppression intensity.