2008-09-20 10:00:00 +00:00
|
|
|
<?php
|
|
|
|
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|
|
|
$page = 'laboratoire';
|
|
|
|
$titre = 'Laboratoire';
|
|
|
|
|
2009-11-01 11:00:00 +00:00
|
|
|
//Si l'on est pas sur la planète mère, on bloque le laboratoire
|
|
|
|
if ($queryPlanetes[0]['id'] != $planete->id)
|
|
|
|
erreur('Vous devez être sur votre planète mère pour faire des recherches dans le laboratoire.');
|
|
|
|
|
2008-09-20 10:00:00 +00:00
|
|
|
//Vérification que le joueur ait bien un labo avant d'afficher la page
|
2009-11-01 11:00:00 +00:00
|
|
|
if ($planete->batiments[6] <= 0) erreur('Vous devez d\'abord construire un '.strtolower($batiment[6]), "red", '?p=batiments', 4000);
|
2008-09-20 10:00:00 +00:00
|
|
|
|
2008-11-08 11:00:00 +00:00
|
|
|
//Lancement d'une nouvelle recherche
|
|
|
|
if (isset($_GET['t']) && isset($_GET['f']) ) {
|
2008-11-19 11:00:00 +00:00
|
|
|
//On annule la recherche si le labo est en construction
|
|
|
|
if ($planete->file_exist(6, 'file_bat')) erreur('Votre laboratoire est en travaux, vous ne pouvez pas faire de recherches pour le moment !');
|
|
|
|
|
2008-09-20 10:00:00 +00:00
|
|
|
//Récupération des erreurs de la mise en file d'attente pour traitement
|
2009-11-01 11:00:00 +00:00
|
|
|
$construction = $planete->file_addTechno(intval(gpc('f')), intval(gpc('t')));
|
2008-09-20 10:00:00 +00:00
|
|
|
|
|
|
|
switch($construction){
|
|
|
|
case 1: erreur('Vous n\'avez pas les bâtiments et/ou technologies nécessaires pour effectuer cette recherche.'); break;
|
|
|
|
case 2: erreur('Cette technologie est déjà en file d\'attente !'); break;
|
|
|
|
case 3: erreur('Vous n\'avez pas les ressources nécessaire pour effectuer cette recherche !'); break;
|
2008-11-08 11:00:00 +00:00
|
|
|
case 4: erreur('File d\'attente pleine !'); break;
|
|
|
|
case 5: erreur('Le nombre d\'objets est négatif !'); break;
|
2008-09-20 10:00:00 +00:00
|
|
|
default: header('Location: ?p=laboratoire'); exit;
|
|
|
|
}
|
|
|
|
}
|
2008-11-08 11:00:00 +00:00
|
|
|
|
2008-09-20 10:00:00 +00:00
|
|
|
//Annulation d'une nouvelle construction
|
|
|
|
if (isset($_GET['a'])) {
|
|
|
|
$i = intval(gpc('a'));
|
|
|
|
//Vérification de la présence du batiment dans la file d'attente
|
2008-11-08 11:00:00 +00:00
|
|
|
if(!empty($planete->file_tech[$i+1])) {
|
2009-11-01 11:00:00 +00:00
|
|
|
$planete->file_delTechno($i);
|
2008-09-20 10:00:00 +00:00
|
|
|
header('Location: ?p=laboratoire');
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
}
|
2008-11-08 11:00:00 +00:00
|
|
|
|
|
|
|
//Affichage des technologies
|
|
|
|
$TEMP_technologies = array();
|
|
|
|
foreach ($planete->technologies as $key => $technologie){
|
|
|
|
foreach ($technologiesCALC[$key] as $i => $calc){
|
|
|
|
//On affiche uniquement les technologies
|
|
|
|
if (($technologie & $calc[1]) == $calc[1] && !($technologie & $calc[0] && $technologie != 0)) {
|
2009-11-01 11:00:00 +00:00
|
|
|
if ($planete->file_existTech($key, $i)) $enFile = true;
|
2008-11-08 11:00:00 +00:00
|
|
|
else $enFile = false;
|
|
|
|
|
|
|
|
//On applique les bonus de test
|
|
|
|
$calc[3] /= VITESSE;
|
2008-11-19 11:00:00 +00:00
|
|
|
$calc[3] /= (1 + $planete->batiments[6] * 0.005);
|
2008-11-08 11:00:00 +00:00
|
|
|
|
|
|
|
$TEMP_technologies[] =
|
|
|
|
array(
|
|
|
|
'image' => $planete->race=='humain'?'../humain_na.jpg':'../covenant_na.jpg',
|
|
|
|
'nom' => $technolo[$key][$i],
|
|
|
|
'niveau' => '0',
|
2008-11-19 11:00:00 +00:00
|
|
|
'description' => 'Technologie de '.$technologiesVAR[$key].' ; numéro : '.$calc[0].'<br />Résultat : '.((int)($technologie & $calc[1]).' | '.$calc[1].' | '.$technologie),
|
2008-11-08 11:00:00 +00:00
|
|
|
'nec_metal' => 0,
|
|
|
|
'nec_cristal' => 0,
|
|
|
|
'nec_hydrogene' => 0,
|
|
|
|
'nec_credits' => $calc[2],
|
|
|
|
'nec_metalS' => 0,
|
|
|
|
'nec_cristalS' => 0,
|
|
|
|
'nec_hydrogeneS' => 0,
|
|
|
|
'temps' => sec($calc[3]),
|
|
|
|
'num' => $i,
|
|
|
|
'file' => $key,
|
|
|
|
'enfile' => $enFile,
|
|
|
|
'maq_metal' => 0,
|
|
|
|
'maq_cristal' => 0,
|
|
|
|
'maq_hydrogene' => 0
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$template->assign('recherches', $TEMP_technologies);
|
|
|
|
|
|
|
|
//Affichage de la file d'attente
|
|
|
|
$nbfile = count($planete->file_tech)-1;
|
|
|
|
if ($nbfile == 1) $template->assign('Pchaine', true);
|
|
|
|
else $template->assign('Pchaine', false);
|
|
|
|
if ($nbfile <= 0) $template->assign('Vchaine', true);
|
|
|
|
else $template->assign('Vchaine', false);
|
|
|
|
$file = array();
|
|
|
|
foreach ($planete->file_tech as $key => $tech_infile){
|
|
|
|
if ($key == 0) continue;
|
|
|
|
|
2008-11-19 11:00:00 +00:00
|
|
|
$sec = $technologiesCALC[$tech_infile[1]][$tech_infile[0]][3] / (1 + $planete->batiments[6] * 0.01);
|
2008-11-08 11:00:00 +00:00
|
|
|
if ($key == 1) $file[] = array($tech_infile[0], 1, ceil($sec/VITESSE - (time() - $planete->file_tech[0])), $technolo[$tech_infile[1]][$tech_infile[0]]);
|
|
|
|
else $file[] = array($tech_infile[0], 1, ceil($sec/VITESSE), $technolo[$tech_infile[1]][$tech_infile[0]]);
|
|
|
|
}
|
|
|
|
|
|
|
|
$template->assign('file', $file);
|
|
|
|
|
|
|
|
/*
|
|
|
|
exit;
|
|
|
|
|
|
|
|
$nbstop = count($technolo);
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-20 10:00:00 +00:00
|
|
|
//Règler la production à la châine
|
|
|
|
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
|
|
|
|
if($_GET['r']) $file->chaine = false;
|
|
|
|
else $file->chaine = true;
|
|
|
|
$export = mysql_real_escape_string(serialize($file));
|
|
|
|
mysql_query("UPDATE planete SET file_bat = '$export' WHERE id = '$idPlan';");
|
|
|
|
header('Location: ?p=batiments');
|
|
|
|
exit;
|
|
|
|
}*/
|
2008-11-08 11:00:00 +00:00
|
|
|
/*
|
2008-09-20 10:00:00 +00:00
|
|
|
for ($i=0 ; $i<$nbstop ; $i++) {
|
|
|
|
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
|
|
|
|
if ($planete->technologies[$i] > 0) $niveau = $planete->technologies[$i]; else $niveau = 0;
|
|
|
|
$n = $planete->technologies[$i] + 1; eval($technoloCALC[$i][0]); eval($technoloCALC[$i][1]); eval($technoloCALC[$i][2]); eval($technoloCALC[$i][3]);
|
|
|
|
if ($planete->file_exist($i, 'file_tech')) $enFile = true;
|
|
|
|
if (!empty($technolo[$i]) && requestDeblok($technoloTECH[$i], $planete)) $TEMP_batiments[] =
|
|
|
|
array(
|
|
|
|
'image' => $technoli[$i],
|
|
|
|
'nom' => $technolo[$i],
|
|
|
|
'niveau' => $niveau,
|
|
|
|
'description' => $technode[$i],
|
|
|
|
'descriptione' => addslashes($technode[$i]),
|
|
|
|
'nec_metal' => $a,
|
|
|
|
'nec_cristal' => $b,
|
|
|
|
'nec_hydrogene' => $c,
|
|
|
|
'nec_metalS' => separerNombres($a),
|
|
|
|
'nec_cristalS' => separerNombres($b),
|
|
|
|
'nec_hydrogeneS' => separerNombres($c),
|
|
|
|
'temps' => sec($sec),
|
|
|
|
'num' => $i,
|
|
|
|
'enfile' => $enFile,
|
|
|
|
'maq_metal' => ceil($a - $planete->metal),
|
|
|
|
'maq_cristal' => ceil($b - $planete->cristal),
|
|
|
|
'maq_hydrogene' => ceil($c - $planete->hydrogene)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
$template->assign('recherches', $TEMP_batiments);
|
|
|
|
$template->assign('chaine', $planete->technologies);
|
|
|
|
$nbfile = count($planete->file_tech) - 1;
|
|
|
|
|
|
|
|
if ($nbfile == 1) $template->assign('Pchaine', true);
|
|
|
|
else $template->assign('Pchaine', false);
|
|
|
|
if ($nbfile == 0) $template->assign('Vchaine', true);
|
|
|
|
else $template->assign('Vchaine', false);
|
|
|
|
|
|
|
|
$file = array();
|
|
|
|
for ($i=1 ; $i <= $nbfile ; $i++) {
|
|
|
|
$file_unit = explode(',', $planete->file_tech[$i]);
|
|
|
|
$n = $planete->technologies[$file_unit[0]] + 1;
|
|
|
|
eval($technoloCALC[$file_unit[0]][3]);
|
|
|
|
if ($i == 1) $file[] = array($file_unit[0], $file_unit[1], ceil($sec - (time() - $planete->file_tech[0])), $technolo[$file_unit[0]]);
|
|
|
|
else $file[] = array($file_unit[0], $file_unit[1], ceil($sec), $technolo[$file_unit[0]]);
|
|
|
|
}
|
|
|
|
|
2008-11-08 11:00:00 +00:00
|
|
|
$template->assign('file', $file);*/
|
2008-09-20 10:00:00 +00:00
|
|
|
?>
|