game/ajax_flotte.php

194 lines
7.8 KiB
PHP

<?php
if(!defined('INDEX')) define('INDEX', 1);
include('includes/common.php');
require('Class/JSON.php');
if (isset($sess) && isset($sess->values['connected']) && $sess->values['connected'] && !empty($sess->values['id']) && isset($sess->values['auth_level']) && !empty($sess->values['idPlan'])) {
$json = new Services_JSON();
$chapeau = new bdd();
$chapeau->connexion();
$chapeau->db();
$table = $config['db_prefix'].'planete';
$idPlan = $sess->values['idPlan'];
$queryPlanete = $chapeau->unique_query("SELECT * FROM `$table` WHERE `id` = '$idPlan'");
$start_galaxie = $queryPlanete['galaxie'];
$start_ss = $queryPlanete['ss'];
$start_position = $queryPlanete['position'];
if (empty($sess->values['fltime']) || $sess->values['fltime'] + 600 < time() || empty($sess->values['flnbvais']) || empty($sess->values['flvitesse']) && isset($sess->values['auth_level']))
$datas = array(
'root' => array(
'temps' => '-',
'deblok' => '<b>Une erreur est survenue lors de la création de la flotte. Veuillez recommencer</b>',
'conso' => '-',
'tactique' => ''
)
);
elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom'])
$datas = array(
'root' => array(
'temps' => '-',
'deblok' => '<b>Nom de la flotte incorrect !</b>',
'conso' => '-',
'tactique' => ''
)
);
elseif ($_POST['galaxie'] > MAX_AMAS || $_POST['ss'] > MAX_SYSTEME || $_POST['pos'] > MAX_PLANETE || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $sess->values['auth_level'] < 6))
$datas = array(
'root' => array(
'temps' => '<span style="color: #FF0000;"><b>Lieu inaccessible</b></span>',
'deblok' => '<b>Corrigez la destination !</b>',
'conso' => '-',
'tactique' => ''
)
);
else {
$_POST['vitesse'] /= 100;
$temps = vais_tempsDeplacement($start_galaxie,$start_ss,$start_position,$_POST['galaxie'],$_POST['ss'],$_POST['pos'],$sess->values['flvitesse'],$_POST['vitesse'],$sess->values['flpreparation'],$sess->values['flchauffe']);
if ($temps <= 0) $temps = 454;
$conso = vais_conso($temps, $sess->values['flnbvais'])*($_POST['vitesse']*10);
$tactique = '';
if ($_POST['mission'] == '1') {
$tactique = ' utiliser la tactique : <select name="tactique">';
//On récupère le niveau actuel de la technologie Commandement militaire
$id_user = $sess->values['id'];
$table = $config['db_prefix'].'user';
$queryUser = $chapeau->unique_query("SELECT * FROM `$table` WHERE `id` = '$id_user'");
$lvltechno = $queryUser['tactique'];
$tactiquedef = $queryUser['combatAT_tactique'];
if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<b>Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !</b>',
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet)),
'tactique' => ''
)
);
header("X-JSON: ".$json->encode($datas));
exit;
}
else {
for($i=1 ; $i<=$lvltechno ; $i++) {
if ($tactiquedef == $i) $tactique .= '<option value="'.$i.'" selected>'.txtTactique($i).'</option>';
else $tactique .= '<option value="'.$i.'">'.txtTactique($i).'</option>';
}
}
$tactique .= '</select>';
}
$cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10,99).$temps);
$sess->values['flcds'] = $cds;
$sess->put();
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<input type="hidden" name="cds" value="'.$cds.'" /><input type="submit" value="GO" class="submit" />',
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*2)),
'tactique' => $tactique
)
);
}
$chapeau->deconnexion();
header("X-JSON: ".$json->encode($datas));
}
exit;
$json = new Services_JSON();
if (!isset($sess->values['fltime']) || $sess->values['fltime'] + 600 < time() || !isset($sess->values['flnbvais']) || !isset($sess->values['flvitesse']) || !isset($_POST['galaxie']) || !isset($_POST['ss']) || !isset($_POST['pos']) || !isset($_POST['vitesse']) || !is_numeric($_POST['galaxie']) || !is_numeric($_POST['ss']) || !is_numeric($_POST['pos']) || !is_numeric($_POST['vitesse'])) {
$datas = array(
'root' => array(
'temps' => '-',
'deblok' => '<b>Compl&egrave;tez les champs ci-dessus</b>',
'conso' => '-',
'tactique' => ''
)
);
}
elseif ($_POST['galaxie'] > 1 || $_POST['ss'] > 100 || $_POST['pos'] > 12 || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $auth_level < 6)) {
$datas = array(
'root' => array(
'temps' => '<span style="color: #FF0000;"><b>Lieu inaccessible</b></span>',
'deblok' => '<b>Corrigez la destination !</b>',
'conso' => '-',
'tactique' => ''
)
);
}
else {
$_POST['vitesse'] /= 100;
$temps = vais_tempsDeplacement($start_galaxie,$start_ss,$start_position,$_POST['galaxie'],$_POST['ss'],$_POST['pos'],$sess->values['flvitesse'],$_POST['vitesse'],$sess->values['flpreparation'],$sess->values['flchauffe']);
$conso = vais_conso($temps, $sess->values['FL_nbvais'])*($_POST['vitesse']*10);
//On recherche si la flotte va faire un aller-retour ou un aller simple
if (isset($_POST['mission']) && is_numeric($_POST['mission']) && ($_POST['mission'] == '3')) $nbtrajet = 1;
else $nbtrajet = 2;
if ($temps <= 0) $temps = 454;
if (preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom'] || empty($_POST['nom']))
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<b>Nom de la flotte incorrect !</b>',
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet)),
'tactique' => ''
)
);
/*elseif (empty($_POST['hyd']) || $_POST['hyd'] < $conso * 2)
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<b>Vous n\'avez pas embarqu&eacute; assez d\'hydrog&egrave;ne pour faire l\'aller-retour !</b>',
'conso' => separerNombres(floor($conso*($_POST['vitesse']/100)*$nbtrajet))
)
);*/
else {
$tactique = '';
$cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10,99).$temps);
$sess->values['flottecdsL'] = $cds;
if ($id == '46') setHistorique('Rapport Frederic PREP','Génération code : SESSION : '.$sess->values['flottecdsL'].' - cds : '.$cds);
if ($_POST['mission'] == '1') {
$tactique = ' :: utiliser la tactique : <select name="tactique">';
//On récupère le niveau actuel de la technologie Commandement militaire
include('includes/connectBDD.php');
$lvltechno = trouvInfo($id,'tactique');
$tactiquedef = trouvInfo($id,'combatAT_tactique');
mysql_close();
if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<b>Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !</b>',
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet)),
'tactique' => 'zz'
)
);
//header("X-JSON: ".$json->encode($datas));
//exit;
}
else {
for($i=1 ; $i<=$lvltechno ; $i++) {
if ($tactiquedef == $i) $tactique .= '<option value="'.$i.'" selected>'.txtTactique($i).'</option>';
else $tactique .= '<option value="'.$i.'">'.txtTactique($i).'</option>';
}
}
$tactique .= '</select>';
}
$datas = array(
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<input type="hidden" name="cds" value="'.$cds.'" /><input type="submit" value="Envoyer la flotte" class="bouton" />',
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet)),
'tactique' => $tactique
)
);
}
}
$chapeau->deconnexion();
header("X-JSON: ".$json->encode($datas));
?>