BUFF¶
Blast Underpressure Fix Framework for DCS World | v0.3
Brought to you by VMFA-224 Skunkworks
v0.3 Released
- Cascade health gate removed -- blast wave now hits all objects in radius regardless of health
- Verbose debug logging -- every phase (registration, tracking, impact, cascade, damage model) logs detailed diagnostics when
debug = true - First live-tested release -- GBU-12 and GBU-38 drops validated against armor targets
Download v0.3{ .md-button }
What Is BUFF¶
DCS World has a known problem: air-dropped weapons have absurdly steep blast damage falloff. A 500lb Mk-82 that lands 10 meters from a truck should destroy it. DCS disagrees. The community script "Splash Damage" has been fixing this for years -- BUFF is a lean rewrite of that same core mechanic.
One job: make DCS weapon explosions lethal at realistic radii. Everything else is out of scope.
- Supplemental explosions. Intercepts
S_EVENT_SHOT, tracks weapons in flight, spawns a properly-scaledtrigger.action.explosionat the impact point. Stacks on top of DCS's native (anemic) damage. - Blast wave cascade. Secondary explosions on nearby units, scaled by inverse-square distance and bounding box surface area. Propagation delay simulates shockwave travel.
- AGL intercept gate. Weapons destroyed mid-air (SHORAD, CIWS) no longer produce phantom ground explosions. The original Splash Damage script has this bug.
- Damage model. Damaged ground units get ROE HOLD and movement disabled. Simulates partial kills on vehicles that survive the initial blast.
- Zero in-flight sphere searches. The original script runs 320
world.searchObjectscalls/sec with 16 weapons tracked. BUFF runs zero during flight. One search per weapon at impact, once. - Zero dependencies. Single Lua file, pure DCS scripting engine. No MOOSE, no MIST, no desanitization.
Quick Example¶
Two triggers in Mission Editor, done:
Trigger 1: ONCE -- TIME MORE (1) -- DO SCRIPT FILE -> BUFF.lua
Trigger 2: ONCE -- TIME MORE (2) -- DO SCRIPT FILE -> BUFF_config.lua
What It Covers¶
Air-delivered ordnance only -- the stuff DCS actually gets wrong:
- Unguided bombs (Mk-81 through Mk-84, FABs, SAMPs, British GP/MC/SAP, SC/SD series)
- Guided bombs (GBU-10/12/16/24, GBU-31/32/38/54, KABs, JSOW, LS-6)
- AGMs (Maverick variants, AGM-123/130, Kh-series, Rb 05/75, HOT3, C-701)
- ATGMs (Hellfire, Vikhr, Ataka, AKD-10)
- ARMs (AGM-88, AGM-45, AGM-122, Kh-58/25MP/31P, LD-10)
- Anti-ship (AGM-84D, Rb 15F, C-802AK, Kh-22/31A/35)
- Cruise (AGM-84E/H, CM-802AKG, Kh-59M/65)
- Rockets (Hydra, Zuni, SNEB, S-series, C-series) -- off by default, enable with
rockets_enabled = true
151 weapons by default. 211 with rockets enabled.
What It Doesn't Cover (Deliberately)¶
MLRS, artillery shells, naval guns, ship-launched cruise missiles. DCS's blast damage bug is specifically in air-dropped ordnance. Ground and naval weapons aren't broken in the same way.
Performance¶
For a 4-ship dropping 4 Mk-82s each (16 weapons simultaneously):
| Phase | Splash Damage 3.4 | BUFF |
|---|---|---|
| Sphere searches during flight | ~320/sec | 0/sec |
| Per-tick work while tracking | sphere search + land.getIP + position reads | position reads only |
| Sphere searches at impact | 16 + N cascade | 16 total (one per weapon) |
| Idle overhead | 10Hz poll always | 0.5s poll when nothing tracked |
40 planes x 4 bombs = ~1 ms/sec sustained + ~15 ms blip during impact bursts.
Credits¶
- Concept and Development: VMFA-224 Skunkworks + Claude
- Original Splash Damage Script: FrozenDroid (original), spencershepard/GRIMM (extended), Stevey666 (3.4)
- Weapon Table Data: Community-tuned values from Splash Damage 3.4 -- years of testing by the DCS community
- Built for: VMFA-224 "Bengals" and the DCS community
License¶
- Code (
BUFF.lua): GNU General Public License v3.0 -- free to use, modify, and distribute. Modifications must remain open source under the same license. - Documentation: Creative Commons Attribution-ShareAlike 4.0 -- free to share and adapt with attribution.