// Resistiré - Personajes paródicos del jugador

const personajesData = {
    asesor: {
        id: 'asesor',
        nombre: 'El Asesor',
        descripcion: 'Estratega en la sombra de Moncloa',
        icono: '🕴️',
        desbloqueado: true,
        bonus: null,
        bonusTexto: 'Sin bonus. La pureza del estratega',
        color: '#1a4d5d'
    },
    comunicador: {
        id: 'comunicador',
        nombre: 'El Comunicador',
        descripcion: 'Hombre de los medios. La narrativa lo es todo',
        icono: '📺',
        desbloqueado: true,
        bonus: { relato: 15 },
        bonusTexto: '+15 relato inicial',
        color: '#c1272d'
    },
    tecnocrata: {
        id: 'tecnocrata',
        nombre: 'El Tecnócrata',
        descripcion: 'El experto que sale en TVE con jersey arrugado',
        icono: '🧑‍🔬',
        desbloqueado: true,
        bonus: { saludPoblacionalInicial: 10 },
        bonusTexto: '-10 contagios al inicio (eres "el experto")',
        color: '#0a3d3d'
    },
    falconetti: {
        id: 'falconetti',
        nombre: 'El Jefe',
        descripcion: 'El propio presidente. Sus prioridades son... otras',
        icono: '✈️',
        desbloqueado: true,
        bonus: { ego: 30, popularidad: -10 },
        bonusTexto: '+30 ego, -10 popularidad inicial',
        color: '#f4c430'
    }
};

function getPersonajes() {
    return Object.values(personajesData);
}

function getPersonaje(id) {
    return personajesData[id] || personajesData.asesor;
}

function getPersonajesDesbloqueados() {
    return Object.values(personajesData).filter(p => p.desbloqueado);
}

function isPersonajeDesbloqueado(id) {
    const personaje = personajesData[id];
    return !!(personaje && personaje.desbloqueado);
}

// Helpers de selección (sin metaprogresion)
let _personajeSeleccionadoId = 'asesor';

function getPersonajeSeleccionado() {
    return personajesData[_personajeSeleccionadoId] || personajesData.asesor;
}

function seleccionarPersonaje(id) {
    if (personajesData[id]) {
        _personajeSeleccionadoId = id;
        try {
            localStorage.setItem('resistire_personaje', id);
        } catch (e) { /* noop */ }
    }
}

// Cargar selección persistida (si existe)
(function cargarSeleccionPersonaje() {
    try {
        const saved = localStorage.getItem('resistire_personaje');
        if (saved && personajesData[saved]) {
            _personajeSeleccionadoId = saved;
        }
    } catch (e) { /* noop */ }
})();
