<?php
session_start();
require '../../conex/conexao.php';

// Verifique se o usuário não está logado
if (!isset($_SESSION['user_id'])) {
    // Redirecione-o para a página de login
    header("Location: login.php");
}

if (isset($_POST['treinar'])) {

    
$personagem = $_SESSION['personagem'];
$situacao = "livre";


$madeira = $_SESSION['madeira'];
$soldados = $_SESSION['soldados'];
$nvsaldomadeira = $soldados;



        // Atualize a coluna 'local' na tabela 'personagens' para o novo valor
    $sql = "UPDATE personagens SET situacao = :situacao, madeira = :nvsaldomadeira WHERE id = :personagem";
    $stmt = $pdo->prepare($sql);
    
$stmt->bindParam(':situacao', $situacao, PDO::PARAM_STR);
    $stmt->bindParam(':nvsaldomadeira', $nvsaldomadeira, PDO::PARAM_STR);
    $stmt->bindParam(':personagem', $personagem, PDO::PARAM_STR);
   
    
    if ($stmt->execute()) {
    $_SESSION['msg'] = "Você e seus soldados, ficaram com $soldados de madeira/s";
    
    
    
    
  // . Montar a mensagem infossitemjogo
    $personagem = $_SESSION['personagem_nome'];
$local = $_SESSION['local'];
    $jogador_nome = $_SESSION['user_name'] ?? 'Sistema';
$cla =  $_SESSION['cla'];
    // 2. Montar a Ação Detalhada
    $acao_p1 = "O personagem $personagem [$cla], do jogador $jogador_nome, finalizou a coleta de madeira, em $local.";
   
    // 3. Montar a Mensagem Principal (informacao)
    $informacao = "Coleta de madeira finalizada";
$origem = "sistema";
    // 4. Inserir na Tabela infossistemjogo
    try {
        $sqlInsertInfo = "INSERT INTO infossistemjogo (
                          informacao, p1, acaop1, origem,  dataehora
                          ) VALUES (
                          :info, :p1_nome, :acao1, :origem, NOW()
                          )";

        $stmtInfo = $pdo->prepare($sqlInsertInfo);
        $stmtInfo->execute([
            ':info'        => $informacao,
            ':p1_nome'     => $nomePersonagem,
            ':acao1'       => $acao_p1,
            ':origem'      => $origem,
            // apgp1 e apgp2 são definidos como 0, pois é um movimento e não um ganho de pontos
        ]);

    } catch (Exception $e) {
        // Loga o erro, mas não trava a movimentação
        error_log("Erro ao registrar no infossistemjogo: " . $e->getMessage());
        // Opcional: Adicionar uma mensagem de erro na sessão para debug
        // $_SESSION['msg'] = "DEBUG: Falha ao registrar log completo. Detalhes: " . $e->getMessage();
    }
    
    
    
    
    
    
    // . Inserir na Tabela ocorrencias_locais p inserir saida do personagm
    // NOTA: Inserimos no NOVO LOCAL ($local) para que quem está lá veja a chegada.
    $mensagem = "O personagem $personagem [$cla], finalizou a caçada.";
    try {
        $sqlInsert = "INSERT INTO ocorrencias_locais 
                      (personagem1, cla1, tipo, situacao, local, tempo_notificacao, data) 
                      VALUES (:p1, :c1, 'movimento', :situacao, :local, 120, NOW())"; // 120s = 2 minutos de validade no log

        $stmtInsert = $pdo->prepare($sqlInsert);
        $stmtInsert->execute([
            ':p1' => $nomePersonagem,
            ':c1' => $cla, // Assumindo que $cla é o clã do personagem
            ':situacao' => $mensagem,
            ':local' => $local // O NOVO LOCAL do personagem
        ]);

    } catch (Exception $e) {
        // Logar o erro, mas não travar a movimentação
        error_log("Erro ao registrar ocorrência de movimento: " . $e->getMessage());
    }
    
    
    
    header("Location: ../../dashboardmed.php");
    exit; // Certifique-se de usar exit para interromper o script após o redirecionamento
} else {
    echo "Erro ao entrar em serviço.";
}

}

?>