GunSpec

All 39 single-call tools

Point-blank and supersonic range

  • gunspec_point_blank_range
  • Builder
  • Read-only

Returns the maximum point-blank range of one to five firearms, the furthest distance the bullet stays within half a target's diameter of the line of sight with no holdover, with the zero that gives it, and how far the bullet stays supersonic. Computed on the same trajectory as the ballistic profile, from each firearm's own barrel, in the ICAO standard atmosphere. Use this tool for questions about point-blank range, what distance to zero at, or when a bullet goes subsonic.

Example usage

  1. 1

    A person asks

    • What is the maximum point-blank range of an HK416 against an FN SCAR-H on a 200 mm target?
  2. 2

    The assistant calls the tool

    tools/call
    json
    {  "name": "gunspec_point_blank_range",  "arguments": {    "ids": [      "hk416",      "fn-scar-h"    ],    "target_mm": 200  }}
  3. 3

    The server answers

    Result
    json
    {  "method": {    "id": "maximum-point-blank-range",    "name": "Maximum point-blank range on the API trajectory",    "equation": "y(d) = d·θ − D(d) − h; range = the largest R for which some θ keeps −r ≤ y(d) ≤ r for every d ≤ R, bound at each metre by (D(d) + h − r)/d ≤ θ ≤ (D(d) + h + r)/d; θ taken at its upper bound, so the path peaks at +r. D(d) the drop below the…",    "citations": [      {        "authors": "International Civil Aviation Organization",        "year": 1993,        "title": "Manual of the ICAO Standard Atmosphere (extended to 80 kilometres)",        "journal": "ICAO Doc 7488/3, third edition",        "doi": null,        "url": null      }    ],    "resolutionM": 1,    "maxRangeM": 2500  },  "atmosphere": {    "name": "ICAO standard atmosphere at sea level",    "temperatureC": 15,    "pressureKpa": 101.325,    "airDensityKgM3": 1.225,    "speedOfSoundMps": 340.294  },  "target": {    "diameterMm": 200,    "radiusMm": 100,    "defaulted": [      "ammo_id",      "sight_height_mm"    ]  },  "results": [    {      "firearm": {        "id": "hk416",        "name": "HK416",        "categoryId": "assault-rifle",        "barrelLengthMm": 264      },      "ammunition": {        "id": "m193",        "name": "M193 Ball",        "caliberId": "5-56x45mm-nato",        "bulletWeightG": 3.56      },      "muzzleVelocityMps": 825,      "sight": {        "heightMm": 38,        "source": "category"      },      "pointBlank": {        "rangeM": 281,        "nearZeroM": 21,        "farZeroM": 238,        "peakM": 138,        "peakHeightMm": 100,        "boreAngleMrad": 2.043,        "timeOfFlightS": 0.36,        "velocityMps": 738      },      "supersonic": {        "rangeM": 1105,        "timeOfFlightS": 1.856,        "beyondProfile": false      },      "delta": null,      "warnings": [],      "error": null    },    {      "firearm": {        "id": "fn-scar-h",        "name": "FN SCAR-H",        "categoryId": "battle-rifle",        "barrelLengthMm": 406      },      "ammunition": {        "id": "m80",        "name": "M80 Ball",        "caliberId": "7-62x51mm-nato",        "bulletWeightG": 9.53      },      "muzzleVelocityMps": 785,      "sight": {        "heightMm": 38,        "source": "category"      },      "pointBlank": {        "rangeM": 274,        "nearZeroM": 20,        "farZeroM": 232,        "peakM": 126,        "peakHeightMm": 100,        "boreAngleMrad": 2.127,        "timeOfFlightS": 0.362,        "velocityMps": 730      },      "supersonic": {        "rangeM": 1534,        "timeOfFlightS": 2.667,        "beyondProfile": false      },      "delta": {        "rangeM": -7,        "farZeroM": -6      },      "warnings": [],      "error": null    }  ]}

    Captured from the live API on Oct 22, 2026. Lists and long text are shortened for display.

Related references

Arguments

  • string[]required

    One to five firearm slugs.

    Sent as
    ?ids=
  • string

    The load every firearm fires. Leave it out to fire each with the load its ballistic profile uses.

    Sent as
    ?ammo_id=
  • numberdefault200

    Target diameter in mm.

    Range
    20 – 2000
    Sent as
    ?target_mm=
  • number

    Sight height above the bore in mm. Leave it out for the height assumed for the category.

    Range
    0 – 150
    Sent as
    ?sight_height_mm=

Each argument is sent to GET /v1/firearms/point-blank as the parameter shown, so the same request can be made to the API directly, with your key, if you want to shape what comes back.

json