Skip to content

Explosion and fire damage is credited to an accepted cause ​

Status: Accepted (2026-10-25)

Context ​

The victim's client sees who caused an explosion (damage 51) or a fire (37) that hurt it, but unlike a bullet there is no WeaponShot to check that claim against. Trusting the named attacker as is would let a victim credit its death to any player, for example to hand a kill to a teammate. Unchecked, deaths from grenades, rockets, satchels, molotovs and flamethrowers could only reach the gamemode with no killer.

This extends ADR 0029: the same DamageReport, last damage and events.

Decision ​

  • The victim reports explosion and fire damage in a DamageReport with shot_order = 0 and the attacker it saw. Fire, spray and extinguisher damage is continuous: the victim sums it per attacker and weapon and sends it at most every 250 ms; a lethal tick goes at once.
  • The server keeps a journal of each player's accepted causes: a thrown or launched grenade, rocket or molotov, a satchel detonation, frames firing a flamethrower, spraycan or extinguisher, and the server-side causes credited to that player (a vehicle explosion of ADR 0034, a gamemode explosion or fire with that creator, a Rhino cannon shot). A report is credited by the freshest cause of its class within a time window and a distance from the victim. The table of windows and distances is in DamageReport.
  • player_damage, the last damage and player_death get the weapon of the cause (16, 19, 20, 39, 18, 37, or 51 for a vehicle explosion, a cannon shot and a gamemode explosion), not the damage class.
  • The attacker must be of the same generation but need not be alive: a grenade outlives its thrower. The cause and the victim must be in the same scope.
  • A cause is not reused without limit. One explosion hits a victim at most twice in the game, so it is credited to a victim at most twice and only within 1 s of the first accepted hit. Fire and spray reports from one attacker with the same weapon are accepted at most every 200 ms, except the first lethal one of the life.
  • Fire that spreads inherits the author of the fire it came from. The fire window is 65 s from the cause; a death in fire after that has no author.

Consequences ​

  • A kill feed tells a grenade from a rocket and a molotov from a flamethrower.
  • A victim can still credit its damage to a player who really caused an explosion or fire nearby within the window; it cannot name a player who did not.
  • Teargas (17) deals no damage. Fire or explosions with no player author are environmental damage (ADR 0029).

Alternatives considered ​

  • Only a lifecycle check (the attacker exists, is alive, is not the victim). Simpler, but the victim could credit its death to any player.
  • The damage class as the weapon (51 / 37). A kill feed could not tell a grenade from a rocket, or a molotov from a flamethrower.
  • The exact explosion point on the wire. Needs a new field and trust in the client's point; coarse windows and distances are enough to stop crediting a player who was not involved.

Documentation licensed under CC BY 4.0. DarqlineMP is not affiliated with Rockstar Games or Take-Two Interactive. Grand Theft Auto is a trademark of Take-Two Interactive Software, Inc.