HB/game/jeu/chantierterrestre.php

100 lines
3.6 KiB
PHP
Raw Normal View History

2008-09-20 10:00:00 +00:00
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'chantierterrestre';
$titre = $batiment[7];
//Vérification que le joueur ait bien un labo avant d'afficher la page
2008-11-08 11:00:00 +00:00
if ($planete->batiments[7] == 0) erreur('Vous devez d\'abord construire un '.strtolower($batiment[7]), "red", '?p=batiments', 4000);
2008-09-20 10:00:00 +00:00
$TEMP_batiments = array();
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && is_numeric($_GET['v']) && $nbv = floor(gpc('nombre', 'post'))) {
//Récupération des erreurs de la mise en file d'attente pour traitement
$construction = $planete->file_addObjet("terrestres", intval(gpc('v')), $nbv);
switch($construction){
case 1: erreur('Vous n\'avez pas les bâtiments et/ou technologies nécessaires pour entraîner cette unité.'); break;
case 3: erreur('Vous n\'avez pas les ressources nécessaire pour entraîner cette unité !'); 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=chantierterrestre'); exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a'])) {
$i = intval(gpc('a'));
$n = intval(gpc('n'));
if (empty($n)) $n = 1;
$w = intval(gpc('w'));
if (empty($w) && !$w === 0) $w = 99;
else $w++;
//Vérification de la présence du batiment dans la file d'attente
if($planete->file_exist($i, 'file_ter')) {
$planete->file_delObjet("terrestres", $i, $n, $w);
header('Location: ?p=chantierterrestre');
exit;
}
}
//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
foreach($planete->terrestres as $i => $PLterrestres) {
2008-09-20 10:00:00 +00:00
$a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
if ($planete->file_exist($i, 'file_ter')) $enFile = true;
2008-11-08 11:00:00 +00:00
else $enFile = false;
$nombre = $PLterrestres;
//On applique les bonus politiques aux temps et coûts
if ($planete->politique == 1) {
$a *= 0.9;
$b *= 0.9;
$c *= 0.9;
$sec *= 0.9;
}
//On applique les bonus de test
$sec /= VITESSE;
2008-09-20 10:00:00 +00:00
if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $planete) && !$nomterrnCALC[$i][4]) $TEMP_batiments[] =
array(
'image' => $nomterri[$i],
'nom' => $nomterrn[$i],
'nombre' => $nombre,
'description' => $nomterde[$i],
'descriptione' => addslashes($nomterde[$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
);
}
$template->assign('unites', $TEMP_batiments);
$template->assign('chaine', $planete->terrestres);
$nbfile = count($planete->file_ter) - 1;
if ($nbfile == 1) $template->assign('Pchaine', true);
else $template->assign('Pchaine', false);
2008-11-08 11:00:00 +00:00
if ($nbfile <= 0) $template->assign('Vchaine', true);
2008-09-20 10:00:00 +00:00
else $template->assign('Vchaine', false);
$file = array();
2008-11-08 11:00:00 +00:00
foreach ($planete->file_ter as $key => $bout){
if ($key == 0) continue;
$n = $planete->terrestres[$bout[0]] + 1;
eval($nomterrnCALC[$bout[0]][3]);
if ($key == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_ter[0])) + ceil($sec/VITESSE) * ($bout[1]-1), $nomterrn[$bout[0]], ceil($sec/VITESSE - (time() - $planete->file_ter[0])));
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE), $nomterrn[$bout[0]]);
2008-09-20 10:00:00 +00:00
}
$template->assign('file', $file);
?>