{# il2ks-template: templates/il2ks/missions/detail.html v1 - copy this line along when you override #} {% extends "il2ks/base.html" %}{% load i18n static il2ks %}{% comment %} Mission page (FR-WEB-2). Context: mission (Mission), groups (SideSorties: .side 'redfor'/'blufor'/None, .rows = this page's PlayerSortie rows with .player and .aircraft; .page and .page_param for the pagination; 20 per side, OQ-96), kills (a Page of Kill rows with both sorties' player and aircraft; kills_param its query parameter), sortie_count, sort (the resolved ?sort=, orders all the sortie tables, not the kills), optional_columns / columns (the optional sortie columns and the chosen ones, ?cols=), colspan. Crumbs: breadcrumbs. Blocks: head (page stylesheet), content. Hidden players are anonymised through missions/_player.html (FR-ADM-3). {% endcomment %} {% block head %}{% endblock %} {% block content %} {% breadcrumbs crumbs %}

{{ mission|mission_title }}

{{ mission.started_at|local_time }} {% blocktranslate with when=mission|game_when %}In game: {{ when }}{% endblocktranslate %} {% translate "Winner" %}: {% winner_badge mission %} {% if mission.is_live %}{% badge _("Live") "green" title=_("This mission is still running.") %}{% elif not mission.completed_cleanly %}{% badge _("Log incomplete") "amber" title=_("The server stopped before the mission ended; the numbers may be partial.") %}{% endif %}

{% if mission.is_live %}{% notice "changing" title=_("Mission still running") %}{% translate "The numbers may still change until it ends." %}{% endnotice %}{% endif %} {% side "redfor" as red_name %}{% side "blufor" as blue_name %} {% blocktranslate asvar sides_sub with red=mission.redfor_sorties blue=mission.blufor_sorties %}{{ red_name }} {{ red }} · {{ blue_name }} {{ blue }}{% endblocktranslate %}
{% stat_tile mission.duration_s|duration _("Duration") icon="stat/flight-time" %} {% stat_tile mission.players_total|num _("Players") %} {% stat_tile mission.sorties_total|num _("Sorties") sub=sides_sub icon="stat/sorties" %} {% stat_tile mission.kills_air|num _("Air kills") icon="stat/air-kills" %} {% stat_tile mission.kills_ground|num _("Ground kills") icon="stat/ground-kills" %}

{% translate "Sorties" %}

{% results_region %} {% filter_bar %}{% columns_picker optional_columns %}{% endfilter_bar %} {% for group in groups %}

{% if group.side %}{% coalition_icon group.side %}{% side group.side as heading_name %}{% else %}{% translate "Other" as heading_name %}{% endif %} {{ heading_name }} {{ group.page.paginator.count|num }}

{% sort_th "time" _("Time") numeric=True first="asc" %} {% sort_th "pilot" _("Pilot") %} {% sort_th "aircraft" _("Aircraft") %} {% sort_th "role" _("Role") hint="role" %} {% sort_th "outcome" _("Outcome") %} {% sort_th "fate" _("Pilot fate") first="desc" %} {% sort_th "kills_air" _("Air") numeric=True %} {% sort_th "kills_ground" _("Ground") numeric=True %} {% sort_th "assists" _("Assists") numeric=True hint="assists" %} {% sort_th "flight_time" _("Flight time") numeric=True %} {% for column in columns %}{% sort_th column.key column.label numeric=column.numeric hint=column.description %}{% endfor %} {% for s in group.rows %} {% for column in columns %}{{ column|cell:s }}{% endfor %} {% empty %} {% empty_row colspan _("Nobody flew for this side.") %} {% endfor %}
{% translate "Details" %}
{{ s.spawned_at|clock_since:mission.started_at }} {% include "il2ks/missions/_player.html" with player=s.player name=s.name_at_time tour_q=mission.tour_id|tour_qs %}{% if s.role == "gunner" %}{% badge _("Gunner") "purple" %}{% endif %} {% if s.role != "gunner" %}{% aircraft_icon s.aircraft %}{% endif %}{{ s.aircraft|object_name }} {% if s.combat_role %}{% role_badge s.combat_role %}{% else %}—{% endif %} {% outcome_badge s.outcome %} {% pilot_fate_badge s %} {{ s.kills_air|num }} {{ s.kills_ground|num }} {{ s.assists|num }} {{ s.flight_time_s|duration }}{% if not s.player.is_hidden %}→{% endif %}
{% blocktranslate asvar pages_label with name=heading_name %}Pagination: {{ name }}{% endblocktranslate %} {% pagination group.page param=group.page_param label=pages_label %} {% endfor %}

{% translate "Kills" %}

{% translate "Player-versus-player kills and assists in this mission, in order. Kills against AI and ground targets are counted in the sortie rows above." %}

{% col_th _("Credit") hint="credit" %} {% for k in kills %} {% empty %} {% empty_row 4 _("No player-versus-player kills in this mission.") %} {% endfor %}
{% translate "Time" %} {% translate "Killer" %} {% translate "Victim" %}
{{ k.time|clock_since:mission.started_at }} {% coalition_icon k.killer_sortie.country %}{% include "il2ks/missions/_player.html" with player=k.killer_sortie.player name=k.killer_sortie.name_at_time tour_q=mission.tour_id|tour_qs %} {{ k.killer_sortie.aircraft|object_name }} {% coalition_icon k.victim_sortie.country %}{% include "il2ks/missions/_player.html" with player=k.victim_sortie.player name=k.victim_sortie.name_at_time tour_q=mission.tour_id|tour_qs %} {{ k.victim_sortie.aircraft|object_name }} {% if k.is_friendly %}{% badge _("Friendly fire") "red" %} {% elif k.credit == "assist" %}{% badge _("Assist") "blue" %} {% elif k.credit == "shared" %}{% badge _("Shared kill") "teal" %} {% else %}{% badge _("Kill") "green" %}{% endif %}
{% translate "Kills" as kills_name %}{% blocktranslate asvar pages_label with name=kills_name %}Pagination: {{ name }}{% endblocktranslate %} {% pagination kills param=kills_param label=pages_label %} {% endresults_region %} {% endblock %}