============================================================
DUNE 2000 ACCESIBLE - REGISTRO DE CAMBIOS
============================================================

Versión 2.9.0 (2026-03-07)
----------------------------
Implementación completa de todas las mejoras pendientes.

1.5 Pool de objetos:
- Clase EntidadPool recicla entidades muertas (Unidad, Edificio, Recurso)
- Métodos obtener() y devolver() con límite de 50 por tipo
- Método _reiniciar() en cada clase de entidad
- morir() devuelve al pool automáticamente

9.3 Orientación y sector de disparo de edificios:
- Propiedad orientacion_edificio (0/90/180/270 grados)
- Propiedad sector_disparo (arco en grados, 360=omnidireccional)
- Torretas solo atacan enemigos dentro de su arco
- Tecla F11 para rotar edificio 90 grados
- TTS anuncia dirección y sector

9.4 Sistema de suministros/logística:
- Radio de suministro de 8 casillas desde edificios aliados
- Unidades fuera de rango: -30% daño
- Verificación cada 20 turnos
- Mostrado en info de unidad (I)
- Nuevo edificio: Depósito de Suministros

9.6 Unidades navales y anfibias:
- Nuevo terreno "agua" con propiedad es_agua
- 3 nuevas unidades: barcaza, fragata, explorador_anfibio
- Pathfinding con parámetros naval y anfibio
- Mapa "Costa de Arrakis" con zona acuática
- Sonidos: naval_mover, terreno_agua, ambiente_agua

10.6 Editor de facciones con árbol tecnológico:
- EditorFacciones expandido con wx.Notebook (2 pestañas)
- Árbol tecnológico visual con wx.TreeCtrl
- Muestra edificios, unidades y mejoras en jerarquía
- Botón "Actualizar árbol desde reglas"

11.1 Serialización binaria:
- Guardado en formato pickle además de JSON
- Opción formato_guardado en config.ini
- Detección automática de formato al cargar
- Etiquetas [JSON]/[BIN] en lista de partidas

14.1 Facción Fremen jugable:
- 3 unidades únicas: guerrillero, fedaykin, jinete de gusano
- Edificio base: sietch_fremen
- Campaña de 7 misiones con historia completa
- Briefings, triggers y dificultad progresiva

14.4 Sistema de alianzas dinámicas:
- Proponer, aceptar y romper alianzas en tiempo real
- Tecla Y: menú de diplomacia
- IA responde según facción
- Sonidos: alianza_proponer, alianza_aceptar, alianza_romper

15.6 Refactorización de imports circulares:
- Factory pattern en mundo.py (registrar_fabrica/crear_entidad)
- Imports dentro de funciones reemplazados por fábricas
- Fallback con lazy import

Versión 2.8.0 (2026-03-07)
----------------------------
Mejoras finales: modos de juego, replay, tests, logging y contenido.

10.2 Hot-reload de mods:
- Función recargar_mods() recarga definiciones sin reiniciar
- Botón F6 en el editor de mods para recargar en caliente
- cargar_reglas_completas(forzar=True) para forzar recarga

11.3 Sistema de replay:
- Grabación automática de comandos durante la partida
- Replay guardado en data/replays/ como JSON al finalizar
- Incluye turno, tipo de comando y parámetros serializados

14.2 Modo Supervivencia:
- Nuevo modo de juego: oleadas infinitas de enemigos
- Oleadas crecientes en cantidad y tipo de unidades
- Oleada 1-2: infantería, 3-4: +pesada, 5-6: +triciclos,
  7-9: +tanques, 10-14: +lanzamisiles, 15+: +asedio
- Mapa generado proceduralmente (16x16)
- Accesible desde el menú principal

14.5 Nueva campaña - Los Contrabandistas de Arrakis:
- 5 misiones con historia completa y briefings
- Misión 1: Primer golpe (recolectar especia)
- Misión 2: Territorio disputado (destruir base Atreides)
- Misión 3: La emboscada (sobrevivir 80 turnos)
- Misión 4: Asalto a la refinería (capturar edificio)
- Misión 5: El señor del desierto (batalla final 20x20)
- Triggers, eventos scripted y dificultad progresiva

15.2 Tests automatizados:
- Suite de tests en tests/test_basico.py
- Tests de: definiciones, pathfinding, combate, economía,
  condiciones de victoria, validación de mapas, logger JSON
- Ejecutar: python -m pytest tests/ -v

15.3 Validación de mapas en carga:
- validar_mapa_carga() verifica mapas antes de parsearlos
- Valida: secciones requeridas, coordenadas en rango,
  tipos de terreno, índices de jugador, tipos de entidad
- Advertencias en log sin bloquear la carga

15.5 Logging estructurado JSON:
- Archivo .jsonl paralelo al .log con formato JSON
- Campos: timestamp, level, module, message, lineno, exception
- Limpieza automática incluye archivos .jsonl

Versión 2.7.0 (2026-03-07)
----------------------------
Entidades, balance, energía, eventos y herramientas (secciones 9-15).

9.1 Stance/postura individual por unidad:
- Shift+F3 cambia el stance de las unidades seleccionadas
- Cada unidad puede tener su propio modo (agresivo/defensivo/mantener)
- Si no tiene stance individual, usa el modo global (F3)

9.2 Sistema de evasión:
- Unidades rápidas pueden esquivar ataques según su velocidad
- Triciclo: 15% evasión, Raider Ordos: 20%, Fremen: 10%
- Veteranos nivel 2+ obtienen +5% evasión adicional
- Nuevo sonido: evasion

9.5 Carryall auto-transporte:
- Los carryalls sin órdenes recogen automáticamente cosechadoras
  llenas (>80% carga) y las llevan a la refinería más cercana

9.7 Cooldown de captura de ingeniero:
- La captura ahora toma 5 turnos en vez de ser instantánea
- El edificio capturado empieza con 50% de vida
- Nuevo sonido: captura_progreso

10.1 Vista previa de mapas en editor:
- Botón "Vista previa" genera grid ASCII del mapa

10.3 Dependencias entre mods:
- Campo "requiere" en info.txt del mod
- Auto-activación de dependencias al activar un mod

10.5 Validación de scripts de IA en editor:
- Verifica comandos conocidos y etiquetas referenciadas

11.2 Auto-guardado:
- Guardado automático cada N turnos (configurable)
- Rotación: autosave.json + autosave_prev.json

11.4 Estadísticas persistentes:
- Historial de partidas guardado en historial_partidas.json
- Fecha, facción, resultado, duración, especia, unidades

12.1 Cosechadora con defensa mínima:
- dano=5, alcance=1 (puede defenderse de infantería ligera)
- Nuevo sonido: cosechadora_ataque

12.2 Misil de la Muerte nerfed:
- dano_splash reducido de 5 a 3

12.3 Muro rebalanceado:
- Armadura reducida de 8 a 6, costo aumentado de 50 a 100

12.4 Nuevas mejoras investigables:
- Rango Mejorado (+1 alcance, 600 especia)
- Recolección Mejorada (-25% tiempo, 400 especia)
- Visión Mejorada (+2 rango visión, 350 especia)
- Todas investigables en Centro de Alta Tecnología

12.5 Población dinámica por edificios:
- Cuartel: +3, Fábrica Ligera: +3, Fábrica Pesada: +5,
  Puerto Espacial: +3, Palacio: +10
- Generador Eólico sigue dando +5

12.6 Límite de Fremen:
- Máximo 5 Fremen activos simultáneamente

12.7 Bonus anti-edificio:
- Tanque de Asedio: dano_vs_edificio x2.0
- Multiplicador aplicado automáticamente contra edificios

13.1 Sistema de energía graduado:
- Cada generador produce energía (Planta: 100, Eólico: 50)
- Cada edificio avanzado consume energía (Alta Tec: 40,
  Fábrica Pesada: 30, Palacio: 50, Puerto Espacial: 20)
- Si producción < consumo, edificios más caros se apagan primero
- Ratio de energía mostrado en R (recursos)
- Nuevo sonido: energia_baja

13.2 Degradación parcial sin energía:
- Edificios con energía parcial funcionan al 50% de velocidad
- Producción más lenta, torretas disparan menos frecuente

14.3 Eventos aleatorios:
- Lluvia de meteoritos: daño aleatorio en zona de arena
- Caravana de contrabandistas: bonus de especia (200-500)
- Plaga de arena: reduce campos de especia temporalmente
- Intervalo: cada ~1000 turnos
- Nuevo sonido: meteoritos

Versión 2.6.0 (2026-03-07)
----------------------------
Modo Historia y campañas avanzadas (sección 8 de MEJORAS.md).

8.1 Briefing y debriefing entre misiones:
- Antes de cada misión se reproduce música de briefing y se
  lee el texto de briefing del mapa (sección [briefing])
- Al ganar, se lee el debriefing de victoria ([debriefing_victoria])
- Al perder, se lee el debriefing de derrota ([debriefing_derrota])
- Nuevos sonidos: briefing, debriefing
- Nueva música: briefing (pista ambiental suave)

8.2 Carry-over de unidades supervivientes:
- Al ganar una misión, se conservan hasta 5 unidades (50% de
  las supervivientes, priorizando las más valiosas)
- Se conserva tipo, vida proporcional, experiencia y veteranía
- Al inicio de la siguiente misión, aparecen cerca de la base
- Se limpian al perder una misión
- Anuncio TTS: "N unidades veteranas de la misión anterior"

8.3 Decisiones narrativas:
- En ciertos puntos de la historia, el jugador elige entre
  dos opciones que determinan la siguiente misión
- Formato en misiones.txt:
  decision|num|pregunta|id_a|texto_a|id_b|texto_b
- La elección salta a la misión correspondiente (branching real)
- Las decisiones se guardan en el progreso de la historia
- Nuevo sonido: decision
- Campaña Atreides incluye una decisión en la misión 4

8.4 Eventos scripted (triggers):
- Sección [triggers] en los mapas de misión
- Condiciones: turno, turno_exacto, especia, unidades,
  edificio_destruido, casilla_explorada, enemigos_eliminados
- Acciones: mensaje, refuerzos, refuerzos_enemigos, objetivo,
  especia (bonus)
- Cada trigger se ejecuta una sola vez
- Misión 4a de Atreides incluye triggers de ejemplo

8.5 Dificultad progresiva:
- La dificultad de la IA escala automáticamente por misión:
  Misiones 1-3: fácil, 4-6: normal, 7-9: difícil, 10+: brutal
- Si config.ini tiene dificultad_ia específica, se respeta
- Los mapas pueden definir su propia dificultad

8.6 Objetivos variados:
- Nuevas condiciones de victoria: capturar (edificio específico),
  contrarreloj (sobrevivir N turnos), escoltar (mantener unidad)
- Propiedades de mapa: objetivo_capturar, objetivo_turnos_limite
- Misión 4b de Atreides usa contrarreloj (120 turnos)

Editor de mods actualizado:
- Plantilla de mapa incluye secciones [briefing],
  [debriefing_victoria], [debriefing_derrota] y [triggers]
- Editor de historias soporta decisiones narrativas
  (botón "Agregar decisión" con formulario completo)
- Lectura y guardado de decisiones en misiones.txt
- Corregida duplicación de validación de balance

Versión 2.5.0 (2026-03-07)
----------------------------
Audio y música avanzados (sección 7 de MEJORAS.md).

7.1 Música dinámica con 6 estados y crossfade:
- 6 estados: exploración, economía, escaramuza, tensa, asedio,
  desesperación. Transiciones suaves con crossfade entre pistas.
- Nueva pista: batalla_desesperacion (pocos edificios, bajo ataque)
- Fallback automático si una pista no existe

7.2 Sonidos ambientales por terreno:
- Al mover el cursor, se reproduce un sonido ambiental de fondo
  según el tipo de terreno: arena (viento), dunas (viento suave),
  roca (crujidos), montaña (silbido), ruinas (ecos), especia
  (burbujeo). Se detienen al salir de la partida.

7.3 Sonidos de feedback para órdenes:
- Cada orden tiene sonido y respuesta TTS diferenciada:
  Mover ("En camino"), Atacar ("Objetivo localizado"),
  Patrullar ("Patrulla iniciada"), Recolectar ("Recolección
  iniciada"), Detener ("Alto"), Capturar ("Captura iniciada"),
  Transportar ("Transporte en camino"), Descargar ("Descarga
  iniciada")
- Nuevos sonidos: orden_patrullar, orden_capturar,
  orden_transportar, orden_descargar, orden_detener

7.4 Indicador sonoro de salud:
- Al seleccionar una unidad (S, Tab, Shift+Tab), se reproduce
  un tono que indica su estado de salud:
  Agudo (900Hz) = sana (>75%), Medio (600Hz) = dañada (50-75%),
  Grave (350Hz) = baja (25-50%), Alarma = crítica (<25%)

7.5 Sonar secuencial con delay y agrupación:
- Shift+S: activa barrido sonoro del mapa
- Los sonidos se reproducen secuencialmente de izquierda a
  derecha con delay de ~150ms entre cada uno
- Entidades cercanas se agrupan (una por casilla)
- Diferenciado por tipo (infantería/vehículo/edificio/aéreo)
  y bando (aliado seno / enemigo cuadrada)

7.6 HRTF básico para mejor espacialización:
- Sonidos "detrás" del oyente se atenúan (sombra de cabeza)
- Sonidos lejanos (>5 casillas) mezclan canales para simular
  difusión acústica por distancia
- Mejora la percepción de profundidad en audio posicional

Nuevas teclas:
- Shift+S: activar sonar (barrido sonoro del mapa)

Versión 2.4.0 (2026-03-07)
----------------------------
Interfaz y accesibilidad (sección 6 de MEJORAS.md).

6.1 Selección avanzada de unidades:
- Shift+A: seleccionar solo unidades militares
- Shift+G: seleccionar solo cosechadoras
- Al seleccionar múltiples unidades, se anuncia el conteo
  detallado por tipo (ej: "3 tanque_combate, 2 infantería")

6.2 Conteo detallado por tipo de unidad:
- Todas las selecciones múltiples muestran desglose por tipo

6.3 Indicador de amenaza (Shift+T):
- Anuncia nivel de amenaza por dirección (norte/sur/este/oeste)
- Niveles: seguro, baja, media, alta con conteo de enemigos

6.4 Resumen por región del mapa (Shift+R):
- Divide el mapa en 9 regiones (3x3)
- Anuncia edificios, unidades, cosechadoras y enemigos por zona

6.5 Sonar diferenciado por tipo:
- Infantería: tono agudo (1000Hz aliado, 500Hz enemigo)
- Vehículos: tono medio (600Hz aliado, 300Hz enemigo)
- Edificios: tono grave (350Hz aliado, 180Hz enemigo)
- Aéreos: tono sierra (900Hz aliado, 450Hz enemigo)
- Aliados usan onda seno, enemigos onda cuadrada

6.6 Tutorial interactivo:
- 3 lecciones guiadas por voz en Modo Historia
- Lección 1: Navegación y exploración
- Lección 2: Selección y órdenes
- Lección 3: Recolección y construcción

6.7 Perfil de teclas personalizable:
- Archivo data/teclas.ini con todas las teclas del juego
- Editable con cualquier editor de texto
- Se regenera automáticamente si se borra

6.8 Feedback de progreso de producción:
- Anuncio automático al 50% y 75% de producción
- Shift+Q: progreso rápido (solo porcentajes)

6.9 Notificación de unidades ociosas:
- Aviso periódico cuando hay militares sin órdenes
- Shift+Tab: ciclar entre unidades militares ociosas

6.10 Atajos de producción rápida:
- Ctrl+T: entrenar tanque de combate
- Ctrl+R: entrenar cosechadora
- Ctrl+I: entrenar infantería ligera
- Buscan automáticamente el edificio productor disponible

Corrección de errores:
- Corregido: teclas Escape, F1, F2, F9, F10 y O no
  funcionaban por orden incorrecto en cadena elif

Versión 2.3.1 (2026-03-07)
----------------------------
Corrección de errores.

- Corregido: las teclas Escape, F1, F2, F9, F10 y O no
  funcionaban durante la partida porque la rama de debug
  de teclas no reconocidas estaba antes que ellas en la
  cadena elif, haciéndolas inalcanzables.

Versión 2.3.0 (2026-03-07)
----------------------------
Sistema de mapas avanzado.

Nuevos tipos de terreno (5.2):
- Acantilado: intransitable, bloquea línea de visión
- Cañón: paso estrecho natural, transitable, no construible
- Ruinas: cobertura defensiva, +2 armadura a unidades dentro
- Plataforma: terreno elevado, +1 alcance a unidades encima
- Especia rica: campo de especia de alta concentración
Los nuevos terrenos afectan al combate: ruinas reducen daño
recibido, plataformas extienden el alcance de ataque,
acantilados bloquean disparos a distancia.

Mapas más grandes (5.1):
- Paso de Montañas (16x16, 2 jugadores): chokepoints
- Ruinas Antiguas (20x20, 2 jugadores): cobertura táctica
- Cañón Profundo (24x24, 3 jugadores): tres territorios
- Guerra Total (32x32, 4 jugadores): campo de batalla épico

Chokepoints estratégicos (5.3):
- Mapas rediseñados con pasos de montaña, cañones y
  posiciones defensivas naturales
- Ruinas y plataformas colocadas en puntos estratégicos

Generación procedural de mapas (5.4):
- Nueva opción "Mapa aleatorio" en escaramuza
- Genera mapas balanceados con bases equidistantes,
  recursos simétricos, terreno variado y chokepoints
- Tamaños: 16x16, 20x20, 24x24, 32x32
- Semilla aleatoria para variedad infinita

Validación de balance (5.5):
- Nuevo botón "Validar balance" en el editor de mapas
- Verifica acceso a recursos por jugador
- Comprueba distancias entre bases (ratio ideal < 1.5x)
- Detecta jugadores encerrados sin salida
- Analiza distribución de recursos por equipo

Editor de mods actualizado:
- Nuevas propiedades en plantillas: tipo_dano, tipo_armadura,
  bonus_cuerpo_a_cuerpo, ataque_en_movimiento, almacenamiento_especia
- Selectores desplegables para tipo_dano y tipo_armadura
- Checkbox para ataque_en_movimiento
- Nuevos terrenos reconocidos en validación de mapas
- Botón de validación de balance en editor de mapas
- Plantilla de mapa incluye comentario con terrenos disponibles

Versión 2.2.0 (2026-03-07)
----------------------------
Sistema de combate avanzado y economía completa.

Sistema de combate (sección 3):
- Línea de visión: ataques a distancia bloqueados por montañas
  (algoritmo de Bresenham). Unidades intentan acercarse si no
  tienen visión directa.
- Fuego amigo configurable: splash damage puede o no afectar
  aliados según config.ini (fuego_amigo). Notificación al
  jugador cuando sus unidades reciben daño splash propio.
- Veteranía: 4 niveles (novato/regular/veterano/élite) con
  bonificaciones crecientes de daño, armadura y velocidad.
  Experiencia por kills y daño. Mostrado en info (I).
  Se guarda en partidas guardadas.
- Moral: baja cuando aliados mueren cerca. Penalización de
  daño con moral baja. Élites inmunes. Recuperación gradual.
- Cuerpo a cuerpo: bonus de daño para infantería y Fremen
  al atacar en la misma casilla. Supresión -30% a unidades
  de largo alcance con enemigos adyacentes.
- Tipos de daño vs armadura: normal, perforante, explosivo,
  concusivo vs ligera, pesada, edificio. Tabla de
  multiplicadores para profundidad estratégica.
- Ataque en movimiento: Triciclo y Raider Ordos disparan
  mientras se acercan con 50% de precisión.

Economía y recursos (sección 4):
- Rally points (F9): asignar punto de reunión a edificios
  productores. Unidades producidas se mueven automáticamente.
- Reparación de edificios (F10): repara edificios dañados
  gastando 50% del costo original gradualmente.
- Mercado del Puerto Espacial (O): comprar unidades con 50%
  de sobreprecio. Entrega instantánea.
- Penalización sin refinería configurable en config.ini
  (penalizacion_sin_refineria, 0-100).
- Cola de cosechadoras en refinería: FIFO, una a la vez.
- Tasa de recolección: mostrada en R y F6 (especia/minuto).
- Almacenamiento de especia: Centro 2000, Refinería 1500,
  Silo 1500. Especia excedente se pierde con aviso.

Nuevas teclas:
- F9: Asignar rally point
- F10: Reparar edificio
- O: Mercado del Puerto Espacial

Nuevas propiedades en reglas.txt:
- tipo_dano: normal/perforante/explosivo/concusivo
- tipo_armadura: ligera/pesada/edificio/normal
- bonus_cuerpo_a_cuerpo: daño extra en misma casilla
- ataque_en_movimiento: 1 para disparar mientras se mueve
- almacenamiento_especia: capacidad de almacenamiento

Versión 2.1.0 (2026-03-07)
----------------------------
Opciones de dificultad configurables y corrección de progresión de historia.

Corrección crítica - Modo Historia:
- Corregido: al ganar una misión, el progreso ahora avanza correctamente
  a la siguiente misión (antes se perdía el resultado de victoria)
- Corregido: verificar_victoria() ahora recuerda el resultado final
  y lo devuelve consistentemente en llamadas posteriores
- Corregido: "Rendirse" ahora marca correctamente como derrota
- Al salir de una misión sin ganar ni perder, se muestra menú con
  opciones "Reintentar misión" o "Guardar y salir" (antes salía
  silenciosamente de la historia)

Nuevas opciones en menú Opciones:
- Gusanos de arena: Sí/No (desactiva la aparición de gusanos)
- Tormentas de arena: Sí/No (desactiva las tormentas)
- Niebla de guerra: Sí/No (desactiva la niebla de guerra)
- Dificultad de la IA: fácil/normal/difícil/brutal/mapa
  ("mapa" usa la dificultad definida en cada mapa)

Todas las opciones se guardan en config.ini y se aplican
al iniciar cualquier partida nueva.

Versión 2.0.5 (2026-03-07)
----------------------------
Balance de recolección y gusanos de arena.

Recolección:
- Reducida velocidad de recolección: tiempo_recoleccion de 3 a 15 turnos
- Reducida cantidad por extracción: de 50 a 25 especia por ciclo
- Aumentada capacidad de carga: de 500 a 700 especia
- Mínimo de 1 turno entre extracciones (previene extracción infinita)
- Añadido log detallado de cada extracción para depuración

Gusanos de arena:
- Período de gracia aumentado de 10 a 30 turnos tras emerger
- Cooldown de 5 turnos entre ataques individuales (antes atacaba cada turno)
- Tiempo en superficie aumentado de 30 a 80 turnos
- Umbral de turnos_en_arena para ser objetivo: de 150 a 300 turnos
- Los gusanos ya no matan cosechadoras en ráfaga instantánea

Versión 2.0.4 (2026-03-07)
----------------------------
Corrección de auto-recolección y nueva opción de configuración.

Auto-recolección:
- Corregido: las cosechadoras ahora realmente se mueven a recolectar
  especia automáticamente cuando no tienen órdenes
- Añadido cooldown para evitar búsquedas repetitivas cada turno
- Verificación de camino antes de dar la orden (evita órdenes imposibles)
- Máximo 5 intentos de pathfinding antes de cancelar una orden
  inalcanzable
- Las cosechadoras sin refinería depositan directamente con penalización
  del 50%

Nueva opción: Cosechadoras auto-recolectar
- Configurable desde el menú de opciones (Sí/No)
- Si se desactiva, las cosechadoras solo recolectan con orden manual (G)
- Activada por defecto

Estabilidad:
- Añadido manejo de errores en el bucle principal de todas las partidas
  (campaña, escaramuza, historia, mapa personalizado, partida cargada)
- Los errores fatales ahora se registran en el log en vez de cerrar
  silenciosamente
- El mundo ahora almacena referencia a la configuración del juego

Versión 2.0.3 (2026-03-07)
----------------------------
Corrección crítica: gusanos de arena destruían cosechadoras al instante.
Sistema de alertas completamente configurable.

Alertas:
- 10 categorías de alertas configurables individualmente desde opciones:
  ataque, producción, recolección, construcción, destrucción,
  gusanos, tormentas, energía, captura, recursos insuficientes
- Alertas de recolección desactivadas por defecto (evita spam de TTS)
- Todas las alertas siempre se guardan en el historial aunque estén
  desactivadas por voz
- F8: consultar las últimas 10 alertas bajo demanda en cualquier momento
- F7: historial completo de mensajes (ya existía)
- El jugador decide qué quiere oír y qué no, pero siempre puede
  consultar todo lo que ha pasado cuando quiera

Gusanos de arena:
- Completamente rebalanceados.
  * Daño reducido de 500 a 150 por golpe (ya no matan cosechadoras
    de un solo ataque)
  * Umbral de detección aumentado de 20 a 150 turnos en arena
    (las cosechadoras tienen tiempo de recolectar antes de atraerlos)
  * Los gusanos ya no apuntan a la misma unidad simultáneamente
  * 10 turnos de gracia al emerger antes de atacar (tiempo de reacción)
  * Solo atacan una unidad por turno (no todas a la vez)
  * Cooldown entre apariciones aumentado de 100 a 300 turnos
  * Intervalo de spawn aumentado de 300 a 800 turnos
  * Máximo 1 gusano en mapas pequeños (<200 casillas), 2 en grandes

Versión 2.0.2 (2026-03-07)
----------------------------
Editor de mods v2.0 - Reescritura completa.

Versión 2.0.1 (2026-03-07)
----------------------------
Correcciones de errores detectados en sesión de prueba.

Correcciones:
- Enciclopedia: nombres truncados (ej. "Tanque" en vez de "Tanque de Combate")
  corregido. Las descripciones multi-palabra ahora se leen completas.
- Cosechadoras: ahora recolectan automáticamente al estar sin órdenes.
  Buscan especia cercana, la recolectan y vuelven a la refinería sin
  necesidad de dar la orden manualmente.
- Opciones: valores Sí/No se guardan correctamente como 1/0 en config.ini.

Versión 2.0.2 (2026-03-07)
----------------------------
Editor de mods v2.0 - Reescritura completa.

Editor de entidades:
- Todas las categorías disponibles para agregar: soldados,
  trabajadores, vehículos, aéreos, edificios, mejoras,
  recursos y criaturas (antes solo edificios)
- Submenú Editar > Agregar entidad con los 8 tipos
- Plantillas predefinidas para cada tipo de entidad
- Duplicar entidades con Ctrl+D

Sonidos y música:
- Nuevas categorías "Sonidos" y "Música" en el árbol del mod
- Botones "+ Sonido" y "+ Música" para importar desde el equipo
- Soporte para .wav, .ogg y .mp3
- Info de audio al seleccionar (tamaño, nombre para reglas.txt)
- Eliminar archivos de audio desde el árbol
- Sonidos y música incluidos en exportar/importar ZIP

Editor de historias (Ctrl+H):
- Crear, editar y eliminar historias completas
- Agregar, editar y quitar misiones
- Editor de mapas integrado con validación
- Plantilla automática al crear misiones nuevas

Editor de facciones (Ctrl+F):
- Crear, editar y eliminar facciones personalizadas
- Formato id|nombre|descripción

Editor de IA (Ctrl+J):
- Editor de texto para scripts de IA
- Plantilla de ejemplo al crear

Validación mejorada (F5):
- Verifica que sonidos referenciados existan en el mod
  o en los sonidos del juego base

Documentación:
- Guía de mods actualizada con todas las funciones nuevas

Versión 2.0.0 (2026-03-07)
----------------------------
Gran actualización con mejoras en todas las áreas.

Jugabilidad:
- Niebla de guerra: solo se ven casillas en rango de visión
- Modos de comportamiento: agresivo, defensivo, mantener (F3)
- Cola de órdenes con Shift (Shift+M, Shift+X, etc.)
- Waypoints de patrulla múltiple
- Velocidad de juego ajustable en partida (+/-)
- Marcadores de mapa personalizados (F4/F5)
- Resumen de batalla completo (F6)
- Historial de mensajes (F7)
- Cola de producción visible (Q)
- Captura de edificios con ingeniero (J)
- Transporte con Carryall (L para cargar, U para descargar)

Motor del juego:
- Gusanos de arena que devoran unidades en arena abierta
- Tormentas de arena aleatorias con daño y ralentización
- Sistema de energía: edificios avanzados requieren generadores
- Regeneración gradual de especia
- Mejoras que afectan estadísticas de unidades existentes
- Límite de edificios por tipo (1 Palacio, 1 Centro)
- Condición de victoria "defender N turnos"

Inteligencia Artificial:
- 4 niveles de dificultad reales: fácil, normal, difícil, brutal
- IA adaptativa: contrarresta la composición del jugador
- Exploración con unidades de reconocimiento
- Gestión económica: prioriza cosechadoras y refinerías
- Estilos por facción: Atreides defensivo, Harkonnen agresivo,
  Ordos con raids rápidos
- Brutal: bonus de recursos para la IA

Accesibilidad:
- Sonidos distintivos por tipo de unidad
- Música dinámica: calma, tensa, épica según estado de batalla
- Brújula sonora para orientación
- Sonar de minimapa (barrido sonoro del mapa)
- Alertas configurables desde opciones

Contenido:
- Enciclopedia del juego accesible desde el menú
- Sistema de logros con 10 logros desbloqueables
- Tabla de estadísticas por partida

Editor y Mods:
- Validación de mapas (jugabilidad)
- Importar mods desde ZIP
- Editor de scripts de IA
- Plantillas de mapa mejoradas

Técnico:
- Guardado incluye modo de comportamiento de unidades
- Música dinámica con 3 pistas de intensidad
- Nuevos sonidos: captura, transporte, tormenta, brújula, sonar
- Sonidos distintivos: infantería, tanque, aéreo

Versión 1.3.0 (2026-03-07)
----------------------------
Correcciones de menús, opciones y configuración.

Corregido:
- Flechas izquierda/derecha ya no actúan en menús normales.
  Solo se usan arriba/abajo, Tab/Shift+Tab, Enter y Escape.
- Menú de opciones reescrito: izquierda/derecha para cambiar
  valores numéricos y listas, Enter para editar texto.
- Nombre del jugador ahora se puede cambiar desde opciones
  y se aplica en todos los modos de juego (campaña, escaramuza,
  mapa personalizado, cargar partida, modo historia).
- Configuración de mods unificada: se usa solo config.ini como
  fuente única. Eliminado el archivo mods_activos.json duplicado.
- Corregido error de tipo al leer valores de texto en config.ini
  (nombre_jugador se leía como entero).
- Eliminada opción duplicada de escaramuza en menú principal.

Versión 1.2.0 (2026-03-07)
----------------------------
Modo Historia y nuevas campañas.

Nuevo: Modo Historia
- Juega misión a misión hasta conquistar Arrakis
- Progreso guardado automáticamente entre misiones
- Bonus de especia acumulada (10% de misiones anteriores)
- Reintentar misión tras derrota o guardar y salir
- Soporte para historias de mods activos

Nuevas historias:
- Los Hijos del Desierto (Fremen, 7 misiones)
- La Guerra de las Casas (6 misiones)
- El Mercader de Especia (5 misiones)

Nuevo: Editor de historias en el editor de mods (Ctrl+H)
- Crear, editar y eliminar historias dentro de un mod
- Agregar, editar y quitar misiones
- Editor de mapas de texto integrado
- Plantilla automática al crear misiones nuevas

Documentación actualizada:
- Manual ampliado con secciones de Modo Historia, guardado,
  creación de historias y formato de mapas
- Guía de mods con sección de historias personalizadas
- Referencia de teclas actualizada

Versión 1.1.0 (2026-03-07)
----------------------------
Correcciones y mejoras de jugabilidad.

Corregido:
- Victoria instantánea al iniciar partida con un solo equipo
- Cosechadora no podía recolectar sin refinería (ahora deposita
  directamente con 50% de penalización)
- Guardar partida no guardaba nada (implementado guardado real
  en data/guardado/ con estado completo en JSON)
- Población mostraba 0 de 5 (unidades iniciales no contadas)
- Casilla mostraba siempre "Especia: 3000" aunque se recolectara
  (casilla.especia ahora se sincroniza con el recurso real)
- Cosechadora intentaba volver a recurso agotado (ahora se queda
  en refinería esperando nuevas órdenes)

Nuevo:
- Sistema de logging completo en todos los módulos del motor
- Cargar partida desde el menú principal
- Guardado incluye terreno y recursos para carga independiente
- Info de cosechadora (tecla I) muestra carga actual de especia
- Sistema de victoria robusto con condiciones personalizadas
  (recolectar, construir, destruir enemigos)
- Objetivos por mapa en archivos de misión

Versión 1.0.0 (2026-03-07)
----------------------------
Primera versión del juego.

Características:
- 3 facciones jugables: Atreides, Harkonnen, Ordos
- Campaña de 9 misiones por facción
- Modo escaramuza con 3 mapas predefinidos
- Soporte para mapas personalizados
- Sistema de mods completo
- Editor de mods en wxPython
- Audio posicional 3D con pygame
- Compatibilidad con lectores de pantalla (NVDA, JAWS)
- Texto a voz mediante accessible_output2
- IA con múltiples niveles de dificultad
- Sistema de construcción de edificios
- Sistema de entrenamiento de unidades
- Sistema de investigación de mejoras
- Recolección de especia con cosechadoras
- Grupos de control (1-9)
- Navegación completa por teclado
- Manual del usuario en español
- Compilación con cx_Freeze

Unidades implementadas:
- Comunes: Cosechadora, Infantería Ligera, Infantería Pesada,
  Ingeniero, Triciclo, Quad, Tanque de Combate, Tanque de
  Asedio, Lanzamisiles, Carryall
- Atreides: Francotirador, Tanque Sónico, Guerrero Fremen
- Harkonnen: Trooper, Devastador, Misil de la Muerte
- Ordos: Saboteador, Desviador, Raider

Edificios implementados:
- Centro de Construcción, Generador Eólico, Planta de Energía,
  Refinería, Cuartel, Fábrica Ligera, Fábrica Pesada,
  Centro de Alta Tecnología, Puerto Espacial, Palacio,
  Silo de Especia, Torreta, Muro
