<?php

require 'common.inc.php';
$regraPersonagem = new Personagem();
$regraItem = new Item();
try {
    if (count($_POST) > 0) {
        foreach ($_POST['item'] as $id_item => $quantidade) {
            $regraItem->colocarVenda($id_item, $quantidade);
        }
        $msgsucesso = _('Your items have been successfully changed.');
    }
    $personagem = $regraPersonagem->pegar(ID_PERSONAGEM);
    $GLOBALS['_personagem'] = $personagem;
    $urlPersonagem = '/' . strtolower(sanitize_slug($personagem->nome)) . '_' . $personagem->id_personagem;
    $itens = $regraItem->listar(ID_PERSONAGEM);
} catch (Exception $e) {
    $msgerro = $e->getMessage();
}
require 'header.inc.php';
require 'menu-principal.inc.php';
require 'personagem-modal.inc.php';
?>
<div class="container" style="margin-top: 80px">
    <div class="row">
        <div class="col-md-3">
            <?php 
require 'login.inc.php';
?>
        </div>
        <div class="col-md-6">
 private function atualizar($personagem)
 {
     if (!is_null($personagem)) {
         if ($personagem->id_cidade > 0) {
             $regraCidade = new Cidade();
             $personagem->cidade = $regraCidade->pegar($personagem->id_cidade);
         }
         $personagem->terreno = $personagem->terreno_livre + $personagem->terreno_construcao;
         $personagem->forca_bonus = 0;
         $personagem->agilidade_bonus = 0;
         $personagem->vitalidade_bonus = 0;
         $personagem->carisma_bonus = 0;
         $personagem->inteligencia_bonus = 0;
         $personagem->percepcao_bonus = 0;
         $racas = $this->listarRaca();
         $raca = $racas[$personagem->cod_raca];
         $personagem->raca = $raca['nome'];
         if (array_key_exists(FORCA, $raca)) {
             $personagem->forca_bonus += $raca[FORCA];
         }
         if (array_key_exists(AGILIDADE, $raca)) {
             $personagem->agilidade_bonus += $raca[AGILIDADE];
         }
         if (array_key_exists(VITALIDADE, $raca)) {
             $personagem->vitalidade_bonus += $raca[VITALIDADE];
         }
         if (array_key_exists(CARISMA, $raca)) {
             $personagem->carisma_bonus += $raca[CARISMA];
         }
         if (array_key_exists(INTELIGENCIA, $raca)) {
             $personagem->inteligencia_bonus += $raca[INTELIGENCIA];
         }
         if (array_key_exists(PERCEPCAO, $raca)) {
             $personagem->percepcao_bonus += $raca[PERCEPCAO];
         }
         $this->atualizarCusto($personagem);
         $this->atualizarPericia($personagem);
         $pontos = 0;
         $pontos += ($personagem->forca - 1) * 10;
         $pontos += ($personagem->agilidade - 1) * 10;
         $pontos += ($personagem->vitalidade - 1) * 10;
         $pontos += ($personagem->carisma - 1) * 10;
         $pontos += ($personagem->inteligencia - 1) * 10;
         $pontos += ($personagem->percepcao - 1) * 10;
         $pontos = $pontos / 6;
         foreach ($personagem->pericias as $slug => $pericia) {
             if ($pericia->bonus > 0) {
                 $pontos += $pericia->bonus * 2;
             }
         }
         $personagem->level = floor($pontos / 10);
         $personagem->level_progressao = floor($pontos * 10 / 100);
         $regraItem = new Item();
         $itens = $regraItem->listar($personagem->id_personagem);
         $personagem->equipamentos = array();
         $personagem->itens = array();
         $personagem->materiais = array();
         $peso = 0;
         $pesoEquipamento = 0;
         foreach ($itens as $item) {
             if (!is_null($item->equipado)) {
                 switch ($item->equipado) {
                     case CORPO_PES:
                         $item->local = _('Foots');
                         break;
                     case CORPO_PERNAS:
                         $item->local = _('Legs');
                         break;
                     case CORPO_CINTURA:
                         $item->local = _('Waist');
                         break;
                     case CORPO_MAOS:
                         $item->local = _('Hands');
                         break;
                     case CORPO_BRACOS:
                         $item->local = _('Arms');
                         break;
                     case CORPO_TRONCO:
                         $item->local = _('Body');
                         break;
                     case CORPO_CABECA:
                         $item->local = _('Head');
                         break;
                     case CORPO_ESQUERDA:
                         $item->local = _('L. Hand');
                         break;
                     case CORPO_DIREITA:
                         $item->local = _('R. Hand');
                         break;
                 }
                 if (array_key_exists(FORCA, $item->atributos)) {
                     $personagem->forca_bonus += $item->atributos[FORCA];
                 }
                 if (array_key_exists(AGILIDADE, $item->atributos)) {
                     $personagem->agilidade_bonus += $item->atributos[AGILIDADE];
                 }
                 if (array_key_exists(VITALIDADE, $item->atributos)) {
                     $personagem->vitalidade_bonus += $item->atributos[VITALIDADE];
                 }
                 if (array_key_exists(CARISMA, $item->atributos)) {
                     $personagem->carisma_bonus += $item->atributos[CARISMA];
                 }
                 if (array_key_exists(INTELIGENCIA, $item->atributos)) {
                     $personagem->inteligencia_bonus += $item->atributos[INTELIGENCIA];
                 }
                 if (array_key_exists(PERCEPCAO, $item->atributos)) {
                     $personagem->percepcao_bonus += $item->atributos[PERCEPCAO];
                 }
                 //var_dump($item);
                 $personagem->equipamentos[] = $item;
                 $pesoEquipamento += $item->peso;
                 $peso += $item->peso;
             } else {
                 if ($item->tipo == MATERIAL_CONSTRUCAO) {
                     $personagem->materiais[$item->slug] = $item;
                 } else {
                     $personagem->itens[$item->slug] = $item;
                     $peso += $item->peso;
                 }
             }
         }
         $personagem->carga_equipamento = $pesoEquipamento;
         $personagem->carga_total = $peso;
         $personagem->forca_atual = $personagem->forca + $personagem->forca_bonus;
         $personagem->vitalidade_atual = $personagem->vitalidade + $personagem->vitalidade_bonus;
         $nivel_maximo = ($personagem->forca_atual + $personagem->vitalidade_atual) * 10;
         $nivel_carga3 = ($personagem->forca_atual + $personagem->vitalidade_atual) * 6;
         $nivel_carga2 = ($personagem->forca_atual + $personagem->vitalidade_atual) * 3;
         $nivel_carga1 = $personagem->forca_atual + $personagem->vitalidade_atual;
         if ($peso >= $nivel_maximo) {
             $personagem->nivel_carga = 4;
         } elseif ($peso >= $nivel_carga3) {
             $personagem->nivel_carga = 3;
         } elseif ($peso >= $nivel_carga2) {
             $personagem->nivel_carga = 2;
         } elseif ($peso >= $nivel_carga1) {
             $personagem->nivel_carga = 1;
         } else {
             $personagem->nivel_carga = 0;
         }
         $personagem->agilidade_bonus -= $personagem->nivel_carga;
         $personagem->forca_bonus -= $personagem->nivel_carga;
         $personagem->forca_atual = $personagem->forca + $personagem->forca_bonus;
         $personagem->agilidade_atual = $personagem->agilidade + $personagem->agilidade_bonus;
         $personagem->vitalidade_atual = $personagem->vitalidade + $personagem->vitalidade_bonus;
         $personagem->carisma_atual = $personagem->carisma + $personagem->carisma_bonus;
         $personagem->inteligencia_atual = $personagem->inteligencia + $personagem->inteligencia_bonus;
         $personagem->percepcao_atual = $personagem->percepcao + $personagem->percepcao_bonus;
         $personagem->carga_maxima = $nivel_maximo;
     }
     return $personagem;
 }