Version 0.10a

This commit is contained in:
nemunaire 2008-11-20 12:00:00 +01:00
commit e391f66774
201 changed files with 5182 additions and 8158 deletions

278
Class/class.combat.php Normal file
View file

@ -0,0 +1,278 @@
<?php
/***************************************************************************
* class.combat.php
* -------------------
* begin : Samedi 26 janvier 2008
* email : nemunaire@gmail.com
*
*
***************************************************************************/
class Combat {
var $refflotte = 0;
var $ATvais = array();
var $ENvais = array();
var $ENdef = array();
var $Ntour = 0;
var $ATtactique = 0;
var $ENtactique = 0;
/**
* Constructeur
* @param array $flotteAT tableau SQL des vaisseaux envoyés par l'attaquant
* @param array $flotteEN tableau SQL de la planète du défenseur
* @param array $defEN tableau SQL de la planète du défenseur
*
* @return void
* @access public
*/
function Combat($flotteAT, $flotteEN, $defEN) {
include('includes/vars.php');
//Génération des vaisseaux attaquants
for ($i=1 ; $i<=12 ; $i++) {
if ($flotteAT['vaisseau'.$i] >= 1) {
$this->ATvais[] = array($i, $flotteAT['vaisseau'.$i], array(array($nomvais_pv[$i-1], $flotteAT['vaisseau'.$i])), array(array($nomvais_bc[$i-1], $flotteAT['vaisseau'.$i])));
}
}
//Génération des vaisseaux défenseurs
for ($i=1 ; $i<=12 ; $i++) {
if ($flotteEN['vaisseau_'.$i] >= 1) {
$this->ENvais[] = array($i, $flotteEN['vaisseau_'.$i], array(array($nomvais_pv[$i-1], $flotteEN['vaisseau_'.$i])), array(array($nomvais_bc[$i-1], $flotteEN['vaisseau_'.$i])));
}
}
//Génération des défenses défenseurs
for ($i=1 ; $i<=5 ; $i++) {
if ($defEN['def_'.$i] >= 1) {
$this->ENdef[] = array($i, $defEN['def_'.$i], array(array($nomvais_pv[$i-1], $defEN['def_'.$i])), array(array($nomvais_bc[$i-1], $defEN['def_'.$i])));
}
}
}
/**
* Change la tactique de l'attaquant
* @param int $tactique numéro de la tactique choisie
*
* @return void
* @access public
*/
function changerTactiqueAT($tactique) {
$this->ATtactique = ceil($tactique);
}
/**
* Change la tactique du défenseur
* @param int $tactique numéro de la tactique choisie
*
* @return void
* @access public
*/
function changerTactiqueEN($tactique) {
$this->ENtactique = ceil($tactique);
}
/**
* Régénére les boucliers
* @param int $pourcentage pourcentage de régénération
* @param bool $attaquant régénére le bouclier de l'attaquant si true, sinon régénrére celui du défenseur
* @param bool $retour si true, renvoie true ou false si !le pourcentage a été consommé ou non, si false, retrourne ne nombre de pourcentage restant
*
* @return float pourcentage non utilisé
* @access public
*/
function regenereBC($pourcentage, $attaquant, $retour = false) {
include('includes/vars.php');
if ($attaquant) {
$count = count($this->ATvais);
$enplus = 0;
$norm = 0;
for ($i=0 ; $i<$count ; $i++) {
$type = $this->ATvais[$i][0]-1;
$maxbc = $nomvais_bc[$type];
$ajout = $maxbc*$pourcentage/100;
$norm += $maxbc * $this->ATvais[$i][1];
$cntbc = count($this->ATvais[$i][3]);
for ($j=0 ; $j<$cntbc ; $j++) {
if ($this->ATvais[$i][3][$j][0] < $maxbc) {
$this->ATvais[$i][3][$j][0] += $ajout;
}
else $enplus += $ajout * $this->ATvais[$i][3][$j][1];
if ($this->ATvais[$i][3][$j][0] > $maxbc) {
$enplus += ($this->ATvais[$i][3][$j][0] - $maxbc)*$this->ATvais[$i][3][$j][1];
$this->ATvais[$i][3][$j][0] = $maxbc;
}
}
}
if ($retour) {
if($enplus/$norm == 1) return true;
else return false;
}
else return $enplus/$norm;
}
else {
$count = count($this->ENvais);
$enplus = 0;
$norm = 0;
for ($i=0 ; $i<$count ; $i++) {
$type = $this->ENvais[$i][0]-1;
$maxbc = $nomvais_bc[$type];
$ajout = $maxbc*$pourcentage/100;
$norm += $maxbc * $this->ENvais[$i][1];
$cntbc = count($this->ENvais[$i][3]);
for ($j=0 ; $j<$cntbc ; $j++) {
if ($this->ENvais[$i][3][$j][0] < $maxbc) {
$this->ENvais[$i][3][$j][0] += $ajout;
}
else $enplus += $ajout * $this->ENvais[$i][3][$j][1];
if ($this->ENvais[$i][3][$j][0] > $maxbc) {
$enplus += ($this->ENvais[$i][3][$j][0] - $maxbc)*$this->ENvais[$i][3][$j][1];
$this->ENvais[$i][3][$j][0] = $maxbc;
}
}
}
$return = $enplus/$norm;
//Défenses
$count = count($this->ENdef);
$enplus = 0;
$norm = 0;
for ($i=0 ; $i<$count ; $i++) {
$type = $this->ENdef[$i][0]-1;
$maxbc = $defense_bc[$type];
$ajout = $maxbc*$pourcentage/100;
$norm += $maxbc * $this->ENdef[$i][1];
$cntbc = count($this->ENdef[$i][3]);
for ($j=0 ; $j<$cntbc ; $j++) {
if ($this->ENdef[$i][3][$j][0] < $maxbc) {
$this->ENdef[$i][3][$j][0] += $ajout;
}
else $enplus += $ajout * $this->ENdef[$i][3][$j][1];
if ($this->ENdef[$i][3][$j][0] > $maxbc) {
$enplus += ($this->ENdef[$i][3][$j][0] - $maxbc)*$this->ENdef[$i][3][$j][1];
$this->ENdef[$i][3][$j][0] = $maxbc;
}
}
}
$return += $enplus/$norm;
return $return/2;
}
}
/**
* Calcul la puissance d'attaque disponible
* @param int $pourcentage pourcentage de régénération
* @param bool $attaquant calcul les points de l'attaquant si true, sinon calcul pour le défenseur
*
* @return int points disponibles
* @access public
*/
function calcAttaque($pourcentage, $attaquant) {
include('includes/vars.php');
if ($attaquant) {
$puissance = 0;
$count = count($this->ATvais);
for ($i=0 ; $i<$count ; $i++) {
$maxat = $nomvais_at[$this->ATvais[$i][0]-1];
$puissance += $maxat * $pourcentage/100 * $this->ATvais[$i][1];
}
return $puissance;
}
else {
$puissance = 0;
$count = count($this->ENvais);
for ($i=0 ; $i<$count ; $i++) {
$maxat = $nomvais_at[$this->ENvais[$i][0]-1];
$puissance += $maxat * $pourcentage/100 * $this->ENvais[$i][1];
}
//Défenses
$count = count($this->ENdef);
for ($i=0 ; $i<$count ; $i++) {
$maxat = $defense_at[$this->ENdef[$i][0]-1];
$puissance += $maxat * $pourcentage/100 * $this->ENdef[$i][1];
}
return $puissance;
}
}
/**
* Attaque les vaisseaux adverses
* @param int $points points d'attaque disponible pour l'attaque
* @param bool $attaquant attaque le défenseur si true, sinon attaque l'attaquant
*
* @return void
* @access public
*/
function attaquerVais($points, $attaquant) {
if ($attaquant) {
while($points > 0) {
// Calcul du nombre de vaisseaux et défenses à attaquer
$nbvais = 0;
$nb = count($this->ENvais);
for ($i=0 ; $i<$nb ; $i++) {
$nbvais += $this->ENvais[$i][1];
}
$nb = count($this->ENdef);
for ($i=0 ; $i<$nb ; $i++) {
$nbvais += $this->ENdef[$i][1];
}
//S'il ne reste plus de vaisseaux et de défenses, on arrête la boucle
if ($nbvais < 0 || $points < 0) break;
//Calcul du nombre de points qui sera enlevé par vaisseau ou défense
$ppv = $points / $nbvais;
//On lance l'attaque
$nb = count($this->ENvais);
for ($i=0 ; $i<$nb ; $i++) {
$persage = 0; //Initialisation du nombre de point restant pour attaquer les PV
$nbpersage = 0; //Initialisation du nombre de vaisseaux affectuer par le persage
$nbj = count($this->ENvais[$i][3]); //Nombre de vaisseaux dans le groupe
//Attaque des boucliers
for ($j=0 ; $j<$nbj ; $j++) {
$this->ENvais[$i][3][$j][0] -= $ppv;
if ($this->ENvais[$i][3][$j][0] <= 0) {
$persage += abs($this->ENvais[$i][3][$j][0]);
$nbpersage += $this->ENvais[$i][3][$j][1];
$this->ENvais[$i][3][$j][0] = 0;
}
}
//Attaque des PV
while($persage > 0) {
$j = count($this->ENvais[$i][2])-1; //Nombre de vaisseaux dans le groupe
if ($this->ENvais[$i][2][$j][0] * $this->ENvais[$i][2][$j][1] < $persage * $nbpersage) { //Si il y a suffisament de point de persage pour détruire tous les vaisseaux de cette ligne
//On efface les vaisseaux du nombre total
$nbvais -= $this->ENvais[$i][2][$j][1];
$this->ENvais[$i][1] -= $this->ENvais[$i][2][$j][1];
//On efface le groupe
unset($this->ENvais[$i][2][$j]);
//S'il ne reste aucun vaisseaux du type, on le supprime
if ($j == 0 || $this->ENvais[$i][1] == 0) {
unset($this->ENvais[$i]);
$persage = 0;
}
}
else { //Attaque vaisseau par vaisseau dans le groupe
$nbmod = floor(($this->ENvais[$i][2][$j][0] * $this->ENvais[$i][2][$j][1])/($persage * $nbpersage));
$this->ENvais[$i][1] -= $nbmod;
$nbvais -= $nbmod;
}
}
}
}
}
}
}
?>

1530
Class/class.phpmailer.php Normal file

File diff suppressed because it is too large Load diff

1039
Class/class.smtp.php Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
<?php
/**
* PHPMailer language file.
* English Version
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' .
'recipient email address.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.';
$PHPMAILER_LANG["execute"] = 'Could not execute: ';
$PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.';
$PHPMAILER_LANG["from_failed"] = 'The following From address failed: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' .
'recipients failed: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.';
$PHPMAILER_LANG["file_access"] = 'Could not access file: ';
$PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: ';
$PHPMAILER_LANG["encoding"] = 'Unknown encoding: ';
?>

355
Class/test/message.txt Normal file
View file

@ -0,0 +1,355 @@
Received: from phpmailer ([127.0.0.1])
by 127.0.0.1 with HTTP (PHPMailer);
Tue, 22 Jan 2008 23:56:42 +0100
Date: Tue, 22 Jan 2008 23:56:42 +0100
Return-Path: nobody@example.com
To: Test User <admin@localhost>
Cc: Carbon User <newuser@localhost>
From: Unit Tester <unit_test@phpmailer.sf.net>
Reply-to: Reply Guy <no_reply@phpmailer.sf.net>
Subject: Unit Test: AltBody + Attachment
Message-ID: <a0169dc7929d1c609a827b4d1a0c3f74@127.0.0.1>
X-Priority: 3
X-Mailer: PHPMailer [version 1.71]
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="b1_a0169dc7929d1c609a827b4d1a0c3f74"
--b1_a0169dc7929d1c609a827b4d1a0c3f74
Content-Type: multipart/alternative;
boundary="b2_a0169dc7929d1c609a827b4d1a0c3f74"
--b2_a0169dc7929d1c609a827b4d1a0c3f74
Content-Type: text/plain; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
This is the text part of the email.
--b2_a0169dc7929d1c609a827b4d1a0c3f74
Content-Type: text/html; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
This is the <b>HTML</b> part of the email.<br/><br/>---------------------<br/>Unit Test Information<br/>---------------------<br/>phpmailer version: 1.71<br/>Content Type: text/html<br/>Host: localhost<br/>Attachments:<br/><ul><li>Name: phpmailer_test.php, Encoding: base64, Type: application/octet-stream<br/></ul><br/>Changes<br/>-------<br/><ul><li>Sender was changed to [nobody@example.com]<br/><li>Mailer was changed to [smtp]<br/></ul><br/><br/>
--b2_a0169dc7929d1c609a827b4d1a0c3f74--
--b1_a0169dc7929d1c609a827b4d1a0c3f74
Content-Type: application/octet-stream; name="test_attach.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test_attach.txt"
PD9waHANCi8qKioqKioqKioqKioqKioqKioqDQogIFVuaXQgVGVzdA0KICBUeXBlOiBwaHBtYWls
ZXIgY2xhc3MNCioqKioqKioqKioqKioqKioqKioqLw0KDQokSU5DTFVERV9ESVIgPSAiLi4vIjsN
Cg0KcmVxdWlyZSgicGhwdW5pdC5waHAiKTsNCnJlcXVpcmUoJElOQ0xVREVfRElSIC4gImNsYXNz
LnBocG1haWxlci5waHAiKTsNCmVycm9yX3JlcG9ydGluZyhFX0FMTCk7DQoNCi8qKg0KICogUGVy
Zm9ybXMgYXV0aGVudGljYXRpb24gdGVzdHMNCiAqLw0KY2xhc3MgcGhwbWFpbGVyVGVzdCBleHRl
bmRzIFRlc3RDYXNlDQp7DQogICAgLyoqDQogICAgICogSG9sZHMgdGhlIGRlZmF1bHQgcGhwbWFp
bGVyIGluc3RhbmNlLg0KICAgICAqIEBwcml2YXRlDQogICAgICogQHR5cGUgb2JqZWN0DQogICAg
ICovDQogICAgdmFyICRNYWlsID0gZmFsc2U7DQoNCiAgICAvKioNCiAgICAgKiBIb2xkcyB0aGUg
U01UUCBtYWlsIGhvc3QuDQogICAgICogQHB1YmxpYw0KICAgICAqIEB0eXBlIHN0cmluZw0KICAg
ICAqLw0KICAgIHZhciAkSG9zdCA9ICIiOw0KDQogICAgLyoqDQogICAgICogSG9sZHMgdGhlIGNo
YW5nZSBsb2cuDQogICAgICogQHByaXZhdGUNCiAgICAgKiBAdHlwZSBzdHJpbmcgYXJyYXkNCiAg
ICAgKi8NCiAgICB2YXIgJENoYW5nZUxvZyA9IGFycmF5KCk7DQoNCiAgICAgLyoqDQogICAgICog
SG9sZHMgdGhlIG5vdGUgbG9nLg0KICAgICAqIEBwcml2YXRlDQogICAgICogQHR5cGUgc3RyaW5n
IGFycmF5DQogICAgICovDQogICAgdmFyICROb3RlTG9nID0gYXJyYXkoKTsNCg0KICAgIC8qKg0K
ICAgICAqIENsYXNzIGNvbnN0dWN0b3IuDQogICAgICovDQogICAgZnVuY3Rpb24gcGhwbWFpbGVy
VGVzdCgkbmFtZSkgew0KICAgICAgICAvKiBtdXN0IGRlZmluZSB0aGlzIGNvbnN0cnVjdG9yICov
DQogICAgICAgICR0aGlzLT5UZXN0Q2FzZSggJG5hbWUgKTsNCiAgICB9DQoNCiAgICAvKioNCiAg
ICAgKiBSdW4gYmVmb3JlIGVhY2ggdGVzdCBpcyBzdGFydGVkLg0KICAgICAqLw0KICAgIGZ1bmN0
aW9uIHNldFVwKCkgew0KICAgICAgICBnbG9iYWwgJGdsb2JhbF92YXJzOw0KICAgICAgICBnbG9i
YWwgJElOQ0xVREVfRElSOw0KDQogICAgICAgICR0aGlzLT5NYWlsID0gbmV3IFBIUE1haWxlcigp
Ow0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Qcmlvcml0eSA9IDM7DQogICAgICAgICR0aGlzLT5N
YWlsLT5FbmNvZGluZyA9ICI4Yml0IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPkNoYXJTZXQgPSAi
aXNvLTg4NTktMSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5Gcm9tID0gInVuaXRfdGVzdEBwaHBt
YWlsZXIuc2YubmV0IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPkZyb21OYW1lID0gIlVuaXQgVGVz
dGVyIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlNlbmRlciA9ICIiOw0KICAgICAgICAkdGhpcy0+
TWFpbC0+U3ViamVjdCA9ICJVbml0IFRlc3QiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9
ICIiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+QWx0Qm9keSA9ICIiOw0KICAgICAgICAkdGhpcy0+
TWFpbC0+V29yZFdyYXAgPSAwOw0KICAgICAgICAkdGhpcy0+TWFpbC0+SG9zdCA9ICRnbG9iYWxf
dmFyc1sibWFpbF9ob3N0Il07DQogICAgICAgICR0aGlzLT5NYWlsLT5Qb3J0ID0gMjU7DQogICAg
ICAgICR0aGlzLT5NYWlsLT5IZWxvID0gImxvY2FsaG9zdC5sb2NhbGRvbWFpbiI7DQogICAgICAg
ICR0aGlzLT5NYWlsLT5TTVRQQXV0aCA9IGZhbHNlOw0KICAgICAgICAkdGhpcy0+TWFpbC0+VXNl
cm5hbWUgPSAiIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlBhc3N3b3JkID0gIiI7DQogICAgICAg
ICR0aGlzLT5NYWlsLT5QbHVnaW5EaXIgPSAkSU5DTFVERV9ESVI7DQoJCSR0aGlzLT5NYWlsLT5B
ZGRSZXBseVRvKCJub19yZXBseUBwaHBtYWlsZXIuc2YubmV0IiwgIlJlcGx5IEd1eSIpOw0KICAg
ICAgICAkdGhpcy0+TWFpbC0+U2VuZGVyID0gIm5vYm9keUBleGFtcGxlLmNvbSI7DQoNCiAgICAg
ICAgaWYoc3RybGVuKCR0aGlzLT5NYWlsLT5Ib3N0KSA+IDApDQogICAgICAgICAgICAkdGhpcy0+
TWFpbC0+TWFpbGVyID0gInNtdHAiOw0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAg
ICAgICR0aGlzLT5NYWlsLT5NYWlsZXIgPSAibWFpbCI7DQogICAgICAgICAgICAkdGhpcy0+U2Vu
ZGVyID0gInVuaXRfdGVzdEBwaHBtYWlsZXIuc2YubmV0IjsNCiAgICAgICAgfQ0KDQogICAgICAg
IGdsb2JhbCAkZ2xvYmFsX3ZhcnM7DQogICAgICAgICR0aGlzLT5TZXRBZGRyZXNzKCRnbG9iYWxf
dmFyc1sibWFpbF90byJdLCAiVGVzdCBVc2VyIik7DQogICAgICAgIGlmKHN0cmxlbigkZ2xvYmFs
X3ZhcnNbIm1haWxfY2MiXSkgPiAwKQ0KICAgICAgICAgICAgJHRoaXMtPlNldEFkZHJlc3MoJGds
b2JhbF92YXJzWyJtYWlsX2NjIl0sICJDYXJib24gVXNlciIsICJjYyIpOw0KICAgIH0NCg0KICAg
IC8qKg0KICAgICAqIFJ1biBhZnRlciBlYWNoIHRlc3QgaXMgY29tcGxldGVkLg0KICAgICAqLw0K
ICAgIGZ1bmN0aW9uIHRlYXJEb3duKCkgew0KICAgICAgICAvLyBDbGVhbiBnbG9iYWwgdmFyaWFi
bGVzDQogICAgICAgICR0aGlzLT5NYWlsID0gTlVMTDsNCiAgICAgICAgJHRoaXMtPkNoYW5nZUxv
ZyA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5Ob3RlTG9nID0gYXJyYXkoKTsNCiAgICB9DQoN
Cg0KICAgIC8qKg0KICAgICAqIEJ1aWxkIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIGluIHRoZSBh
cHByb3ByaWF0ZSBmb3JtYXQuDQogICAgICogQHByaXZhdGUNCiAgICAgKiBAcmV0dXJucyB2b2lk
DQogICAgICovDQogICAgZnVuY3Rpb24gQnVpbGRCb2R5KCkgew0KICAgICAgICAkdGhpcy0+Q2hl
Y2tDaGFuZ2VzKCk7DQoNCiAgICAgICAgLy8gRGV0ZXJtaW5lIGxpbmUgZW5kaW5ncyBmb3IgbWVz
c2FnZQ0KICAgICAgICBpZigkdGhpcy0+TWFpbC0+Q29udGVudFR5cGUgPT0gInRleHQvaHRtbCIg
fHwgc3RybGVuKCR0aGlzLT5NYWlsLT5BbHRCb2R5KSA+IDApDQogICAgICAgIHsNCiAgICAgICAg
ICAgICRlb2wgPSAiPGJyLz4iOw0KICAgICAgICAgICAgJGJ1bGxldCA9ICI8bGk+IjsNCiAgICAg
ICAgICAgICRidWxsZXRfc3RhcnQgPSAiPHVsPiI7DQogICAgICAgICAgICAkYnVsbGV0X2VuZCA9
ICI8L3VsPiI7DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAg
ICAkZW9sID0gIlxuIjsNCiAgICAgICAgICAgICRidWxsZXQgPSAiIC0gIjsNCiAgICAgICAgICAg
ICRidWxsZXRfc3RhcnQgPSAiIjsNCiAgICAgICAgICAgICRidWxsZXRfZW5kID0gIiI7DQogICAg
ICAgIH0NCg0KICAgICAgICAkUmVwb3J0Qm9keSA9ICIiOw0KDQogICAgICAgICRSZXBvcnRCb2R5
IC49ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC4gJGVvbDsNCiAgICAgICAgJFJlcG9ydEJvZHkg
Lj0gIlVuaXQgVGVzdCBJbmZvcm1hdGlvbiIgLiAkZW9sOw0KICAgICAgICAkUmVwb3J0Qm9keSAu
PSAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAuICRlb2w7DQogICAgICAgICRSZXBvcnRCb2R5IC49
ICJwaHBtYWlsZXIgdmVyc2lvbjogIiAuICR0aGlzLT5NYWlsLT5WZXJzaW9uIC4gJGVvbDsNCiAg
ICAgICAgJFJlcG9ydEJvZHkgLj0gIkNvbnRlbnQgVHlwZTogIiAuICR0aGlzLT5NYWlsLT5Db250
ZW50VHlwZSAuICRlb2w7DQoNCiAgICAgICAgaWYoc3RybGVuKCR0aGlzLT5NYWlsLT5Ib3N0KSA+
IDApDQogICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAiSG9zdDogIiAuICR0aGlzLT5NYWlsLT5I
b3N0IC4gJGVvbDsNCg0KICAgICAgICAvLyBJZiBhdHRhY2htZW50cyB0aGVuIGNyZWF0ZSBhbiBh
dHRhY2htZW50IGxpc3QNCiAgICAgICAgaWYoY291bnQoJHRoaXMtPk1haWwtPmF0dGFjaG1lbnQp
ID4gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkF0dGFjaG1lbnRz
OiIgLiAkZW9sOw0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gJGJ1bGxldF9zdGFydDsNCiAg
ICAgICAgICAgIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPk1haWwtPmF0dGFjaG1lbnQp
OyAkaSsrKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRi
dWxsZXQgLiAiTmFtZTogIiAuICR0aGlzLT5NYWlsLT5hdHRhY2htZW50WyRpXVsxXSAuICIsICI7
DQogICAgICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkVuY29kaW5nOiAiIC4gJHRoaXMtPk1h
aWwtPmF0dGFjaG1lbnRbJGldWzNdIC4gIiwgIjsNCiAgICAgICAgICAgICAgICAkUmVwb3J0Qm9k
eSAuPSAiVHlwZTogIiAuICR0aGlzLT5NYWlsLT5hdHRhY2htZW50WyRpXVs0XSAuICRlb2w7DQog
ICAgICAgICAgICB9DQogICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAkYnVsbGV0X2VuZCAuICRl
b2w7DQogICAgICAgIH0NCg0KICAgICAgICAvLyBJZiB0aGVyZSBhcmUgY2hhbmdlcyB0aGVuIGxp
c3QgdGhlbQ0KICAgICAgICBpZihjb3VudCgkdGhpcy0+Q2hhbmdlTG9nKSA+IDApDQogICAgICAg
IHsNCiAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICJDaGFuZ2VzIiAuICRlb2w7DQogICAgICAg
ICAgICAkUmVwb3J0Qm9keSAuPSAiLS0tLS0tLSIgLiAkZW9sOw0KDQogICAgICAgICAgICAkUmVw
b3J0Qm9keSAuPSAkYnVsbGV0X3N0YXJ0Ow0KICAgICAgICAgICAgZm9yKCRpID0gMDsgJGkgPCBj
b3VudCgkdGhpcy0+Q2hhbmdlTG9nKTsgJGkrKykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg
ICAgICAkUmVwb3J0Qm9keSAuPSAkYnVsbGV0IC4gJHRoaXMtPkNoYW5nZUxvZ1skaV1bMF0gLiAi
IHdhcyBjaGFuZ2VkIHRvIFsiIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhp
cy0+Q2hhbmdlTG9nWyRpXVsxXSAuICJdIiAuICRlb2w7DQogICAgICAgICAgICB9DQogICAgICAg
ICAgICAkUmVwb3J0Qm9keSAuPSAkYnVsbGV0X2VuZCAuICRlb2wgLiAkZW9sOw0KICAgICAgICB9
DQoNCiAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vdGVzIHRoZW4gbGlzdCB0aGVtDQogICAgICAg
IGlmKGNvdW50KCR0aGlzLT5Ob3RlTG9nKSA+IDApDQogICAgICAgIHsNCiAgICAgICAgICAgICRS
ZXBvcnRCb2R5IC49ICJOb3RlcyIgLiAkZW9sOw0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0g
Ii0tLS0tIiAuICRlb2w7DQoNCiAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXRfc3Rh
cnQ7DQogICAgICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5Ob3RlTG9nKTsg
JGkrKykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAkYnVs
bGV0IC4gJHRoaXMtPk5vdGVMb2dbJGldIC4gJGVvbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXRfZW5kOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8g
UmUtYXR0YWNoIHRoZSBvcmlnaW5hbCBib2R5DQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5IC49
ICRlb2wgLiAkZW9sIC4gJFJlcG9ydEJvZHk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ2hl
Y2sgd2hpY2ggZGVmYXVsdCBzZXR0aW5ncyBoYXZlIGJlZW4gY2hhbmdlZCBmb3IgdGhlIHJlcG9y
dC4NCiAgICAgKiBAcHJpdmF0ZQ0KICAgICAqIEByZXR1cm5zIHZvaWQNCiAgICAgKi8NCiAgICBm
dW5jdGlvbiBDaGVja0NoYW5nZXMoKSB7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5Qcmlvcml0
eSAhPSAzKQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiUHJpb3JpdHkiLCAkdGhpcy0+
TWFpbC0+UHJpb3JpdHkpOw0KICAgICAgICBpZigkdGhpcy0+TWFpbC0+RW5jb2RpbmcgIT0gIjhi
aXQiKQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiRW5jb2RpbmciLCAkdGhpcy0+TWFp
bC0+RW5jb2RpbmcpOw0KICAgICAgICBpZigkdGhpcy0+TWFpbC0+Q2hhclNldCAhPSAiaXNvLTg4
NTktMSIpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJDaGFyU2V0IiwgJHRoaXMtPk1h
aWwtPkNoYXJTZXQpOw0KICAgICAgICBpZigkdGhpcy0+TWFpbC0+U2VuZGVyICE9ICIiKQ0KICAg
ICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiU2VuZGVyIiwgJHRoaXMtPk1haWwtPlNlbmRlcik7
DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5Xb3JkV3JhcCAhPSAwKQ0KICAgICAgICAgICAgJHRo
aXMtPkFkZENoYW5nZSgiV29yZFdyYXAiLCAkdGhpcy0+TWFpbC0+V29yZFdyYXApOw0KICAgICAg
ICBpZigkdGhpcy0+TWFpbC0+TWFpbGVyICE9ICJtYWlsIikNCiAgICAgICAgICAgICR0aGlzLT5B
ZGRDaGFuZ2UoIk1haWxlciIsICR0aGlzLT5NYWlsLT5NYWlsZXIpOw0KICAgICAgICBpZigkdGhp
cy0+TWFpbC0+UG9ydCAhPSAyNSkNCiAgICAgICAgICAgICR0aGlzLT5BZGRDaGFuZ2UoIlBvcnQi
LCAkdGhpcy0+TWFpbC0+UG9ydCk7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5IZWxvICE9ICJs
b2NhbGhvc3QubG9jYWxkb21haW4iKQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiSGVs
byIsICR0aGlzLT5NYWlsLT5IZWxvKTsNCiAgICAgICAgaWYoJHRoaXMtPk1haWwtPlNNVFBBdXRo
KQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiU01UUEF1dGgiLCAidHJ1ZSIpOw0KICAg
IH0NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYSBjaGFuZ2UgZW50cnkuDQogICAgICogQHByaXZh
dGUNCiAgICAgKiBAcmV0dXJucyB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkQ2hhbmdl
KCRzTmFtZSwgJHNOZXdWYWx1ZSkgew0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPkNoYW5n
ZUxvZyk7DQogICAgICAgICR0aGlzLT5DaGFuZ2VMb2dbJGN1cl1bMF0gPSAkc05hbWU7DQogICAg
ICAgICR0aGlzLT5DaGFuZ2VMb2dbJGN1cl1bMV0gPSAkc05ld1ZhbHVlOw0KICAgIH0NCg0KICAg
IC8qKg0KICAgICAqIEFkZHMgYSBzaW1wbGUgbm90ZSB0byB0aGUgbWVzc2FnZS4NCiAgICAgKiBA
cHVibGljDQogICAgICogQHJldHVybnMgdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEFkZE5v
dGUoJHNWYWx1ZSkgew0KICAgICAgICAkdGhpcy0+Tm90ZUxvZ1tdID0gJHNWYWx1ZTsNCiAgICB9
DQoNCiAgICAvKioNCiAgICAgKiBBZGRzIGFsbCBvZiB0aGUgYWRkcmVzc2VzDQogICAgICogQHB1
YmxpYw0KICAgICAqIEByZXR1cm5zIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTZXRBZGRy
ZXNzKCRzQWRkcmVzcywgJHNOYW1lID0gIiIsICRzVHlwZSA9ICJ0byIpIHsNCiAgICAgICAgc3dp
dGNoKCRzVHlwZSkNCiAgICAgICAgew0KICAgICAgICAgICAgY2FzZSAidG8iOg0KICAgICAgICAg
ICAgICAgICR0aGlzLT5NYWlsLT5BZGRBZGRyZXNzKCRzQWRkcmVzcywgJHNOYW1lKTsNCiAgICAg
ICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImNjIjoNCiAgICAgICAgICAgICAg
ICAkdGhpcy0+TWFpbC0+QWRkQ0MoJHNBZGRyZXNzLCAkc05hbWUpOw0KICAgICAgICAgICAgICAg
IGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAiYmNjIjoNCiAgICAgICAgICAgICAgICAkdGhpcy0+
TWFpbC0+QWRkQkNDKCRzQWRkcmVzcywgJHNOYW1lKTsNCiAgICAgICAgICAgICAgICBicmVhazsN
CiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBVTklUIFRFU1RTDQogICAgLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQogICAgLyoqDQogICAgICogVHJ5
IGEgcGxhaW4gbWVzc2FnZS4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X1dvcmRXcmFwKCkg
ew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Xb3JkV3JhcCA9IDQwOw0KICAgICAgICAkbXlfYm9k
eSA9ICJIZXJlIGlzIHRoZSBtYWluIGJvZHkgb2YgdGhpcyBtZXNzYWdlLiAgSXQgc2hvdWxkICIg
Lg0KICAgICAgICAgICAgICAgICAgICJiZSBxdWl0ZSBhIGZldyBsaW5lcy4gIEl0IHNob3VsZCBi
ZSB3cmFwcGVkIGF0IHRoZSAiIC4NCiAgICAgICAgICAgICAgICAgICAiNDAgY2hhcmFjdGVycy4g
IE1ha2Ugc3VyZSB0aGF0IGl0IGlzLiI7DQogICAgICAgICRuQm9keUxlbiA9IHN0cmxlbigkbXlf
Ym9keSk7DQogICAgICAgICRteV9ib2R5IC49ICJcblxuVGhpcyBpcyB0aGUgYWJvdmUgYm9keSBs
ZW5ndGg6ICIgLiAkbkJvZHlMZW47DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAkbXlf
Ym9keTsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogV29yZHdyYXAiOw0KDQog
ICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+
TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioN
CiAgICAgKiBUcnkgYSBwbGFpbiBtZXNzYWdlLg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlc3Rf
TG93X1ByaW9yaXR5KCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Qcmlvcml0eSA9IDU7DQog
ICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIkhlcmUgaXMgdGhlIG1haW4gYm9keS4gIFRoZXJl
IHNob3VsZCBiZSAiIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSByZXBseSB0byBh
ZGRyZXNzIGluIHRoaXMgbWVzc2FnZS4iOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCAu
PSAiOiBMb3cgUHJpb3JpdHkiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+QWRkUmVwbHlUbygibm9i
b2R5QG5vYm9keS5jb20iLCAiTm9ib2R5IChVbml0IFRlc3QpIik7DQoNCiAgICAgICAgJHRoaXMt
PkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCks
ICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNpbXBs
ZSBwbGFpbiBmaWxlIGF0dGFjaG1lbnQgdGVzdC4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0
X011bHRpcGxlX1BsYWluX0ZpbGVBdHRhY2htZW50KCkgew0KDQogICAgICAgICR0aGlzLT5NYWls
LT5Cb2R5ID0gIkhlcmUgaXMgdGhlIHRleHQgYm9keSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5T
dWJqZWN0IC49ICI6IFBsYWluICsgTXVsdGlwbGUgRmlsZUF0dGFjaG1lbnRzIjsNCg0KICAgICAg
ICBpZighJHRoaXMtPk1haWwtPkFkZEF0dGFjaG1lbnQoInJvY2tzLnBuZyIpKQ0KICAgICAgICB7
DQogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0KGZhbHNlLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZv
KTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCEkdGhpcy0+
TWFpbC0+QWRkQXR0YWNobWVudCgicGhwbWFpbGVyX3Rlc3QucGhwIiwgInRlc3QudHh0IikpDQog
ICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnQoZmFsc2UsICR0aGlzLT5NYWlsLT5F
cnJvckluZm8pOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRo
aXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5k
KCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNp
bXBsZSBwbGFpbiBzdHJpbmcgYXR0YWNobWVudCB0ZXN0Lg0KICAgICAqLw0KICAgIGZ1bmN0aW9u
IHRlc3RfUGxhaW5fU3RyaW5nQXR0YWNobWVudCgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+
Qm9keSA9ICJIZXJlIGlzIHRoZSB0ZXh0IGJvZHkiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3Vi
amVjdCAuPSAiOiBQbGFpbiArIFN0cmluZ0F0dGFjaG1lbnQiOw0KDQogICAgICAgICRzQXR0YWNo
bWVudCA9ICJUaGVzZSBjaGFyYWN0ZXJzIGFyZSB0aGUgY29udGVudCBvZiB0aGUgIiAuDQogICAg
ICAgICAgICAgICAgICAgICAgICJzdHJpbmcgYXR0YWNobWVudC5cblRoaXMgbWlnaHQgYmUgdGFr
ZW4gZnJvbSBhICIuDQogICAgICAgICAgICAgICAgICAgICAgICJkYXRhYmFzZSBvciBzb21lIG90
aGVyIHN1Y2ggdGhpbmcuICI7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkFkZFN0cmluZ0F0dGFj
aG1lbnQoJHNBdHRhY2htZW50LCAic3RyaW5nX2F0dGFjaC50eHQiKTsNCg0KICAgICAgICAkdGhp
cy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQo
KSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUGxh
aW4gcXVvdGVkLXByaW50YWJsZSBtZXNzYWdlLg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlc3Rf
UXVvdGVkX1ByaW50YWJsZSgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJIZXJl
IGlzIHRoZSBtYWluIGJvZHkiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCAuPSAiOiBQ
bGFpbiArIFF1b3RlZC1wcmludGFibGUiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+RW5jb2Rpbmcg
PSAicXVvdGVkLXByaW50YWJsZSI7DQoNCiAgICAgICAgJHRoaXMtPkJ1aWxkQm9keSgpOw0KICAg
ICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJv
ckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFRyeSBhIHBsYWluIG1lc3NhZ2UuDQog
ICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9IdG1sKCkgew0KDQogICAgICAgICR0aGlzLT5NYWls
LT5Jc0hUTUwodHJ1ZSk7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IEhUTUwg
b25seSI7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiVGhpcyBpcyBhIDxiPnRlc3Qg
bWVzc2FnZTwvYj4gd3JpdHRlbiBpbiBIVE1MLiA8L2JyPiIgLg0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJHbyB0byA8YSBocmVmPVwiaHR0cDovL3BocG1haWxlci5zb3VyY2Vmb3JnZS5u
ZXQvXCI+IiAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9waHBtYWlsZXIu
c291cmNlZm9yZ2UubmV0LzwvYT4gZm9yIG5ldyB2ZXJzaW9ucyBvZiAiIC4NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicGhwbWFpbGVyLiAgPHAvPiBUaGFuayB5b3UhIjsNCg0KICAgICAg
ICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwt
PlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAg
ICogU2ltcGxlIEhUTUwgYW5kIGF0dGFjaG1lbnQgdGVzdA0KICAgICAqLw0KICAgIGZ1bmN0aW9u
IHRlc3RfSFRNTF9BdHRhY2htZW50KCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0g
IlRoaXMgaXMgdGhlIDxiPkhUTUw8L2I+IHBhcnQgb2YgdGhlIGVtYWlsLiI7DQogICAgICAgICR0
aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IEhUTUwgKyBBdHRhY2htZW50IjsNCiAgICAgICAgJHRo
aXMtPk1haWwtPklzSFRNTCh0cnVlKTsNCg0KICAgICAgICBpZighJHRoaXMtPk1haWwtPkFkZEF0
dGFjaG1lbnQoInBocG1haWxlcl90ZXN0LnBocCIsICJ0ZXN0X2F0dGFjaC50eHQiKSkNCiAgICAg
ICAgew0KICAgICAgICAgICAgJHRoaXMtPmFzc2VydChmYWxzZSwgJHRoaXMtPk1haWwtPkVycm9y
SW5mbyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAkdGhpcy0+
QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwg
JHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQW4gZW1i
ZWRkZWQgYXR0YWNobWVudCB0ZXN0Lg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlc3RfRW1iZWRk
ZWRfSW1hZ2UoKSB7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiRW1iZWRkZWQgSW1h
Z2U6IDxpbWcgYWx0PVwicGhwbWFpbGVyXCIgc3JjPVwiY2lkOm15LWF0dGFjaFwiPiIgLg0KICAg
ICAgICAgICAgICAgICAgICAgIkhlcmUgaXMgYW4gaW1hZ2UhPC9hPiI7DQogICAgICAgICR0aGlz
LT5NYWlsLT5TdWJqZWN0IC49ICI6IEVtYmVkZGVkIEltYWdlIjsNCiAgICAgICAgJHRoaXMtPk1h
aWwtPklzSFRNTCh0cnVlKTsNCg0KICAgICAgICBpZighJHRoaXMtPk1haWwtPkFkZEVtYmVkZGVk
SW1hZ2UoInJvY2tzLnBuZyIsICJteS1hdHRhY2giLCAicm9ja3MucG5nIiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiYXNlNjQiLCAiaW1hZ2UvcG5nIikpDQog
ICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnQoZmFsc2UsICR0aGlzLT5NYWlsLT5F
cnJvckluZm8pOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRo
aXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5k
KCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFu
IGVtYmVkZGVkIGF0dGFjaG1lbnQgdGVzdC4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X011
bHRpX0VtYmVkZGVkX0ltYWdlKCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIkVt
YmVkZGVkIEltYWdlOiA8aW1nIGFsdD1cInBocG1haWxlclwiIHNyYz1cImNpZDpteS1hdHRhY2hc
Ij4iIC4NCiAgICAgICAgICAgICAgICAgICAgICJIZXJlIGlzIGFuIGltYWdlITwvYT4iOw0KICAg
ICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCAuPSAiOiBFbWJlZGRlZCBJbWFnZSArIEF0dGFjaG1l
bnQiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+SXNIVE1MKHRydWUpOw0KDQogICAgICAgIGlmKCEk
dGhpcy0+TWFpbC0+QWRkRW1iZWRkZWRJbWFnZSgicm9ja3MucG5nIiwgIm15LWF0dGFjaCIsICJy
b2Nrcy5wbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJh
c2U2NCIsICJpbWFnZS9wbmciKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPmFzc2Vy
dChmYWxzZSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgICAgICAgICByZXR1cm47DQog
ICAgICAgIH0NCg0KICAgICAgICBpZighJHRoaXMtPk1haWwtPkFkZEF0dGFjaG1lbnQoInBocG1h
aWxlcl90ZXN0LnBocCIsICJ0ZXN0LnR4dCIpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhp
cy0+YXNzZXJ0KGZhbHNlLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICAgICAgICAgIHJl
dHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAg
JHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZv
KTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTaW1wbGUgbXVsdGlwYXJ0L2FsdGVybmF0aXZl
IHRlc3QuDQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9BbHRCb2R5KCkgew0KDQogICAgICAg
ICR0aGlzLT5NYWlsLT5Cb2R5ID0gIlRoaXMgaXMgdGhlIDxiPkhUTUw8L2I+IHBhcnQgb2YgdGhl
IGVtYWlsLiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5BbHRCb2R5ID0gIkhlcmUgaXMgdGhlIHRl
eHQgYm9keSBvZiB0aGlzIG1lc3NhZ2UuICAiIC4NCiAgICAgICAgICAgICAgICAgICAiSXQgc2hv
dWxkIGJlIHF1aXRlIGEgZmV3IGxpbmVzLiAgSXQgc2hvdWxkIGJlIHdyYXBwZWQgYXQgdGhlICIg
Lg0KICAgICAgICAgICAgICAgICAgICI0MCBjaGFyYWN0ZXJzLiAgTWFrZSBzdXJlIHRoYXQgaXQg
aXMuIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPldvcmRXcmFwID0gNDA7DQogICAgICAgICR0aGlz
LT5BZGROb3RlKCJUaGlzIGlzIGEgbXVsaXBhcnQgYWx0ZXJuYXRpdmUgZW1haWwiKTsNCiAgICAg
ICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogQWx0Qm9keSArIFdvcmQgV3JhcCI7DQoNCiAg
ICAgICAgJHRoaXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5N
YWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0K
ICAgICAqIFNpbXBsZSBIVE1MIGFuZCBhdHRhY2htZW50IHRlc3QNCiAgICAgKi8NCiAgICBmdW5j
dGlvbiB0ZXN0X0FsdEJvZHlfQXR0YWNobWVudCgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+
Qm9keSA9ICJUaGlzIGlzIHRoZSA8Yj5IVE1MPC9iPiBwYXJ0IG9mIHRoZSBlbWFpbC4iOw0KICAg
ICAgICAkdGhpcy0+TWFpbC0+QWx0Qm9keSA9ICJUaGlzIGlzIHRoZSB0ZXh0IHBhcnQgb2YgdGhl
IGVtYWlsLiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IEFsdEJvZHkgKyBB
dHRhY2htZW50IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPklzSFRNTCh0cnVlKTsNCg0KICAgICAg
ICBpZighJHRoaXMtPk1haWwtPkFkZEF0dGFjaG1lbnQoInBocG1haWxlcl90ZXN0LnBocCIsICJ0
ZXN0X2F0dGFjaC50eHQiKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPmFzc2VydChm
YWxzZSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgICAgICAgICByZXR1cm47DQogICAg
ICAgIH0NCg0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3Nl
cnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQoNCiAgICAg
ICAgJGZwID0gZm9wZW4oIm1lc3NhZ2UudHh0IiwgInciKTsNCiAgICAgICAgZndyaXRlKCRmcCwg
JHRoaXMtPk1haWwtPkNyZWF0ZUhlYWRlcigpIC4gJHRoaXMtPk1haWwtPkNyZWF0ZUJvZHkoKSk7
DQogICAgICAgIGZjbG9zZSgkZnApOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3RfTXVsdGlw
bGVTZW5kKCkgew0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJTZW5kaW5nIHR3byBtZXNz
YWdlcyB3aXRob3V0IGtlZXBhbGl2ZSI7DQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAg
ICAgICAgJHN1YmplY3QgPSAkdGhpcy0+TWFpbC0+U3ViamVjdDsNCg0KICAgICAgICAkdGhpcy0+
TWFpbC0+U3ViamVjdCA9ICRzdWJqZWN0IC4gIjogU01UUCAxIjsNCiAgICAgICAgJHRoaXMtPmFz
c2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCg0KICAg
ICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCA9ICRzdWJqZWN0IC4gIjogU01UUCAyIjsNCiAgICAg
ICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJ
bmZvKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiB0ZXN0X1NtdHBLZWVwQWxpdmUoKSB7DQogICAg
ICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIlRoaXMgd2FzIGRvbmUgdXNpbmcgdGhlIFNNVFAga2Vl
cC1hbGl2ZS4iOw0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICRzdWJqZWN0
ID0gJHRoaXMtPk1haWwtPlN1YmplY3Q7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPlNNVFBLZWVw
QWxpdmUgPSB0cnVlOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCA9ICRzdWJqZWN0IC4g
IjogU01UUCBrZWVwLWFsaXZlIDEiOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWls
LT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KDQogICAgICAgICR0aGlzLT5NYWls
LT5TdWJqZWN0ID0gJHN1YmplY3QgLiAiOiBTTVRQIGtlZXAtYWxpdmUgMiI7DQogICAgICAgICR0
aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7
DQogICAgICAgICR0aGlzLT5NYWlsLT5TbXRwQ2xvc2UoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlv
biB0ZXN0X0Vycm9yKCkgew0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0
aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IFRoaXMgc2hvdWxkIG5vdCBiZSBzZW50IjsNCiAgICAg
ICAgJHRoaXMtPk1haWwtPkNsZWFyQWxsUmVjaXBpZW50cygpOyAvLyBubyBhZGRyZXNzZXMgc2hv
dWxkIGNhdXNlIGFuIGVycm9yDQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPklz
RXJyb3IoKSA9PSBmYWxzZSwgIkVycm9yIGZvdW5kIik7DQogICAgICAgICR0aGlzLT5hc3NlcnQo
JHRoaXMtPk1haWwtPlNlbmQoKSA9PSBmYWxzZSwgIlNlbmQgc3VjY2VlZGVkIik7DQogICAgICAg
ICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPklzRXJyb3IoKSwgIk5vIGVycm9yIGZvdW5kIik7
DQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1lvdSBtdXN0IHByb3ZpZGUgYXQgbGVhc3Qg
b25lICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWNpcGllbnQgZW1haWwgYWRk
cmVzcy4nLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQp9DQoNCi8qKg0KICogQ3Jl
YXRlIGFuZCBydW4gdGVzdCBpbnN0YW5jZS4NCiAqLw0KDQppZihpc3NldCgkSFRUUF9HRVRfVkFS
UykpDQogICAgJGdsb2JhbF92YXJzID0gJEhUVFBfR0VUX1ZBUlM7DQplbHNlDQogICAgJGdsb2Jh
bF92YXJzID0gJF9SRVFVRVNUOw0KDQppZihpc3NldCgkZ2xvYmFsX3ZhcnNbInN1Ym1pdHRlZCJd
KSkNCnsNCiAgICBlY2hvICJUZXN0IHJlc3VsdHM6PGJyPiI7DQogICAgJHN1aXRlID0gbmV3IFRl
c3RTdWl0ZSggInBocG1haWxlclRlc3QiICk7DQoNCiAgICAkdGVzdFJ1bm5lciA9IG5ldyBUZXN0
UnVubmVyOw0KICAgICR0ZXN0UnVubmVyLT5ydW4oJHN1aXRlKTsNCiAgICBlY2hvICI8aHIgbm9z
aGFkZS8+IjsNCn0NCg0KZnVuY3Rpb24gZ2V0KCRzTmFtZSkgew0KICAgIGdsb2JhbCAkZ2xvYmFs
X3ZhcnM7DQogICAgaWYoaXNzZXQoJGdsb2JhbF92YXJzWyRzTmFtZV0pKQ0KICAgICAgICByZXR1
cm4gJGdsb2JhbF92YXJzWyRzTmFtZV07DQogICAgZWxzZQ0KICAgICAgICByZXR1cm4gIiI7DQp9
DQoNCj8+DQoNCjxodG1sPg0KPGJvZHk+DQo8aDM+cGhwbWFpbGVyIFVuaXQgVGVzdDwvaDM+DQpC
eSBlbnRlcmluZyBhIFNNVFAgaG9zdG5hbWUgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHBlcmZvcm0g
dGVzdHMgd2l0aCBTTVRQLg0KDQo8Zm9ybSBuYW1lPSJwaHBtYWlsZXJfdW5pdCIgYWN0aW9uPSJw
aHBtYWlsZXJfdGVzdC5waHAiIG1ldGhvZD0iZ2V0Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h
bWU9InN1Ym1pdHRlZCIgdmFsdWU9IjEiLz4NClRvIEFkZHJlc3M6IDxpbnB1dCB0eXBlPSJ0ZXh0
IiBzaXplPSI1MCIgbmFtZT0ibWFpbF90byIgdmFsdWU9Ijw/cGhwIGVjaG8gZ2V0KCJtYWlsX3Rv
Iik7ID8+Ii8+DQo8YnIvPg0KQ2MgQWRkcmVzczogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjUw
IiBuYW1lPSJtYWlsX2NjIiB2YWx1ZT0iPD9waHAgZWNobyBnZXQoIm1haWxfY2MiKTsgPz4iLz4N
Cjxici8+DQpTTVRQIEhvc3RuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNTAiIG5hbWU9
Im1haWxfaG9zdCIgdmFsdWU9Ijw/cGhwIGVjaG8gZ2V0KCJtYWlsX2hvc3QiKTsgPz4iLz4NCjxw
Lz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJSdW4gVGVzdCIvPg0KDQo8L2Zvcm0+DQo8
L2JvZHk+DQo8L2h0bWw+DQo=
--b1_a0169dc7929d1c609a827b4d1a0c3f74--

View file

@ -0,0 +1,558 @@
<?php
/*******************
Unit Test
Type: phpmailer class
********************/
$INCLUDE_DIR = "../";
require("phpunit.php");
require($INCLUDE_DIR . "class.phpmailer.php");
error_reporting(E_ALL);
/**
* Performs authentication tests
*/
class phpmailerTest extends TestCase
{
/**
* Holds the default phpmailer instance.
* @private
* @type object
*/
var $Mail = false;
/**
* Holds the SMTP mail host.
* @public
* @type string
*/
var $Host = "";
/**
* Holds the change log.
* @private
* @type string array
*/
var $ChangeLog = array();
/**
* Holds the note log.
* @private
* @type string array
*/
var $NoteLog = array();
/**
* Class constuctor.
*/
function phpmailerTest($name) {
/* must define this constructor */
$this->TestCase( $name );
}
/**
* Run before each test is started.
*/
function setUp() {
global $global_vars;
global $INCLUDE_DIR;
$this->Mail = new PHPMailer();
$this->Mail->Priority = 3;
$this->Mail->Encoding = "8bit";
$this->Mail->CharSet = "iso-8859-1";
$this->Mail->From = "unit_test@phpmailer.sf.net";
$this->Mail->FromName = "Unit Tester";
$this->Mail->Sender = "";
$this->Mail->Subject = "Unit Test";
$this->Mail->Body = "";
$this->Mail->AltBody = "";
$this->Mail->WordWrap = 0;
$this->Mail->Host = $global_vars["mail_host"];
$this->Mail->Port = 25;
$this->Mail->Helo = "localhost.localdomain";
$this->Mail->SMTPAuth = false;
$this->Mail->Username = "";
$this->Mail->Password = "";
$this->Mail->PluginDir = $INCLUDE_DIR;
$this->Mail->AddReplyTo("no_reply@phpmailer.sf.net", "Reply Guy");
$this->Mail->Sender = "nobody@example.com";
if(strlen($this->Mail->Host) > 0)
$this->Mail->Mailer = "smtp";
else
{
$this->Mail->Mailer = "mail";
$this->Sender = "unit_test@phpmailer.sf.net";
}
global $global_vars;
$this->SetAddress($global_vars["mail_to"], "Test User");
if(strlen($global_vars["mail_cc"]) > 0)
$this->SetAddress($global_vars["mail_cc"], "Carbon User", "cc");
}
/**
* Run after each test is completed.
*/
function tearDown() {
// Clean global variables
$this->Mail = NULL;
$this->ChangeLog = array();
$this->NoteLog = array();
}
/**
* Build the body of the message in the appropriate format.
* @private
* @returns void
*/
function BuildBody() {
$this->CheckChanges();
// Determine line endings for message
if($this->Mail->ContentType == "text/html" || strlen($this->Mail->AltBody) > 0)
{
$eol = "<br/>";
$bullet = "<li>";
$bullet_start = "<ul>";
$bullet_end = "</ul>";
}
else
{
$eol = "\n";
$bullet = " - ";
$bullet_start = "";
$bullet_end = "";
}
$ReportBody = "";
$ReportBody .= "---------------------" . $eol;
$ReportBody .= "Unit Test Information" . $eol;
$ReportBody .= "---------------------" . $eol;
$ReportBody .= "phpmailer version: " . $this->Mail->Version . $eol;
$ReportBody .= "Content Type: " . $this->Mail->ContentType . $eol;
if(strlen($this->Mail->Host) > 0)
$ReportBody .= "Host: " . $this->Mail->Host . $eol;
// If attachments then create an attachment list
if(count($this->Mail->attachment) > 0)
{
$ReportBody .= "Attachments:" . $eol;
$ReportBody .= $bullet_start;
for($i = 0; $i < count($this->Mail->attachment); $i++)
{
$ReportBody .= $bullet . "Name: " . $this->Mail->attachment[$i][1] . ", ";
$ReportBody .= "Encoding: " . $this->Mail->attachment[$i][3] . ", ";
$ReportBody .= "Type: " . $this->Mail->attachment[$i][4] . $eol;
}
$ReportBody .= $bullet_end . $eol;
}
// If there are changes then list them
if(count($this->ChangeLog) > 0)
{
$ReportBody .= "Changes" . $eol;
$ReportBody .= "-------" . $eol;
$ReportBody .= $bullet_start;
for($i = 0; $i < count($this->ChangeLog); $i++)
{
$ReportBody .= $bullet . $this->ChangeLog[$i][0] . " was changed to [" .
$this->ChangeLog[$i][1] . "]" . $eol;
}
$ReportBody .= $bullet_end . $eol . $eol;
}
// If there are notes then list them
if(count($this->NoteLog) > 0)
{
$ReportBody .= "Notes" . $eol;
$ReportBody .= "-----" . $eol;
$ReportBody .= $bullet_start;
for($i = 0; $i < count($this->NoteLog); $i++)
{
$ReportBody .= $bullet . $this->NoteLog[$i] . $eol;
}
$ReportBody .= $bullet_end;
}
// Re-attach the original body
$this->Mail->Body .= $eol . $eol . $ReportBody;
}
/**
* Check which default settings have been changed for the report.
* @private
* @returns void
*/
function CheckChanges() {
if($this->Mail->Priority != 3)
$this->AddChange("Priority", $this->Mail->Priority);
if($this->Mail->Encoding != "8bit")
$this->AddChange("Encoding", $this->Mail->Encoding);
if($this->Mail->CharSet != "iso-8859-1")
$this->AddChange("CharSet", $this->Mail->CharSet);
if($this->Mail->Sender != "")
$this->AddChange("Sender", $this->Mail->Sender);
if($this->Mail->WordWrap != 0)
$this->AddChange("WordWrap", $this->Mail->WordWrap);
if($this->Mail->Mailer != "mail")
$this->AddChange("Mailer", $this->Mail->Mailer);
if($this->Mail->Port != 25)
$this->AddChange("Port", $this->Mail->Port);
if($this->Mail->Helo != "localhost.localdomain")
$this->AddChange("Helo", $this->Mail->Helo);
if($this->Mail->SMTPAuth)
$this->AddChange("SMTPAuth", "true");
}
/**
* Adds a change entry.
* @private
* @returns void
*/
function AddChange($sName, $sNewValue) {
$cur = count($this->ChangeLog);
$this->ChangeLog[$cur][0] = $sName;
$this->ChangeLog[$cur][1] = $sNewValue;
}
/**
* Adds a simple note to the message.
* @public
* @returns void
*/
function AddNote($sValue) {
$this->NoteLog[] = $sValue;
}
/**
* Adds all of the addresses
* @public
* @returns void
*/
function SetAddress($sAddress, $sName = "", $sType = "to") {
switch($sType)
{
case "to":
$this->Mail->AddAddress($sAddress, $sName);
break;
case "cc":
$this->Mail->AddCC($sAddress, $sName);
break;
case "bcc":
$this->Mail->AddBCC($sAddress, $sName);
break;
}
}
/////////////////////////////////////////////////
// UNIT TESTS
/////////////////////////////////////////////////
/**
* Try a plain message.
*/
function test_WordWrap() {
$this->Mail->WordWrap = 40;
$my_body = "Here is the main body of this message. It should " .
"be quite a few lines. It should be wrapped at the " .
"40 characters. Make sure that it is.";
$nBodyLen = strlen($my_body);
$my_body .= "\n\nThis is the above body length: " . $nBodyLen;
$this->Mail->Body = $my_body;
$this->Mail->Subject .= ": Wordwrap";
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Try a plain message.
*/
function test_Low_Priority() {
$this->Mail->Priority = 5;
$this->Mail->Body = "Here is the main body. There should be " .
"a reply to address in this message.";
$this->Mail->Subject .= ": Low Priority";
$this->Mail->AddReplyTo("nobody@nobody.com", "Nobody (Unit Test)");
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Simple plain file attachment test.
*/
function test_Multiple_Plain_FileAttachment() {
$this->Mail->Body = "Here is the text body";
$this->Mail->Subject .= ": Plain + Multiple FileAttachments";
if(!$this->Mail->AddAttachment("rocks.png"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
if(!$this->Mail->AddAttachment("phpmailer_test.php", "test.txt"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Simple plain string attachment test.
*/
function test_Plain_StringAttachment() {
$this->Mail->Body = "Here is the text body";
$this->Mail->Subject .= ": Plain + StringAttachment";
$sAttachment = "These characters are the content of the " .
"string attachment.\nThis might be taken from a ".
"database or some other such thing. ";
$this->Mail->AddStringAttachment($sAttachment, "string_attach.txt");
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Plain quoted-printable message.
*/
function test_Quoted_Printable() {
$this->Mail->Body = "Here is the main body";
$this->Mail->Subject .= ": Plain + Quoted-printable";
$this->Mail->Encoding = "quoted-printable";
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Try a plain message.
*/
function test_Html() {
$this->Mail->IsHTML(true);
$this->Mail->Subject .= ": HTML only";
$this->Mail->Body = "This is a <b>test message</b> written in HTML. </br>" .
"Go to <a href=\"http://phpmailer.sourceforge.net/\">" .
"http://phpmailer.sourceforge.net/</a> for new versions of " .
"phpmailer. <p/> Thank you!";
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Simple HTML and attachment test
*/
function test_HTML_Attachment() {
$this->Mail->Body = "This is the <b>HTML</b> part of the email.";
$this->Mail->Subject .= ": HTML + Attachment";
$this->Mail->IsHTML(true);
if(!$this->Mail->AddAttachment("phpmailer_test.php", "test_attach.txt"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* An embedded attachment test.
*/
function test_Embedded_Image() {
$this->Mail->Body = "Embedded Image: <img alt=\"phpmailer\" src=\"cid:my-attach\">" .
"Here is an image!</a>";
$this->Mail->Subject .= ": Embedded Image";
$this->Mail->IsHTML(true);
if(!$this->Mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png",
"base64", "image/png"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* An embedded attachment test.
*/
function test_Multi_Embedded_Image() {
$this->Mail->Body = "Embedded Image: <img alt=\"phpmailer\" src=\"cid:my-attach\">" .
"Here is an image!</a>";
$this->Mail->Subject .= ": Embedded Image + Attachment";
$this->Mail->IsHTML(true);
if(!$this->Mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png",
"base64", "image/png"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
if(!$this->Mail->AddAttachment("phpmailer_test.php", "test.txt"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Simple multipart/alternative test.
*/
function test_AltBody() {
$this->Mail->Body = "This is the <b>HTML</b> part of the email.";
$this->Mail->AltBody = "Here is the text body of this message. " .
"It should be quite a few lines. It should be wrapped at the " .
"40 characters. Make sure that it is.";
$this->Mail->WordWrap = 40;
$this->AddNote("This is a mulipart alternative email");
$this->Mail->Subject .= ": AltBody + Word Wrap";
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
/**
* Simple HTML and attachment test
*/
function test_AltBody_Attachment() {
$this->Mail->Body = "This is the <b>HTML</b> part of the email.";
$this->Mail->AltBody = "This is the text part of the email.";
$this->Mail->Subject .= ": AltBody + Attachment";
$this->Mail->IsHTML(true);
if(!$this->Mail->AddAttachment("phpmailer_test.php", "test_attach.txt"))
{
$this->assert(false, $this->Mail->ErrorInfo);
return;
}
$this->BuildBody();
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
$fp = fopen("message.txt", "w");
fwrite($fp, $this->Mail->CreateHeader() . $this->Mail->CreateBody());
fclose($fp);
}
function test_MultipleSend() {
$this->Mail->Body = "Sending two messages without keepalive";
$this->BuildBody();
$subject = $this->Mail->Subject;
$this->Mail->Subject = $subject . ": SMTP 1";
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
$this->Mail->Subject = $subject . ": SMTP 2";
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
}
function test_SmtpKeepAlive() {
$this->Mail->Body = "This was done using the SMTP keep-alive.";
$this->BuildBody();
$subject = $this->Mail->Subject;
$this->Mail->SMTPKeepAlive = true;
$this->Mail->Subject = $subject . ": SMTP keep-alive 1";
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
$this->Mail->Subject = $subject . ": SMTP keep-alive 2";
$this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);
$this->Mail->SmtpClose();
}
function test_Error() {
$this->BuildBody();
$this->Mail->Subject .= ": This should not be sent";
$this->Mail->ClearAllRecipients(); // no addresses should cause an error
$this->assert($this->Mail->IsError() == false, "Error found");
$this->assert($this->Mail->Send() == false, "Send succeeded");
$this->assert($this->Mail->IsError(), "No error found");
$this->assertEquals('You must provide at least one ' .
'recipient email address.', $this->Mail->ErrorInfo);
}
}
/**
* Create and run test instance.
*/
if(isset($HTTP_GET_VARS))
$global_vars = $HTTP_GET_VARS;
else
$global_vars = $_REQUEST;
if(isset($global_vars["submitted"]))
{
echo "Test results:<br>";
$suite = new TestSuite( "phpmailerTest" );
$testRunner = new TestRunner;
$testRunner->run($suite);
echo "<hr noshade/>";
}
function get($sName) {
global $global_vars;
if(isset($global_vars[$sName]))
return $global_vars[$sName];
else
return "";
}
?>
<html>
<body>
<h3>phpmailer Unit Test</h3>
By entering a SMTP hostname it will automatically perform tests with SMTP.
<form name="phpmailer_unit" action="phpmailer_test.php" method="get">
<input type="hidden" name="submitted" value="1"/>
To Address: <input type="text" size="50" name="mail_to" value="<?php echo get("mail_to"); ?>"/>
<br/>
Cc Address: <input type="text" size="50" name="mail_cc" value="<?php echo get("mail_cc"); ?>"/>
<br/>
SMTP Hostname: <input type="text" size="50" name="mail_host" value="<?php echo get("mail_host"); ?>"/>
<p/>
<input type="submit" value="Run Test"/>
</form>
</body>
</html>

376
Class/test/phpunit.php Normal file
View file

@ -0,0 +1,376 @@
<?php
//
// PHP framework for testing, based on the design of "JUnit".
//
// Written by Fred Yankowski <fred@ontosys.com>
// OntoSys, Inc <http://www.OntoSys.com>
//
// $Id: phpunit.php,v 1.1 2002/03/30 19:32:17 bmatzelle Exp $
// Copyright (c) 2000 Fred Yankowski
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use, copy,
// modify, merge, publish, distribute, sublicense, and/or sell copies
// of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
/*error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE |
E_CORE_ERROR | E_CORE_WARNING);*/
/*
interface Test {
function run(&$aTestResult);
function countTestCases();
}
*/
function trace($msg) {
return;
print($msg);
flush();
}
/*class Exception {
/* Emulate a Java exception, sort of... */
/*var $message;
function Exception($message) {
$this->message = $message;
}
function getMessage() {
return $this->message;
}
}*/
class Assert {
function assert($boolean, $message=0) {
if (! $boolean)
$this->fail($message);
}
function assertEquals($expected, $actual, $message=0) {
if ($expected != $actual) {
$this->failNotEquals($expected, $actual, "expected", $message);
}
}
function assertRegexp($regexp, $actual, $message=false) {
if (! preg_match($regexp, $actual)) {
$this->failNotEquals($regexp, $actual, "pattern", $message);
}
}
function failNotEquals($expected, $actual, $expected_label, $message=0) {
// Private function for reporting failure to match.
$str = $message ? ($message . ' ') : '';
$str .= "($expected_label/actual)<br>";
$htmlExpected = htmlspecialchars($expected);
$htmlActual = htmlspecialchars($actual);
$str .= sprintf("<pre>%s\n--------\n%s</pre>",
$htmlExpected, $htmlActual);
$this->fail($str);
}
}
class TestCase extends Assert /* implements Test */ {
/* Defines context for running tests. Specific context -- such as
instance variables, global variables, global state -- is defined
by creating a subclass that specializes the setUp() and
tearDown() methods. A specific test is defined by a subclass
that specializes the runTest() method. */
var $fName;
var $fResult;
var $fExceptions = array();
function TestCase($name) {
$this->fName = $name;
}
function run($testResult=0) {
/* Run this single test, by calling the run() method of the
TestResult object which will in turn call the runBare() method
of this object. That complication allows the TestResult object
to do various kinds of progress reporting as it invokes each
test. Create/obtain a TestResult object if none was passed in.
Note that if a TestResult object was passed in, it must be by
reference. */
if (! $testResult)
$testResult = $this->_createResult();
$this->fResult = $testResult;
$testResult->run(&$this);
$this->fResult = 0;
return $testResult;
}
function countTestCases() {
return 1;
}
function runTest() {
$name = $this->name();
// Since isset($this->$name) is false, no way to run defensive checks
$this->$name();
}
function setUp() /* expect override */ {
//print("TestCase::setUp()<br>\n");
}
function tearDown() /* possible override */ {
//print("TestCase::tearDown()<br>\n");
}
////////////////////////////////////////////////////////////////
function _createResult() /* protected */ {
/* override this to use specialized subclass of TestResult */
return new TestResult;
}
function fail($message=0) {
//printf("TestCase::fail(%s)<br>\n", ($message) ? $message : '');
/* JUnit throws AssertionFailedError here. We just record the
failure and carry on */
$this->fExceptions[] = new Exception(&$message);
}
function error($message) {
/* report error that requires correction in the test script
itself, or (heaven forbid) in this testing infrastructure */
printf('<b>ERROR: ' . $message . '</b><br>');
$this->fResult->stop();
}
function failed() {
return count($this->fExceptions);
}
function getExceptions() {
return $this->fExceptions;
}
function name() {
return $this->fName;
}
function runBare() {
$this->setup();
$this->runTest();
$this->tearDown();
}
}
class TestSuite /* implements Test */ {
/* Compose a set of Tests (instances of TestCase or TestSuite), and
run them all. */
var $fTests = array();
function TestSuite($classname=false) {
if ($classname) {
// Find all methods of the given class whose name starts with
// "test" and add them to the test suite. We are just _barely_
// able to do this with PHP's limited introspection... Note
// that PHP seems to store method names in lower case, and we
// have to avoid the constructor function for the TestCase class
// superclass. This will fail when $classname starts with
// "Test" since that will have a constructor method that will
// get matched below and then treated (incorrectly) as a test
// method. So don't name any TestCase subclasses as "Test..."!
if (floor(phpversion()) >= 4) {
// PHP4 introspection, submitted by Dylan Kuhn
$names = get_class_methods($classname);
while (list($key, $method) = each($names)) {
if (preg_match('/^test/', $method) && $method != "testcase") {
$this->addTest(new $classname($method));
}
}
}
else {
$dummy = new $classname("dummy");
$names = (array) $dummy;
while (list($key, $value) = each($names)) {
$type = gettype($value);
if ($type == "user function" && preg_match('/^test/', $key)
&& $key != "testcase") {
$this->addTest(new $classname($key));
}
}
}
}
}
function addTest($test) {
/* Add TestCase or TestSuite to this TestSuite */
$this->fTests[] = $test;
}
function run(&$testResult) {
/* Run all TestCases and TestSuites comprising this TestSuite,
accumulating results in the given TestResult object. */
reset($this->fTests);
while (list($na, $test) = each($this->fTests)) {
if ($testResult->shouldStop())
break;
$test->run(&$testResult);
}
}
function countTestCases() {
/* Number of TestCases comprising this TestSuite (including those
in any constituent TestSuites) */
$count = 0;
reset($fTests);
while (list($na, $test_case) = each($this->fTests)) {
$count += $test_case->countTestCases();
}
return $count;
}
}
class TestFailure {
/* Record failure of a single TestCase, associating it with the
exception(s) that occurred */
var $fFailedTestName;
var $fExceptions;
function TestFailure(&$test, &$exceptions) {
$this->fFailedTestName = $test->name();
$this->fExceptions = $exceptions;
}
function getExceptions() {
return $this->fExceptions;
}
function getTestName() {
return $this->fFailedTestName;
}
}
class TestResult {
/* Collect the results of running a set of TestCases. */
var $fFailures = array();
var $fRunTests = 0;
var $fStop = false;
function TestResult() { }
function _endTest($test) /* protected */ {
/* specialize this for end-of-test action, such as progress
reports */
}
function getFailures() {
return $this->fFailures;
}
function run($test) {
/* Run a single TestCase in the context of this TestResult */
$this->_startTest($test);
$this->fRunTests++;
$test->runBare();
/* this is where JUnit would catch AssertionFailedError */
$exceptions = $test->getExceptions();
if ($exceptions)
$this->fFailures[] = new TestFailure(&$test, &$exceptions);
$this->_endTest($test);
}
function countTests() {
return $this->fRunTests;
}
function shouldStop() {
return $this->fStop;
}
function _startTest($test) /* protected */ {
/* specialize this for start-of-test actions */
}
function stop() {
/* set indication that the test sequence should halt */
$fStop = true;
}
function countFailures() {
return count($this->fFailures);
}
}
class TextTestResult extends TestResult {
/* Specialize TestResult to produce text/html report */
function TextTestResult() {
$this->TestResult(); // call superclass constructor
}
function report() {
/* report result of test run */
$nRun = $this->countTests();
$nFailures = $this->countFailures();
printf("<p>%s test%s run<br>", $nRun, ($nRun == 1) ? '' : 's');
printf("%s failure%s.<br>\n", $nFailures, ($nFailures == 1) ? '' : 's');
if ($nFailures == 0)
return;
print("<ol>\n");
$failures = $this->getFailures();
while (list($i, $failure) = each($failures)) {
$failedTestName = $failure->getTestName();
printf("<li>%s\n", $failedTestName);
$exceptions = $failure->getExceptions();
print("<ul>");
while (list($na, $exception) = each($exceptions))
printf("<li>%s\n", $exception->getMessage());
print("</ul>");
}
print("</ol>\n");
}
function _startTest($test) {
printf("%s ", $test->name());
flush();
}
function _endTest($test) {
$outcome = $test->failed()
? "<font color=\"red\">FAIL</font>"
: "<font color=\"green\">ok</font>";
printf("$outcome<br>\n");
flush();
}
}
class TestRunner {
/* Run a suite of tests and report results. */
function run($suite) {
$result = new TextTestResult;
$suite->run($result);
$result->report();
}
}
?>

1
Class/test/rocks.png Normal file
View file

@ -0,0 +1 @@
‰PNG

View file

@ -1,9 +1,9 @@
<?php
// Définition des paramètres de fermeture du serveur
$fermerServeur_auth = 9;
$fermerServeur_causeR = 1;
$fermerServeur_timeS = 1195643200;
$duree = 20*60;
$fermerServeur_causeR = 0;
$fermerServeur_timeS = 1200840191;
$duree = 5*60;
$fermerServeur_timeE = $fermerServeur_timeS + $duree;
$fermerServeur_ouverture = ''; // ... jusqu'à environ %c heure de Paris. DEFINIR PLUTÔT LES TIMEE ET TIMES
$fermerServeur_lien = '';

View file

@ -45,7 +45,6 @@ function txtmission($mission){
elseif ($mission == 3) return 'Coloniser';
elseif ($mission == 4) return 'Recycler';
elseif ($mission == 5) return 'Espionner';
elseif ($mission == 6) return 'Retour forcé';
else return 'Erreur';
}

View file

@ -1,30 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title><?php
if (defined('TITLE')) echo TITLE;
else print 'Halo Battle';
?></title>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="Description" lang="fr" content="Jeu en php de simulation de guerre spatiale">
<meta name="Abstract" content="Jeu en php de simulation de guerre spatiale">
<meta name="Category" content="Jeu php">
<meta name="Date-Creation-yyyymmdd" content="20070621">
<meta name="Author" content="Halo Battle">
<meta name="Distribution" content="Global">
<meta name="Rating" content="General">
<meta name="Robots" content="noindex, follow">
<meta name="Revisit-After" content="10 days">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<?php
if (defined('DESIGN')) echo '<link rel="stylesheet" media="screen" type="text/css" href="'.DESIGN.'">';
?>
<?php
if (defined('HEAD')) echo HEAD;
?>
</head>

View file

@ -1,13 +0,0 @@
<?php
exit;
require('connectBDD.php');
for ($i=1 ; $i < 125 ; $i++) {
$req = mysql_query("SELECT temps_b, bat FROM planete WHERE `id` = '$i'");
$resultat = mysql_fetch_array($req);
if ($resultat['temps_b'] != '') {
$res = $resultat['temps_b'];
mysql_query("UPDATE `halobattle`.`planete` SET `temps_b` = '$res 1' WHERE `planete`.`id` = $i LIMIT 1 ;");
}
}
?>

View file

@ -1,260 +0,0 @@
<?php
if (!isset($race)) $race = $_SESSION['race'];
if (!isset($auth_level)) $auth_level = $_SESSION['auth_level'];
//require_once('flotte_dep.php');
if ($race == 'covenant') {
$ressourc = array('M&eacute;tal','Cristal','Ions','Energie');
$casernen = array('Grunt','Jackal','Drone','Elite','Sniper','Hunter','M&eacute;decin','Ing&eacute;nieur','Brute');
$casernde = array( 'Formant l\'unit&eacute; d\'infanterie de base des Covenants, les Grunt se r&eacute;v&egrave;lent dangereux en groupe, mais ne repr&eacute;sentent individuellement qu\'une faible menace. Petits, trapus et relativement lents, ils paniquent souvent lorsqu\'ils affrontent des ennemis qui leurs sont sup&eacute;rieurs ; cependant, s\'ils sont men&eacute;s par un Sangheili, ils se battront jusqu\'au bout.',
'Tireurs efficaces, les jackals sont g&eacute;n&eacute;ralement employ&eacute;s comme mercenaires, on les trouve souvent en positions d&eacute;fensives, se battant prot&eacute;g&eacute;s par les boucliers &agrave; &eacute;nergie qui les caract&eacute;risent. Un bouclier bien utilis&eacute; fait d\'un Jackal une cible difficile &agrave; atteindre, mais celui-ci doit l\'&eacute;carter pour faire feu, ce qui lui conf&egrave;re un point faible exploitable.',
'Tout comme les Brutes, les Drones semblent avoir &eacute;t&eacute; int&eacute;gr&eacute;s depuis peu aux forces d\'assaut covenantes et sont d&eacute;ploy&eacute;s en masse. Apparemment d\'origine insectoïde, ce sont les gardes des vaisseaux covenants. Ils ont &eacute;galement la capacit&eacute; - limit&eacute;e - de voler et font d\'excellents tireurs, tr&egrave;s intelligents.',
'Les Elites constituent l\'ossature des arm&eacute;es covenantes. Excellents soldats, tacticiens &eacute;m&eacute;rites et disciplin&eacute;s, combattants agressifs, ils repr&eacute;sentent la principale force des covenants. Plus rapides, plus forts et plus r&eacute;sistants que les humains, ils combattent en groupes restreints et dirigent souvent des escouades de Grunts. La couleur de leur armure indique leur rang.',
'Le sniper est une classe des jackals. Excellents tireurs de nature, les Jackals qui se sont sp&eacute;cialis&eacute;s dans ce domaine b&eacute;n&eacute;ficient d\'un rang plus &eacute;lev&eacute; que leurs cong&eacute;n&egrave;res. Ils sont tr&egrave;s destructeurs de loin mais assez peu de pr&egrave;s. Ils ne poss&egrave;dent cependant pas de bouclier de protection comme leurs fr&egrave;res.',
'Les Hunters sont des ennemis incroyablement dangereux qui sont d&eacute;ploy&eacute;s plus comme du mat&eacute;riel que comme des soldats. Ils sont utilis&eacute;s pour des t&acirc;ches de d&eacute;molitions ou de d&eacute;fense lourde et se battent toujours par deux. Ces cr&eacute;atures massives portent une armure quasiment imp&eacute;n&eacute;trable et une arme &agrave; combustible redoutable au combat.',
'Les m&eacute;decins sont sur le champ de bataille pour aider les soldats bless&eacute;s par des tirs lors des affrontements. Ils peuvent r&eacute;duire le nombre de morts lorsqu\'ils sont bien utilis&eacute;s, et donc peuvent peut être changer lissue de la bataille.',
'Les ing&eacute;nieurs, appel&eacute;s Huragok en langage covenant, forment la seule unit&eacute; non-combattante connue des forces covenantes. Celle-ci r&eacute;pare vos unit&eacute;s et v&eacute;hicules sur le champ de bataille ; plus vous en recrutez, plus vos unit&eacute;s et v&eacute;hicules au sol auront une chance de survivre.',
'Moins bien connus que les Elites, les Brutes combattent en groupes et sont physiquement plus forts que leurs cong&eacute;n&egrave;res. Les Brutes d&eacute;montrent les mêmes aptitudes au combat que les Elites et leur nombre s\'est consid&eacute;rablement accru depuis le d&eacute;but du conflit. Ils portent une arme balistique explosive &agrave; laquelle est fix&eacute;e une baïonnette.');
$casernea = array('grunt(s)','jackal(s)','drone(s)','&eacute;lite(s)','sniper(s)','hunter(s)','m&eacute;decin(s)','ing&eacute;nieur(s)','brute(s)');
$casernei = array('grunt1.jpg','jackal.jpg','drone.jpg','elite.jpg','jackalsniper.jpg','hunter1.jpg','medecin_c.jpg','ingenieur_c.jpg','brute.jpg');
$batimend = array('purificateur_m','purificateur_c','ionisateur','centrale_s','centrale_fusion','oeil','recherches','chantier_terrestre','???','caserne','silo','centre_info');
$batimeni = array('purificateurdemtalhb3.jpg','cristaloo3.png','ioniseurdn4.jpg','solaire.jpg','sanstitrevi7.jpg','oeilduprophetewj6.jpg','covielabocn5.jpg','chantierterrestrehg1.jpg','sanstitretruecolor09zn6.jpg','caserncov0ry.jpg','stockagebasement1cs10bl.jpg','ordianteur_hologramme.jpg');
$batiment = array('Purificateur de m&eacute;tal','Purificateur de cristal','Ionisateur','Centrale solaire','Centrale de fusion','Oeil des proph&egrave;tes','Centre de recherches','Chantier terrestre','Chantier spatial','Caserne','Entrep&ocirc;t','Centrale informatique');
$batimede = array( 'Le purificateur de m&eacute;tal vous fournie les mati&egrave;res premi&egrave;res pour la construction de vos infrastructures et de vos unit&eacute;s. Plus vous d&eacute;velopperez vos purificateurs, plus ils produiront de ressources. Les purificateurs les plus d&eacute;velopp&eacute;s ont aussi besoin de plus d\'&eacute;nergie.',
'Le purificateur de cristal vous fournie les ressources pour vos installations &eacute;lectroniques et pour les alliages. Le purificateur de cristal consomme deux fois plus d\'&eacute;nergie que celui de m&eacute;tal. Tous les vaisseaux et b&acirc;timents ont besoin de cristal pour leur bouclier ou encore leurs composants &eacute;lectroniques. La production augmente avec le d&eacute;veloppement de lusine.',
'L\'ionisateur utilise des ions n&eacute;gatifs et positifs d\'hydrog&egrave;ne pour cr&eacute;er une source conventionnelle de courant stable, servant &agrave; alimenter les b&acirc;timents covenants qui n&eacute;cessitent une arriv&eacute;e massive de cette "ressource" pour actionner les divers &eacute;l&eacute;ments mat&eacute;riels des contr&ocirc;les. La centrale de fusion &agrave; besoin de beaucoup d\'hydrog&egrave;ne pour fonctionner.',
'Pour assurer l\'approvisionnement des purificateurs, des centrales solaires sont n&eacute;cessaires. Plus ces installations sont d&eacute;velopp&eacute;es, plus vous obtiendrez d&eacute;nergie pour vos purificateurs. Les centrales solaires sont la base de l\'approvisionnement pour votre plan&egrave;te en &eacute;nergie. Elles sont compos&eacute;es dun recueilleur sur le haut de sa structure qui capte en grandes quantit&eacute;s l&eacute;nergie solaire.',
'La centrale &agrave; fusion vous permet de cr&eacute;er l&eacute;nergie n&eacute;cessaire &agrave; vos purificateurs. Elles est constitu&eacute; dun r&eacute;acteur &agrave; fusion qui en tournant produit de l&eacute;nergie. Sa production reste nettement inf&eacute;rieure &agrave; celle dune centrale solaire.',
'Les grands proph&egrave;tes ont partag&eacute; leur savoir pour construire ces structures qui permettent de rep&eacute;rer les &eacute;l&eacute;ments sapprochants de votre plan&egrave;te. Le syst&egrave;me est constitu&eacute; de deux grands arcs qui envoient des signaux &eacute;lectriques dans lespace et captent ceux qui reviennent pr&eacute;sageant ainsi larriv&eacute;e dun vaisseau.',
'Le centre de recherches, l\'un des b&acirc;timents les plus importants de votre colonie, vous permet de vous accaparer des technologies aliens aujourdhui disparues ou des technologies en cours de d&eacute;veloppement dans dautres factions. Le niveau du centre d&eacute;termine la vitesse de la recherche. Chaque plan&egrave;te que vous coloniserez devra être &eacute;quip&eacute;e dun centre d\'&eacute;tude des artefacts et des technologies.',
'Le chantier terrestre vous permet de construire tous les v&eacute;hicules atmosph&eacute;riques du type ghosts, spectres ou autres. Il permet ainsi &agrave; vos arm&eacute;es dacc&eacute;der plus rapidement &agrave; un endroit et davoir un avantage avec larmement de ces v&eacute;hicules.',
'Ce b&acirc;timent permet la cr&eacute;ation de toutes vos unit&eacute;s spatiales ou volantes. La force des covenants a souvent &eacute;t&eacute; due &agrave; ses grandes avanc&eacute;es technologiques en mati&egrave;re da&eacute;ronautique. Un grand chantier spatial permet de cr&eacute;er des unit&eacute;s de plus en plus fortes et de surcroît de les cr&eacute;er de plus en plus rapidement.',
'Le Temple de la Guerre vous permet de cr&eacute;er l&eacute;lite des forces dinfanterie. Des soldats y sont fanatis&eacute;s puis entraîn&eacute;s au maniement des armes et &agrave; la strat&eacute;gie militaire. Plus vous d&eacute;veloppez le temple, plus la vitesse de production sera rapide.',
'Les ressources qui ne sont pas encore trait&eacute;es sont mises en stock dans ces entrep&ocirc;ts g&eacute;ants. Un entrep&ocirc;t plus grand permet le stockage d\'une plus grande quantit&eacute; de ressources. Lorsque lentrep&ocirc;t est plein, l\'extraction est stopp&eacute;e. Il est grandement conseill&eacute; de d&eacute;velopper ce genre dinfrastructure.',
'La centrale informatique est le coeur de votre plan&egrave;te, le cerveau de votre territoire, analysant chaque particule d&eacute;tect&eacute;e avec grand soin. Plus votre centrale est am&eacute;lior&eacute;e, plus rapidement et ais&eacute;ment les donn&eacute;es seront trait&eacute;es.');
$technolo = array('Informatique','Detection','Armement','Bouclier','Maitrise de l\'&eacute;nergie','R&eacute;acteur &agrave; antigravit&eacute;','R&eacute;acteur &agrave; fusion','R&eacute;acteur &agrave; fusion Forerunner','M&eacute;decine','Commandement militaire',0);
$technode = array( 'Linformatique vous permet de traiter les informations de façon tr&egrave;s rapide r&eacute;duisant ainsi les temps de r&eacute;actions qui dans les combats peuvent sav&eacute;rer fatales.',
'La d&eacute;tection est cruciale pour pr&eacute;server sa flotte et ses plan&egrave;tes. D&eacute;velopper cette technologie vous permet de construire une base « œil des proph&egrave;tes » qui rep&egrave;rera les vaisseaux sapprochant de votre plan&egrave;te.',
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat d&eacute;muni face aux assauts f&eacute;roces adverses ? Cette technologie vous permettra de rechercher de nouveaux syst&egrave;mes d\'armements afin de rendre vos outils de guerre plus pr&eacute;cis et mortels.',
'Le bouclier est un champ de force qui entoure vos vaisseaux et les prot&egrave;ge. Ainsi il permet &agrave; vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'av&eacute;rant peut être d&eacute;cisif dans lissue de la bataille.',
'L\'&eacute;nergie est la base de tout. Sans &eacute;nergie, pas de voyages stellaires ni même de quoi faire marcher vos installations. C\'est pourquoi l\'&eacute;tude de nouvelles façons de produire de l\'&eacute;nergie est vitale pour vos plan&egrave;tes et vaisseaux ; vos chercheurs vous permettront &eacute;galement d\'acc&eacute;der &agrave; de nouveaux types d\'&eacute;nergies, beaucoup plus int&eacute;ressants.',
'Les r&eacute;acteurs &agrave; antigravit&eacute; sont les moteurs basiques covenant. Ils utilisent une technologie complexe projetant des particules quantiques cr&eacute;ant un champ gravitationnel inverse annulant ainsi la gravit&eacute; pr&eacute;sente. Le principe fonctionne &eacute;galement dans l\'espace puisque l\'absence de gravit&eacute; dans l\'espace, sans compter les &eacute;toiles et les autres anomalies spatiales, permet une projection plus puissante du champ.',
'Apr&egrave;s la combustion, voici la fusion. Ce type de r&eacute;acteur est beaucoup plus puissant que la combustion utilis&eacute;e depuis d&eacute;j&agrave; des centaines d\'ann&eacute;es. Il g&eacute;n&egrave;re une &eacute;nergie cin&eacute;tique de grande envergure. Aucun dirigeant politique d&eacute;sirant voyager dans le cosmos ne pourrait sen passer.',
'Les covenants ont d&eacute;couvert danciens r&eacute;acteurs &agrave; fusion utilisant la technologie dhyperpropulsion Forerunner. Cette technologie, beaucoup plus puissante que le r&eacute;acteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra pr&eacute;cis. Ce type de r&eacute;acteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
'La m&eacute;decine vous permet davoir moins de pertes au combat et ainsi davoir une force de frappe qui r&eacute;siste plus longtemps. Au lieu de laisser mourir les soldats bless&eacute;s, le m&eacute;decin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
'En tant que g&eacute;n&eacute;ral, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en mati&egrave;re de strat&eacute;gie, vous montrer toujours plus rus&eacute; que votre impitoyable adversaire, aussi feriez-vous bien d\'&eacute;tudier de nouvelles tactiques de combat pour vous assurer une franche victoire.');
$technoli = array('informatique1.jpg','detection.jpg','sanstitretruecolor04no6.jpg','boucliervaiseaucovenantey4.jpg','energie.jpg','reacteurantigravyd1.jpg','reacteur_f.jpg','reacteurfusionforerunnewu0.jpg','medecine.JPG','commandement.jpg');
$nomvaisa = array('cargos de classe Inquisitor','grand(s) transporteur(s)','vaisseau(x) de colonisation','sonde(s)','recycleur(s)','s&eacute;raphin(s)','fr&eacute;gate(s)','croiseur(s) de classe CCS','croiseur(s) de classe Reverence','porte-vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
$nomvaisi = array('cargosparabola.jpg','cargosladen.jpg','coviecolobv3.jpg','sonde_despionnage1.jpg','charognard.jpg','chasseurlourd7id.jpg','croiseur8er.jpg','fregate2ky.jpg','croiseur.jpg','pv.jpg','citecovenant.jpg','.jpg');
$nomvaisn = array('Cargos de classe Inquisitor','Cargos de classe Interdictor','Vaisseau de colonisation de classe Returning','Sonde de reconnaissance de classe Perception','Charognard','S&eacute;raphin','Fr&eacute;gate','Croiseur de classe CCS','Croiseur de classe Reverence','Porte vaisseaux','Station orbitale covenant','Super porte vaisseaux');
$nomvaisd = array( 'Les cargos Inquisitor sont la base du transport de troupes et de ressources covenantes, capables de transporter un grand nombre de ressources sur une grande distance. Pratiquement sans armement, le cargo est sans d&eacute;fense et n&eacute;cessite une d&eacute;fense rapproch&eacute;e pour les trajets de grande distance.',
'Les cargos Interdictor sont une &eacute;volution du transport de classe Inquisitor. Ayant une capacit&eacute; de transport nettement sup&eacute;rieure &agrave; sa version pr&eacute;c&eacute;dente. Ce transport, quoique plus r&eacute;cent et disposant d\'un plus grand fret, dispose du même genre de d&eacute;fense que le mod&egrave;le ant&eacute;rieur, une escorte est donc fortement recommand&eacute;e lors de l\'utilisation de celui-ci.',
'Tout comme les humains, les covenants ont besoins d\'espace pour &eacute;tendre leur empire et c\'est pourquoi ces vaisseaux ont &eacute;t&eacute; pens&eacute;s et conçus. Capable de transformer la nature même d\'une plan&egrave;te en tr&egrave;s peu de temps, ce vaisseau est essentiel au d&eacute;veloppement de la soci&eacute;t&eacute; covenante.',
'Cette sonde de reconnaissance covenante est largement utilis&eacute;e lorsqu\'il est trop dangereux d\'envoyer un vaisseau. Sa fonction consiste &agrave; rassembler des donn&eacute;es sur les vaisseaux ou encore sur une plan&egrave;te dans un syst&egrave;me plan&eacute;taire.',
'Chaque bataille am&egrave;ne des pertes des 2 c&ocirc;t&eacute;s, et ce vaisseau est conçu pour en tirer tous les b&eacute;n&eacute;fices. Le Charognard, en retrait de la flotte principale, ramasse ce qu\'il reste des vaisseaux d&eacute;truits et les ram&egrave;ne &agrave; sa plan&egrave;te d\'origine où ces "d&eacute;chets" pourront être utilis&eacute;s pour produire des mati&egrave;res premi&egrave;res.',
'Le plus puissant et probablement le plus craint de tous les vaisseaux Covenants. Le S&eacute;raphin est le principal vaisseau offensif dans lespace et peut être employ&eacute; comme bombardier a&eacute;rien. Le S&eacute;raphin est d\'environ trois fois la taille d\'un Banshee, il poss&egrave;de plusieurs canons de plasma qu\'il utilise lors des engagements a&eacute;riens pour &eacute;liminer des opposants de type LongsWord et P&eacute;lican.',
'La fr&eacute;gate covenante est un vaisseau de tonnage moyen composant majoritairement les flottes habituelles. Équip&eacute;e de lasers &agrave; impulsion et de lanceurs de torpilles au plasma lat&eacute;raux, elle poss&egrave;de ainsi une puissance de feu raisonnable. Sa coque est aussi prot&eacute;g&eacute;e par un bouclier &eacute;nerg&eacute;tique la rendant beaucoup plus difficile &agrave; d&eacute;truire.',
'Ce vaisseau redoutable et titanesque s&egrave;me sans le moindre doute la terreur chez l\'ennemi. Arm&eacute; d\'un bout &agrave; l\'autre de lasers &agrave; impulsion, de torpilles au plasma et de bien d\'autres armes, ce croiseur est une arme extraordinaire &agrave; ne jamais sous estimer.',
'Un des plus grands vaisseaux de combat covenant, mesurant 3000 m&egrave;tres. Équip&eacute; de deux canons &agrave; projection &eacute;nerg&eacute;tique et de sept lanceurs de torpilles, il est d\'une puissance extraordinaire. Le seul probl&egrave;me r&eacute;sidant dans le fait que son &eacute;quipement demande une capacit&eacute; d\'&eacute;nergie ph&eacute;nom&eacute;nale.',
'Comme son nom l\'indique, son principal r&ocirc;le est de transporter des chasseurs Seraphins, des Spirits ou d\'autres vaisseaux de taille similaire. Arm&eacute; de quelques lasers &agrave; impulsion, le porte vaisseau reste un vaisseau de support plut&ocirc;t qu\'un vaisseau de confrontation directe. Hypoth&eacute;tiquement parlant, sa capacit&eacute; de tir est l&eacute;g&egrave;rement sup&eacute;rieure &agrave; celui d\'une corvette.',
'La station spatiale covenante, construite a même un ast&eacute;roide, poss&egrave;de un canon plasma d\'une centaine de mettre de long projetant une sph&egrave;re de plasma atteignant une chaleur proche de celle du coeur d\'un soleil. Également &eacute;quip&eacute; de tourelle automatique pour les chasseurs d\'efficacit&eacute; moyenne, se poste orbital covenant est une arme d&eacute;fensive terrifiante pour toute adversaire de haut niveau ou non.',
'Le vaisseau ultime de la flotte covenante, long de plus de 5400 m&egrave;tres. Ce vaisseau est capable de transporter des quantit&eacute;s de chasseurs hors du commun. Arm&eacute; de projecteurs &eacute;nerg&eacute;tique et de laser &agrave; impulsion, ce vaisseau est le plus puissant apr&egrave;s la station spatiale.');
$nomterra = array('banshee(s)','spirit(s)','phantom','boarding craft','ghost(s)','shadow','spectre(s)','appartition(s)','shade','strong shade','tourelle(s) &agrave; barreau de combustible','canon(s) &agrave; plasma','lanceur(s) de torpilles plasma');
$nomterrn = array('Banshees', 'Spirit', 'Phantom', 'Boarding craft', 'Ghost', 'Shadow', 'Spectre', 'Appartition', 'Shade', 'Strong shade', 'Tourelle &agrave; barreau de combustible', 'Canon &agrave; plasma', 'Lanceur de torpilles plasma');
$nomterri = array('bansheeqp0.jpg', 'spirit1.jpg', 'phantomfu2.jpg', 'boardingcraft.jpg', 'ghostic1.jpg', 'shadow.jpg', 'spectre.jpg', 'wraith.jpg', 'shade.jpg', 'strongshade.jpg', 'tourellebarreau.jpg', 'tourelle.jpg', 'lanceur_torpilles.jpg');
$nomterde = array( 'Rapide et maniable, le Banshee est un formidable v&eacute;hicule d\'assaut a&eacute;rien, efficacement blind&eacute; contre les armes &agrave; feu l&eacute;g&egrave;res mais ne r&eacute;sistant cependant pas aux armes plus lourdes. Le canon &agrave; combustible dont il est &eacute;quip&eacute; en fait un bombardier dangereux tout autant qu\'un chasseur rapide. Le Banshee a la possibilit&eacute; de faire des tonneaux et des vrilles, ce qui serait impossible pour des v&eacute;hicules &agrave; l\'a&eacute;rodynamique conventionnelle.',
'Le spirit est une navette de transport de troupes terrestre. De capacit&eacute; moyenne, il peut transporter un petit contingent arm&eacute; dans les zones les plus repouss&eacute;es des plan&egrave;tes. Le spirit est &eacute;quip&eacute; d\'une tourelle de type shade de puissance moyenne, qui permet de maintenir les troupes ennemis &agrave; distance jusqu\'&agrave; ce que le largage des troupes soit effectu&eacute;.<br />Malheureusement, un manque d\'espace empêche l\'installation de g&eacute;n&eacute;rateur &eacute;nerg&eacute;tique plus puissant qui pourrait supporter des boucliers standards ou même de faible intensit&eacute;.',
'Le Phantom est un vaisseau beaucoup plus fiable que le vaisseau de d&eacute;barquement « Spirit ». Il poss&egrave;de trois tourelles plasma particuli&egrave;rement puissantes et peut laisser tomber ses occupants &agrave; terre via un ascenseur gravitationnel sans devoir se poser. Le Phantom a un blindage beaucoup plus r&eacute;sistant que son pr&eacute;d&eacute;cesseur, une puissance de feu accrue et peut transporter tout type d&eacute;quipage comme des hunters.<br />Le Phantom est assez nouveau dans l\'arsenal Covenant mais est rapidement devenu une crainte car son bombardement de plasma peut &eacute;liminer un bon nombre de marines.',
'~#DESCRIPTION MANQUANTE#~ Boarding craft',
'Le ghost est un v&eacute;hicule de reconnaissance et d\'attaque rapide d&eacute;ploy&eacute;e par les Covenants dans tout combat terrestre. Cet engin, tr&egrave;s souvent pilot&eacute; par les Elites, est tr&egrave;s maniable. Il est capable de tirer des doubles d&eacute;charges de plasma surchauff&eacute;es d\'une puissance de 100-250 kW. Le ghost peut &eacute;galement effectuer des pointes de vitesse soutenues.',
'Le Shadow est le principal moyen de transport terrestre des troupes covenantes. Ce v&eacute;hicule peut accueillir un pilote, un artilleur et jusqu\'&agrave; huit passagers en fonction du type de Covenants qui monte &agrave; bord. Il est en outre &eacute;quip&eacute; pour transporter des Elites, des Brutes, des Grunts ou des Jackals. Si le Shadow est &eacute;quip&eacute; d\'un canon &agrave; plasma, sa vocation reste le d&eacute;ploiement de troupes.',
'Le Spectre est un transport multi troupes blind&eacute; de petite taille. Quoique relativement lent, il est tout &agrave; fait maniable et se meut avec aisance dans les espaces confin&eacute;s. Ses principales faiblesses &eacute;tant son manque de vitesse et d\'acc&eacute;l&eacute;ration, ses occupants demeurent tout de même relativement expos&eacute;s. Le canon &agrave; plasma mont&eacute; &agrave; l\'arri&egrave;re repr&eacute;sente un grand danger pour l\'ennemi et le v&eacute;hicule offre par ailleurs diverses positions de tir.',
'Lent, massif et constituant une cible de taille, ce v&eacute;hicule n\'en demeure pas moins le blind&eacute; covenant le plus destructeur. Ce g&eacute;ant de m&eacute;tal est bien prot&eacute;g&eacute;. Le tir de couverture qu\'il peut effectuer gr&acirc;ce &agrave; ses mortiers &agrave; plasma redoutables en fait un ennemi incroyablement dangereux. Le fait qu\'il soit pilot&eacute; par une seule personne qui contr&ocirc;le le v&eacute;hicule et le syst&egrave;me d\'armement limite quelque peu son champ de manoeuvre.',
'Les tourelles shades sont des canons stationnaires &eacute;nerg&eacute;tiques covenant compos&eacute;s de deux parties, la premi&egrave;re &eacute;tant une base stable &agrave; trois pieds pour la stabilit&eacute; de lappareil, la deuxi&egrave;me, un si&egrave;ge où le canon est fix&eacute; retenu par un champ gravitationnel artificiel. Ce canon lorsquil tire, envoie 3 « &eacute;clairs » relativement lents et defficacit&eacute; moyenne.',
'Cette tourelle est une version am&eacute;lior&eacute;e de la shade standard. Dans les modifications de la tourelle, le syst&egrave;me dacc&eacute;l&eacute;ration magn&eacute;tique a &eacute;t&eacute; r&eacute;vis&eacute; pour le rendre plus performant, aboutissant &agrave; des rayons plus rapides. Également, un bouclier a &eacute;t&eacute; ajout&eacute; &agrave; lavant, prot&eacute;geant ainsi lutilisateur des attaques aux armes &agrave; projectiles de petit et moyen calibre pendant une p&eacute;riode de quelques secondes lors de feux nourris.',
'La tourelle &agrave; barreau de combustible est une version fixe de ceux des hunters avec un syst&egrave;me de vis&eacute; am&eacute;lior&eacute; et de condensateur ionique permettent de tirer trois rafales &agrave; la suite sans surcharger les relais du g&eacute;n&eacute;rateur. De puissance moyenne, elle est capable de d&eacute;truire facilement des warthogs et autres v&eacute;hicules l&eacute;gers avec une facilit&eacute; hors norme.',
'Le canon &agrave; plasma na pas besoin de canonnier pour tirer puisque &eacute;quip&eacute; dun syst&egrave;me de vis&eacute;e automatis&eacute;, il utilise une technologie dintelligence artificielle rudimentaire pour ensuite envoyer un projectile de plasma surchauff&eacute; &agrave; haute vitesse carbonisant tout sur son passage.',
'Utilisant un principe similaire de la tourelle &agrave; plasma, le lanceur de torpilles plasma utilise un condensateur de mati&egrave;re pour condenser le flux de plasma surchauff&eacute; en une masse de destruction pure. Ce syst&egrave;me est le syst&egrave;me de d&eacute;fense terrestre le plus &eacute;volu&eacute; jamais construit. Son d&eacute;faut majeur reste sa cadence de tire lente, limitant sa d&eacute;fense face &agrave; de multiples adversaires.');
}
elseif (md5($race) == '34c19b21bd4a3dda389e767d32fe9779' && $auth_level >= 6) {
$ressourc = array('M&eacute;tal','Cristal','Hydrog&egrave;ne','Energie');
$casernen = array('Constructor','Sentinelle L&eacute;g&egrave;re','Sentinelle Lourde','Enforcer L&eacute;ger','Enforcer Lourd','Monitor','~#PAS DE NOM#~ M&eacute;decin','~#PAS DE NOM#~ Ing&eacute;nieur','~#PAS DE NOM#~ Brute');
$casernde = array( 'Les Constructors sont des minis sentinelles capable d\'effectuer certaine reparation mineur, ils peuvent r&eacute;par&eacute;s les sentinelles endommager ainsi que les chasseurs l&eacute;gers.',
'~#DESCRIPTION MANQUANTE#~ Sentinelle L&eacute;g&egrave;re',
'~#DESCRIPTION MANQUANTE#~ Sentinelle Lourde',
'Les Enforcers L&eacute;ger, sont des sentinelles massifs qui servent &agrave; contenir des grosses infections Floods. Ils sont prot&eacute;g&eacute;s par un bouclier d\'&eacute;nergie, mais il semble seulement prot&eacute;ger que l\'avant de la machine. Il est arm&eacute; de faisceaux laser &agrave; impulsion rapides.',
'Les Enforcers Lourd, sont des sentinelles massifs qui servent &agrave; contenir des grosses infections Floods. Ils sont prot&eacute;g&eacute;s par un bouclier d\'&eacute;nergie qui recouvre toute la machine. Il est arm&eacute; de mortiers.',
'Les monitors ont &eacute;t&eacute; plac&eacute;s sur les mondes-forteresse par les Forruner pour entretenir et maintenir leurs syst&egrave;mes, et pour s\'assurer que les Floods reste emprisonn&eacute;.',
'~#DESCRIPTION MANQUANTE#~ ',
'~#DESCRIPTION MANQUANTE#~ ',
'~#DESCRIPTION MANQUANTE#~ ');
$casernea = array('constructor(s)','sentinelle(s) l&eacute;g&egrave;re(s)','sentinelle(s) lourde(s)','enforcer(s) l&eacute;ger(s)','enforcer(s) lourd(s)','monitor(s)','m&eacute;decin(s)','ing&eacute;nieur(s)','brute(s)');
$casernei = array('scoutma3.jpg','sentinellelegerecn4.jpg','nanw9.jpg','defenseurlegerhs8.jpg','defenseurlourdhr3.jpg','nanw9.jpg','nanw9.jpg','nanw9.jpg','nanw9.jpg');
$batimend = array('purificateur_m','purificateur_c','ionisateur','centrale_s','centrale_fusion','oeil','recherches','chantier_terrestre','???','caserne','silo','centre_info');
$batimeni = array('generateurdemetalsg0.jpg','generateurdecristalmh5.jpg','generateurdhydrognedh3.jpg','generateurdenergievb7.jpg','generateurafusiondb2.jpg',0,'centrederecherchegu9.jpg','chantierterrestrehg1.jpg','chantierspatialff8.jpg',0,'nanw9.jpg',0);
$batiment = array('G&eacute;n&eacute;rateur de M&eacute;tal','G&eacute;n&eacute;rateur de Cristal','G&eacute;n&eacute;rateur d\'Hydrog&egrave;ne','G&eacute;n&eacute;rateur d\'Energie',0,0,'Centre de recherches','Chantier terrestre','Chantier spatial',0,'Entrep&ocirc;t',0);
$batimede = array( 'Le g&eacute;n&eacute;rateur de m&eacute;tal vous fournie les mati&egrave;res premi&egrave;res pour la construction de vos infrastructures et de vos unit&eacute;s. Plus vous d&eacute;velopperez vos g&eacute;n&eacute;rateurs, plus uls vous rapportera. Les g&eacute;n&eacute;rateurs plus d&eacute;velopp&eacute;s ont aussi besoin de plus d\'&eacute;nergie.',
'Le g&eacute;n&eacute;rateur de cristal vous fourni les ressources pour vos installations &eacute;lectroniques et pour les alliages. Le g&eacute;n&eacute;rateur consomme deux fois plus d\'&eacute;nergie que celui du m&eacute;tal. Tous les vaisseaux et b&acirc;timents ont besoin de cristal pour leur bouclier ou encore leur composant &eacute;lectronique. La production augmente avec le d&eacute;veloppement du g&eacute;n&eacute;rateur ainsi que sa consommation.',
'L\'hydrog&egrave;ne n\'est pas directement disponible dans la nature. On doit le produire : par electrolyse de l\'eau ce qui consiste &agrave; faire passer un courant &eacute;lectrique dans de l\'eau pour que les mol&eacute;cules se s&eacute;parent et forme du dihydrog&egrave;ne. Mais cette technique utilise de trop grande quantit&eacute;e d\'&eacute;nergie.',
'Pour assurer l\'approvisionnement des g&eacute;n&eacute;rateurs, des g&eacute;n&eacute;rateurs &eacute;nergie g&eacute;antes sont n&eacute;cessaires. Plus ces installations sont d&eacute;velopp&eacute;es, plus vous obtiendrez d&eacute;nergie pour vos g&eacute;n&eacute;rateurs. Les g&eacute;n&eacute;rateurs d\'&eacute;nergies sont la base de l\'approvisionnement pour votre plan&egrave;te en &eacute;nergie.',
0,
0,
'Le centre de recherche est n&eacute;cessaire pour d&eacute;velopper de nouvelles technologies. Le niveau du centre d&eacute;termine la vitesse de la recherche. Chaque plan&egrave;te que vous coloniserez devra être &eacute;quip&eacute;e dun centre de recherche.',
'~#DESCRIPTION MANQUANTE#~ Chantier terrestre',
'Le chantier spatial vous permet de construire des vaisseaux, de linfanterie et vos installations de d&eacute;fense. Plus le chantier est grand, plus la construction de vaisseaux, le recrutement de linfanterie et la cr&eacute;ation dinstallations de d&eacute;fense est rapide.',
0,
'Les ressources qui ne sont pas encore trait&eacute;es sont mises en stock dans ces entrep&ocirc;ts g&eacute;ants. Un entrep&ocirc;t plus grand permet le stockage d\'une plus grande quantit&eacute; de ressources. Lorsque lentrep&ocirc;t est plein, l\'extraction est stopp&eacute;e. Il est grandement conseill&eacute; de d&eacute;velopper ce genre dinfrastructure.',
0);
$technolo = array('Informatique','Detection','Armement','Bouclier','Maitrise de l\'&eacute;nergie','R&eacute;acteur &agrave; antigravit&eacute;','R&eacute;acteur &agrave; fusion','R&eacute;acteur &agrave; fusion Forruner','M&eacute;decine','Commandement militaire',0);
$technode = array( 'Linformatique vous permet de traiter les informations de façon tr&egrave;s rapide r&eacute;duisant ainsi les temps de r&eacute;actions qui dans les combats peuvent sav&eacute;rer fatales.',
'La d&eacute;tection est cruciale pour pr&eacute;server sa flotte et ses plan&egrave;tes. D&eacute;velopper cette technologie vous permet de construire une base « œil des proph&egrave;tes » qui rep&egrave;rera les vaisseaux sapprochant de votre plan&egrave;te.',
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat d&eacute;muni face aux assauts f&eacute;roces adverses ? Cette technologie vous permettra de rechercher de nouveaux syst&egrave;mes d\'armements afin de rendre vos outils de guerre plus pr&eacute;cis et mortels.',
'Le bouclier est un champ de force qui entoure vos vaisseaux et les prot&egrave;ge. Ainsi il permet &agrave; vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'av&eacute;rant peut être d&eacute;cisif dans lissue de la bataille.',
'L\'&eacute;nergie est la base de tout. Sans &eacute;nergie, pas de voyages stellaires ni même de quoi faire marcher vos installations. C\'est pourquoi l\'&eacute;tude de nouvelles façons de produire de l\'&eacute;nergie est vitale pour vos plan&egrave;tes et vaisseaux ; vos chercheurs vous permettront &eacute;galement d\'acc&eacute;der &agrave; de nouveaux types d\'&eacute;nergies, beaucoup plus int&eacute;ressants.',
'Les r&eacute;acteurs &agrave; antigravit&eacute; sont les moteurs basiques covenant. Ils utilisent une technologie complexe projetant des particules quantiques cr&eacute;ant un champ gravitationnel inverse annulant ainsi la gravit&eacute; pr&eacute;sente. Le principe fonctionne &eacute;galement dans l\'espace puisque l\'absence de gravit&eacute; dans l\'espace, sans compter les &eacute;toiles et les autres anomalies spatiales, permet une projection plus puissante du champ.',
'Apr&egrave;s la combustion, voici la fusion. Ce type de r&eacute;acteur est beaucoup plus puissant que la combustion utilis&eacute;e depuis d&eacute;j&agrave; des centaines d\'ann&eacute;es. Il g&eacute;n&egrave;re une &eacute;nergie cin&eacute;tique de grande envergure. Aucun dirigeant politique d&eacute;sirant voyager dans le cosmos ne pourrait sen passer.',
'Les covenants ont d&eacute;couvert danciens r&eacute;acteurs &agrave; fusion utilisant la technologie dhyperpropulsion Forruner. Cette technologie, beaucoup plus puissante que le r&eacute;acteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra pr&eacute;cis. Ce type de r&eacute;acteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
'La m&eacute;decine vous permet davoir moins de pertes au combat et ainsi davoir une force de frappe qui r&eacute;siste plus longtemps. Au lieu de laisser mourir les soldats bless&eacute;s, le m&eacute;decin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
'En tant que g&eacute;n&eacute;ral, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en mati&egrave;re de strat&eacute;gie, vous montrer toujours plus rus&eacute; que votre impitoyable adversaire, aussi feriez-vous bien d\'&eacute;tudier de nouvelles tactiques de combat pour vous assurer une franche victoire.');
$technoli = array('informatique1.jpg','detection.jpg','sanstitretruecolor04no6.jpg','boucliervaiseaucovenantey4.jpg','energie.jpg','reacteurantigravyd1.jpg','reacteur_f.jpg','reacteurfusionforerunnewu0.jpg','medecine.JPG','commandement.jpg');
$nomvaisa = array('cargos de classe Inquisitor','grand(s) transporteur(s)','vaisseau(x) de colonisation','sonde(s)','recycleur(s)','s&eacute;raphin(s)','fr&eacute;gate(s)','croiseur(s) de classe CCS','croiseur(s) de classe Reverence','porte-vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
$nomvaisi = array('nanw9.jpg','nanw9.jpg','nanw9.jpg',0,'nanw9.jpg','croiseurforrunerns4.jpg','superdestroyerwa6.jpg','nanw9.jpg','chasseurlourdfk8.jpg','nanw9.jpg','nanw9.jpg','nanw9.jpg');
$nomvaisn = array('Transporteur Leger','Transporteur Lourd','Colonisateur',0,'Recycleur','Croiseur Forruner','Super-Destroyer','Chasseur Leger','Chasseur Lourd','Porte-Vaisseaux','Station orbitale','Super porte-vaisseaux');
$nomvaisd = array( '~#DESCRIPTION MANQUANTE#~ Transporteur Leger',
'~#DESCRIPTION MANQUANTE#~ Transporteur Lourd',
'~#DESCRIPTION MANQUANTE#~ Colonisateur',
0,
'~#DESCRIPTION MANQUANTE#~ Recycleur',
'~#DESCRIPTION MANQUANTE#~ Croiseur Forruner',
'~#DESCRIPTION MANQUANTE#~ Super-Destroyer',
'~#DESCRIPTION MANQUANTE#~ Chasseur Leger',
'~#DESCRIPTION MANQUANTE#~ Chasseur Lourd',
'~#DESCRIPTION MANQUANTE#~ Porte-Vaisseaux',
'~#DESCRIPTION MANQUANTE#~ Station spatiale',
'~#DESCRIPTION MANQUANTE#~ Super porte-Vaisseaux');
$nomterra = array(0,0,0,0,0,0,0,0,'tour(s) &agrave; plasma','tour(s) ion','canon(s) Orbital','drone(s)','station(s) de defense');
$nomterri = array(0,0,0,0,0,0,0,0,'tourplasmasl4.jpg','tourioniquegr6.jpg','nanw9.jpg','nanw9.jpg','stationdedefensent8.jpg');
$nomterrn = array(0,0,0,0,0,0,0,0,'Tour &agrave; plasma','Tour Ion','Canon Orbital','Drone','Station de defense');
$nomterde = array( 0,
0,
0,
0,
0,
0,
0,
0,
'~#DESCRIPTION MANQUANTE#~ Tour &agrave; plasma',
'~#DESCRIPTION MANQUANTE#~ Tour Ion',
'~#DESCRIPTION MANQUANTE#~ Canon Orbital',
'~#DESCRIPTION MANQUANTE#~ Drone',
'~#DESCRIPTION MANQUANTE#~ Station de defense');
}
else {
$ressourc = array('M&eacute;tal','Cristal','Hydrog&egrave;ne','Energie');
$casernen = array('Marine','Fusiller','Grenadier','T.C.A.O.','Sniper','Spartan','M&eacute;decin','Ing&eacute;nieur','Soldat exo squellette');
$casernde = array( 'Les marines constituent l\'infanterie de base de vos forces militaires. De faible puissance et de r&eacute;sistance plut&ocirc;t m&eacute;diocre, ils rivalisent avec les unit&eacute;s covenants standard. Ils sont &eacute;quip&eacute;s d\'une armure de kevlar renforc&eacute;e et d\'un MA5B.',
'Les fusillers sont &eacute;quip&eacute;s de fusils d\'assaut avec zoom int&eacute;gr&eacute;. Plus puissants que les marines standards, ils peuvent rivaliser avec des escouades enti&egrave;res de grunts dirig&eacute;es par des &eacute;lites hauts grad&eacute;s.',
'Les grenadiers sont les sp&eacute;cialistes en explosifs du CSNU sur le terrain. Ils peuvent d&eacute;truire les v&eacute;hicules l&eacute;gers gr&acirc;ce &agrave; leurs grenades et leurs lances missiles.',
'Les TCAO sont des soldats d\'assauts largu&eacute;s depuis l\'espace directement sur les champs de batailles gr&acirc;ce &agrave; des modules sp&eacute;ciaux. Ces soldats sont surentraîn&eacute;s et tr&egrave;s chevronn&eacute;s, risquant leur vie &agrave; chaque instant en raison des sauts orbitaux qui font atteindre une chaleur extrême dans le module.',
'Les snipers sont dot&eacute;s de fusils de pr&eacute;cision SA 2M capable de descendre un covenant &agrave; plusieurs centaines de m&egrave;tres gr&acirc;ce &agrave; son zoom maximum de 10x. Grande port&eacute;e de tir mais &agrave; courte port&eacute;e, ils sont inutiles.',
'Les spartans sont les unit&eacute;s d\'infanterie militaires les plus &eacute;volu&eacute;es militairement du CSNU mais &eacute;galement des Covenants. Ils sont &eacute;quip&eacute;s d\'une armure de type Mjolnir am&eacute;liorant leurs capacit&eacute;s de combat, d&eacute;j&agrave; exceptionnelles gr&acirc;ce &agrave; leur entraînement militaire depuis leur plus jeune &acirc;ge, ainsi qu\'&agrave; leurs implants cybern&eacute;tiques, les rendants d\'une grande efficacit&eacute; in&eacute;gal&eacute;e au sein de l\'infanterie.',
'Les m&eacute;decins sont sur le champ de bataille pour aider les soldats bless&eacute;s par des tirs lors des affrontements. Ils peuvent r&eacute;duire le nombre de morts lorsqu\'ils sont bien utilis&eacute;s et ainsi peut être changer lissue de la bataille.',
'Les ing&eacute;nieurs sont l&agrave; pour r&eacute;parer vos v&eacute;hicules endommag&eacute;s lors des affrontements. Ils peuvent r&eacute;duire le nombre de vos pertes de v&eacute;hicules lorsqu\'ils sont bien utilis&eacute;s.',
'Les soldats exo squelettiques poss&egrave;dent des armures de combat tr&egrave;s r&eacute;sistantes et d\'une puissance &eacute;norme mais contre balanc&eacute;e par une faible autonomie d\'&eacute;nergie, une mobilit&eacute; faible et d\'une discr&eacute;tion auditive aussi silencieuse qu\'un char d\'assaut dans un champs de mines lotus.');
$casernea = array('marine(s)','fusiller(s)','grenadier(s)','T.C.A.O.','sniper(s)','spartan(s)','m&eacute;decin(s)','ing&eacute;nieur(s)','soldat(s) exo squellette');
$casernei = array('marines.jpg','marinehf0.jpg','grenadier.jpg','TCAO2.jpg','sniper.jpg','spartan.jpg','medecin.jpg','ingenieurs.jpg','img_na_ig.jpg');
$batiment = array('Usine de m&eacute;tallurgie','Usine de cristal','Synchronisateur d\'hydrog&egrave;ne','Centrale solaire','Centrale &eacute;nerg&eacute;tique','Base radar','Centre de recherches','Chantier terrestre','Chantier spatial','Ecole militaire','Silo de stockage','Centrale informatique');
$batimede = array( 'Cette usine traite tous les m&eacute;taux recueillis afin de produire du titanium-A ou diff&eacute;rents types d\'alliages de qualit&eacute; pour vos diff&eacute;rentes constructions plan&eacute;taires ou spatiales. Chaque niveau augmente la production de m&eacute;tal.',
'L\'usine de cristal filtre les d&eacute;chets r&eacute;colt&eacute;s avec les cristaux. Une fois s&eacute;par&eacute;s du reste ils sont class&eacute;s par qualit&eacute; par une quantit&eacute; d\'appareils de haute technologie. Plus les cristaux sont purs plus ceux-ci peuvent être transform&eacute;s en unit&eacute;s de stockage de donn&eacute;es ou en conducteurs &eacute;nerg&eacute;tiques de haute qualit&eacute;. Plus ce b&acirc;timent sera d&eacute;velopp&eacute;, plus vous pourrez traiter de cristaux rapidement.',
'Ce b&acirc;timent use de l\'eau pour la d&eacute;composer et en extraire l\'hydrog&egrave;ne, la base de toutes vos productions &eacute;nerg&eacute;tiques, pour ensuite l\'acheminer dans des condensateurs ioniques afin de le rendre plus dense et par le fait même plus efficace. Chaque niveau augmente la production du synchronisateur.',
'La centrale solaire produit l&eacute;nergie n&eacute;cessaire au fonctionnement de vos usines. Elle fonctionne &agrave; partir dune technologie Forruner qui consiste &agrave; envoyer un rayon &agrave; la verticale pour capter tous les rayons du soleil qui le croise.',
'La centrale &eacute;nerg&eacute;tique fonctionne avec un principe assez d&eacute;pass&eacute;. En effet, l&eacute;nergie est produite par un r&eacute;acteur &agrave; fusion qui en tournant produit de l&eacute;nergie comme le ferait une dynamo. Bien que ce principe f&ucirc;t r&eacute;volutionnaire &agrave; l&eacute;poque, il f&ucirc;t rapidement d&eacute;pass&eacute; par la centrale solaire qui permet de produire davantage d&eacute;nergie.',
'Base radar',
'Le centre de recherches est certainement l\'une des b&acirc;tisses les plus importantes que vous puissiez construire dans votre colonie. Vos chercheurs travailleront sans rel&acirc;che aucun afin de mettre au point de nouvelles technologies vous assurant supr&eacute;matie et victoire sur les champs de bataille. Chaque niveau d&eacute;vellop&eacute; augmente la vitesse de recherche de vos technologies.',
'Le chantier terrestre vous permet de construire tous les v&eacute;hicules atmosph&eacute;rique du type warthog ou scorpion. Il permet ainsi &agrave; vos troupes dacc&eacute;der plus rapidement &agrave; un endroit et davoir un avantage avec larmement de ces v&eacute;hicules.',
'Le chantier spatial permet de construire v&ocirc;tre flotte de vaisseaux spatiaux. G&eacute;n&eacute;ralement &agrave; la limite de latmosph&egrave;re dune plan&egrave;te il ne peut cependant se d&eacute;placer et doit imp&eacute;rativement rester en orbite. Le chantier spatial, bien que ressemblant &agrave; une station spatial, ne peut être d&eacute;truit gr&acirc;ce &agrave; sa position qui lui conf&egrave;re un camouflage total.',
'L\'acad&eacute;mie militaire forme les meilleurs officiers et sous-officiers de la galaxie. Ces hommes exp&eacute;riment&eacute;s vous aideront &agrave; choisir de meilleures strat&eacute;gies d&eacute;fensives ou offensives ou encore même &eacute;conomiques face aux diff&eacute;rentes situations qui vous seront impos&eacute;es. Plus vous augmenterez le niveau de cette structure plus vos officiers seront rapides et efficaces dans leurs t&acirc;ches.',
'Comme toutes choses, vos ressources ont besoin d\'espace pour être stock&eacute;es ; c\'est pourquoi ces &eacute;normes silos vous seront d\'une aide pr&eacute;cieuse afin d\'y renfermer une grande quantit&eacute; de mati&egrave;res premi&egrave;res pour toutes vos productions. Plus le niveau du silo est haut, plus il pourra contenir de ressources suppl&eacute;mentaires.',
'La centrale informatique est le coeur de votre plan&egrave;te, le cerveau de votre territoire, analysant chaque particule d&eacute;tect&eacute;e avec grand soin. Plus votre centrale est am&eacute;lior&eacute;e, plus rapidement et ais&eacute;ment les donn&eacute;es seront trait&eacute;es.');
$batimend = array('mine_m','mine_c','!!','centrale_s','centrale_f','radar','recherches','chantier_terrestre','???','ecole_militaire','silo','centre_info');
$batimeni = array('mine_m.png','mine_c.png','synchroniseur.jpg','centrale solaire.jpg','centrale electrique.jpg','baseradardl3.jpg','recherches.jpg','chantierterrestrecopybj8.jpg','chantier spatial.jpg','ecole militaire.jpg','stockage.jpg','search0yp.jpg');
$technolo = array('IA','Radar','Armement','Blindage','Maitrise de l\'&eacute;nergie','R&eacute;acteur &agrave; combustion','R&eacute;acteur &agrave; fusion','R&eacute;acteur &agrave; fusion de type II','M&eacute;decine','Tactiques de combats','Spartan');
$technode = array( 'Le r&eacute;sultat absolu de l\'informatique. L\'IA ou Intelligence Artificielle est le r&eacute;sultat d\'ann&eacute;es de travail acharn&eacute; pour pouvoir en arriver &agrave; cette grande performance technique. Les IA sont des entit&eacute;s non biologiques dot&eacute;es du pouvoir de la pens&eacute;e. D&eacute;velopper cette technologie vous permettra non seulement de disposer d\'Intelligences Artificielles, mais de les rendre de plus en plus complexes, cr&eacute;atives et r&eacute;actives.',
'Ce syst&egrave;me tr&egrave;s ancien et us&eacute; par bien des militaires est utilis&eacute; pour la d&eacute;tection et l\'imagerie d\'objets faisant appel &agrave; des impulsions d\'ondes &eacute;lectromagn&eacute;tiques &agrave; haute fr&eacute;quence et sert &agrave; d&eacute;terminer la position et la distance des vaisseaux. Pour chaque niveau, vous augmenterez la puissance de cette technologie et sa pr&eacute;cision.',
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat d&eacute;muni face aux assauts f&eacute;roces adverses ? Cette technologie vous permettra de rechercher de nouveaux syst&egrave;mes d\'armements afin de rendre vos outils de guerre plus pr&eacute;cis et mortels.',
'La r&eacute;sistance de la coque de vos vaisseaux est plus que primordiale si vous tenez &agrave; remporter vos batailles, et encore plus avec les armes Covenantes capables de r&eacute;duire en miettes même les plus r&eacute;sistants des vaisseaux spatiaux. C\'est la raison pour laquelle vos scientifiques, si vous leur en donnez l\'ordre, travailleront avec application &agrave; l\'&eacute;laboration de nouvelles formules pour cr&eacute;er des alliages m&eacute;talliques les plus r&eacute;sistants.',
'L\'&eacute;nergie est la base de tout. Sans &eacute;nergie, pas de voyages stellaires ni même de quoi faire marcher vos installations tout simplement. C\'est pourquoi l\'&eacute;tude de nouvelles façons de produire de l\'&eacute;nergie est vitale pour vos plan&egrave;tes et les propulseurs de vos vaisseaux.',
'Le plus simple de tout les r&eacute;acteurs, aussi vieux que le monde lui-même ! Equip&eacute;s sur presque tout vos vaisseaux de base, cette technologie, certes basique, vous aidera &agrave; explorer l\'univers mais aussi, se trouvant être bien &eacute;videmment la base de la propulsion, vous permettra de d&eacute;couvrir de nouvelles techniques de propulsion irr&eacute;m&eacute;diablement toujours plus puissantes et efficaces.',
'Bien plus efficaces que de simples r&eacute;acteurs &agrave; combustion, la fusion nucl&eacute;aire est un processus où deux noyaux atomiques s\'assemblent pour former un noyau plus lourd. La fusion de noyaux l&eacute;gers d&eacute;gage d\'&eacute;normes quantit&eacute;s d\'&eacute;nergie provenant de l\'attraction entre les nucl&eacute;ons due &agrave; une forte interaction. Personne ne pourrait se passer de ce type d\'&eacute;nergie lors de ses voyages dans le cosmos.',
'Cette technologie bas&eacute;e sur les r&eacute;acteurs Covenants utilise la force &eacute;lectromagn&eacute;tique r&eacute;sultant de l\'interaction entre un courant &eacute;lectrique et un champ magn&eacute;tique pour acc&eacute;l&eacute;rer un gaz ionis&eacute; appel&eacute; plasma. Bien plus efficace que tous les moyens de propulsions possibles, cette technologie r&eacute;volutionnaire, tr&egrave;s co&ucirc;teuse, est un moyen efficace de parcourir de grandes distances en peu de temps.',
'Depuis l\'aube des temps, chaque être vivant et pensant n\'a jamais cess&eacute; de chercher de nouvelles solutions en d&eacute;vellopant les sciences m&eacute;dicales pour tenter d\'&eacute;chapper &agrave; la mort et aux &eacute;pid&eacute;mies qui s\'abbatent sur lui. Seulement, aujourd\'hui, ce ne sont plus les maladies qui importent, mais plutot les blessures de guerre. Plus votre m&eacute;decine sera &eacute;clatante, plus vos hommes de soins connaîtront de choses pour soigner vos bless&eacute;s.',
'En tant que g&eacute;n&eacute;ral, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en mati&egrave;re de strat&eacute;gie, vous montrer toujours plus rus&eacute; que votre impitoyable adversaire, aussi feriez-vous bien d\'&eacute;tudier de nouvelles tactiques de combat pour vous assurer une franche victoire.',
'Ces formidables combattants constituent l\'&eacute;lite de vos forces terrestres. Entraîn&eacute;s au maniement des armes, aux tactiques militaires et au combat de groupe depuis la naissance, ils sont pratiquement invincibles sur les champs de bataille face aux troupes covenantes. Les Spartans ont &eacute;galement subis plusieurs s&eacute;ries de modifications biologiques afin d\'am&eacute;liorer leurs capacit&eacute;s physiques.');
$technoli = array('IA4.jpg','radar7zr.jpg','techarmes1jk1.jpg','blindage.jpg','plasma4yl.jpg','reacteuracombustion.jpg','reacteurfusiontype1al5.jpg','reacteurfusiontype2nn6.jpg','medecin1.jpg','tactique.jpg','armuremc8ij.jpg');
$nomvaisn = array('Cargos de classe Parabola','Cargos de classe Laden','Vaisseaux de colonisation de classe Odyssey','Drones despionnage de classe Clarion','Recycleurs de classe Minotaur','C709 Longsword Interceptor','Fr&eacute;gate','Croiseurs de classe Halcyon','Croiseurs de classe Marathon','Porte vaisseaux','Station orbitale','Super porte-vaisseaux');
$nomvaisd = array( 'Ces cargos de taille cons&eacute;quente peuvent transporter assez de ressources et de nourriture pour nourrir une petite ville. Ils sont rapides, tr&egrave;s manœuvrables mais peu r&eacute;sistants, ce qui est en fait des proies faciles pour les chasseurs ennemis.',
'Ces cargos de taille massive permettent le transport dune &eacute;norme quantit&eacute; de ressources. Ils sont plus r&eacute;sistants que leurs homologues de classe Parabola, mais sont n&eacute;anmoins les cibles prioritaires des chasseurs ennemis visant &agrave; faire le plus de pertes dans le camp adverse.',
'~#DESCRIPTION MANQUANTE#~ Vaisseaux de colonisation de classe Odyssey',
'Drones extrêmement rapides et manœuvrables permettant la surveillance et lespionnage des plan&egrave;tes alentours avec un risque moins &eacute;lev&eacute; de rep&eacute;rage quavec un vaisseau furtif standard. Ils sont utilis&eacute;s lors de lespionnage de plan&egrave;tes ennemies et sont tr&egrave;s fragiles, si bien que lorsquils traversent un champ de d&eacute;bris, ils sont r&eacute;duits en de vulgaires morceaux de m&eacute;tal.',
'Les guerres sont de plus en plus nombreuses et les pertes de plus en plus grandes laissant &agrave; chaque fois des champs de d&eacute;bris immenses limitant les routes des voies commerciales. Des recycleurs ont donc &eacute;t&eacute; cr&eacute;&eacute;s afin de d&eacute;blayer ces zones et de vous faire profiter de ces ressources gratuites. Lors du voyage de retour, le recycleur transforme les d&eacute;bris pour vous les redonner sous forme de ressources primaires.',
'Vaisseau orbital et atmosph&eacute;rique lourd, apte au combat spatial, atmosph&eacute;rique, et au bombardement lourd sur des positions strat&eacute;giques. Ces vaisseaux sont capable de bombarder une vaste position adverse, gr&acirc;ce &agrave; leurs bombes au Napalm, mais sont aussi capables de cibler pr&eacute;cis&eacute;ment leurs cibles et de les d&eacute;truire gr&acirc;ce &agrave; leurs nombreux missiles air-air air-sol.',
'Cette classe de vaisseau est la plus r&eacute;pandue dans le CSNU. Ces vaisseaux sont tr&egrave;s manœuvrables du fait de leur petite taille, mais sont aussi tr&egrave;s faibles, &agrave; cause de leur blindage et de leur armement moindre. Ces vaisseaux sont peu co&ucirc;teux mais &eacute;galement peu efficaces et sont surtout utilis&eacute;s pour des patrouilles. Ils forment les &eacute;l&eacute;ments principaux des diff&eacute;rentes flottes du CSNU. ',
'Ces croiseurs sont des vaisseaux dattaque, d&eacute;pass&eacute;s technologiquement, tr&egrave;s peu r&eacute;pandus, tr&egrave;s co&ucirc;teux mais r&eacute;sistants : leur architecture interne leur permet de r&eacute;sister &agrave; de nombreux tirs de plasma. Cette architecture complexe &agrave; produire et &agrave; maintenir en &eacute;tat, en font des vaisseaux extrêmement rares et chers. Ils ont &eacute;t&eacute; tr&egrave;s r&eacute;cemment remis &agrave; neuf et am&eacute;lior&eacute;s, avec un tout nouvel armement.',
'Ces grands vaisseaux (2 fois et demie la longueur dune fr&eacute;gate), sont des descendants de la lign&eacute;e des croiseurs Halcyon. Ces vaisseaux ont une tr&egrave;s grande puissance de feu (1 CAM lourd), un fort blindage (5 m&egrave;tres 50 de Titane-A), et sont tr&egrave;s rapides. Ils sont assez peu communs, mais restent des vaisseaux dattaque tr&egrave;s redoutables : ils peuvent encaisser de nombreux tirs de plasma avant de succomber.',
'Ces immenses vaisseaux sont capables de transporter bon nombre de Longswords, dAlbatross, et tout autres types dunit&eacute;s. Ces vaisseaux leurs permettent de se d&eacute;fendre contre une &eacute;ventuelle attaque de chasseurs ennemis, mais sont &eacute;galement tr&egrave;s lourdement arm&eacute;s. Ils sont usit&eacute;s lors dattaques massives de plan&egrave;tes n&eacute;cessitant un fort appui a&eacute;rien et une tr&egrave;s grosse puissance de feu. ',
'~#DESCRIPTION MANQUANTE#~ Station spatiale',
'Ces vaisseaux sont sont beaucoup plus chers du fait de leur meilleur armement, blindage et importante capacit&eacute; de transport. Ces vaisseaux sont tr&egrave;s peu vus sur le terrain, leur r&ocirc;le principal est de d&eacute;ployer des Longswords afin de fournir aux vaisseaux alli&eacute;s un appui orbital. Ils font partis des plus puissants vaisseaux du CSNU. Ils sont capables de transporter bon nombre dunit&eacute;s terrestres et a&eacute;riennes.');
$nomvaisa = array('cargos de classe Parabola','cargos de classe Laden','vaisseau(x) de colonisation de classe Odyssey','drone(s) d\'espionnage de classe Clarion','recycleur(s) de classe Minotaur','C709 Longsword Interceptor','Fr&eacute;gates','croiseur(s) de classe Halcyon','croiseur(s) de classe Marathon','porte vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
$nomvaisi = array('csnucargoparabola2mc9.jpg','csnucargoladen2al8.jpg','vaisseaucolonisationmm4.jpg','drone_clarion.jpg','img_na_ig.jpg','longsword.jpg','fregatewz5.jpg','croiseurclassealcyon130om6.jpg','croiseurmarathonke3.jpg','csnuportevaisseauxgy3.jpg','station.jpg','.jpg');
$nomterra = array('sparrowhawk','077-TC Pelican','C703 Shortsword Bomber','SHD Albatros','M12 LRV Warthogs','M12G1 LAAV Warthogs','M12A1 LAAV Warthogs','M808B Scorpions MBT','mitrailleuse(s) automatique M247 GP','DCA l&eacute;g&egrave;re(s)','DCA lourde(s)','canon(s) Gauss','lanceur(s) de missiles');
$nomterrn = array('Sparrowhawk','077-TC Pelican','C703 Shortsword Bomber','SHD Albatros','M12 LRV Warthogs','M12G1 LAAV Warthogs','M12A1 LAAV Warthogs','M808B Scorpions MBT','Mitrailleuse automatique M247 GP','DCA l&eacute;g&egrave;re','DCA lourde','Canon Gauss','Lanceur de missiles');
$nomterde = array( 'V&eacute;hicule &agrave; propulsion verticale permettant des attaques extrêmement rapides et destructrices gr&acirc;ce &agrave; ses six tubes lance-missiles, ses deux mitrailleuses l&eacute;g&egrave;res, et sa mitrailleuse lourde frontale. Ces vaisseaux dassaut rapide sont de v&eacute;ritables broyeurs de t&ocirc;le gr&acirc;ce &agrave; leurs 6 tubes lance-missiles et sont capables de d&eacute;truire des v&eacute;hicules et des positions fortement blind&eacute;es.',
'V&eacute;hicule a&eacute;rien de transport l&eacute;ger permettant le transport rapide de troupes &agrave; des endroits strat&eacute;giques tel un warthog ou un scorpion. Ils sont la base des renforts terrestres et permettent lacheminement de troupes et de munitions rapidement.',
'Vaisseau suborbital tr&egrave;s rapide apte tant au combat a&eacute;rien rapproch&eacute; quau bombardement cibl&eacute;. Ces bombardiers ont un pointeur laser qui leur permet de viser au mieux les cibles ennemies, qu\'elles soient au sol ou a&eacute;riennes. Ils sont n&eacute;anmoins capables de combattre en combat a&eacute;rien rapproch&eacute; gr&acirc;ce &agrave; leurs missiles thermo guid&eacute;s et sont utilis&eacute;s lors de bombardements de cibles mineures.',
'V&eacute;hicule a&eacute;rien de transport lourd permettant le transport en masse de troupes ou de v&eacute;hicules tels que des warthogs ou bien une paire de scorpions vers des zones de largage. Ces v&eacute;hicules de soutien a&eacute;rien lourd sont surtout utilis&eacute;s lors doffensives n&eacute;cessitant un d&eacute;ploiement en masse dunit&eacute;s blind&eacute;es et de munitions au plus pr&egrave;s des lignes adverses.',
'V&eacute;hicule dattaque l&eacute;ger permettant des assauts rapides et efficaces, ainsi que le transport l&eacute;ger de troupes. Ces v&eacute;hicules sont la base des v&eacute;hicules terrestres du CSNU.',
'V&eacute;hicule l&eacute;ger &eacute;quip&eacute; dun canon &agrave; acc&eacute;l&eacute;ration magn&eacute;tique (CAM), tr&egrave;s efficace contre du personnel, des v&eacute;hicules moyennement blind&eacute;s, ou bien contre des v&eacute;hicules a&eacute;riens l&eacute;gers. Les Warthog M12G1 sont tr&egrave;s r&eacute;pandus et surtout utilis&eacute;s lors d\'offensives sur des cibles disposant dun appui a&eacute;rien ou terrestre l&eacute;ger.',
'V&eacute;hicule l&eacute;ger, arm&eacute; dun lance-missiles anti-v&eacute;hicule permettant des assauts rapides contre des v&eacute;hicules blind&eacute;s ou contre des positions fortifi&eacute;es. Ils sont surtout utilis&eacute;s en cas dattaques de postes avanc&eacute;s.',
'Tank blind&eacute; anti-v&eacute;hicules. Permet lattaque de cibles fortifi&eacute;es gr&acirc;ce &agrave; ses balles perforantes de gros calibre. Ces tanks sont utilis&eacute;s lors dassauts massifs sur des bases fortifi&eacute;es et vitales &agrave; lennemi.',
'La mitrailleuse M247 est une arme de calibre moyen envoyant des balles de calibre 30 &agrave; une cadence de tir de 6 balles par seconde. G&eacute;n&eacute;ralement positionn&eacute;e dans des endroits fixes, cette tourelle, efficace contre l\'infanterie et les v&eacute;hicules l&eacute;gers de petite taille est de pr&eacute;cision moyenne suffisante pour &eacute;liminer une menace de quelques soldats covenants.',
'Les DCA l&eacute;g&egrave;res sont des canons anti-a&eacute;rien de puissance moyenne mais de cadence de tir et de calibre de munitions &agrave; tête explosive &eacute;lev&eacute;e permettant de d&eacute;truire la plupart des chasseurs l&eacute;gers avec aisance. Ce mod&egrave;le est &eacute;quip&eacute; d\'un emplacement sp&eacute;cial lui permettant de tirer &eacute;galement sur des cibles au sol.',
'Les DCA lourdes sont quasi-similaires aux l&eacute;g&egrave;res mais poss&egrave;dent tout de même une diff&eacute;rence au niveau du calibre des balles qui, plus &eacute;lev&eacute; avec une tête explosif sup&eacute;rieure est comparable &agrave; une explosion de mine lotus. Il a en contre partie une capacit&eacute; de tir plus limit&eacute;e question cadence et une quantit&eacute; de munitions moindre dans chaque chargeur.',
'Le canon gauss est l\'&eacute;quivalent du Super CAM mais en version miniature tirant des projectiles &agrave; haute densit&eacute; et &agrave; grande vitesse sur ses cibles. Il est capable, en outre, de d&eacute;truire des v&eacute;hicules &agrave; blindage lourd tel des wraith\'s covenants, v&eacute;ritables chars d\'assaut &agrave; longue port&eacute;e. Malheureusement, il est moins efficace contre l\'infanterie d&ucirc; &agrave; sa cadence de tir plut&ocirc;t faible et sa pr&eacute;cision moindre.',
'Les lance-missiles du CSNU sont &eacute;quip&eacute;s de missiles balistiques hautement explosifs capables de r&eacute;duire ais&eacute;ment en miettes les chars covenants ou les chasseurs S&eacute;raphins. Ce lance-missiles, une fois ses salves tir&eacute;es, n&eacute;cessite plusieures minutes de r&eacute;armement pour être de nouveau op&eacute;rationnel.');
$nomterri = array('csnusparrowhawkkp4.jpg','pelican.jpg','csnushortswordad3.jpg','albatross.jpg','warthog-vrl.jpg','M12G1_LAAV_Warthog.jpg','M12A1_LAAV_Warthog.jpg','scorpionN.jpg','tourelle_fixe.jpg','dca_legere.jpg','dca_lourde.jpg','tourelle_gauss.jpg','csnulancemissileol5.jpg');
}
//Nombre maximal de ressources embarqu&eacute;
$nomvais_rs = array(5000,25000,7500,10,20000,50,800,1500,3000,10000,0,30000);
//Coefficient vitesse courte distance : temps pour parcourir un syst&egrave;me
$nomvais_dc = array(108,108,108,25,108,108,108,0,0,0,0,0);
//Temps de pr&eacute;paration courte distance : temps de pr&eacute;paration &agrave; compter avant tout d&eacute;placement
$nomvais_pdc = array(900,900,900,35,900,900,900,0,0,0,0,0);
//Coefficient vitesse longue distance : temps pour parcourir un syst&egrave;me
$nomvais_dl = array(0,54,54,0,54,0,54,54,54,54,0,54);
//Temps de pr&eacute;paration longue distance
$nomvais_pdl = array(0,0,0,0,0,0,0,0,0,0,0,0);
//Temps de chauffe
$nomvais_cdl = array(0,20,20,0,20,0,0,20,20,20,0,20);
//Attaque
$nomvais_at = array(1,1,1,0.1,10,150,500,800,1200,500,1000);
//Coque (pv)
$nomvais_pv = array(20,60,50,10,100,40,250,400,600,1500,600);
//D&eacute;fense (bouclier)
$nomvais_bc = array(20,60,100,1,100,100,400,500,600,700,400);
//Rapide fire (nombre d'attaque par phase envers un vaisseau)
$nomvais_rf = array( array(1,1,1,1,1,1,1,1,1,1,1,1),
array(1,1,1,1,1,1,1,1,1,1,1,1),
array(1,1,1,1,1,1,1,1,1,1,1,1),
array(1,1,1,1,1,1,1,1,1,1,1,1),
array(1,1,1,1,1,1,1,1,1,1,1,1),
array(1,1,1,1,1,1,1,1,1,1,1,1),
array(40,40,40,40,40,40,1,1,2,1,1,1),
array(10,10,10,10,10,10,30,1,1,2,1,1),
array(30,30,30,30,30,30,1,1,10,2,1,1),
array(20,20,20,20,20,20,2,1,1,1,1,1),
array(80,80,80,80,80,80,25,12,8,4,1,2),
array(100,100,100,100,100,100,20,10,5,2,1,1));
?>

View file

@ -1,94 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require_once('noms.php');
require('../connectBDD.php');
$req = mysql_query("SELECT * FROM flottes WHERE `id_user` = '$id'");
while ($resultat = mysql_fetch_array($req)) {
if (time() >= $resultat['start_time'] + $resultat['end_time'] && !empty($resultat['end_time'])) {
$mission = $resultat['mission'];
$end_galaxie = $resultat['end_galaxie'];
$end_ss = $resultat['end_ss'];
$end_position = $resultat['end_position'];
if ($mission == 1) {
$reqd = mysql_query("SELECT * FROM planete WHERE `galaxie` = '$end_galaxie' AND `ss` = '$end_ss' AND `position` = '$end_position'") or die ("erreur sql ".mysql_error());
$resultatd = mysql_fetch_array($reqd);
$ATvaisseau_1 = $resultat['vaisseau_1']; $ATvaisseau_2 = $resultat['vaisseau_2']; $ATvaisseau_3 = $resultat['vaisseau_3']; $ATvaisseau_4 = $resultat['vaisseau_4']; $ATvaisseau_5 = $resultat['vaisseau_5']; $ATvaisseau_6 = $resultat['vaisseau_6']; $ATvaisseau_7 = $resultat['vaisseau_7']; $ATvaisseau_8 = $resultat['vaisseau_8']; $ATvaisseau_9 = $resultat['vaisseau_9']; $ATvaisseau_10 = $resultat['vaisseau_10']; $ATvaisseau_11 = $resultat['vaisseau_11']; $ATvaisseau_12 = $resultat['vaisseau_12'];
$ATnbvais = $ATvaisseau_1 + $ATvaisseau_2 + $ATvaisseau_3 + $ATvaisseau_4 + $ATvaisseau_5 + $ATvaisseau_6 + $ATvaisseau_7 + $ATvaisseau_8 + $ATvaisseau_9 + $ATvaisseau_10 + $ATvaisseau_11 + $ATvaisseau_12;
$ENvaisseau_1 = $resultatd['vaisseau_1']; $ENvaisseau_2 = $resultatd['vaisseau_2']; $ENvaisseau_3 = $resultatd['vaisseau_3']; $ENvaisseau_4 = $resultatd['vaisseau_4']; $ENvaisseau_5 = $resultatd['vaisseau_5']; $ENvaisseau_6 = $resultatd['vaisseau_6']; $ENvaisseau_7 = $resultatd['vaisseau_7']; $ENvaisseau_8 = $resultatd['vaisseau_8']; $ENvaisseau_9 = $resultatd['vaisseau_9']; $ENvaisseau_10 = $resultatd['vaisseau_10']; $ENvaisseau_11 = $resultatd['vaisseau_11']; $ENvaisseau_12 = $resultatd['vaisseau_12'];
$ENnbvais = $ENvaisseau_1 + $ENvaisseau_2 + $ENvaisseau_3 + $ENvaisseau_4 + $ENvaisseau_5 + $ENvaisseau_6 + $ENvaisseau_7 + $ENvaisseau_8 + $ENvaisseau_9 + $ENvaisseau_10 + $ENvaisseau_11 + $ENvaisseau_12;
$ATvais = ''; $ENvais = ''; $ATvais_pv = ''; $ENvais_pv = '';
for ($i = 1; $i <= 12; $i++) {
for ($j = 1; $j <= $resultat['vaisseau_'.$i]; $j++) { $ATvais .= $i.' '; $ATvais_pv .= $nomvais_pv[$i].' '; }
for ($j = 1; $j <= $resultatd['vaisseau_'.$i]; $j++) { $ENvais .= $i.' '; $ENvais_pv .= $nomvais_pv[$i].' '; }
}
//Calcul de la puissance d'attaque
$ATpuissance = 0; $ENpuissance = 0;
for ($i = 1; $i <= 12; $i++) {
$ATpuissance += $resultat['vaisseau_'.$i] * $nomvais_at[$i-1];
$ENpuissance += $resultatd['vaisseau_'.$i] * $nomvais_at[$i-1];
}
//Calcul de la puissance de défense
$ATdefense = 0; $ENdefense = 0;
for ($i = 1; $i <= 12; $i++) {
$ATdefense += $resultat['vaisseau_'.$i] * $nomvais_bc[$i-1];
$ENdefense += $resultatd['vaisseau_'.$i] * $nomvais_bc[$i-1];
}
//Calcul des pv
$ATresistance = 0; $ENresistance = 0;
for ($i = 1; $i <= 12; $i++) {
$ATresistance += $resultat['vaisseau_'.$i] * $nomvais_pv[$i-1];
$ENresistance += $resultatd['vaisseau_'.$i] * $nomvais_pv[$i-1];
}
print '<br>puissance d\'attaque attaquant : '.$ATpuissance;
print '<br>puissance d\'attaque défenseur : '.$ENpuissance;
print '<br>puissance de défense attaquant : '.$ATdefense;
print '<br>puissance de défense défenseur : '.$ENdefense;
print '<br>PV de l\'attaquant : '.$ATresistance;
print '<br>PV du défenseur : '.$ENresistance;
$gagne = false;
while($gagne == false) {
if ($ATpuissance >= $ENdefense + $ENresistance) {
$gagne = true;
}
else {
while($ATpuissance > 0){
$vaisAT_type = rand(1,12);
$vaisAT_bc = $nomvais_bc[$vaisAT_type];
$vaisAT_pv = $nomvais_pv[$vaisAT_type];
}
}
}
}
elseif ($mission == 2) {
$Cmetal = $resultat['contenu_metal'];
$Ccristal = $resultat['contenu_cristal'];
$Chydrogene = $resultat['contenu_hydrogene'];
mysql_query("UPDATE `planete` SET `metal` = '$Cmetal', `cristal` = '$Ccristal', `hydrogene` = '$Chydrogene', WHERE `galaxie` = '$start_galaxie' AND `ss` = '$start_ss' AND `position` = '$start_position'");
}
}
if (time() >= $resultat['start_time'] + $resultat['end_time'] * 2 && !empty($resultat['end_time']) && $mission != 0) {
$start_galaxie = $resultat['start_galaxie'];
$start_ss = $resultat['start_ss'];
$start_position = $resultat['start_position'];
$id_flotte = $resultat['id'];
$reqP = mysql_query("SELECT * FROM planete WHERE `id_user` = '$id' AND `galaxie` = '$start_galaxie' AND `ss` = '$start_ss' AND `position` = '$start_position'");
$resultatP = mysql_fetch_array($reqP);
for($i = 1; $i <= 11; $i++) {
${'Pvaisseaux_'.$i} = $resultatP['vaisseau_'.$i] + $resultat['vaisseau_'.$i];
mysql_query("UPDATE `planete` SET `vaisseau_$i` = '${'Pvaisseaux_'.$i}' WHERE `id_user` = '$id' AND `galaxie` = '$start_galaxie' AND `ss` = '$start_ss' AND `position` = '$start_position'");
}
mysql_query("DELETE FROM `flottes` WHERE `id_user` = '$id' AND `id` = '$id_flotte'");
}
}
?>

View file

@ -53,7 +53,7 @@ else {
'root' => array(
'temps' => affTemp(floor($temps)),
'deblok' => '<b>Nom de la flotte incorrect !</b>',
'conso' => separerNombres(floor($conso*($_POST['vitesse']/100)*$nbtrajet))
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet))
)
);
/*elseif (empty($_POST['hyd']) || $_POST['hyd'] < $conso * 2)
@ -67,11 +67,12 @@ else {
else {
$cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10,99).$temps);
$_SESSION['flotte_cdsL'] = $cds;
if ($id == '46') setHistorique('Rapport Frederic PREP','Génération code : SESSION : '.$_SESSION['flotte_cdsL'].' - cds : '.$cds);
$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(floor($conso*($_POST['vitesse']/100)*$nbtrajet))
'conso' => separerNombres(ceil($conso*($_POST['vitesse']/100)*$nbtrajet))
)
);
}

View file

@ -1,30 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require('../connectBDD.php');
if ((time()) >= $temps_t && !empty($temps_t)) {
switch ($unit_t) {
case 1: $vaisseau_att += $cons_terrestre; mysql_query("UPDATE planete SET vais_0='$vaisseau_att' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 2: $vaisseau_1 += $cons_terrestre; mysql_query("UPDATE planete SET vais_1='$vaisseau_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 3: $vaisseau_2 += $cons_terrestre; mysql_query("UPDATE planete SET vais_2='$vaisseau_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 4: $vaisseau_3 += $cons_terrestre; mysql_query("UPDATE planete SET vais_3='$vaisseau_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 5: $vcl_1 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_1='$vcl_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 6: $vcl_2 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_2='$vcl_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 7: $vcl_3 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_3='$vcl_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 8: $vcl_4 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_4='$vcl_4' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 9: $def_1 += $cons_terrestre; mysql_query("UPDATE planete SET def_1='$def_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 10: $def_2 += $cons_terrestre; mysql_query("UPDATE planete SET def_2='$def_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 11: $def_3 += $cons_terrestre; mysql_query("UPDATE planete SET def_3='$def_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 12: $def_4 += $cons_terrestre; mysql_query("UPDATE planete SET def_4='$def_4' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 13: $def_5 += $cons_terrestre; mysql_query("UPDATE planete SET def_5='$def_5' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
}
mysql_query("UPDATE planete SET temps_t='0', unit_t='0', cons_terrestre='0' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
// if ($unit_t < 9 && $unit_t > 0) header("Location: chantier_terrestre.php");
// else if ($unit_t >= 9) header("Location: defense.php");
}
?>

View file

@ -37,29 +37,30 @@ $pos=$_SESSION['pos'];
}
if ($_GET['bat'] == 1) {
$metal += ceil(exp(0.4*$mine_m)*190);
$cristal += ceil(exp(0.4*$mine_m)*90);
$metal += ceil(pow(1.5,($mine_m-1))*68);
$cristal += ceil(pow(1.5,($mine_m-1))*17);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 2) {
$metal += ceil(exp(0.43*$mine_c)*205);
$cristal += ceil(exp(0.43*$mine_c)*110);
$metal += ceil(pow(1.6,($mine_c-1))*53);
$cristal += ceil(pow(1.6,($mine_c-1))*27);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 3) {
$metal += ceil(exp(0.445*$mine_h)*235);
$cristal += ceil(exp(0.445*$mine_h)*150);
$metal += ceil(pow(1.5,($mine_h-1))*242);
$cristal += ceil(pow(1.5,($mine_h-1))*72);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 4) {
$metal += ceil(exp(0.442*$centrale_s)*165);
$cristal += ceil(exp(0.442*$centrale_s)*99);
$metal += ceil(pow(1.5,($centrale_s-1))*92);
$cristal += ceil(pow(1.5,($centrale_s-1))*37);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 5) {
$metal += ceil(pow(1.8,$centrale_s)*300);
$cristal += ceil(pow(1.82,$centrale_s)*230);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
$metal += ceil(pow(1.73,($centrale_f-1))*800);
$cristal += ceil(pow(1.73,($centrale_f-1))*420);
$hydrogene += ceil(pow(1.68,($centrale_f-1))*285);
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', hydrogene='$hydrogene', temps_b='$temps_b', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 6) {
$metal += ceil(pow(2,$radar)*750);

View file

@ -65,7 +65,7 @@ else
}
}
include 'bdd.php';
include 'common.php';
echo'</head>

View file

@ -29,14 +29,14 @@ function ressources($fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro) {
if ($need_cristal > 0) {
if ($cristal <= $need_cristal) {
$z=floor($cristal)-$need_cristal;
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_cristal).'</acronym></span> ';
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[1].'">'.separerNombres($need_cristal).'</acronym></span> ';
}
else $return .= $ressourc[1].' : <span class="rc">'.separerNombres($need_cristal).' </span>';
}
if ($need_ro > 0) {
if ($ro <= $need_ro) {
$z=floor($ro)-$need_ro;
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_ro).'</acronym></span>';
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[2].'">'.separerNombres($need_ro).'</acronym></span>';
}
else $return .= $ressourc[2].' : <span class="rc">'.separerNombres($need_ro).'</span>';
}
@ -96,62 +96,62 @@ $a=0; $b=0; $c=0;
$i = 0;
$nom_bdd = 'mine_m';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=ceil(exp(0.4*$mine_m)*190); $b=ceil(exp(0.4*$mine_m)*90);
$n=(${$nom_bdd}-1); $a = ceil(pow(1.5,$n)*68); $b = ceil(pow(1.5,$n)*17); $c = 0;
if (is_array($fileBat) && $bat == $i+1) { $tr=$fileTemps_b[0]+$fileTemps_b[1]-time(); $action = 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>'; }
elseif (is_array($fileBat) && ereg(','.($i+1).',',','.implode(',', $fileBat).',')) $action = 'Bâtiment dans la file d\'attente';
elseif ($case <= 0) $action = '<font color="red">Planète pleine</font>';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(1.7,$mine_m)*120)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec((ceil(1.02*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.5,$n))*(1/(1+$ingenieur*0.005)))*60), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
// Batiment n°2 : Purificateur de cristal/Générateur de Cristal/Usine de cristal ; planete.mine_m
$i = 1;
$nom_bdd = 'mine_c';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=ceil(exp(0.43*$mine_c)*205); $b=ceil(exp(0.43*$mine_c)*110);
$n=(${$nom_bdd}-1); $a = ceil(pow(1.6,$n)*53); $b = ceil(pow(1.6,$n)*27); $c = 0;
if (is_array($fileBat) && $bat == $i+1) { $tr=$fileTemps_b[0]+$fileTemps_b[1]-time(); $action = 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>'; }
elseif (is_array($fileBat) && ereg(','.($i+1).',',','.implode(',', $fileBat).',')) $action = 'Bâtiment dans la file d\'attente';
elseif ($case <= 0) $action = '<font color="red">Planète pleine</font>';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(1.72,$mine_c)*160)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec((ceil(1.2*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.55,$n))*(1/(1+$ingenieur*0.005)))*60), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
// Batiment n°3 : Ionisateur/Générateur d'Hydrogène/Synchronisateur d'hydrogène ; planete.mine_h
$i = 2;
$nom_bdd = 'mine_h';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=ceil(exp(0.445*$mine_h)*235); $b=ceil(exp(0.445*$mine_h)*150);
$n=(${$nom_bdd}-1); $a = ceil(pow(1.5,$n)*242); $b = ceil(pow(1.5,$n)*72); $c = 0;
if (is_array($fileBat) && $bat == $i+1) { $tr=$fileTemps_b[0]+$fileTemps_b[1]-time(); $action = 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>'; }
elseif (is_array($fileBat) && ereg(','.($i+1).',',','.implode(',', $fileBat).',')) $action = 'Bâtiment dans la file d\'attente';
elseif ($case <= 0) $action = '<font color="red">Planète pleine</font>';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(1.75,$mine_h)*180)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec((ceil(1.5*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.624,$n))*(1/(1+$ingenieur*0.005)))*60), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
// Batiment n°4 : Centrale solaire/Générateur d'Energie/Centrale solaire ; planete.centrale_s
$i = 3;
$nom_bdd = 'centrale_s';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=ceil(exp(0.442*$centrale_s)*165); $b=ceil(exp(0.442*$centrale_s)*99);
$n=(${$nom_bdd}-1); $a = ceil(pow(1.5,$n)*92); $b = ceil(pow(1.5,$n)*37); $c = 0;
if (is_array($fileBat) && $bat == $i+1) { $tr=$fileTemps_b[0]+$fileTemps_b[1]-time(); $action = 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>'; }
elseif (is_array($fileBat) && ereg(','.($i+1).',',','.implode(',', $fileBat).',')) $action = 'Bâtiment dans la file d\'attente';
elseif ($case <= 0) $action = '<font color="red">Planète pleine</font>';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(1.68,$centrale_s)*190)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec((ceil(1.36*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.597,$n))*(1/(1+$ingenieur*0.005)))*60), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
// Batiment n°5 : Centrale de fusion/0/Centrale énergétique ; planete.centrale_f
if ($centrale_s >= 12 && $energie_t >= 5) {
$i = 4;
$nom_bdd = 'centrale_f';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=ceil(pow(1.8,$centrale_f)*300); $b=ceil(pow(1.82,$centrale_f)*230);
$n=(${$nom_bdd}-1); $a = ceil(pow(1.73,$n)*800); $b = ceil(pow(1.73,$n)*420); $c = ceil(pow(1.68,$n)*285);
if (is_array($fileBat) && $bat == $i+1) { $tr=$fileTemps_b[0]+$fileTemps_b[1]-time(); $action = 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>'; }
elseif (is_array($fileBat) && ereg(','.($i+1).',',','.implode(',', $fileBat).',')) $action = 'Bâtiment dans la file d\'attente';
elseif ($case <= 0) $action = '<font color="red">Planète pleine</font>';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(1.8,$centrale_f)*300)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec((ceil(1.8*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.7,$n))*(1/(1+$ingenieur*0.005)))*60), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
}
// Batiment n°6 : Oeil des prophètes/0/Base radar ; planete.centrale_f
@ -206,7 +206,7 @@ $a=0; $b=0; $c=0;
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(2,$chantier_spatial)*600)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
}
// Batiment n°10 : Caserne/0/Ecole militaire ; planete.caserne
/* // Batiment n°10 : Caserne/0/Ecole militaire ; planete.caserne
$i = 9;
$nom_bdd = 'caserne';
if (${$nom_bdd} > 0) $niveau = '(Niveau '.${$nom_bdd}.')'; else $niveau = '';
@ -217,7 +217,7 @@ $a=0; $b=0; $c=0;
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if ($action == 'Bâtiment dans la file d\'attente' || $action == 'Construction en cours, temps restant : <span id="axion"></span><br /><script type="text/javascript">reste('.$tr.');</script>') { $ACT = 'stop'; $lien = 'annul_bat.php?bat='.($i+1); } elseif ($action == '<font color="red">Construire</font>') $ACT = 'none'; else { $ACT = ''; $lien = 'batiment_validation.php?bat='.($i+1); }
if (!empty($batimeni[$i])) $template->assign_block_vars('batiment', array('IMAGE' => $batimeni[$i], 'NOM' => $batiment[$i], 'NUM' => $i, 'LIEN' => $lien, 'NIVEAU' => $niveau, 'DESCRIPTION' => $batimede[$i], 'DESCRIPTIONE' => addslashes($batimede[$i]), 'BESOIN' => ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h), 'TEMPS' => sec(ceil((pow(2,$caserne)*300)/(pow(1.23,$centre_info)+0.0025*$ingenieur))), 'ACTION' => $action, 'NEC_METAL' => separerNombres($a), 'NEC_CRISTAL' => separerNombres($b), 'NEC_HYDROGENE' => separerNombres($c), 'ACT' => $ACT, 'NOME' => addslashes($batiment[$i])));
*/
// Batiment n°11 : Entrepôt/Entrepôt/Silo de stockage ; planete.silo
$i = 10;
$nom_bdd = 'silo';

View file

@ -1,75 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$race=$_SESSION['race'];
require_once('bdd.php');
require('../connectBDD.php');
$continue = true;
while($continue) {
if (!empty($temps_b) && time() >= $temps_b) {
$anc = $bat;
$anc_temps_bat = $temps_b;
switch ($bat) {
case 1: $mine_m++; mysql_query("UPDATE planete SET mine_m='$mine_m' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 2: $mine_c++; mysql_query("UPDATE planete SET mine_c='$mine_c' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 3: $mine_h++; mysql_query("UPDATE planete SET mine_h='$mine_h' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 4: $centrale_s++; mysql_query("UPDATE planete SET centrale_s='$centrale_s' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 5: $centrale_f++; mysql_query("UPDATE planete SET centrale_f='$centrale_f' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 6: $radar++; mysql_query("UPDATE planete SET radar='$radar' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 7: $labo++; mysql_query("UPDATE planete SET labo='$labo' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 8: $chantier_terrestre++; mysql_query("UPDATE planete SET chantier_terrestre='$chantier_terrestre' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 9: $chantier_spatial++; mysql_query("UPDATE planete SET chantier_spatial='$chantier_spatial' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 10: $caserne++; mysql_query("UPDATE planete SET caserne='$caserne' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 11: $silo++; mysql_query("UPDATE planete SET silo='$silo' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 12: $centre_info++; mysql_query("UPDATE planete SET centre_info='$centre_info' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
}
if ($centrale_f > 0 ) $energie_f = ceil((($centrale_f*80+(exp($centrale_f*0.38)*11))*$coeff)); else $energie_f =0;
if ($centrale_s > 0 ) $energie_s = ceil((($centrale_s*20+(exp($centrale_s*0.3)*10))*$coeff)); else $energie_s =0;
$energie = $energie_s + $energie_f;
mysql_query("UPDATE planete SET energie='".$energie."' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
$pos = strpos(implode(',', $fileBat).',', $anc.',');
if (!($pos === false)) {
$newArray_bat = ''; $newArray_temps_b = $fileTemps_b[0].' ';
for ($i=0 ; $i<count($fileBat) ; $i++) {
if ($fileBat[$i] != $bat) {
$newArray_bat .= $fileBat[$i].' ';
$newArray_temps_b .= $fileTemps_b[$i+1].' ';
}
elseif ($i == 0) $newArray_temps_b = $fileTemps_b[0] + $fileTemps_b[1].' ';
}
$fileBat = split(' ', trim($newArray_bat));
$fileTemps_b = split(' ', trim($newArray_temps_b));
$temps_b = implode(' ', $fileTemps_b);
$bat = implode(' ', $fileBat);
$pos=$_SESSION['pos'];
if (count($fileTemps_b) == 0 || count($fileTemps_b) == 1 || count($fileBat) == 0) {
mysql_query("UPDATE planete SET temps_b='', bat='' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
$continue = false;
}
else mysql_query("UPDATE planete SET temps_b='$temps_b', bat='$bat' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
if ($bat_boucle == true) {
header('Location: batiment_validation.php?temps_bat='.$anc_temps_bat.'&act=e&bat='.$anc);
exit;
}
if (!is_array($fileTemps_b)) $temps_b = 0;
else $temps_b = $fileTemps_b[0] + $fileTemps_b[1];
if (!is_array($fileBat)) $bat = 0;
else $bat = $fileBat[0];
$anc = null;
}
}
else $continue = false;
}
mysql_close();
?>

View file

@ -1,101 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$race=$_SESSION['race'];
require ('bdd.php');
require('../connectBDD.php');
if ($_GET['bat'] == 1) {
$metal += ceil(exp(0.4*$mine_m)*190);
$cristal += ceil(exp(0.4*$mine_m)*90);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 2) {
$metal += ceil(exp(0.43*$mine_c)*205);
$cristal += ceil(exp(0.43*$mine_c)*110);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 3) {
$metal += ceil(exp(0.445*$mine_h)*235);
$cristal += ceil(exp(0.445*$mine_h)*150);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 4) {
$metal += ceil(exp(0.442*$centrale_s)*165);
$cristal += ceil(exp(0.442*$centrale_s)*99);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 5) {
$metal += ceil(pow(1.8,$centrale_s)*300);
$cristal += ceil(pow(1.82,$centrale_s)*230);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 6) {
$metal += ceil(pow(2,$radar)*750);
$cristal += ceil(pow(2,$radar)*500);
$hydrogene += ceil(pow(2,$radar)*50);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', hydrogene='$hydrogene', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 7) {
$metal += ceil(pow(2,$labo)*200);
$cristal += ceil(pow(2,$labo)*150);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 8 ) {
$metal += ceil(pow(2,$chantier_terrestre)*520);
$cristal += ceil(pow(2,$chantier_terrestre)*380);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 9) {
$metal += ceil(pow(2,$chantier_spatial)*600);
$cristal += ceil(pow(2,$chantier_spatial)*450);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 10) {
$metal += ceil(pow(2,$caserne)*200);
$cristal += ceil(pow(2,$caserne)*100);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 11) {
$metal += ceil(pow(2,$silo)*400);
$cristal += ceil(pow(2,$silo)*260);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
elseif ($_GET['bat'] == 12) {
$metal += ceil(pow(1.7,$centre_info)*600);
$cristal +=ceil(pow(1.7,$centre_info)*420);
$hydrogene +=ceil(pow(1.7,$centre_info)*100);
$temps = 0;
$bat = 0;
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', hydrogene='$hydrogene', temps_b='$temps', bat='$bat' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
}
mysql_close();
@header("Location: batiment.php");
?>

View file

@ -21,33 +21,34 @@ else {
if (ereg('e,', implode(',',$fileBat).',')) { header('Location: annul_bat.php?bat=e&go='.$_GET['bat']); exit; }
if ($_GET['bat'] == 1) {
$metal -= ceil(exp(0.4*$mine_m)*190);
$cristal -= ceil(exp(0.4*$mine_m)*90);
$temps_bat = ceil((pow(1.7,$mine_m)*120)/(pow(1.23,$centre_info)+0.0025*$ingenieur));
$metal -= ceil(pow(1.5,($mine_m-1))*68);
$cristal -= ceil(pow(1.5,($mine_m-1))*17);
$temps_bat = ceil(ceil(1.02*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.5,$mine_m-1))*(1/(1+$ingenieur*0.005)))*60;
$bat = 1;
}
elseif ($_GET['bat'] == 2) {
$metal -= ceil(exp(0.43*$mine_c)*205);
$cristal -= ceil(exp(0.43*$mine_c)*110);
$temps_bat = ceil((pow(1.72,$mine_c)*160)/(pow(1.23,$centre_info)+0.0025*$ingenieur));
$metal -= ceil(pow(1.6,($mine_c-1))*53);
$cristal -= ceil(pow(1.6,($mine_c-1))*27);
$temps_bat = ceil(ceil(1.2*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.55,$mine_c-1))*(1/(1+$ingenieur*0.005)))*60;
$bat = 2;
}
elseif ($_GET['bat'] == 3) {
$metal -= ceil(exp(0.445*$mine_h)*235);
$cristal -= ceil(exp(0.445*$mine_h)*150);
$temps_bat = ceil((pow(1.75,$mine_h)*180)/(pow(1.23,$centre_info)+0.0025*$ingenieur));
$metal -= ceil(pow(1.5,($mine_h-1))*242);
$cristal -= ceil(pow(1.5,($mine_h-1))*72);
$temps_bat = ceil(ceil(1.5*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.624,$mine_h-1))*(1/(1+$ingenieur*0.005)))*60;
$bat = 3;
}
elseif ($_GET['bat'] == 4) {
$metal -= ceil(exp(0.442*$centrale_s)*165);
$cristal -= ceil(exp(0.442*$centrale_s)*99);
$temps_bat = ceil((pow(1.68,$centrale_s)*190)/(pow(1.23,$centre_info)+0.0025*$ingenieur));
$metal -= ceil(pow(1.5,($centrale_s-1))*92);
$cristal -= ceil(pow(1.5,($centrale_s-1))*37);
$temps_bat = ceil(ceil(1.36*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.597,$centrale_s-1))*(1/(1+$ingenieur*0.005)))*60;
$bat = 4;
}
elseif ($_GET['bat'] == 5 && $centrale_s >= 12 && $energie_t >= 5) {
$metal -= ceil(pow(1.8,$centrale_f)*300);
$cristal -= ceil(pow(1.82,$centrale_f)*230);
$temps_bat = ceil((pow(1.8,$centrale_f)*300)/(pow(1.23,$centre_info)+0.0025*$ingenieur));
$metal -= ceil(pow(1.73,($centrale_f-1))*800);
$cristal -= ceil(pow(1.73,($centrale_f-1))*420);
$hydrogene -= ceil(pow(1.68,($centrale_f-1))*285);
$temps_bat = ceil(ceil(1.8*(1/(1+$nanite))*(3/(1+$centre_info))*pow(1.7,$centrale_f-1))*(1/(1+$ingenieur*0.005)))*60;
$bat = 5;
}
elseif ($_GET['bat'] == 6 && $detection >= 1) {
@ -109,6 +110,7 @@ if (isset($bat) && $bat != '' && (!empty($batiment[$bat-1]) || $bat == 'e' || (i
}
mysql_close();
$bat = $fileBat[0];
if (isset($_GET['go']) && $_GET['go'] == 1) header('Location: batiment.php?err=2');
if (isset($_GET['page'])) header('Location: depart.php');
elseif (isset($_GET['go']) && $_GET['go'] == 1) header('Location: batiment.php?err=2');
else header('Location: batiment.php');
?>

View file

@ -1,447 +0,0 @@
<?php
session_start();
include('../template.php');
$template = new Template('./');
$template->set_filenames(array('bati' => '../templates/bati.tpl'));
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once 'bdd.php';
require_once 'ressource.php';
require_once 'batiment_ajout.php';
require_once 'noms.php';
function sec($time) {
$output = '';
$tab = array ('jour' => '86400', 'heure' => '3600', 'minute' => '60', 'seconde' => '1');
foreach ($tab as $key => $value) {
$compteur = 0;
while ($time > ($value-1)) {
$time = $time - $value;
$compteur++;
}
if ($compteur != 0) {
$output .= $compteur.' '.$key;
if ($compteur > 1) $output .= 's';
if ($value != 1) $output .= ' ';
}
}
return $output;
}
function verification_des_ress($num, $fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro) {
if ($fer >= $need_fer && $cristal >= $need_cristal && $ro >= $need_ro) return "<br><br><br><font color=#0080c0><a href=\"batiment_validation.php?bat=".$num."\">Construire</a></font>";
else return "<br><br><br><font color=red>Construire</font>";
}
function ressources($fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro, $mine_m, $mine_c, $mine_h) {
require 'noms.php';
if ($need_fer > 0) {
if ($fer <= $need_fer) {
$z=floor($fer)-$need_fer;
return '<font color=red >'.$ressourc[0].' : <acronym title="'.$z.'">'.$need_fer.'</acronym></font> ';
}
else return $ressourc[0].' : <span class=rc>'.$need_fer.' </span>';
}
if ($need_cristal > 0) {
if ($cristal <= $need_cristal) {
$z=floor($cristal)-$need_cristal;
return '<font color=red >'.$ressourc[1].' : <acronym title="'.$z.'">'.$need_cristal.'</acronym></font> ';
}
else return $ressourc[1].' : <span class=rc>'.$need_cristal.' </span>';
}
if ($need_ro > 0) {
if ($ro <= $need_ro) {
$z=floor($ro)-$need_ro;
return '<font color=red >'.$ressourc[2].' : <acronym title="'.$z.'">'.$need_ro.'</acronym></font>';
}
else return $ressourc[2].' : <span class=rc>'.$need_ro.'</span>';
}
}
function ress_tem($fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro, $mine_m, $mine_c, $mine_h) {
if ($mine_m < 0) $prod_met = 40;
else $prod_metal = ceil((($mine_m*32)+(pow(1.41,$mine_m)*exp(0.066*$mine_m))*$coeff)*3.7) + 40;
if ($mine_c < 0) $prod_cri = 20;
else $prod_cristal = (floor(($mine_c*13)+(pow(1.36,$mine_c)*exp(0.0675*$mine_c))*$coeff)*7) + 20;
if ($centrale_f > 0) $conso_hy = ceil(($centrale_f*5+(exp($mine_m*0.3)*10))*$coeff);
else $conso_hy=0;
if ($mine_h < 0) $prod_hydrogene = 0.0000000001;
else $prod_hydrogene = (ceil((($mine_h*12)+(pow(1.394,$mine_h)*exp(0.072*$mine_h))*$coeff)*5));
$w = $prod_hydrogene - $conso_hy;
if ($mine_h == 0) { $w=1; $ro=0; $need_ro=0; }
if ($prod_hydrogene - $conso_hy < 0) { $w= 1; $ro=0; $need_ro=0; }
$tem1 = abs(floor($fer)-$need_fer)/$prod_metal;
$tem2 = abs(floor($cristal)-$need_cristal)/$prod_cristal;
$tem3 = abs(floor($ro)-$need_ro)/$w;
$tem = max($tem1,$tem2,$tem3);
return ceil($tem);
}
$case = $cases - ($mine_m + $mine_c + $mine_h + $centrale_s + $centrale_f + $radar + $labo + $chantier_terrestre + $chantier_spatial + $caserne + $silo);
// Usine de métallurgie
if ($mine_m > 0) $niveau = '(Niveau '.$mine_m.')'; else $niveau = '';
$description = 'Toute construction demande des quantités énormes de fer, pour cela des centaines de milliers d\'ouvriers
travaillent dans ces mines afin d\'assurer le bon fonctionnement de votre empire.';
$a=ceil(exp(0.4*$mine_m)*190); $b=ceil(exp(0.4*$mine_m)*90);
$ressources = ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h);
$temps = sec(ceil((pow(1.7,$mine_m)*120)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
if ($temps_b > 0) {
if ($bat==1) {
$tr=$temps_b-time();
$blockC = '<table align="center"><tr><td><div id="axion"></div></td></tr><script language="JavaScript">reste('.$tr.');</script><tr><td><a href="batiment_anul.php?bat=1">Annuler</a></td></tr></table>';
}
}
else {
if ($case <= 0) $blockC = '<font color="red">Planète pleine</font>';
else $blockC = verification_des_ress(1, $metal, $cristal, $hydrogene, $a, $b, 0);
}
$template->assign_block_vars('batiment',array('IMAGE' => $batimeni[0], 'NOMR' => $batimend[0], 'NOM' => $batiment[0], 'NIVEAU' => $niveau, 'DESCRIPTION' => $description, 'RESSOURCES' => $ressources, 'TEMPS' => $temps, 'BLOCKC' => $blockC));
// Usine de cristal
if ($mine_c > 0) $niveau = '(Niveau '.$mine_c.')'; else $niveau = '';
$description = 'DESCRIPTION';
$a=ceil(exp(0.43*$mine_c)*205); $b=ceil(exp(0.43*$mine_c)*110);
$ressources = ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h);
$temps = sec(ceil((pow(1.72,$mine_c)*160)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
if ($temps_b > 0) {
if ($bat==2) {
$tr=$temps_b-time();
$blockC = '<table align=center><tr><td><div id="axion"></div></td></tr><script language="JavaScript">reste('.$tr.');</script><tr><td><a href="batiment_anul.php?bat=2">Annuler</a></td></tr></table>';
}
}
else {
if ($case <= 0) $blockC = '<font color="red">Planète pleine</font>';
else $blockC = verification_des_ress(2, $metal, $cristal, $hydrogene, $a, $b, 0);
}
$template->assign_block_vars('batiment',array('IMAGE' => $batimeni[1], 'NOMR' => $batimend[1], 'NOM' => $batiment[1], 'NIVEAU' => $niveau, 'DESCRIPTION' => $description, 'RESSOURCES' => $ressources, 'TEMPS' => $temps, 'BLOCKC' => $blockC));
// Synchronisateur d'hydrogène
if ($mine_h > 0) $niveau = '(Niveau '.$mine_h.')'; else $niveau = '';
$description = 'DESCRIPTION';
$a=ceil(exp(0.445*$mine_h)*235); $b=ceil(exp(0.445*$mine_h)*150);
$ressources = ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h);
$temps = sec(ceil((pow(1.75,$mine_h)*180)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
if ($temps_b > 0) {
if ($bat == 3) {
$tr=$temps_b-time();
$blockC = '<table align=center><tr><td><div id="axion"></div></td></tr><script language="JavaScript">reste('.$tr.');</script><tr><td><a href="batiment_anul.php?bat=3">Annuler</a></td></tr></table>';
}
}
else {
if ($case <= 0) $blockC = '<font color="red">Planète pleine</font>';
else $blockC = verification_des_ress(3, $metal, $cristal, $hydrogene, $a, $b, 0);
}
$template->assign_block_vars('batiment',array('IMAGE' => $batimeni[2], 'NOMR' => $batimend[2], 'NOM' => $batiment[2], 'NIVEAU' => $niveau, 'DESCRIPTION' => $description, 'RESSOURCES' => $ressources, 'TEMPS' => $temps, 'BLOCKC' => $blockC));
//
if ($centrale_s > 0) $niveau = '(Niveau '.$centrale_s.')'; else $niveau = '';
$description = 'DESCRIPTION';
$a=ceil(exp(0.442*$centrale_s)*165); $b=ceil(exp(0.442*$centrale_s)*99);
$ressources = ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h);
$temps = sec(ceil((pow(1.68,$centrale_s)*190)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
if ($temps_b > 0) {
if ($bat == 4) {
$tr=$temps_b-time();
$blockC = '<table align=center><tr><td><div id="axion"></div></td></tr><script language="JavaScript">reste('.$tr.');</script><tr><td><a href="batiment_anul.php?bat=4">Annuler</a></td></tr></table>';
}
}
else {
if ($case <= 0) $blockC = '<font color="red">Planète pleine</font>';
else $blockC = verification_des_ress(4, $metal, $cristal, $hydrogene, $a, $b, 0);
}
$template->assign_block_vars('batiment',array('IMAGE' => $batimeni[3], 'NOMR' => $batimend[3], 'NOM' => $batiment[3], 'NIVEAU' => $niveau, 'DESCRIPTION' => $description, 'RESSOURCES' => $ressources, 'TEMPS' => $temps, 'BLOCKC' => $blockC));
$template->assign_vars(array('RACE' => $race));
$template->pparse('bati');
exit;
echo '</div>
<br class="a">
<div class="a">
<img src="images/batiments/'.$batimeni[3].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[3].'">'.$batiment[3].'</a> '; if ($centrale_s > 0) echo '(Niveau '.$centrale_s.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(exp(0.442*$centrale_s)*165); $b=ceil(exp(0.442*$centrale_s)*99);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(1.68,$centrale_s)*190)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==4) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=4\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color=red>Planète pleine</font>';
else verification_des_ress(4, $metal, $cristal, $hydrogene, $a, $b, 0);
}
echo '</div><br class="a">';
if ($centrale_s >= 12 && $energie_t >= 5) {
echo '<div class="a">
<img src="images/batiments/'.$batimeni[4].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[4].'">'.$batiment[4].'</a> '; if ($centrale_f > 0) echo '(Niveau '.$centrale_f.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(1.8,$centrale_s)*300);
$b=ceil(pow(1.82,$centrale_s)*230);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(1.8,$centrale_f)*300)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==5) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=5\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color=red>Planète pleine</font>';
else verification_des_ress(5, $metal, $cristal, $hydrogene, $a, $b, 0);
}
echo '</div><br class="a">';
}
if ($detection >= 1) {
echo '<div class=a>
<img src="images/batiments/'.$batimeni[5].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[5].'">'.$batiment[5].'</a> '; if ($radar > 0) echo '(Niveau '.$radar.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$radar)*750);
$b=ceil(pow(2,$radar)*500);
$c=ceil(pow(2,$radar)*50);
ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$radar)*720)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,$c, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==6) {
$tr=$temps_b-time();
echo '<table align="center"><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=6\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color="red">Planète pleine</font>';
else verification_des_ress(6, $metal, $cristal, $hydrogene, $a, $b, $c);
}
echo '</div><br class="a">';
}
echo '<div class="a">
<img src="images/batiments/'.$batimeni[6].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[6].'">'.$batiment[6].'</a> '; if ($labo > 0) echo '(Niveau '.$labo.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$labo)*200);
$b=ceil(pow(2,$labo)*150);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$labo)*720)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==7) {
$tr=$temps_b-time();
echo '<table align="center"><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=7\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo "<font color=red>Planète pleine</font>";
else {
if($tec > 0) echo '<font color="red"><br><br>Recherche en cours dans le </font><a href="laboratoire.php">laboratoire</a>';
else verification_des_ress(7, $metal, $cristal, $hydrogene, $a, $b, 0);
}
}
echo '</div>
<br class="a">
<div class="a">
<img src="images/batiments/'.$batimeni[7].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[7].'">'.$batiment[7].'</a> '; if ($chantier_terrestre > 0) echo '(Niveau '.$chantier_terrestre.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$chantier_terrestre)*520);
$b=ceil(pow(2,$chantier_terrestre)*380);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$chantier_terrestre)*420)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==8) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=8\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color="red">Planète pleine</font>';
else {
if($unit_t > 0 && unit_t <= 8) { echo '<font color="red"><br><br>Construction en cours dans le </font><a href="chantier_terrestre.php">chantier terrestre</a>'; }
elseif($unit_t > 8) { echo'<font color="red"><br><br>Construction en cours dans le </font><a href="defenses.php">centre de défenses</a>'; }
else verification_des_ress(8, $metal, $cristal, $hydrogene, $a, $b, 0);
}
}
echo '</div>
<br class="a">';
if ($chantier_terrestre >= 2) {
echo '<div class="a">
<img src="images/batiments/'.$batimeni[8].'">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[8].'">'.$batiment[8].'</a> '; if ($chantier_spatial > 0) echo '(Niveau '.$chantier_spatial.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$chantier_spatial)*600);
$b=ceil(pow(2,$chantier_spatial)*450);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$chantier_spatial)*600)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==9) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=9\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo "<font color=red>Planète pleine</font>";
else {
if($unit_s > 0) echo "<font color=red><br><br>Construction en cours dans le </font><a href=chantier_terrestre.php>chantier terrestre</a>";
else verification_des_ress(9, $metal, $cristal, $hydrogene, $a, $b, 0);
}
}
echo '</div><br class="a">';
}
echo '<div class="a">
<img src="images/batiments/'.$batimeni[9].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[9].'">'.$batiment[9].'</a> '; if ($caserne > 0) echo '(Niveau '.$caserne.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$caserne)*200);
$b=ceil(pow(2,$caserne)*100);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$caserne)*300)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==10) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=10\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color="red">Planète pleine</font>';
else {
if($unit > 0) echo '<font color="red"><br><br>Entrainement en cours dans la </font><a href="caserne.php">caserne</a>';
else verification_des_ress(10, $metal, $cristal, $hydrogene, $a, $b, 0);
}
}
echo '</div>
<br class="a">
<div class="a">
<img src="images/batiments/'.$batimeni[10].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[10].'">'.$batiment[10].'</a> '; if ($silo > 0) echo '(Niveau '.$silo.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(2,$silo)*400);
$b=ceil(pow(2,$silo)*260);
ressources($metal, $cristal, $hydrogene, $a, $b, 0, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(2,$silo)*1200)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,0, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==11) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=11\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color="red">Planète pleine</font>';
else verification_des_ress(11, $metal, $cristal, $hydrogene, $a, $b, 0);
}
echo '</div>';
if ($informatique >= 2) {
echo'<br class="a">
<div class="a">
<img src="images/batiments/'.$batimeni[11].'" alt="">
</div>
<div class="b">
<a href="descriptions.php?bat='.$batimend[11].'">'.$batiment[11].'</a> '; if ($centre_info > 0) echo '(Niveau '.$centre_info.')'; echo '<br>
Description.<br>
Besoin de : ';
$a=ceil(pow(1.7,$centre_info)*600);
$b=ceil(pow(1.7,$centre_info)*420);
$c=ceil(pow(1.7,$centre_info)*100);
ressources($metal, $cristal, $hydrogene, $a, $b, $c, $mine_m, $mine_c, $mine_h); echo '<br>
Temps de construction : '; sec(ceil((pow(1.9,$centre_info)*800)/(pow(1.23,$centre_info)+0.0025*$ingeneieur)));
//if (sec(ress_tem($fer, $cristal, $ro, $a, $nb,$c, $mine_m, $mine_c, $mine_h)) <= 0) { echo '<br>Temps avant construction : maintenant'; } else { echo'<br>Temps avant construction : ';sec($tem); }
echo '</div>
<div class="c">';
if ($temps_b > 0) {
if ($bat==12) {
$tr=$temps_b-time();
echo '<table align=center><tr><td><div id="axion"></div></td></tr>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "<tr><td><a href=\"batiment_anul.php?bat=12\">Annuler</a></td></tr></table>";
}
}
else {
if ($case <= 0) echo '<font color="red">Planète pleine</font>';
else verification_des_ress(12, $metal, $cristal, $hydrogene, $a, $b, $c);
}
echo '</div>'; }
echo '</td></tr></table></div>';
echo'</body>
</html>';
?>

View file

@ -1,175 +0,0 @@
<?php
require_once('flotte_dep.php');
require_once('../securite.php');
require('../connectBDD.php');
$z = mysql_query("SELECT * FROM user WHERE id='$id' ");
$donnees = mysql_fetch_array($z);
$id = $donnees['id'];
$pseudo = $donnees['pseudo'];
$mdp = $donnees['mdp'];
$auth_level = $donnees['auth_level'];
$race = $donnees['race'];
$mail = $donnees['mail'];
$ip = $donnees['last_ip'];
$mv = $donnees['mv'];
$last_visite = $donnees['last_visite'];
$points = $donnees['points'];
$place_points = $donnees['place_points'];
$recherches = $donnees['recherches'];
$place_recherches = $donnees['place_recherches'];
$flotte = $donnees['flotte'];
$place_flotte = $donnees['place_flotte'];
$terrestre = $donnees['terrestre'];
$place_terrestre = $donnees['place_terrestre'];
//$fileTemps_t = split(' ', trim('11111111199 2222222222 3333333333 4444444444 5555555555 6666666666 7777777777 8888888888 9999999999 '));
$fileTemps_t = split(' ', trim($donnees['temps_t']));
if (!is_array($fileTemps_t) || !isset($fileTemps_t[1])) $temps_tec = 0;
else $temps_tec = $fileTemps_t[0] + $fileTemps_t[1];
//$fileTec = split(' ', trim('1 2 3 4 5 6 7 8 9 '));
$fileTec = split(' ', trim($donnees['tec']));
if (!is_array($fileTec)) $tec = 0;
else $tec = $fileTec[0];
if (ereg('e;',implode(',',$fileTec).';')) $tec_boucle = true;
else $tec_boucle = false;
$planete_source = $donnees['planete_source'];
$informatique = $donnees['informatique'];
$detection = $donnees['detection'];
$armement = $donnees['armement'];
$energie_t = $donnees['energie_t'];
$reacteur = $donnees['reacteur'];
$reacteur_f = $donnees['reacteur_f'];
$reacteur_ff = $donnees['reacteur_ff'];
$medecine = $donnees['medecine'];
$tactique = $donnees['tactique'];
//$developement = $donnees['developement'];
$blindage = $donnees['blindage'];
$spartan = $donnees['spartan'];
$y = mysql_query("SELECT * FROM planete WHERE id_user='$id' AND galaxie='$galaxy' AND position='$pos' AND ss='$ss'");
$donnees = mysql_fetch_array($y);
$galaxy = $donnees['galaxie'];
$ss = $donnees['ss'];
$pos = $donnees['position'];
$nb = $donnees['nb'];
$nom_planete = $donnees['nom_planete'];
$image = $donnees['image'];
$cases = $donnees['cases'];
$debris_met = $donnees['debris_met'];
$debris_cri = $donnees['debris_cri'];
$metal = $donnees['metal'];
$cristal = $donnees['cristal'];
$hydrogene = $donnees['hydrogene'];
$timestamp = $donnees['timestamp'];
$coeff = $donnees['coeff'];
$energie = $donnees['energie'];
//$fileTemps_b = split(' ', trim('1195602663 3600 3333333333 4444444444 5555555555 6666666666 7777777777 8888888888 9999999999 '));
$fileTemps_b = split(' ', trim($donnees['temps_b']));
if (!is_array($fileTemps_b) || !isset($fileTemps_b[1])) $temps_b = 0;
else $temps_b = $fileTemps_b[0] + $fileTemps_b[1];
//$fileBat = split(' ', trim('1 2 3 4 5 6 7 8 9 '));
$fileBat = split(' ', trim($donnees['bat']));
if (!is_array($fileBat)) $bat = 0;
else $bat = $fileBat[0];
if (ereg('e;',implode(',',$fileBat).';')) $bat_boucle = true;
else $bat_boucle = false;
$mine_m = $donnees['mine_m'];
$coeff_mine_m = $donnees['coeff_mine_m'];
$mine_c = $donnees['mine_c'];
$coeff_mine_c = $donnees['coeff_mine_c'];
$mine_h = $donnees['mine_h'];
$coeff_mine_h = $donnees['coeff_mine_h'];
$centrale_s = $donnees['centrale_s'];
$coeff_energie_s = $donnees['coeff_centrale_s'];
$centrale_f = $donnees['centrale_f'];
$coeff_energie_f = $donnees['coeff_centrale_f'];
$radar = $donnees['radar'];
$labo = $donnees['labo'];
$chantier_terrestre = $donnees['chantier_terrestre'];
$chantier_spatial = $donnees['chantier_spatial'];
$caserne = $donnees['caserne'];
$silo = $donnees['silo'];
$centre_info = $donnees['centre_info'];
$temps_caserne = $donnees['cas_contruct_time'];
$cons_caserne = $donnees['cas_contruct_nb'];
$unit = $donnees['cas_contruct'];
$soldat1 = $donnees['soldat1'];
$soldat2 = $donnees['soldat2'];
$soldat3 = $donnees['soldat3'];
$soldat4 = $donnees['soldat4'];
$sniper = $donnees['sniper'];
$spartam = $donnees['spartam'];
$medecin = $donnees['medecin'];
$ingenieur = $donnees['ingenieur'];
$soldat_lourd = $donnees['soldat_lourd'];
//$fileTemps_s = split(' ', trim('1195902663 3600 3333333333 4444444444 5555555555 6666666666 7777777777 8888888888 9999999999 '));
$fileTemps_s = split(' ', trim($donnees['temps_spatial']));
if (!is_array($fileTemps_s) || !isset($fileTemps_s[1])) $temps_s = 0;
else $temps_s = $fileTemps_s[0] + $fileTemps_s[1];
//$fileVai = split(' ', trim('1 1 2 2 5 2 2 2 2 '));
$fileVai = split(' ', trim($donnees['unit_s']));
if (!is_array($fileVai)) $unit_s = 0;
else $unit_s = $fileVai[0];
if (ereg('e;',implode(',',$fileVai).';')) $vai_boucle = true;
else $vai_boucle = false;
$temps_spatial = $temps_s;
$vaisseau_1 = $donnees['vaisseau_1'];
$vaisseau_2 = $donnees['vaisseau_2'];
$vaisseau_3 = $donnees['vaisseau_3'];
$vaisseau_4 = $donnees['vaisseau_4'];
$vaisseau_5 = $donnees['vaisseau_5'];
$vaisseau_6 = $donnees['vaisseau_6'];
$vaisseau_7 = $donnees['vaisseau_7'];
$vaisseau_8 = $donnees['vaisseau_8'];
$vaisseau_9 = $donnees['vaisseau_9'];
$vaisseau_10 = $donnees['vaisseau_10'];
$vaisseau_11 = $donnees['vaisseau_11'];
$vaisseau_12 = $donnees['vaisseau_12'];
//$fileTemps_v = split(' ', trim('1197500068 3600 3333333333 4444444444 5555555555 6666666666 7777777777 8888888888 9999999999 '));
$fileTemps_v = split(' ', trim($donnees['temps_t']));
if (!is_array($fileTemps_v) || !isset($fileTemps_v[1])) $temps_v = 0;
else $temps_v = $fileTemps_v[0] + $fileTemps_v[1];
//$fileVeh = split(' ', trim('9 9 10 10 11 11 12 12 12 '));
$fileVeh = split(' ', trim($donnees['unit_t']));
if (!is_array($fileVeh)) $unit_v = 0;
else $unit_v = $fileVeh[0];
if (ereg('e;',implode(',',$fileVeh).';')) $veh_boucle = true;
else $veh_boucle = false;
$temps_terrestre = $temps_v;
$vais_0 = $donnees['vais_0'];
$vais_1 = $donnees['vais_1'];
$vais_2 = $donnees['vais_2'];
$vais_3 = $donnees['vais_3'];
$vcl_1 = $donnees['vcl_1'];
$vcl_2 = $donnees['vcl_2'];
$vcl_3 = $donnees['vcl_3'];
$vcl_4 = $donnees['vcl_4'];
$def_1 = $donnees['def_1'];
$def_2 = $donnees['def_2'];
$def_3 = $donnees['def_3'];
$def_4 = $donnees['def_4'];
$def_5 = $donnees['def_5'];
require_once('batiment_ajout.php');
//require_once('caserne_ajout.php');
require_once('chantier_spacial_ajout.php');
//require_once('chantier_terrestre_ajout.php');
require_once('defense_ajout.php');
require_once('laboratoire_ajout.php');
$case = $cases - ($mine_m + $mine_c + $mine_h + $centrale_s + $centrale_f + $radar + $labo + $chantier_terrestre + $chantier_spatial + $caserne + $silo);
if (md5($race) == '34c19b21bd4a3dda389e767d32fe9779' && $auth_level >= 6) $templates = strtolower($race).'/';
else $templates = 'humain/';
?>

View file

@ -1,247 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$_SESSION['dernPage'] = 'caserne.php';
require_once '../securite.php';
echo"<html>
<head>
<title>Halo battle</title>
<link rel=stylesheet media=screen type=text/css title=design href=descriptions/diz/base.css >
<meta http-equiv=pragma content=no-cache >
<meta http-equiv=content-type content=text/html;charset=iso-8869-1 >
<link rel=shortcut icon type=image/x-icon href=favicon.ico >";
require_once 'bdd.php';
require_once 'ressource.php';
require_once 'caserne_ajout.php';
require_once 'noms.php';
function sec($time) {
$output = '';
$tab = array ('jour' => '86400', 'heure' => '3600', 'minute' => '60', 'seconde' => '1');
foreach ($tab as $key => $value) {
$compteur = 0;
while ($time > ($value-1)) {
$time = $time - $value;
$compteur++;
}
if ($compteur != 0) {
$output .= $compteur.' '.$key;
if ($compteur > 1) $output .= 's';
if ($value != 1) $output .= ' ';
}
}
echo $output;
}
function cons_max($fer,$cristal,$hydrogene,$need_fer,$need_cristal,$need_hydrogene) {
if (need_fer > 0) {
$m1 = floor($fer)/$need_fer; }
if (need_cristal > 0) {
$m2 = floor($cristal)/$need_cristal; }
if (need_hydrogene > 0) {
$m3 = floor($hydrogene)/$need_hydrogene; }
if (isset($m1) && isset($m2) && isset($m3)) { $m = min($m1,$m2,$m3); echo floor($m);}
elseif (isset($m1) && isset($m2) && !isset($m3)) { $m = min($m1,$m2); echo floor($m);}
} //(maximum ";cons_max($fer,$cristal,$hydrogene,80,45,0);echo" unitées)<br>
$f = ceil(60/pow(1.25,($caserne-1)));
$g = ceil(240/pow(1.25,($caserne-2)));
$h = ceil(240/pow(1.25,($caserne-3)));
$i = ceil(720/pow(1.25,($caserne-5)));
$j = ceil(300/pow(1.25,($caserne-3)));
$k = ceil(29700/pow(1.25,($caserne-10)));
$l = ceil(90/pow(1.25,($caserne-2)));
$m = ceil(90/pow(1.25,($caserne-2)));
$n = ceil(900/pow(1.25,($caserne-5)));
if ($temps_caserne>0) $unit = $casernea[--$unit];
?>
</head>
<body>
<script language="javascript" src="time.js"></script>
<?php
print '<div class="centre"><table style="margin-left: auto; margin-right: auto; width: 275px; height: 50px"><tr><td><b>Prochainement dans Halo-Battle</b></td></tr></table></div></body></html>';
exit;
if ($caserne > 0) {
if ($temps_caserne >0) {
echo "<table align=center><tr><td>Entrainement terminé dans : ";
$tr=$temps_caserne-time();
echo '<span id="axion"></span>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "</td></tr><tr><td>Entrainement de : ".$cons_caserne." ".$unit."</td></tr></table><br>";
}
if ($caserne >= 1) {
echo'<div class=d><a href="arbre_unitees_'.$race.'.php">Arbre des technologies</a></div><br class="a">
<div style="text-align: center; border: none;"><table style="margin-left: auto; margin-right: auto;"><tr><td style="border:none; background: transparent;">
<div class=a>
<img src="images/caserne/'.$casernei[0].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[0].'</a>'; if ($soldat1 > 0) { echo" (".$soldat1." unités)"; }
echo '<br>'.$casernde[0].'<br>Besoin de : Métal : <span class=rc>80</span> Cristal : <span class=rc>45</span><br>
Temps de construction : '; sec($f);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 80 && $cristal >= 45) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat1 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[1].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[1].'</a>'; if ($soldat2 > 0) { echo" (".$soldat2." unités)"; }
echo '<br>'.$casernde[1].'<br>Besoin de : Métal : <span class=rc>110</span> Cristal : <span class=rc>90</span><br>
Temps de construction : '; sec($g);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 110 && $cristal >= 90) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat2 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 3 && $armement >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[2].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[2].'</a>'; if ($soldat3 > 0) { echo" (".$soldat3." unités)"; }
echo '<br>'.$casernde[2].'<br>Besoin de : Métal : <span class=rc>150</span> Cristal : <span class=rc>105</span><br>
'.$ressourc[2].' : 20<br>
Temps de construction : '; sec($h);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 150 && $cristal >= 105 && $hydrogene >= 20) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat3 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 5 && $armement >= 3 && $tactique >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[3].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[3].'</a>'; if ($soldat4 > 0) { echo" (".$soldat4." unités)"; }
echo '<br>'.$casernde[3].'<br>Besoin de : Métal : <span class=rc>220</span> Cristal : <span class=rc>150</span><br>
Temps de construction : '; sec($i);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 220 && $cristal >= 150) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat4 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 3 && $armement >= 1) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[4].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[4].'</a>'; if ($sniper > 0) { echo" (".$sniper." unités)"; }
echo '<br>'.$casernde[4].'<br>Besoin de : Métal : <span class=rc>180</span> Cristal : <span class=rc>100</span><br>
Temps de construction : '; sec($j);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 180 && $cristal >= 100) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_sniper /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 10 && $armement >= 5 && $blindage >= 5 && $spartan >= 3) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[5].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[5].'</a>'; if ($spartam > 0) { echo" (".$spartam." unités)"; }
echo '<br>'.$casernde[5].'<br>Besoin de : Métal : <span class=rc>25.000</span> Cristal : <span class=rc>10.000</span><br>
Temps de construction : '; sec($k);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 25000 && $cristal >= 10000) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_spartam /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 2 && $medecine >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[6].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[6].'</a>'; if ($medecin > 0) { echo" (".$medecin." unités)"; }
echo '<br>'.$casernde[6].'<br>Besoin de : Métal : <span class=rc>100</span> Cristal : <span class=rc>100</span><br>
Temps de construction : '; sec($l);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 100 && $cristal >= 100) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_medecin /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[7].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[7].'</a>'; if ($ingenieur > 0) { echo" (".$ingenieur." unités)"; }
echo '<br>'.$casernde[7].'<br>Besoin de : Métal : <span class=rc>90</span> Cristal : <span class=rc>105</span><br>
Temps de construction : '; sec($m);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 90 && $cristal >= 105) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_ingenieur /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
if ($caserne >= 5 && $armement >= 4 && $blindage >= 2) {
echo'<div class=a>
<img src="images/caserne/'.$casernei[8].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$casernen[8].'</a>'; if ($soldat_lourd > 0) { echo" (".$soldat_lourd." unités)"; }
echo '<br>'.$casernde[8].'<br>Besoin de : Métal : <span class=rc>300</span> Cristal : <span class=rc>250</span><br>
Temps de construction : '; sec($n);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_soldat.php">';
if ($bat == 10) echo "<br><br><br>Caserne en construction";
else {
if ($metal >= 300 && $cristal >= 250) { if ($temps_caserne < time()) { echo "<br><br><br><input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat_lourd /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo '</form></div><br class=a>'; }
} else { echo'<table align=center><tr><td>Vous devez d\'abord construire une caserne !</td></tr></table>'; }
?>
</td></tr></table></div>
</body>
</html>

View file

@ -1,27 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require('../connectBDD.php');
if (time() >= $temps_caserne && !empty($temps_caserne)) {
switch ($unit) {
case 1: $soldat1 += $cons_caserne; mysql_query("UPDATE planete SET soldat1='$soldat1' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
case 2: $soldat2 += $cons_caserne; mysql_query("UPDATE planete SET soldat2='$soldat2' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 3: $soldat3 += $cons_caserne; mysql_query("UPDATE planete SET soldat3='$soldat3' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 4: $soldat4 += $cons_caserne; mysql_query("UPDATE planete SET soldat4='$soldat4' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 5: $sniper += $cons_caserne; mysql_query("UPDATE planete SET sniper='$sniper' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 6: $spartam += $cons_caserne; mysql_query("UPDATE planete SET spartam='$spartam' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 7: $medecin += $cons_caserne; mysql_query("UPDATE planete SET medecin='$medecin' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 8: $ingenieur += $cons_caserne; mysql_query("UPDATE planete SET ingenieur='$ingenieur' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 9: $soldat_lourd += $cons_caserne; mysql_query("UPDATE planete SET soldat_lourd='$soldat_lourd' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
}
mysql_query("UPDATE planete SET cas_contruct_time='0', cas_contruct='0', cas_contruct_nb='0' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
// @header("Location: troupes.php");
}
mysql_close();
?>

View file

@ -1,190 +0,0 @@
<?php
session_start();
define('DESIGN', 'descriptions/diz/base.css');
require('../header.php');
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require_once('ressource.php');
function sec($time) {
$output = '';
$tab = array ('jour' => '86400', 'heure' => '3600', 'minute' => '60', 'seconde' => '1');
foreach ($tab as $key => $value) {
$compteur = 0;
while ($time > ($value-1)) {
$time = $time - $value;
$compteur++;
}
if ($compteur != 0) {
$output .= $compteur.' '.$key;
if ($compteur > 1) $output .= 's';
if ($value != 1) $output .= ' ';
}
}
echo $output;
}
$f = ceil((60 - (0.1*$caserne*60)));
$g = ceil((240 - (0.1*$caserne*240)));
$h = ceil((240 - (0.1*$caserne*240)));
$i = ceil((720 - (0.1*$caserne*720)));
$j = ceil((300 - (0.1*$caserne*300)));
$k = ceil((29700 - (0.1*$caserne*29700)));
$l = ceil((90 - (0.1*$caserne*90)));
$m = ceil((90 - (0.1*$caserne*90)));
$n = ceil((900 - (0.1*$caserne*900)));
if ($temps_caserne > 0) {
switch ($unit) {
case 1: $unit= "grunts"; break;
case 2: $unit= "jackals"; break;
case 3: $unit= "drones"; break;
case 4: $unit= "élites"; break;
case 5: $unit= "snipers"; break;
case 6: $unit= "hunters"; break;
case 7: $unit= "médecins"; break;
case 8: $unit= "ingénieurs"; break;
case 9: $unit= "brutes"; break;
}
}
?>
<body>
<script language="javascript" src="time.js"></script>
<?php
if ($caserne > 0) {
if ($temps_caserne >0) {
echo "<table align=center><tr><td>Entrainement terminé dans : ";
$tr=$temps_caserne-time();
echo '<span id="axion"></span>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo "</td></tr><tr><td>Entrainement de : ".$cons_caserne." ".$unit."</td></tr></table><br>";
}
echo"<table align=center><tr><td width=134>lmages</td><td width=350>Description</td><td width=120>Nombre</td></tr>";
if ($caserne >= 1) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Grunt</a>"; if ($soldat1 > 0) { echo"( ".$soldat1." unités )"; } echo"<br>Métal : 80<br>Cristal : 45<br>Temps : "; sec($f); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 80 && $cristal >= 45) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat1 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Jackal</a> "; if ($soldat2 > 0) { echo"( ".$soldat2." unités )"; } echo"<br>Métal : 110<br>Cristal : 90<br>Temps : "; sec($g); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 110 && $cristal >= 90) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat2 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo "</td></tr></form>";
}
if ($caserne >= 3 && $armement >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Drones</a>"; if ($soldat3 > 0) { echo"( ".$soldat3." unités )"; } echo"<br>Métal : 150<br>Cristal : 105<br>Hydrogène : 20<br>Temps : "; sec($h); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 150 && $cristal >= 105) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat3 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 5 && $armement >= 3 && $tactique >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Elites</a>"; if ($soldat4 > 0) { echo"( ".$soldat4." unités )"; } echo"<br>Métal : 220<br>Cristal : 150<br>Temps : "; sec($i); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 220 && $cristal >= 150) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat4 /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 3 && $armement >= 1) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Sniper</a>"; if ($sniper > 0) { echo"( ".$sniper." unités )"; } echo"<br>Métal : 180<br>Cristal : 100<br>Temps : "; sec($j); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 180 && $cristal >= 100) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_sniper /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 10 && $armement >= 5 && $blindage >= 5 && $spartan >= 3) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Hunter</a>"; if ($spartam > 0) { echo"( ".$spartam." unités )"; } echo"<br>Métal : 25000<br>Cristal : 10000<br>Temps : "; sec($k); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 25000 && $cristal >= 10000) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_spartan /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 2 && $medecine >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Médecin</a>"; if ($medecin > 0) { echo"( ".$medecin." unités )"; } echo"<br>Métal : 100<br>Cristal : 100<br>Temps : "; sec($l); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 100 && $cristal >= 100) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_medecin /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Ingenieur</a>"; if ($ingenieur > 0) { echo"( ".$ingenieur." unités )"; } echo"<br>Métal : 90<br>Cristal : 105<br>Temps : "; sec($m); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 80 && $cristal >= 45) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_ingenieur /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
if ($caserne >= 5 && $armement >= 4 && $blindage >= 2) {
echo "<form method=\"post\" action=\"validation_soldat.php\">
<tr>
<td><img src=\"descriptions/diz/caserne/.jpg\"></td>
<td align=left><a href=\"descriptions/.php\">Brute</a>"; if ($soldat_lourd > 0) { echo"( ".$soldat_lourd." unités )"; } echo"<br>Métal : 300<br>Cristal : 250<br>Temps : "; sec($n); echo"<br></td>
<td>";
if ($bat == 10) echo "Caserne en construction";
else {
if ($metal >= 80 && $cristal >= 45) { if ($temps_caserne < time()) { echo "<input type=text class=zone_texte size=4 maxlength=4 name=cons_soldat_lourd /><br><input type=submit value=Envoyer class=bouton>"; }}
}
echo"</td></tr></form>";
}
} else { ?><center><table><tr><td>Vous devez d'abord construire une caserne !</td></tr></table></center><?php }
echo "</table>"; ?>
</body>
</html>

View file

@ -1,66 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require('../connectBDD.php');
$continue = true;
while($continue) {
if (!empty($temps_spatial) && time() >= $temps_spatial) {
switch ($unit_s) {
case 1: $vaisseau_1++; mysql_query("UPDATE planete SET vaisseau_1='$vaisseau_1' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 2: $vaisseau_2++; mysql_query("UPDATE planete SET vaisseau_2='$vaisseau_2' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 3: $vaisseau_3++; mysql_query("UPDATE planete SET vaisseau_3='$vaisseau_3' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 4: $vaisseau_4++; mysql_query("UPDATE planete SET vaisseau_4='$vaisseau_4' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 5: $vaisseau_5++; mysql_query("UPDATE planete SET vaisseau_5='$vaisseau_5' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 6: $vaisseau_6++; mysql_query("UPDATE planete SET vaisseau_6='$vaisseau_6' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 7: $vaisseau_7++; mysql_query("UPDATE planete SET vaisseau_7='$vaisseau_7' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 8: $vaisseau_8++; mysql_query("UPDATE planete SET vaisseau_8='$vaisseau_8' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 9: $vaisseau_9++; mysql_query("UPDATE planete SET vaisseau_9='$vaisseau_9' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 10: $vaisseau_10++; mysql_query("UPDATE planete SET vaisseau_10='$vaisseau_10' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
case 11: $vaisseau_11++; mysql_query("UPDATE planete SET vaisseau_11='$vaisseau_11' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'"); break;
}
$pos = strpos(implode(',', $fileVai).',', $vai.',');
if (!($pos === false)) {
$depart = 0;
$nb = 1;
$eff = 0;
$newArray_vai = ''; $newArray_temps_v = $temps_spatial.' ';
for ($i=0 ; $i<count($fileVai) ; $i++) {
if ($fileVai[$i] != $unit_s || $eff >= $nb || $i < $depart) {
$newArray_vai .= $fileVai[$i].' ';
$newArray_temps_v .= $fileTemps_s[$i+1].' ';
}
elseif ($i == 0) { $newArray_temps_v = ($fileTemps_s[0] + $fileTemps_s[1]).' '; $eff++; }
else $eff++;
}
$fileVai = split(' ', trim($newArray_vai));
$fileTemps_s = split(' ', trim($newArray_temps_v));
$temps_s = implode(' ', $fileTemps_s);
$vai = implode(' ', $fileVai);
$pos=$_SESSION['pos'];
if (count($fileTemps_s) == 0 || count($fileTemps_s) == 1 || count($fileVai) == 0) {
mysql_query("UPDATE planete SET temps_spatial='', unit_s='' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
$continue = false;
}
else mysql_query("UPDATE planete SET temps_spatial='$temps_s', unit_s='$vai' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
if (!is_array($fileTemps_s)) $temps_s = 0;
else $temps_s = $fileTemps_s[0] + $fileTemps_s[1];
$temps_spatial = $temps_s;
if (!is_array($fileVai)) $unit_s = 0;
else $unit_s = $fileVai[0];
if (ereg('e;',implode(',',$fileVai).';')) $vai_boucle = true;
else $vai_boucle = false;
$vai = null;
}
}
else $continue = false;
}
mysql_close();
?>

View file

@ -40,14 +40,14 @@ function ressources($fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro) {
if ($need_cristal > 0) {
if ($cristal <= $need_cristal) {
$z=floor($cristal)-$need_cristal;
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_cristal).'</acronym></span> ';
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[1].'">'.separerNombres($need_cristal).'</acronym></span> ';
}
else $return .= $ressourc[1].' : <span class="rc">'.$need_cristal.' </span>';
}
if ($need_ro > 0) {
if ($ro <= $need_ro) {
$z=floor($ro)-$need_ro;
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_ro).'</acronym></span>';
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[2].'">'.separerNombres($need_ro).'</acronym></span>';
}
else $return .= $ressourc[2].' : <span class="rc">'.separerNombres($need_ro).'</span>';
}
@ -104,7 +104,7 @@ $a=0; $b=0; $c=0;
$i = 0;
$nom_bdd = 'vaisseau_'.($i+1);
if (${$nom_bdd} > 0) $niveau = '('.${$nom_bdd}.' vaisseau(x))'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=1000; $b=800;
$n=(${$nom_bdd}-1); $a=1000; $b=800; $c=0;
if($bat == 9) $action = 'Le chantier spatial est en cours d\'évolution';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if (verification_des_ressvf($i+1, $metal, $cristal, $hydrogene, $a, $b, $c)) { $ACT = ''; $lien = 'chantier_spatial_validation.php?type='.($i+1); } else { $ACT = 'none'; $lien = ''; }
@ -116,7 +116,7 @@ $a=0; $b=0; $c=0;
$i = 1;
$nom_bdd = 'vaisseau_'.($i+1);
if (${$nom_bdd} > 0) $niveau = '('.${$nom_bdd}.' vaisseau(x))'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=4000; $b=3000;
$n=(${$nom_bdd}-1); $a=4000; $b=3000; $c=0;
if($bat == 9) $action = 'Le chantier spatial est en cours d\'évolution';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if (verification_des_ressvf($i+1, $metal, $cristal, $hydrogene, $a, $b, $c)) { $ACT = ''; $lien = 'chantier_spatial_validation.php?type='.($i+1); } else { $ACT = 'none'; $lien = ''; }
@ -164,7 +164,7 @@ $a=0; $b=0; $c=0;
$i = 5;
$nom_bdd = 'vaisseau_'.($i+1);
if (${$nom_bdd} > 0) $niveau = '('.${$nom_bdd}.' vaisseau(x))'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=1700; $b=1220;
$n=(${$nom_bdd}-1); $a=1700; $b=1220; $c=0;
if($bat == 9) $action = 'Le chantier spatial est en cours d\'évolution';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if (verification_des_ressvf($i+1, $metal, $cristal, $hydrogene, $a, $b, $c)) { $ACT = ''; $lien = 'chantier_spatial_validation.php?type='.($i+1); } else { $ACT = 'none'; $lien = ''; }
@ -176,7 +176,7 @@ $a=0; $b=0; $c=0;
$i = 6;
$nom_bdd = 'vaisseau_'.($i+1);
if (${$nom_bdd} > 0) $niveau = '('.${$nom_bdd}.' vaisseau(x))'; else $niveau = '';
$n=(${$nom_bdd}-1); $a=5800; $b=1400;
$n=(${$nom_bdd}-1); $a=5800; $b=1400; $c=0;
if($bat == 9) $action = 'Le chantier spatial est en cours d\'évolution';
else $action = verification_des_ress($i+1, $metal, $cristal, $hydrogene, $a, $b, $c);
if (verification_des_ressvf($i+1, $metal, $cristal, $hydrogene, $a, $b, $c)) { $ACT = ''; $lien = 'chantier_spatial_validation.php?type='.($i+1); } else { $ACT = 'none'; $lien = ''; }

View file

@ -1,242 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$_SESSION['dernPage'] = 'chantier_terrestre.php';
require_once '../securite.php';
echo"<html>
<head>
<title>Halo battle</title>
<link rel=stylesheet media=screen type=text/css title=design href=descriptions/diz/base.css >
<meta http-equiv=pragma content=no-cache >
<meta http-equiv=content-type content=text/html;charset=iso-8869-1 >
<link rel=shortcut icon type=image/x-icon href=favicon.ico >";
require_once 'bdd.php';
require_once 'ressource.php';
require_once 'chantier_terrestre_ajout.php';
require_once 'noms.php';
function sec ($time) {
$output = '';
$tab = array ('jour' => '86400', 'heure' => '3600', 'minute' => '60', 'seconde' => '1');
foreach ($tab as $key => $value) {
$compteur = 0;
while ($time > ($value-1)) {
$time = $time - $value;
$compteur++;
}
if ($compteur != 0) {
$output .= $compteur.' '.$key;
if ($compteur > 1) $output .= 's';
if ($value != 1) $output .= ' ';
}
}
echo $output;
}
$f = ceil(720/pow(1.25,($chantier_terrestre-1)));
$g = ceil(2040/pow(1.25,($chantier_terrestre-3)));
$h = ceil(7200/pow(1.25,($chantier_terrestre-4)));
$i = ceil(3960/pow(1.25,($chantier_terrestre-6)));
$j = ceil(600/pow(1.25,($chantier_terrestre-1)));
$k = ceil(1080/pow(1.25,($chantier_terrestre-2)));
$l = ceil(2160/pow(1.25,($chantier_terrestre-3)));
$m = ceil(4680/pow(1.25,($chantier_terrestre-5)));
if ($temps_t > 0) $unit = $nomterra[--$unit_t];
?>
<script language="javascript" src="time.js"></script>
</head>
<body>
<?php
print '<div class="centre"><table style="margin-left: auto; margin-right: auto; width: 275px; height: 50px"><tr><td><b>Prochainement dans Halo-Battle</b></td></tr></table></div></body></html>';
exit;
if ($chantier_terrestre > 0) {
if ($temps_t > 0) {
echo '<table align="center"><tr><td>Construction terminé dans : ';
$tr=$temps_t-time();
echo '<span id="axion"></span>';
echo '<script language="JavaScript">reste('.$tr.');</script>';
echo '</td></tr><tr><td>Entrainement de : '.$cons_terrestre.' '.$unit.'</td></tr></table><br>';
}
if ($chantier_terrestre >= 1) {
echo'<div class=d><a href="arbre_vehicules_'.$race.'.php">Arbre des technologies</a></div><br class="a">
<div class="center"><table style="margin-left: auto; margin-right: auto;"><tr><td style="border:none; background: transparent;">
<div class=a>
<img src="images/terrestre/'.$nomterri[0].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[0].'</a>'; if ($vais_0 > 0) { echo" (".$vais_0." vaisseaux)"; }
echo '<br>'.$nomterde[0].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>500</span> '.$ressourc[1].' : <span class=rc>300</span><br>
Temps de construction : '; sec($f);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 500 && $cristal >= 300) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vaisseau_att" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 3 && $armement >= 1) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[1].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[1].'</a>'; if ($vais_1 > 0) { echo" (".$vais_1." vaisseaux)"; }
echo '<br>'.$nomterde[1].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>680</span> '.$ressourc[1].' : <span class=rc>420</span><br>
Temps de construction : '; sec($g);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 680 && $cristal >= 420) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vaisseau_1" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 4 && $reacteur >= 1) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[2].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[2].'</a>'; if ($vais_2 > 0) { echo" (".$vais_2." vaisseaux)"; }
echo '<br>'.$nomterde[2].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>1.000</span> '.$ressourc[1].' : <span class=rc>600</span><br>
Temps de construction : '; sec($h);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 1000 && $cristal >= 600) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vaisseau_2" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 6 && $reacteur >= 3) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[3].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[3].'</a>'; if ($vais_3 > 0) { echo" (".$vais_3." vaisseaux)"; }
echo '<br>'.$nomterde[3].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>1.400</span> '.$ressourc[1].' : <span class=rc>950</span><br>
Temps de construction : '; sec($i);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 1400 && $cristal >= 950) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vaisseau_3" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 1) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[4].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[4].'</a>'; if ($vcl_1 > 0) { echo" (".$vcl_1." véhicules)"; }
echo '<br>'.$nomterde[4].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>400</span> '.$ressourc[1].' : <span class=rc>240</span><br>
Temps de construction : '; sec($j);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 400 && $cristal >= 240) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vcl_1" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 2) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[5].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[5].'</a>'; if ($vcl_2 > 0) { echo" (".$vcl_2." véhicules)"; }
echo '<br>'.$nomterde[5].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>480</span> '.$ressourc[1].' : <span class=rc>260</span><br>
Temps de construction : '; sec($k);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 480 && $cristal >= 260) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vcl_2" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 3 && $armement >= 1) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[6].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[6].'</a>'; if ($vcl_3 > 0) { echo" (".$vcl_3." véhicules)"; }
echo '<br>'.$nomterde[6].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>600</span> '.$ressourc[1].' : <span class=rc>420</span><br>
Temps de construction : '; sec($l);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 600 && $cristal >= 420) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vcl_3" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
if ($chantier_terrestre >= 5 && $blindage >=2 && $armement >=2) {
echo'<div class=a>
<img src="images/terrestre/'.$nomterri[7].'" alt="" />
</div>
<div class=b>
<a href=\"descriptions/.php\">'.$nomterrn[7].'</a>'; if ($vcl_4 > 0) { echo" (".$vcl_4." véhicules)"; }
echo '<br>'.$nomterde[7].'<br>Besoin de : '.$ressourc[0].' : <span class=rc>1.000</span> '.$ressourc[1].' : <span class=rc>500</span><br>
Temps de construction : '; sec($m);
echo '</div>
<div class="c">';
echo'<form method="post" action="validation_terrestre.php">';
if ($bat == 8) echo '<br><br><br>Chantier terrestre en construction';
else {
if ($metal >= 1000 && $cristal >= 500) { if ($temps_t < time()) { echo '<br><br><br><input type="text" class="zone_texte" size="4" maxlength="4" name="cons_vcl_4" /><br><input type="submit" value="Envoyer" class="bouton"">'; }}
else {
if ($unit_t > 9) echo '<br><font color="red">Construction en cours dans le </font><a href="defense.php">centre de défenses</a>';
}
}
echo '</form></div><br class=a>'; }
}
else { echo '<table align=center><tr><td>Vous devez d\'abord construire un chantier terrestre !</td></tr></table>'; } ?>
</td></tr></table></div>
</body>
</html>

View file

@ -1,31 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require('../connectBDD.php');
if ((time()) >= $temps_terrestre && !empty($temps_terrestre)) {
switch ($unit_t) {
case 1: $vais_0 += $cons_terrestre; mysql_query("UPDATE planete SET vais_0='$vais_0' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 2: $vais_1 += $cons_terrestre; mysql_query("UPDATE planete SET vais_1='$vais_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 3: $vais_2 += $cons_terrestre; mysql_query("UPDATE planete SET vais_2='$vais_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 4: $vais_3 += $cons_terrestre; mysql_query("UPDATE planete SET vais_3='$vais_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 5: $vcl_1 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_1='$vcl_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 6: $vcl_2 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_2='$vcl_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 7: $vcl_3 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_3='$vcl_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 8: $vcl_4 += $cons_terrestre; mysql_query("UPDATE planete SET vcl_4='$vcl_4' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 9: $def_1 += $cons_terrestre; mysql_query("UPDATE planete SET def_1='$def_1' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 10: $def_2 += $cons_terrestre; mysql_query("UPDATE planete SET def_2='$def_2' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 11: $def_3 += $cons_terrestre; mysql_query("UPDATE planete SET def_3='$def_3' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 12: $def_4 += $cons_terrestre; mysql_query("UPDATE planete SET def_4='$def_4' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
case 13: $def_5 += $cons_terrestre; mysql_query("UPDATE planete SET def_5='$def_5' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'"); break;
}
mysql_query("UPDATE planetes SET terr_contruct_time='0', terr_contruct='0', terr_contruct_nb='0' WHERE galaxie='$galaxy' AND ss='$ss' AND position='$pos' AND id_user='$id'");
$cons_terrestre = 0; $unit_t = 0; $temps_terrestre = 0;
// if ($unit_t < 9 && $unit_t > 0) header("Location: chantier_terrestre.php");
// else if ($unit_t >= 9) header("Location: defense.php");
}
?>

View file

@ -1,94 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$race=$_SESSION['race'];
require_once('bdd.php');
require_once('noms.php');
require('../connectBDD.php');
if ($_POST['type'] == 'e' && $labo >= 1 && !ereg('e,', implode(',',$fileVai).',')) {
$temps_s = '';
$veh = 'e';
}
else {
// Annulation de la production en chaîne si elle existe
//if (ereg('e,', implode(',',$fileVai).',')) { header('Location: annul_bat.php?bat=e&go='.$_POST['type']); exit; }
if (!isset($_POST['sa'])) exit;
else $sa = abs(floor($_POST['sa']));
if ($_POST['type'] == 9) {
$metal -= ($sa*500);
$cristal -= ($sa*200);
$temps_s = $sa*ceil(480/pow(1.25,($chantier_terrestre-1)));
$veh = 9;
}
elseif ($_POST['type'] == 10) {
$metal -= ($sa*4000);
$cristal -= ($sa*2000);
$temps_s = $sa*ceil(1560/pow(1.25,($chantier_terrestre-3)));
$veh = 10;
}
elseif ($_POST['type'] == 11) {
$metal -= ($sa*4500);
$cristal -= ($sa*800);
$hydrogene -= ($sa*600);
$temps_s = $sa*ceil(1800/pow(1.25,($chantier_terrestre-4)));
$veh = 11;
}
elseif ($_POST['type'] == 12) {
$metal -= ($sa*12000);
$cristal -= ($sa*10000);
$hydrogene -= ($sa*1000);
$temps_s = $sa*ceil(6720/pow(1.25,($chantier_terrestre-4)));
$veh = 12;
}
elseif ($_POST['type'] == 13) {
$metal -= ($sa*15000);
$cristal -= ($sa*9500);
$hydrogene -= ($sa*1500);
$temps_s = $sa*ceil(12960/pow(1.25,($chantier_terrestre-8)));
$veh = 13;
}
}
if (isset($veh) && $veh != '' && (!empty($nomvaisn[$veh-1]) || $veh == 'e' || (isset($_GET['act']) && $_GET['act'] == 'e'))) {
if ($metal >= 0 && $cristal >= 0 && $hydrogene >= 0) {
for ($c=0 ; $c < $sa ; $c++){
$fileVai = explode(' ',implode(' ',$fileVai).' '.$veh);
}
$veh = implode(' ',$fileVai);
if (count($fileTemps_s) == 0 || count($fileTemps_s) == 1) {
$temps_ss = time();
for ($c=0 ; $c < $sa ; $c++){
$temps_ss .= ' '.$temps_s;
}
$temps_s = $temps_ss;
}
else {
$temps_ss = implode(' ',$fileTemps_s);
for ($c=0 ; $c < $sa ; $c++){
$temps_ss .= ' '.$temps_s;
}
$temps_s = $temps_ss;
}
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', temps_spatial='$temps_s', unit_s='$veh' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
}
else {
if ($veh >= 9 ) header('Location: chantier_terrestre.php?err=3');
else header('Location: chantier_terrestre.php?err=3');
mysql_close();
exit;
}
}
mysql_close();
$veh = $fileVai[0];
if ($veh >= 9 ) header('Location: defense.php');
else header('Location: chantier_terrestre.php');
?>

View file

@ -1,122 +0,0 @@
<?php
session_start();
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$race=$_SESSION['race'];
require_once('bdd.php');
require_once('noms.php');
require('../connectBDD.php');
if (ereg($_GET['tec'].',', implode(',',$fileTec).',')) { header('Location: laboratoire.php?err=1'); exit; }
if ($_GET['tec'] == 'e' && $labo >= 1 && !ereg('e,', implode(',',$fileTec).',')) {
$temps_tec = '';
$tec = 'e';
}
else {
// Annulation de la production en chaîne si elle existe
if (ereg('e,', implode(',',$fileTec).',')) { header('Location: annul_tec.php?tec=e&go='.$_GET['tec']); exit; }
if ($_GET['tec'] == 1 && $labo >= 1) {
$n=($informatique-1);
$cristal -= ceil(pow(2,$n)*500);
$hydrogene -= ceil(pow(2,$n)*150);
$temps_tec = ceil((420*2*($informatique+1))/pow(1.25,($labo-1)));
$tec = 1;
}
elseif ($_GET['tec'] == 2 && $labo >= 2 && $informatique >=2) {
$n=($detection-1);
$metal -= ceil(pow(2,$n)*500);
$cristal -= ceil(pow(2,$n)*750);
$hydrogene -= ceil(pow(2,$n)*100);
$temps_tec = ceil((600*2*($detection+1))/pow(1.25,($labo-2)));
$tec = 2;
}
elseif ($_GET['tec'] == 3 && $labo >= 5) {
$n=($armement-1);
$metal -= ceil(pow(2,$n)*2500);
$cristal -= ceil(pow(2,$n)*500);
$temps_tec = ceil((1500*2*($armement+1))/pow(1.25,($labo-5)));
$tec = 3;
}
elseif ($_GET['tec'] == 4 && $labo >= 4) {
$n=($blindage-1);
$metal -= ceil(pow(2,$n)*4000);
$cristal -= ceil(pow(2,$n)*1500);
$temps_tec = ceil((1710*2*($blindage+1))/pow(1.25,($labo-4)));
$tec = 4;
}
elseif ($_GET['tec'] == 5 && $labo >= 2) {
$n=($energie_t-1);
$metal -= ceil(pow(2,$n)*2000);
$cristal -= ceil(pow(2,$n)*1500);
$hydrogene -= ceil(pow(2,$n)*300);
$temps_tec = ceil((900*2*($energie_t+1))/pow(1.25,($labo-2)));
$tec = 5;
}
elseif ($_GET['tec'] == 6 && $labo >= 2) {
$n=($reacteur-1);
$metal -= ceil(pow(2,$n)*1400);
$cristal -= ceil(pow(2,$n)*400);
$temps_tec = ceil((510*2*($reacteur+1))/pow(1.25,($labo-2)));
$tec = 6;
}
elseif ($_GET['tec'] == 7 && $labo >= 4 && $energie_t >= 2 && $reacteur >= 4) {
$n=($reacteur_f-1);
$metal -= ceil(pow(2,$n)*3000);
$cristal -= ceil(pow(2,$n)*2100);
$hydrogene -= ceil(pow(2,$n)*750);
$temps_tec = ceil((1650*2*($reacteur_f+1))/pow(1.25,($labo-4)));
$tec = 7;
}
elseif ($_GET['tec'] == 8 && $labo >= 6 && $energie_t >= 5 && $reacteur_f >= 4) {
$n=($reacteur_ff-1);
$metal -= ceil(pow(2,$n)*5000);
$cristal -= ceil(pow(2,$n)*4000);
$hydrogene -= ceil(pow(2,$n)*1500);
$temps_tec = ceil((2400*2*($reacteur_ff+1))/pow(1.25,($labo-6)));
$tec = 8;
}
elseif ($_GET['tec'] == 9 && $labo >= 1) {
$n=($medecine-1);
$metal -= ceil(pow(2,$n)*800);
$cristal -= ceil(pow(2,$n)*1000);
$temps_tec = ceil((360*2*($medecine+1))/pow(1.25,($labo-1)));
$tec = 9;
}
elseif ($_GET['tec'] == 10 && $labo >= 3) {
$n=($tactique-1);
$metal -= ceil(pow(2,$n)*2600);
$cristal -= ceil(pow(2,$n)*2600);
$temps_tec = ceil((4410*2*($tactique+1))/pow(1.25,($labo-3)));
$tec = 10;
}
elseif ($_GET['tec'] == 11 && $labo >= 8 && $medecine >= 5 && $informatique >= 8) {
$n=($spartan-1);
$metal -= ceil(pow(3,$n)*5200);
$cristal -= ceil(pow(3,$n)*4250);
$hydrogene -= ceil(pow(3,$n)*850);
$temps_tec = ceil((5000*2*($spartan+1))/pow(1.25,($labo-8)));
$tec = 11;
}
}
if (isset($tec) && $tec != '' && (!empty($technolo[$tec-1]) || $tec == 'e')) {
if ($metal >= 0 && $cristal >= 0 && $hydrogene >= 0) {
$tec = implode(' ',$fileTec).' '.$tec.' ';
if ((count($fileTemps_t) == 0 || count($fileTemps_t) == 1) && isset($_GET['act']) && $_GET['act'] == 'e' && isset($_GET['temps_tec'])) $temps_tec = $_GET['temps_tec'].' '.$temps_tec.' ';
elseif (count($fileTemps_t) == 0 || count($fileTemps_t) == 1) $temps_tec = time().' '.$temps_tec.' ';
else $temps_tec = implode(' ',$fileTemps_t).' '.$temps_tec.'';
mysql_query("UPDATE planete SET metal='$metal', cristal='$cristal', hydrogene='$hydrogene' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'");
if (isset($_GET['act']) && $_GET['act'] == 'e') { $tec .= 'e'; mysql_query("UPDATE user SET temps_t='$temps_tec', tec='$tec' WHERE id='$id'"); }
else mysql_query("UPDATE user SET temps_t='$temps_tec', tec='$tec' WHERE id='$id'");
}
}
mysql_close();
if (isset($_GET['go']) && $_GET['go'] == 1) header('Location: laboratoire.php?err=2');
else header('Location: laboratoire.php');
?>

View file

@ -149,10 +149,11 @@ require('../connectBDD.php');
exit;
}
$conso = vais_conso($timeDep,count($AvaisType))*($_POST['speed']/100)*2;
$conso = ceil(vais_conso($timeDep,count($AvaisType))*($_POST['speed']/100)*2);
//Vérification des codes transmi
if (!isset($_POST['cds']) || empty($_POST['cds']) || $_SESSION['flotte_cdsL'] != $_POST['cds']) {
setHistorique('Rapport Frederic','Décalage Code : SESSION : '.$_SESSION['flotte_cdsL'].' - POST : '.$_POST['cds']);
header('Location: flotte.php?err=12');
exit;
}

View file

@ -37,14 +37,14 @@ function ressources($fer, $cristal, $ro, $need_fer, $need_cristal, $need_ro) {
if ($need_cristal > 0) {
if ($cristal <= $need_cristal) {
$z=floor($cristal)-$need_cristal;
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_cristal).'</acronym></span> ';
$return .= '<span style="color: #FF0000;">'.$ressourc[1].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[1].'">'.separerNombres($need_cristal).'</acronym></span> ';
}
else $return .= $ressourc[1].' : <span class="rc">'.separerNombres($need_cristal).' </span>';
}
if ($need_ro > 0) {
if ($ro <= $need_ro) {
$z=floor($ro)-$need_ro;
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[0].'">'.separerNombres($need_ro).'</acronym></span>';
$return .= '<span style="color: #FF0000;">'.$ressourc[2].' : <acronym title="Manque : '.separerNombres(abs($z)).' unités de '.$ressourc[2].'">'.separerNombres($need_ro).'</acronym></span>';
}
else $return .= $ressourc[2].' : <span class="rc">'.separerNombres($need_ro).'</span>';
}

View file

@ -1,61 +0,0 @@
<?php
$id=$_SESSION['id'];
$galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
require_once('bdd.php');
require('../connectBDD.php');
$continue = true;
while($continue) {
if (!empty($temps_v) && time() >= $temps_v) {
switch ($unit_v) {
case 9: $def_1++; mysql_query("UPDATE planete SET def_1='$def_1' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
case 10: $def_2++; mysql_query("UPDATE planete SET def_2='$def_2' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
case 11: $def_3++; mysql_query("UPDATE planete SET def_3='$def_3' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
case 12: $def_4++; mysql_query("UPDATE planete SET def_4='$def_4' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
case 13: $def_5++; mysql_query("UPDATE planete SET def_5='$def_5' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error()); break;
}
$pos = strpos(implode(',', $fileVeh).',', $veh.',');
if (!($pos === false)) {
$depart = 0;
$nb = 1;
$eff = 0;
$newArray_veh = ''; $newArray_temps_v = $fileTemps_v[0].' ';
for ($i=0 ; $i<count($fileVeh) ; $i++) {
if ($fileVeh[$i] != $unit_v || $eff >= $nb || $i < $depart) {
$newArray_veh .= $fileVeh[$i].' ';
$newArray_temps_v .= $fileTemps_v[$i+1].' ';
}
elseif ($i == 0) { $newArray_temps_v = $temps_v.' '; $eff++; }
else $eff++;
}
$fileVeh = split(' ', trim($newArray_veh));
$fileTemps_v = split(' ', trim($newArray_temps_v));
$temps_v = implode(' ', $fileTemps_v);
$veh = implode(' ', $fileVeh);
$pos=$_SESSION['pos'];
$combien = count($fileTemps_v);
if (count($fileTemps_s) == 0 || $combien == 1 || count($fileVeh) == 0) {
mysql_query("UPDATE planete SET temps_t='', unit_t='' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
$continue = false;
}
else mysql_query("UPDATE planete SET temps_t='$temps_v', unit_t='$veh' WHERE id_user='$id' AND galaxie='$galaxy' AND ss='$ss' AND position='$pos'") or die ("erreur sql ".mysql_error());
if (!is_array($fileTemps_v)) $temps_v = 0;
else $temps_v = $fileTemps_v[0] + $fileTemps_v[1];
if (!is_array($fileVeh)) $unit_v = 0;
else $unit_v = $fileVeh[0];
if (ereg('e;',implode(',',$fileVeh).';')) $veh_boucle = true;
else $veh_boucle = false;
$veh = null;
}
}
else $continue = false;
}
mysql_close();
?>

View file

@ -12,6 +12,7 @@ $galaxy=$_SESSION['galaxy'];
$ss=$_SESSION['ss'];
$pos=$_SESSION['pos'];
$race=$_SESSION['race'];
if (!isset($_SESSION['PL_abandonne'])) $_SESSION['PL_abandonne'] = false;
if (isset($_SESSION['dernPage']) && $_SESSION['dernPage'] != '' && !isset($_GET['pas'])) {
header('Location: '.$_SESSION['dernPage']);
$_SESSION['dernPage'] = '';
@ -25,6 +26,21 @@ require('../connectBDD.php');
require('../template.php');
$template = new Template('../templates/'.$templates);
if ($_SESSION['PL_abandonne'] && isset($_GET['act']) && $_GET['act'] == 'del') {
mysql_query("DELETE FROM `planete` WHERE `id_user` = '$id' AND `galaxie` = '$galaxy' AND `ss` = '$ss' AND `position` = '$pos' LIMIT 1;") or die ('mysql');
$req = mysql_query("SELECT galaxie, ss, position FROM `planete` WHERE `id_user` = '$id'");
$resultat = mysql_fetch_array($req);
$_SESSION['galaxy'] = $resultat['galaxie'];
$_SESSION['ss'] = $resultat['ss'];
$_SESSION['pos'] = $resultat['position'];
$_SESSION['dernPage'] = '';
header('Location: depart.php?erreur=0');
exit;
}
/* Page départ
*
*/
@ -43,7 +59,7 @@ $data = mysql_fetch_array($ee);
//Format de date courant
//$DATEHEURE = date('H:i:s d/m/Y');
//Format de date Halo
$DATEHEURE = dateFR(date('/D d M Y/Hi/'));
$DATEHEURE = dateFR(date('/D d M Y/Hi:s/'));
if (mysql_num_rows($nbr) == 1) $MESSAGERIE = '<a href="messagerie.php"><b>Vous avez 1 nouveau message</b></a>';
elseif (mysql_num_rows($nbr) > 1) $MESSAGERIE = '<a href="messagerie.php"><b>Vous avez '.mysql_num_rows($nbr).' nouveaux messages</b></a>';
@ -69,7 +85,7 @@ while ($resultat = mysql_fetch_array($req)) {
}
if ($FLOTTE != '') $FLOTTE = '<table style="margin-left: auto; margin-right: auto;"><tr><th>Temps</th><th>Evénement</th></tr>'.$FLOTTE.'</table>';
$template->assign_vars(array('DATEHEURE' => $DATEHEURE, 'MESSAGERIE' => $MESSAGERIE, 'NOM_PLANETE' => $nom_planete, 'PSEUDO_PLANETE' => trouvNom($id), 'PSEUDO' => $data['pseudo'], 'IMAGE' => $image, 'DESC_DIAMETRE' => $diametre, 'DESC_CASES' => $case, 'DESC_CASESMAX' => $cases, 'RACE' => $race, 'GALAXIE' => $galaxy, 'SYSTEME' => $ss, 'POSITION' => $pos, 'POINTS' => $data['points'], 'PLACE' => $data['place_points'], 'FLOTTE' => $FLOTTE));
$template->assign_vars(array('DATEHEURE' => $DATEHEURE, 'MESSAGERIE' => $MESSAGERIE, 'NOM_PLANETE' => $nom_planete, 'PSEUDO_PLANETE' => trouvNom($id), 'PSEUDO' => $data['pseudo'], 'IMAGE' => $image, 'DESC_DIAMETRE' => $diametre, 'DESC_CASES' => $case, 'DESC_CASESMAX' => $cases, 'RACE' => $race, 'GALAXIE' => $galaxy, 'SYSTEME' => $ss, 'POSITION' => $pos, 'POINTS' => separerNombres($data['points']), 'PLACE' => separerNombres($data['place_points']).'ème', 'FLOTTE' => $FLOTTE));
/* FIN Page départ
*
*/

View file

@ -19,7 +19,7 @@ $template = new Template('../templates/'.$templates);
function tableauProd($ibat,$nivo){
$dejadefi = 1;
require('bdd.php');
require('common.php');
$return = '';
$c = $nivo-2 < 1 ? 1 : $nivo-2; $a = $c + 7;
if ($ibat == 0) {

View file

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 247 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 248 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 827 B

After

Width:  |  Height:  |  Size: 827 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 248 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before After
Before After

Some files were not shown because too many files have changed in this diff Show more