{% from "components/_tabs.html" import tabs_intro %}
<header class="page-heading"><p class="eyebrow">GUERRA DE LARGO ALCANCE</p><h1>Defensa orbital y misiles estratégicos</h1><p>Simula antes de lanzar, consulta detección, tiempo, interceptación y contaminación. Los lanzamientos consumen munición y solo se permiten durante una guerra declarada.</p></header>
<div data-tab-scope="orbital" data-tab-auto>
{{ tabs_intro('orbital', 'Apartados de guerra orbital', 'Consulta por separado el simulador, el historial y las contramedidas disponibles.') }}
<section class="panel" id="missile-simulator" aria-labelledby="missile-simulator-title"><h2 id="missile-simulator-title">Simulador sin consumo</h2><form method="post" action="{{ url_for('missile_simulate_action') }}" class="stacked-form"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><label>Origen<select name="origin_planet_id">{% for own_planet in planets %}<option value="{{ own_planet.id }}">{{ own_planet.alias or own_planet.name }} [{{ own_planet.galaxy }}:{{ own_planet.system }}:{{ own_planet.position }}]</option>{% endfor %}</select></label><label>Objetivo<select name="target_planet_id">{% for target in missile_targets %}<option value="{{ target.id }}">{{ target.empire_name }} · {{ target.name }} [{{ target.galaxy }}:{{ target.system }}:{{ target.position }}] · relación {{ target.relation_status or 'neutral' }}</option>{% endfor %}</select></label><label>Munición<select name="missile_type">{% for key, definition in MISSILE_TYPES.items() %}<option value="{{ key }}">{{ definition.name }} — {{ definition.description }}</option>{% endfor %}</select></label><button class="button button-primary" type="submit">Calcular resultado previsto</button></form>
{% if missile_preview %}<div class="notice notice-warning" role="status"><h3>Confirmación de {{ missile_preview.name }}</h3><p>Objetivo: {{ missile_preview.target_name }}. Tiempo: {{ missile_preview.duration|duration }}. Probabilidad estimada de interceptación: {{ (missile_preview.intercept_chance*100)|round }} %. Daño esperado: {{ missile_preview.expected_damage }} unidades. Contaminación si impacta: {{ missile_preview.pollution }}.</p><form method="post" action="{{ url_for('missile_launch_action') }}"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><label class="check-row"><input type="checkbox" name="confirm" value="1" required> Confirmo el consumo de una munición y las consecuencias diplomáticas y ecológicas</label><button class="button button-danger" type="submit">Lanzar ataque confirmado</button></form></div>{% endif %}</section>
<section class="panel" aria-labelledby="orbital-history-title"><h2 id="orbital-history-title">Ataques y defensas</h2>{% if missile_strikes %}<div class="table-wrap"><table><caption>Historial de misiles relacionados con tu imperio.</caption><thead><tr><th scope="col">Lanzamiento</th><th scope="col">Trayecto</th><th scope="col">Munición</th><th scope="col">Estado</th><th scope="col">Resultado</th></tr></thead><tbody>{% for strike in missile_strikes %}<tr><th scope="row">{{ strike.launched_at|date_label }}</th><td>{{ strike.attacker_name }}: {{ strike.origin_name }} → {{ strike.target_name }}</td><td>{{ MISSILE_TYPES.get(strike.missile_type,{}).get('name',strike.missile_type) }}</td><td>{{ strike.status }}{% if strike.status == 'in_flight' %}; llega en <time class="countdown" data-end="{{ strike.arrives_at }}">{{ (strike.arrives_at-now)|duration }}</time>{% endif %}</td><td>{{ strike.outcome or ('Detectado' if strike.detected else 'Trayectoria oculta') }}</td></tr>{% endfor %}</tbody></table></div>{% else %}<p class="empty-state">No hay ataques orbitales registrados.</p>{% endif %}</section>
<section class="panel" aria-labelledby="orbital-defense-title"><h2 id="orbital-defense-title">Contramedidas disponibles en {{ planet.name }}</h2><dl class="settings-list"><div><dt>Antimisiles</dt><dd>{{ inventory.get('anti_missile',0) }}</dd></div><div><dt>Interceptores orbitales</dt><dd>{{ inventory.get('orbital_interceptor',0) }}</dd></div><div><dt>Señuelos lunares</dt><dd>{{ inventory.get('lunar_decoy',0) }}</dd></div><div><dt>Defensa de portal</dt><dd>{{ inventory.get('singularity_aegis',0) }} Égidas de singularidad</dd></div><div><dt>Proyectiles orbitales</dt><dd>{{ inventory.get('orbital_missile',0) }} de {{ missile_capacities.orbital_missile }}</dd></div><div><dt>Misiles de asedio</dt><dd>{{ inventory.get('siege_missile',0) }} de {{ missile_capacities.siege_missile }}</dd></div></dl><p>Cada lanzamiento consume una unidad. La recarga se realiza construyendo nueva munición en el Astillero y queda limitada por Guiado de misiles, Dársena orbital y Astillero lunar. Las instalaciones lunares exigen una luna formada.</p></section>
</div>
