$GLOBALS['_personagem'] = $regraPersonagem->pegar(ID_PERSONAGEM); } elseif (array_key_exists('equip', $_GET)) { $id_item = intval($_GET['equip']); if (array_key_exists('mao', $_GET)) { $regraItem->equipar(ID_PERSONAGEM, $id_item, $_GET['mao']); } else { $regraItem->equipar(ID_PERSONAGEM, $id_item); } $GLOBALS['_personagem'] = $regraPersonagem->pegar(ID_PERSONAGEM); } elseif (array_key_exists('unequip', $_GET)) { $local = intval($_GET['unequip']); $regraItem->desequipar(ID_PERSONAGEM, $local); $GLOBALS['_personagem'] = $regraPersonagem->pegar(ID_PERSONAGEM); } elseif (array_key_exists('drop', $_GET)) { $id_item = intval($_GET['drop']); $regraItem->excluir($id_item); $GLOBALS['_personagem'] = $regraPersonagem->pegar(ID_PERSONAGEM); } if (count($_POST) > 0) { if (array_key_exists('acao', $_POST) && $_POST['acao'] == 'personagem-novo') { $personagem = $regraPersonagem->pegarDoPost(); $id_personagem = $regraPersonagem->inserir($personagem); $url = strtolower(sanitize_slug($personagem->nome)) . '_' . $id_personagem . '/upgrade'; header('Location: ' . $url); exit; } } require 'header.inc.php'; require 'menu-principal.inc.php'; require 'personagem-modal.inc.php'; ?>
public function usarMaterial($id_construcao, $material_slug, $quantidade) { $construcao = $this->pegar($id_construcao); $query = "\n SELECT\n id_item,\n quantidade\n FROM item\n WHERE id_personagem IN (\n SELECT id_personagem\n FROM construcao\n WHERE id_construcao = '" . do_escape($id_construcao) . "'\n )\n AND slug = '" . do_escape($material_slug) . "'\n "; $dados = get_first_result($query); $id_item = $dados->id_item; $quantidadeMaxima = $dados->quantidade; $maximoAbsoluto = $construcao->material[$material_slug]->maximo; $maximoAbsoluto -= $construcao->material[$material_slug]->quantidade; if ($quantidadeMaxima > $maximoAbsoluto) { $quantidadeMaxima = $maximoAbsoluto; } //var_dump($maximoAbsoluto, $quantidadeMaxima); //exit(); //$construcao = $this->pegar($id_construcao); //$quantidadeMaxima = $construcao->material[$material_slug]->maximo - $construcao->material[$material_slug]->quantidade; if (!($quantidadeMaxima > 0)) { throw new Exception(sprintf('%s is not necessary on this construction.', $material_slug)); } //var_dump($quantidade, $quantidadeMaxima); //exit(); if ($quantidade > $quantidadeMaxima) { $quantidade = $quantidadeMaxima; } $query = "\n SELECT COUNT(*) AS 'total'\n FROM construcao_material\n WHERE id_construcao = '" . do_escape($id_construcao) . "'\n AND slug = '" . do_escape($material_slug) . "'\n "; $total = get_value($query, 'total'); if ($total > 0) { $query = "\n UPDATE construcao_material SET \n quantidade = quantidade + '" . do_escape($quantidade) . "'\n WHERE id_construcao = '" . do_escape($id_construcao) . "'\n AND slug = '" . do_escape($material_slug) . "'\n "; do_update($query); } else { $query = "\n INSERT INTO construcao_material (\n id_construcao,\n slug,\n quantidade\n ) VALUES (\n '" . do_escape($id_construcao) . "',\n '" . do_escape($material_slug) . "',\n '" . do_escape($quantidade) . "'\n )\n "; do_insert($query); } $regraItem = new Item(); $regraItem->excluir($id_item, $quantidade); $this->verificar($id_construcao); }