2008-11-17 11:00:00 +00:00
|
|
|
<?php
|
2008-11-16 11:00:00 +00:00
|
|
|
define("INDEX", 1);
|
2021-01-03 17:43:43 +00:00
|
|
|
define("DEBUG", false);
|
2008-11-16 11:00:00 +00:00
|
|
|
$chrono_start = microtime();
|
2021-01-03 17:43:43 +00:00
|
|
|
require_once(trim(file_get_contents('./.onyx')));
|
|
|
|
require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
|
|
|
|
require_once("function.php");
|
|
|
|
require_once("Class/JSON.php");
|
|
|
|
require_once("Class/flotte.php");
|
|
|
|
require_once("Class/planete.php");
|
2008-11-17 11:00:00 +00:00
|
|
|
|
2021-01-27 09:51:17 +00:00
|
|
|
if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['idPlan'])) {
|
2021-01-03 17:43:43 +00:00
|
|
|
$idPrep = gpc("cds_temp", "post");
|
2020-11-21 18:54:32 +00:00
|
|
|
$json = new Services_JSON();
|
|
|
|
$nbtrajet = 2;
|
2008-09-20 10:00:00 +00:00
|
|
|
|
2021-01-29 11:17:08 +00:00
|
|
|
if (empty($VAR['flottes']) && $SESS->level <= 1) {
|
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />',
|
|
|
|
'temps' => '-',
|
|
|
|
'deblok' => '<span style="color: #FF0000;"><b>Les flottes sont désactivés pour le moment.</b></span>',
|
|
|
|
'conso' => '-',
|
|
|
|
'tactique' => '',
|
|
|
|
'places' => ''
|
|
|
|
)
|
|
|
|
);
|
|
|
|
header("X-JSON: ".$json->encode($datas));
|
|
|
|
exit;
|
|
|
|
}
|
2008-11-17 11:00:00 +00:00
|
|
|
|
2020-11-21 18:54:32 +00:00
|
|
|
$destin = gpc('fav_dest', 'post');
|
2008-09-20 10:00:00 +00:00
|
|
|
|
2020-11-21 18:54:32 +00:00
|
|
|
$chapeau = new bdd();
|
2021-01-03 17:43:43 +00:00
|
|
|
$idPlan = $SESS->values['idPlan'];
|
2020-11-21 18:54:32 +00:00
|
|
|
$queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
|
|
|
if (!empty($destin)) {
|
|
|
|
$chapeau->escape($destin);
|
|
|
|
$queryPlaneteRapid = $chapeau->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = $destin;");
|
|
|
|
if ($queryPlaneteRapid) {
|
|
|
|
$destinRapid = '['.$queryPlaneteRapid['galaxie'].':'.$queryPlaneteRapid['ss'].':'.$queryPlaneteRapid['position'].']<input type="hidden" id="amas" name="amas" maxlength="2" value="'.$queryPlaneteRapid['galaxie'].'" /><input type="hidden" id="ss" name="ss" maxlength="2" value="'.$queryPlaneteRapid['ss'].'" /><input type="hidden" id="plan" name="pos" maxlength="2" value="'.$queryPlaneteRapid['position'].'" />';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!isset($destinRapid)) {
|
|
|
|
$destinRapid = '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />';
|
|
|
|
}
|
|
|
|
$start_galaxie = $queryPlanete['galaxie'];
|
|
|
|
$start_ss = $queryPlanete['ss'];
|
|
|
|
$start_position = $queryPlanete['position'];
|
2008-11-17 11:00:00 +00:00
|
|
|
|
2021-01-03 17:43:43 +00:00
|
|
|
if (empty($SESS->values["prepFlottes"][$idPrep]['time']) ||
|
|
|
|
$SESS->values["prepFlottes"][$idPrep]['time'] + 1200 < time() ||
|
|
|
|
empty($SESS->values["prepFlottes"][$idPrep]['nbVaisseaux']) ||
|
|
|
|
empty($SESS->values["prepFlottes"][$idPrep]['vitesse']) &&
|
|
|
|
isset($SESS->values['auth_level'])) {
|
2020-11-21 18:54:32 +00:00
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => $destinRapid,
|
|
|
|
'temps' => '-',
|
|
|
|
'deblok' => '<b>Une erreur est survenue lors de la création de la flotte. Veuillez recommencer</b>',
|
|
|
|
'conso' => '-',
|
|
|
|
'tactique' => '',
|
2021-01-03 17:43:43 +00:00
|
|
|
'places' => '',
|
2020-11-21 18:54:32 +00:00
|
|
|
)
|
|
|
|
);
|
|
|
|
} elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom']) {
|
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => $destinRapid,
|
|
|
|
'temps' => '-',
|
|
|
|
'deblok' => '<b>Nom de la flotte incorrect !</b>',
|
|
|
|
'conso' => '-',
|
|
|
|
'tactique' => '',
|
2021-01-03 17:43:43 +00:00
|
|
|
'places' => '',
|
2020-11-21 18:54:32 +00:00
|
|
|
)
|
|
|
|
);
|
2021-01-03 17:43:43 +00:00
|
|
|
} elseif ($_POST['galaxie'] > $VAR['nb_amas'] || $_POST['ss'] > $VAR['nb_systeme'] || $_POST['pos'] > $VAR['nb_planete'] || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $SESS->values['auth_level'] < 6)) {
|
2020-11-21 18:54:32 +00:00
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => $destinRapid,
|
|
|
|
'temps' => '<span style="color: #FF0000;"><b>Lieu inaccessible</b></span>',
|
|
|
|
'deblok' => '<b>Corrigez la destination !</b>',
|
|
|
|
'conso' => '-',
|
|
|
|
'tactique' => '',
|
2021-01-03 17:43:43 +00:00
|
|
|
'places' => '',
|
2020-11-21 18:54:32 +00:00
|
|
|
)
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
$_POST['vitesse'] /= 100;
|
2021-01-03 17:43:43 +00:00
|
|
|
|
|
|
|
$planete = new planete($idPlan);
|
|
|
|
$flotte = new flotte();
|
|
|
|
$temps = $flotte->calc_deplacement($planete, $_POST['galaxie'], $_POST['ss'], $_POST['pos'], $_POST['vitesse'], $SESS->values["prepFlottes"][$idPrep]['vaisseaux'], 1000);
|
2020-11-21 18:54:32 +00:00
|
|
|
if ($temps <= 0) {
|
|
|
|
$temps = 454;
|
|
|
|
}
|
2021-01-03 17:43:43 +00:00
|
|
|
$conso = $flotte->calc_deplacement($planete, $_POST['galaxie'], $_POST['ss'], $_POST['pos'], $_POST['vitesse'], $SESS->values["prepFlottes"][$idPrep]['vaisseaux'], 1000, false, true);
|
|
|
|
// $conso renvoi le temps ET la conso dans un array
|
|
|
|
$conso = intval($conso[1]);
|
|
|
|
|
|
|
|
$met = intval(gpc('met', 'post'));
|
|
|
|
$cri = intval(gpc('cri', 'post'));
|
|
|
|
$hyd = intval(gpc('hyd', 'post'));
|
|
|
|
$places = $flotte->calcStockage($SESS->values["prepFlottes"][$idPrep]['vaisseaux'], $planete);
|
|
|
|
$places -= ceil($conso * $nbtrajet);
|
|
|
|
if (($met+$cri+$hyd) > 0) {
|
|
|
|
$places -= ($met+$cri+$hyd);
|
|
|
|
}
|
2020-11-21 18:54:32 +00:00
|
|
|
$tactique = '';
|
2021-01-27 10:25:27 +00:00
|
|
|
// si la mission est une mission d'attaque
|
|
|
|
if ($_POST['mission'] == '3') {
|
2020-11-21 18:54:32 +00:00
|
|
|
$tactique = '<label for="selecttactique">Tactique d\'attaque :</label><select id="selecttactique" name="tactique">';
|
|
|
|
//On récupère le niveau actuel de la technologie Commandement militaire
|
2021-01-03 17:43:43 +00:00
|
|
|
$id_user = $SESS->values['id'];
|
|
|
|
global $table_user;
|
|
|
|
$table = $table_user;
|
2020-11-21 18:54:32 +00:00
|
|
|
$queryUser = $chapeau->unique_query("SELECT * FROM $table WHERE id = '$id_user'");
|
|
|
|
$lvltechno = $queryUser['tactique'];
|
|
|
|
$tactiquedef = $queryUser['combatAT_tactique'];
|
2008-11-17 11:00:00 +00:00
|
|
|
|
2020-11-21 18:54:32 +00:00
|
|
|
if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte
|
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => $destinRapid,
|
|
|
|
'temps' => affTemp(floor($temps)),
|
|
|
|
'deblok' => '<b>Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !</b>',
|
2021-01-03 17:43:43 +00:00
|
|
|
'conso' => ceil($conso*$nbtrajet),
|
2020-11-21 18:54:32 +00:00
|
|
|
'tactique' => '',
|
2021-01-03 17:43:43 +00:00
|
|
|
'places' => $places
|
2020-11-21 18:54:32 +00:00
|
|
|
)
|
|
|
|
);
|
|
|
|
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><br />';
|
|
|
|
}
|
2021-01-03 17:43:43 +00:00
|
|
|
$SESS->values['flcds'] = $idPrep;
|
|
|
|
$SESS->put();
|
2020-11-21 18:54:32 +00:00
|
|
|
$datas = array(
|
|
|
|
'root' => array(
|
|
|
|
'destination' => $destinRapid,
|
|
|
|
'temps' => affTemp(floor($temps)),
|
2021-01-03 17:43:43 +00:00
|
|
|
'deblok' => '<input type="hidden" name="cds" value="'.$idPrep.'" /><input type="submit" value="GO" class="submit" />',
|
|
|
|
'conso' => ceil($conso*2),
|
2020-11-21 18:54:32 +00:00
|
|
|
'tactique' => $tactique,
|
2021-01-03 17:43:43 +00:00
|
|
|
'places' => $places
|
2020-11-21 18:54:32 +00:00
|
|
|
)
|
|
|
|
);
|
|
|
|
}
|
2008-11-17 11:00:00 +00:00
|
|
|
|
2020-11-21 18:54:32 +00:00
|
|
|
$chapeau->deconnexion();
|
|
|
|
header("X-JSON: ".$json->encode($datas));
|
2008-11-17 11:00:00 +00:00
|
|
|
}
|