Loadout Planner
Find the lightest gear for each slot. Filter by requirements.
{% for t_id, t_label in [('guns','Guns'),('armor','Armor'),('helmets','Helmets'),('headwear','Headwear'),('backpacks','Backpacks'),('rigs','Rigs'),('builder','Build Builder')] %}
{{ t_label }}
{% endfor %}
{# =============================== GUNS TAB =============================== #}
{% if tab == "guns" %}
{% if requires %}
"Lightest build" = gun base weight + lightest compatible mod per required slot.
Guns without all required slots are hidden.
{% endif %}
|
Name |
Caliber |
Ergo |
Recoil |
Base weight |
{% if requires %}Lightest build{% else %}Slots{% endif %} |
{% for gun in guns %}
{% if gun.grid_image_url %}
{% endif %}
|
{{ gun.short_name or gun.name }}
{% if gun.short_name and gun.short_name != gun.name %}
{{ gun.name }}
{% endif %}
|
{{ gun.caliber or '—' }} |
{{ gun.ergonomics or '—' }} |
{{ gun.recoil_vertical or '—' }} |
{% if gun.weight_kg is not none %}{{ "%.3f"|format(gun.weight_kg) }} kg{% else %}—{% endif %}
|
{% if requires %}
{% if gun.lightest_build_weight is not none %}{{ "%.3f"|format(gun.lightest_build_weight) }} kg{% else %}—{% endif %}
{% else %}
▶ expand
{% endif %}
|
|
|
{% else %}
| No guns found matching those requirements. |
{% endfor %}
{% endif %}
{# =============================== ARMOR TAB =============================== #}
{% if tab == "armor" %}
| Name | Class |
Durability | Material | Zones | Weight |
{% for item in armor %}
{% if item.grid_image_url %} {% endif %} |
{{ item.short_name or item.name }}
{% if item.short_name and item.short_name != item.name %}{{ item.name }}{% endif %}
{% if item.wiki_url %}wiki{% endif %}
|
{% if item.armor_class %}
{{ item.armor_class }}
{% else %}—{% endif %}
|
{{ item.durability | int if item.durability else '—' }} |
{{ item.material or '—' }} |
{{ item.zones or '—' }} |
{% if item.weight_kg is not none %}{{ "%.3f"|format(item.weight_kg) }} kg{% else %}—{% endif %} |
{% else %}
| No armor found. |
{% endfor %}
{% endif %}
{# =============================== HELMETS TAB =============================== #}
{% if tab == "helmets" %}
| Name | Class |
Durability | Head zones | Deafening | Weight |
{% for item in helmets %}
{% if item.grid_image_url %} {% endif %} |
{{ item.short_name or item.name }}
{% if item.short_name and item.short_name != item.name %}{{ item.name }}{% endif %}
{% if item.wiki_url %}wiki{% endif %}
|
{% if item.armor_class %}
{{ item.armor_class }}
{% else %}—{% endif %}
|
{{ item.durability | int if item.durability else '—' }} |
{{ item.head_zones or '—' }} |
{{ item.deafening or '—' }} |
{% if item.weight_kg is not none %}{{ "%.3f"|format(item.weight_kg) }} kg{% else %}—{% endif %} |
{% else %}
| No helmets found. |
{% endfor %}
{% endif %}
{# =============================== HEADWEAR TAB =============================== #}
{% if tab == "headwear" %}
Face masks, armored masks, and non-helmet head protection. Does not cover the top of the head.
| Name | Class |
Durability | Head zones | Weight |
{% for item in headwear %}
{% if item.grid_image_url %} {% endif %} |
{{ item.short_name or item.name }}
{% if item.short_name and item.short_name != item.name %}{{ item.name }}{% endif %}
{% if item.wiki_url %}wiki{% endif %}
|
{% if item.armor_class %}
{{ item.armor_class }}
{% else %}—{% endif %}
|
{{ item.durability | int if item.durability else '—' }} |
{{ item.head_zones or '—' }} |
{% if item.weight_kg is not none %}{{ "%.3f"|format(item.weight_kg) }} kg{% else %}—{% endif %} |
{% else %}
| No headwear found. |
{% endfor %}
{% endif %}
{# =============================== BACKPACKS TAB =============================== #}
{% if tab == "backpacks" %}
| Name | Capacity (slots) | Weight |
{% for item in backpacks %}
{% if item.grid_image_url %} {% endif %} |
{{ item.short_name or item.name }}
{% if item.short_name and item.short_name != item.name %}{{ item.name }}{% endif %}
{% if item.wiki_url %}wiki{% endif %}
|
{{ item.capacity or '—' }} |
{% if item.weight_kg is not none %}{{ "%.3f"|format(item.weight_kg) }} kg{% else %}—{% endif %} |
{% else %}
| No backpacks found. |
{% endfor %}
{% endif %}
{# =============================== RIGS TAB =============================== #}
{% if tab == "rigs" %}
| Name | Class | Capacity (slots) | Zones | Weight |
{% for item in rigs %}
{% if item.grid_image_url %} {% endif %} |
{{ item.short_name or item.name }}
{% if item.short_name and item.short_name != item.name %}{{ item.name }}{% endif %}
{% if item.wiki_url %}wiki{% endif %}
|
{% if item.armor_class %}
{{ item.armor_class }}
{% else %}—{% endif %}
|
{{ item.capacity or '—' }} |
{{ item.zones or '—' }} |
{% if item.weight_kg is not none %}{{ "%.3f"|format(item.weight_kg) }} kg{% else %}—{% endif %} |
{% else %}
| No rigs found. |
{% endfor %}
{% endif %}
{# =============================== BUILD BUILDER TAB =============================== #}
{% if tab == "builder" %}
Total loadout weight
0.000 kg
{% set slot_defs = [
('gun', 'Primary Weapon', builder_guns),
('armor', 'Body Armor', builder_armor),
('helmet', 'Helmet', builder_helmets),
('rig', 'Chest Rig', builder_rigs),
('backpack', 'Backpack', builder_backpacks),
] %}
{% for slot_id, slot_label, items in slot_defs %}
{{ slot_label }}
{% endfor %}
{% endif %}