• Partition weapons into melee and missile lists by their strike modes. A weapon appears in a list only when it has at least one mode for that range band, and a weapon with both kinds appears in both lists (each with only the matching modes).

    Type Parameters

    Parameters

    • weapons: readonly W[]

      The weapon items.

    • getStrikeModes: (weapon: W) => readonly SM[]

      Resolves a weapon's strike modes.

    Returns WeaponRangeSplit<W, SM>

    The melee and missile weapon groups, in input order.