diff --git a/.drone.yml b/.drone.yml index af479b3..b05c253 100644 --- a/.drone.yml +++ b/.drone.yml @@ -64,6 +64,7 @@ steps: trigger: event: + - cron - push - tag diff --git a/htdocs/ajax_flotte.php b/htdocs/ajax_flotte.php index 669ac90..af900cb 100644 --- a/htdocs/ajax_flotte.php +++ b/htdocs/ajax_flotte.php @@ -1,16 +1,20 @@ values['connected']) && $sess->values['connected'] && !empty($sess->values['id']) && !empty($sess->level) && !empty($sess->values['idPlan'])) { +if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['idPlan'])) { + $idPrep = gpc("cds_temp", "post"); $json = new Services_JSON(); $nbtrajet = 2; - if (empty($config['flottes']) && $sess->level <= 1) { + if (empty($VAR['flottes']) && $SESS->level <= 1) { $datas = array( 'root' => array( 'destination' => '::', @@ -28,8 +32,7 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte $destin = gpc('fav_dest', 'post'); $chapeau = new bdd(); - $chapeau->connexion(); - $idPlan = $sess->values['idPlan']; + $idPlan = $SESS->values['idPlan']; $queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'"); if (!empty($destin)) { $chapeau->escape($destin); @@ -45,18 +48,11 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte $start_ss = $queryPlanete['ss']; $start_position = $queryPlanete['position']; - $met = gpc('met', 'post'); - $cri = gpc('cri', 'post'); - $hyd = gpc('hyd', 'post'); - if (!empty($sess->values['flcontenu']) && $met+$cri+$hyd >= 0 && $met >= 0 && $cri >= 0 && $hyd >= 0) { - $places = $sess->values['flcontenu'] - ($met+$cri+$hyd); - } else { - $places = 'inconnu'; - } - - - - if (empty($sess->values['fltime']) || $sess->values['fltime'] + 600 < time() || empty($sess->values['flnbvais']) || empty($sess->values['flvitesse']) && isset($sess->values['auth_level'])) { + if (empty($SESS->values["prepFlottes"][$idPrep]['time']) || + $SESS->values["prepFlottes"][$idPrep]['time'] + 1200 < time() || + empty($SESS->values["prepFlottes"][$idPrep]['nbVaisseaux']) || + empty($SESS->values["prepFlottes"][$idPrep]['vitesse']) && + isset($SESS->values['auth_level'])) { $datas = array( 'root' => array( 'destination' => $destinRapid, @@ -64,7 +60,7 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte 'deblok' => 'Une erreur est survenue lors de la création de la flotte. Veuillez recommencer', 'conso' => '-', 'tactique' => '', - 'places' => separerNombres($places) + 'places' => '', ) ); } elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom']) { @@ -75,10 +71,10 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte 'deblok' => 'Nom de la flotte incorrect !', 'conso' => '-', 'tactique' => '', - 'places' => separerNombres($places) + 'places' => '', ) ); - } elseif ($_POST['galaxie'] > MAX_AMAS || $_POST['ss'] > MAX_SYSTEME || $_POST['pos'] > MAX_PLANETE || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $sess->values['auth_level'] < 6)) { + } elseif ($_POST['galaxie'] > $VAR['nb_amas'] || $_POST['ss'] > $VAR['nb_systeme'] || $_POST['pos'] > $VAR['nb_planete'] || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $SESS->values['auth_level'] < 6)) { $datas = array( 'root' => array( 'destination' => $destinRapid, @@ -86,23 +82,38 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte 'deblok' => 'Corrigez la destination !', 'conso' => '-', 'tactique' => '', - 'places' => separerNombres($places) + 'places' => '', ) ); } else { $_POST['vitesse'] /= 100; - $temps = vais_tempsDeplacement($start_galaxie, $start_ss, $start_position, $_POST['galaxie'], $_POST['ss'], $_POST['pos'], $sess->values['flvitesse'], $_POST['vitesse'], $sess->values['flpreparation'], $sess->values['flchauffe']); + + $planete = new planete($idPlan); + $flotte = new flotte(); + $temps = $flotte->calc_deplacement($planete, $_POST['galaxie'], $_POST['ss'], $_POST['pos'], $_POST['vitesse'], $SESS->values["prepFlottes"][$idPrep]['vaisseaux'], 1000); if ($temps <= 0) { $temps = 454; } - $conso = vais_conso($temps, $sess->values['flnbvais'])*$_POST['vitesse']/45; - $places -= ceil($conso*$nbtrajet); + $conso = $flotte->calc_deplacement($planete, $_POST['galaxie'], $_POST['ss'], $_POST['pos'], $_POST['vitesse'], $SESS->values["prepFlottes"][$idPrep]['vaisseaux'], 1000, false, true); + // $conso renvoi le temps ET la conso dans un array + $conso = intval($conso[1]); + + $met = intval(gpc('met', 'post')); + $cri = intval(gpc('cri', 'post')); + $hyd = intval(gpc('hyd', 'post')); + $places = $flotte->calcStockage($SESS->values["prepFlottes"][$idPrep]['vaisseaux'], $planete); + $places -= ceil($conso * $nbtrajet); + if (($met+$cri+$hyd) > 0) { + $places -= ($met+$cri+$hyd); + } $tactique = ''; - if ($_POST['mission'] == '1') { + // si la mission est une mission d'attaque + if ($_POST['mission'] == '3') { $tactique = '
'; } - $cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10, 99).$temps); - $sess->values['flcds'] = $cds; - $sess->put(); + $SESS->values['flcds'] = $idPrep; + $SESS->put(); $datas = array( 'root' => array( 'destination' => $destinRapid, 'temps' => affTemp(floor($temps)), - 'deblok' => '', - 'conso' => separerNombres(ceil($conso*2)), + 'deblok' => '', + 'conso' => ceil($conso*2), 'tactique' => $tactique, - 'places' => separerNombres($places) + 'places' => $places ) ); } diff --git a/htdocs/images/planetes/1.jpg b/htdocs/images/planetes/1.jpg index 282fcde..0ae5fb0 100644 Binary files a/htdocs/images/planetes/1.jpg and b/htdocs/images/planetes/1.jpg differ diff --git a/htdocs/images/planetes/10.jpg b/htdocs/images/planetes/10.jpg index 84e2412..061b8ba 100644 Binary files a/htdocs/images/planetes/10.jpg and b/htdocs/images/planetes/10.jpg differ diff --git a/htdocs/images/planetes/100.jpg b/htdocs/images/planetes/100.jpg new file mode 100644 index 0000000..25521eb Binary files /dev/null and b/htdocs/images/planetes/100.jpg differ diff --git a/htdocs/images/planetes/101.jpg b/htdocs/images/planetes/101.jpg new file mode 100644 index 0000000..2d9105d Binary files /dev/null and b/htdocs/images/planetes/101.jpg differ diff --git a/htdocs/images/planetes/102.jpg b/htdocs/images/planetes/102.jpg new file mode 100644 index 0000000..a57e0a8 Binary files /dev/null and b/htdocs/images/planetes/102.jpg differ diff --git a/htdocs/images/planetes/103.jpg b/htdocs/images/planetes/103.jpg new file mode 100644 index 0000000..9b553ec Binary files /dev/null and b/htdocs/images/planetes/103.jpg differ diff --git a/htdocs/images/planetes/104.jpg b/htdocs/images/planetes/104.jpg new file mode 100644 index 0000000..da2ec38 Binary files /dev/null and b/htdocs/images/planetes/104.jpg differ diff --git a/htdocs/images/planetes/105.jpg b/htdocs/images/planetes/105.jpg new file mode 100644 index 0000000..ebcc807 Binary files /dev/null and b/htdocs/images/planetes/105.jpg differ diff --git a/htdocs/images/planetes/106.jpg b/htdocs/images/planetes/106.jpg new file mode 100644 index 0000000..020dd14 Binary files /dev/null and b/htdocs/images/planetes/106.jpg differ diff --git a/htdocs/images/planetes/107.jpg b/htdocs/images/planetes/107.jpg new file mode 100644 index 0000000..8e34aa7 Binary files /dev/null and b/htdocs/images/planetes/107.jpg differ diff --git a/htdocs/images/planetes/108.jpg b/htdocs/images/planetes/108.jpg new file mode 100644 index 0000000..02408be Binary files /dev/null and b/htdocs/images/planetes/108.jpg differ diff --git a/htdocs/images/planetes/109.jpg b/htdocs/images/planetes/109.jpg new file mode 100644 index 0000000..5e36180 Binary files /dev/null and b/htdocs/images/planetes/109.jpg differ diff --git a/htdocs/images/planetes/11.jpg b/htdocs/images/planetes/11.jpg index 6435940..9a6fabf 100644 Binary files a/htdocs/images/planetes/11.jpg and b/htdocs/images/planetes/11.jpg differ diff --git a/htdocs/images/planetes/110.jpg b/htdocs/images/planetes/110.jpg new file mode 100644 index 0000000..8944616 Binary files /dev/null and b/htdocs/images/planetes/110.jpg differ diff --git a/htdocs/images/planetes/111.jpg b/htdocs/images/planetes/111.jpg new file mode 100644 index 0000000..b613a08 Binary files /dev/null and b/htdocs/images/planetes/111.jpg differ diff --git a/htdocs/images/planetes/112.jpg b/htdocs/images/planetes/112.jpg new file mode 100644 index 0000000..1fdc3dd Binary files /dev/null and b/htdocs/images/planetes/112.jpg differ diff --git a/htdocs/images/planetes/113.jpg b/htdocs/images/planetes/113.jpg new file mode 100644 index 0000000..51ca960 Binary files /dev/null and b/htdocs/images/planetes/113.jpg differ diff --git a/htdocs/images/planetes/114.jpg b/htdocs/images/planetes/114.jpg new file mode 100644 index 0000000..aee7160 Binary files /dev/null and b/htdocs/images/planetes/114.jpg differ diff --git a/htdocs/images/planetes/115.jpg b/htdocs/images/planetes/115.jpg new file mode 100644 index 0000000..9649e4e Binary files /dev/null and b/htdocs/images/planetes/115.jpg differ diff --git a/htdocs/images/planetes/116.jpg b/htdocs/images/planetes/116.jpg new file mode 100644 index 0000000..71cd646 Binary files /dev/null and b/htdocs/images/planetes/116.jpg differ diff --git a/htdocs/images/planetes/117.jpg b/htdocs/images/planetes/117.jpg new file mode 100644 index 0000000..1607abb Binary files /dev/null and b/htdocs/images/planetes/117.jpg differ diff --git a/htdocs/images/planetes/118.jpg b/htdocs/images/planetes/118.jpg new file mode 100644 index 0000000..83de29e Binary files /dev/null and b/htdocs/images/planetes/118.jpg differ diff --git a/htdocs/images/planetes/119.jpg b/htdocs/images/planetes/119.jpg new file mode 100644 index 0000000..b688916 Binary files /dev/null and b/htdocs/images/planetes/119.jpg differ diff --git a/htdocs/images/planetes/12.jpg b/htdocs/images/planetes/12.jpg index 416508d..edb244a 100644 Binary files a/htdocs/images/planetes/12.jpg and b/htdocs/images/planetes/12.jpg differ diff --git a/htdocs/images/planetes/120.jpg b/htdocs/images/planetes/120.jpg new file mode 100644 index 0000000..86520fc Binary files /dev/null and b/htdocs/images/planetes/120.jpg differ diff --git a/htdocs/images/planetes/121.jpg b/htdocs/images/planetes/121.jpg new file mode 100644 index 0000000..c5b63b1 Binary files /dev/null and b/htdocs/images/planetes/121.jpg differ diff --git a/htdocs/images/planetes/122.jpg b/htdocs/images/planetes/122.jpg new file mode 100644 index 0000000..a5bdb84 Binary files /dev/null and b/htdocs/images/planetes/122.jpg differ diff --git a/htdocs/images/planetes/123.jpg b/htdocs/images/planetes/123.jpg new file mode 100644 index 0000000..7ce69c7 Binary files /dev/null and b/htdocs/images/planetes/123.jpg differ diff --git a/htdocs/images/planetes/124.jpg b/htdocs/images/planetes/124.jpg new file mode 100644 index 0000000..5a9491e Binary files /dev/null and b/htdocs/images/planetes/124.jpg differ diff --git a/htdocs/images/planetes/125.jpg b/htdocs/images/planetes/125.jpg new file mode 100644 index 0000000..d99d9ac Binary files /dev/null and b/htdocs/images/planetes/125.jpg differ diff --git a/htdocs/images/planetes/126.jpg b/htdocs/images/planetes/126.jpg new file mode 100644 index 0000000..d2379e0 Binary files /dev/null and b/htdocs/images/planetes/126.jpg differ diff --git a/htdocs/images/planetes/127.jpg b/htdocs/images/planetes/127.jpg new file mode 100644 index 0000000..4572d89 Binary files /dev/null and b/htdocs/images/planetes/127.jpg differ diff --git a/htdocs/images/planetes/128.jpg b/htdocs/images/planetes/128.jpg new file mode 100644 index 0000000..25442e5 Binary files /dev/null and b/htdocs/images/planetes/128.jpg differ diff --git a/htdocs/images/planetes/129.jpg b/htdocs/images/planetes/129.jpg new file mode 100644 index 0000000..4d4524b Binary files /dev/null and b/htdocs/images/planetes/129.jpg differ diff --git a/htdocs/images/planetes/13.jpg b/htdocs/images/planetes/13.jpg index 6861c8d..1e896df 100644 Binary files a/htdocs/images/planetes/13.jpg and b/htdocs/images/planetes/13.jpg differ diff --git a/htdocs/images/planetes/130.jpg b/htdocs/images/planetes/130.jpg new file mode 100644 index 0000000..e1cd78a Binary files /dev/null and b/htdocs/images/planetes/130.jpg differ diff --git a/htdocs/images/planetes/131.jpg b/htdocs/images/planetes/131.jpg new file mode 100644 index 0000000..3477dc1 Binary files /dev/null and b/htdocs/images/planetes/131.jpg differ diff --git a/htdocs/images/planetes/132.jpg b/htdocs/images/planetes/132.jpg new file mode 100644 index 0000000..816864d Binary files /dev/null and b/htdocs/images/planetes/132.jpg differ diff --git a/htdocs/images/planetes/133.jpg b/htdocs/images/planetes/133.jpg new file mode 100644 index 0000000..a0e9a67 Binary files /dev/null and b/htdocs/images/planetes/133.jpg differ diff --git a/htdocs/images/planetes/134.jpg b/htdocs/images/planetes/134.jpg new file mode 100644 index 0000000..10b7c00 Binary files /dev/null and b/htdocs/images/planetes/134.jpg differ diff --git a/htdocs/images/planetes/135.jpg b/htdocs/images/planetes/135.jpg new file mode 100644 index 0000000..bb4c87f Binary files /dev/null and b/htdocs/images/planetes/135.jpg differ diff --git a/htdocs/images/planetes/136.jpg b/htdocs/images/planetes/136.jpg new file mode 100644 index 0000000..2fd079a Binary files /dev/null and b/htdocs/images/planetes/136.jpg differ diff --git a/htdocs/images/planetes/137.jpg b/htdocs/images/planetes/137.jpg new file mode 100644 index 0000000..42a9c65 Binary files /dev/null and b/htdocs/images/planetes/137.jpg differ diff --git a/htdocs/images/planetes/138.jpg b/htdocs/images/planetes/138.jpg new file mode 100644 index 0000000..f77f748 Binary files /dev/null and b/htdocs/images/planetes/138.jpg differ diff --git a/htdocs/images/planetes/139.jpg b/htdocs/images/planetes/139.jpg new file mode 100644 index 0000000..1888d90 Binary files /dev/null and b/htdocs/images/planetes/139.jpg differ diff --git a/htdocs/images/planetes/14.jpg b/htdocs/images/planetes/14.jpg index bac8568..e8cbef9 100644 Binary files a/htdocs/images/planetes/14.jpg and b/htdocs/images/planetes/14.jpg differ diff --git a/htdocs/images/planetes/140.jpg b/htdocs/images/planetes/140.jpg new file mode 100644 index 0000000..6fea310 Binary files /dev/null and b/htdocs/images/planetes/140.jpg differ diff --git a/htdocs/images/planetes/141.jpg b/htdocs/images/planetes/141.jpg new file mode 100644 index 0000000..3ac391e Binary files /dev/null and b/htdocs/images/planetes/141.jpg differ diff --git a/htdocs/images/planetes/142.jpg b/htdocs/images/planetes/142.jpg new file mode 100644 index 0000000..1de0da6 Binary files /dev/null and b/htdocs/images/planetes/142.jpg differ diff --git a/htdocs/images/planetes/143.jpg b/htdocs/images/planetes/143.jpg new file mode 100644 index 0000000..3b97809 Binary files /dev/null and b/htdocs/images/planetes/143.jpg differ diff --git a/htdocs/images/planetes/144.jpg b/htdocs/images/planetes/144.jpg new file mode 100644 index 0000000..3375755 Binary files /dev/null and b/htdocs/images/planetes/144.jpg differ diff --git a/htdocs/images/planetes/145.jpg b/htdocs/images/planetes/145.jpg new file mode 100644 index 0000000..8fb7394 Binary files /dev/null and b/htdocs/images/planetes/145.jpg differ diff --git a/htdocs/images/planetes/146.jpg b/htdocs/images/planetes/146.jpg new file mode 100644 index 0000000..32ef681 Binary files /dev/null and b/htdocs/images/planetes/146.jpg differ diff --git a/htdocs/images/planetes/147.jpg b/htdocs/images/planetes/147.jpg new file mode 100644 index 0000000..5fdbd9c Binary files /dev/null and b/htdocs/images/planetes/147.jpg differ diff --git a/htdocs/images/planetes/148.jpg b/htdocs/images/planetes/148.jpg new file mode 100644 index 0000000..386781e Binary files /dev/null and b/htdocs/images/planetes/148.jpg differ diff --git a/htdocs/images/planetes/149.jpg b/htdocs/images/planetes/149.jpg new file mode 100644 index 0000000..2311f69 Binary files /dev/null and b/htdocs/images/planetes/149.jpg differ diff --git a/htdocs/images/planetes/15.jpg b/htdocs/images/planetes/15.jpg index d9f82a7..90c11d8 100644 Binary files a/htdocs/images/planetes/15.jpg and b/htdocs/images/planetes/15.jpg differ diff --git a/htdocs/images/planetes/150.jpg b/htdocs/images/planetes/150.jpg new file mode 100644 index 0000000..f287a95 Binary files /dev/null and b/htdocs/images/planetes/150.jpg differ diff --git a/htdocs/images/planetes/16.jpg b/htdocs/images/planetes/16.jpg index 305d244..68b3f8e 100644 Binary files a/htdocs/images/planetes/16.jpg and b/htdocs/images/planetes/16.jpg differ diff --git a/htdocs/images/planetes/17.jpg b/htdocs/images/planetes/17.jpg index ab33da0..0dcf0e8 100644 Binary files a/htdocs/images/planetes/17.jpg and b/htdocs/images/planetes/17.jpg differ diff --git a/htdocs/images/planetes/18.jpg b/htdocs/images/planetes/18.jpg index 1e2e208..6da6ebb 100644 Binary files a/htdocs/images/planetes/18.jpg and b/htdocs/images/planetes/18.jpg differ diff --git a/htdocs/images/planetes/19.jpg b/htdocs/images/planetes/19.jpg index 6885bf2..82ed8cf 100644 Binary files a/htdocs/images/planetes/19.jpg and b/htdocs/images/planetes/19.jpg differ diff --git a/htdocs/images/planetes/2.jpg b/htdocs/images/planetes/2.jpg index cd05f75..57b297c 100644 Binary files a/htdocs/images/planetes/2.jpg and b/htdocs/images/planetes/2.jpg differ diff --git a/htdocs/images/planetes/20.jpg b/htdocs/images/planetes/20.jpg index 19bc5fb..4c6201f 100644 Binary files a/htdocs/images/planetes/20.jpg and b/htdocs/images/planetes/20.jpg differ diff --git a/htdocs/images/planetes/21.jpg b/htdocs/images/planetes/21.jpg index 6c584d4..0ffe38f 100644 Binary files a/htdocs/images/planetes/21.jpg and b/htdocs/images/planetes/21.jpg differ diff --git a/htdocs/images/planetes/22.jpg b/htdocs/images/planetes/22.jpg index a318072..17b31f1 100644 Binary files a/htdocs/images/planetes/22.jpg and b/htdocs/images/planetes/22.jpg differ diff --git a/htdocs/images/planetes/23.jpg b/htdocs/images/planetes/23.jpg index 2418250..bd2f024 100644 Binary files a/htdocs/images/planetes/23.jpg and b/htdocs/images/planetes/23.jpg differ diff --git a/htdocs/images/planetes/24.jpg b/htdocs/images/planetes/24.jpg index 3f851a5..bf74178 100644 Binary files a/htdocs/images/planetes/24.jpg and b/htdocs/images/planetes/24.jpg differ diff --git a/htdocs/images/planetes/25.jpg b/htdocs/images/planetes/25.jpg index 8ff95dc..3d60c12 100644 Binary files a/htdocs/images/planetes/25.jpg and b/htdocs/images/planetes/25.jpg differ diff --git a/htdocs/images/planetes/26.jpg b/htdocs/images/planetes/26.jpg index d184eea..1acd25e 100644 Binary files a/htdocs/images/planetes/26.jpg and b/htdocs/images/planetes/26.jpg differ diff --git a/htdocs/images/planetes/27.jpg b/htdocs/images/planetes/27.jpg index df15458..e0a25fc 100644 Binary files a/htdocs/images/planetes/27.jpg and b/htdocs/images/planetes/27.jpg differ diff --git a/htdocs/images/planetes/28.jpg b/htdocs/images/planetes/28.jpg index 2b2dd3b..c417500 100644 Binary files a/htdocs/images/planetes/28.jpg and b/htdocs/images/planetes/28.jpg differ diff --git a/htdocs/images/planetes/29.jpg b/htdocs/images/planetes/29.jpg index c92e144..19a10d5 100644 Binary files a/htdocs/images/planetes/29.jpg and b/htdocs/images/planetes/29.jpg differ diff --git a/htdocs/images/planetes/3.jpg b/htdocs/images/planetes/3.jpg index a1c898a..97c7df6 100644 Binary files a/htdocs/images/planetes/3.jpg and b/htdocs/images/planetes/3.jpg differ diff --git a/htdocs/images/planetes/30.jpg b/htdocs/images/planetes/30.jpg index 6b9f9a1..25bfeca 100644 Binary files a/htdocs/images/planetes/30.jpg and b/htdocs/images/planetes/30.jpg differ diff --git a/htdocs/images/planetes/31.jpg b/htdocs/images/planetes/31.jpg index 471a2bc..7c86808 100644 Binary files a/htdocs/images/planetes/31.jpg and b/htdocs/images/planetes/31.jpg differ diff --git a/htdocs/images/planetes/32.jpg b/htdocs/images/planetes/32.jpg index fe7e629..d30d28b 100644 Binary files a/htdocs/images/planetes/32.jpg and b/htdocs/images/planetes/32.jpg differ diff --git a/htdocs/images/planetes/33.jpg b/htdocs/images/planetes/33.jpg new file mode 100644 index 0000000..5077615 Binary files /dev/null and b/htdocs/images/planetes/33.jpg differ diff --git a/htdocs/images/planetes/34.jpg b/htdocs/images/planetes/34.jpg new file mode 100644 index 0000000..356367d Binary files /dev/null and b/htdocs/images/planetes/34.jpg differ diff --git a/htdocs/images/planetes/35.jpg b/htdocs/images/planetes/35.jpg new file mode 100644 index 0000000..0af0c61 Binary files /dev/null and b/htdocs/images/planetes/35.jpg differ diff --git a/htdocs/images/planetes/36.jpg b/htdocs/images/planetes/36.jpg new file mode 100644 index 0000000..b21afc8 Binary files /dev/null and b/htdocs/images/planetes/36.jpg differ diff --git a/htdocs/images/planetes/37.jpg b/htdocs/images/planetes/37.jpg new file mode 100644 index 0000000..65ba113 Binary files /dev/null and b/htdocs/images/planetes/37.jpg differ diff --git a/htdocs/images/planetes/38.jpg b/htdocs/images/planetes/38.jpg new file mode 100644 index 0000000..41b911a Binary files /dev/null and b/htdocs/images/planetes/38.jpg differ diff --git a/htdocs/images/planetes/39.jpg b/htdocs/images/planetes/39.jpg new file mode 100644 index 0000000..58966d3 Binary files /dev/null and b/htdocs/images/planetes/39.jpg differ diff --git a/htdocs/images/planetes/4.jpg b/htdocs/images/planetes/4.jpg index 391ed50..1c81beb 100644 Binary files a/htdocs/images/planetes/4.jpg and b/htdocs/images/planetes/4.jpg differ diff --git a/htdocs/images/planetes/40.jpg b/htdocs/images/planetes/40.jpg new file mode 100644 index 0000000..69bf891 Binary files /dev/null and b/htdocs/images/planetes/40.jpg differ diff --git a/htdocs/images/planetes/41.jpg b/htdocs/images/planetes/41.jpg new file mode 100644 index 0000000..86ce529 Binary files /dev/null and b/htdocs/images/planetes/41.jpg differ diff --git a/htdocs/images/planetes/42.jpg b/htdocs/images/planetes/42.jpg new file mode 100644 index 0000000..38eee57 Binary files /dev/null and b/htdocs/images/planetes/42.jpg differ diff --git a/htdocs/images/planetes/43.jpg b/htdocs/images/planetes/43.jpg new file mode 100644 index 0000000..9605173 Binary files /dev/null and b/htdocs/images/planetes/43.jpg differ diff --git a/htdocs/images/planetes/44.jpg b/htdocs/images/planetes/44.jpg new file mode 100644 index 0000000..02f58bb Binary files /dev/null and b/htdocs/images/planetes/44.jpg differ diff --git a/htdocs/images/planetes/45.jpg b/htdocs/images/planetes/45.jpg new file mode 100644 index 0000000..817251c Binary files /dev/null and b/htdocs/images/planetes/45.jpg differ diff --git a/htdocs/images/planetes/46.jpg b/htdocs/images/planetes/46.jpg new file mode 100644 index 0000000..caab9ae Binary files /dev/null and b/htdocs/images/planetes/46.jpg differ diff --git a/htdocs/images/planetes/47.jpg b/htdocs/images/planetes/47.jpg new file mode 100644 index 0000000..acac44e Binary files /dev/null and b/htdocs/images/planetes/47.jpg differ diff --git a/htdocs/images/planetes/48.jpg b/htdocs/images/planetes/48.jpg new file mode 100644 index 0000000..f8a7895 Binary files /dev/null and b/htdocs/images/planetes/48.jpg differ diff --git a/htdocs/images/planetes/49.jpg b/htdocs/images/planetes/49.jpg new file mode 100644 index 0000000..8ab4d32 Binary files /dev/null and b/htdocs/images/planetes/49.jpg differ diff --git a/htdocs/images/planetes/5.jpg b/htdocs/images/planetes/5.jpg index 353f705..30edd36 100644 Binary files a/htdocs/images/planetes/5.jpg and b/htdocs/images/planetes/5.jpg differ diff --git a/htdocs/images/planetes/50.jpg b/htdocs/images/planetes/50.jpg new file mode 100644 index 0000000..7ed5a59 Binary files /dev/null and b/htdocs/images/planetes/50.jpg differ diff --git a/htdocs/images/planetes/51.jpg b/htdocs/images/planetes/51.jpg new file mode 100644 index 0000000..d574f59 Binary files /dev/null and b/htdocs/images/planetes/51.jpg differ diff --git a/htdocs/images/planetes/52.jpg b/htdocs/images/planetes/52.jpg new file mode 100644 index 0000000..eeb56ab Binary files /dev/null and b/htdocs/images/planetes/52.jpg differ diff --git a/htdocs/images/planetes/53.jpg b/htdocs/images/planetes/53.jpg new file mode 100644 index 0000000..84bd9f8 Binary files /dev/null and b/htdocs/images/planetes/53.jpg differ diff --git a/htdocs/images/planetes/54.jpg b/htdocs/images/planetes/54.jpg new file mode 100644 index 0000000..a8602fe Binary files /dev/null and b/htdocs/images/planetes/54.jpg differ diff --git a/htdocs/images/planetes/55.jpg b/htdocs/images/planetes/55.jpg new file mode 100644 index 0000000..e1c97cb Binary files /dev/null and b/htdocs/images/planetes/55.jpg differ diff --git a/htdocs/images/planetes/56.jpg b/htdocs/images/planetes/56.jpg new file mode 100644 index 0000000..5a77732 Binary files /dev/null and b/htdocs/images/planetes/56.jpg differ diff --git a/htdocs/images/planetes/57.jpg b/htdocs/images/planetes/57.jpg new file mode 100644 index 0000000..e3ae5cd Binary files /dev/null and b/htdocs/images/planetes/57.jpg differ diff --git a/htdocs/images/planetes/58.jpg b/htdocs/images/planetes/58.jpg new file mode 100644 index 0000000..be04b2a Binary files /dev/null and b/htdocs/images/planetes/58.jpg differ diff --git a/htdocs/images/planetes/59.jpg b/htdocs/images/planetes/59.jpg new file mode 100644 index 0000000..28f5a02 Binary files /dev/null and b/htdocs/images/planetes/59.jpg differ diff --git a/htdocs/images/planetes/6.jpg b/htdocs/images/planetes/6.jpg index 39d266a..dd6c466 100644 Binary files a/htdocs/images/planetes/6.jpg and b/htdocs/images/planetes/6.jpg differ diff --git a/htdocs/images/planetes/60.jpg b/htdocs/images/planetes/60.jpg new file mode 100644 index 0000000..472872c Binary files /dev/null and b/htdocs/images/planetes/60.jpg differ diff --git a/htdocs/images/planetes/61.jpg b/htdocs/images/planetes/61.jpg new file mode 100644 index 0000000..a38d82a Binary files /dev/null and b/htdocs/images/planetes/61.jpg differ diff --git a/htdocs/images/planetes/62.jpg b/htdocs/images/planetes/62.jpg new file mode 100644 index 0000000..7741875 Binary files /dev/null and b/htdocs/images/planetes/62.jpg differ diff --git a/htdocs/images/planetes/63.jpg b/htdocs/images/planetes/63.jpg new file mode 100644 index 0000000..88e05f8 Binary files /dev/null and b/htdocs/images/planetes/63.jpg differ diff --git a/htdocs/images/planetes/64.jpg b/htdocs/images/planetes/64.jpg new file mode 100644 index 0000000..eb4b432 Binary files /dev/null and b/htdocs/images/planetes/64.jpg differ diff --git a/htdocs/images/planetes/65.jpg b/htdocs/images/planetes/65.jpg new file mode 100644 index 0000000..74a6531 Binary files /dev/null and b/htdocs/images/planetes/65.jpg differ diff --git a/htdocs/images/planetes/66.jpg b/htdocs/images/planetes/66.jpg new file mode 100644 index 0000000..fc21fd4 Binary files /dev/null and b/htdocs/images/planetes/66.jpg differ diff --git a/htdocs/images/planetes/67.jpg b/htdocs/images/planetes/67.jpg new file mode 100644 index 0000000..7f42702 Binary files /dev/null and b/htdocs/images/planetes/67.jpg differ diff --git a/htdocs/images/planetes/68.jpg b/htdocs/images/planetes/68.jpg new file mode 100644 index 0000000..3910727 Binary files /dev/null and b/htdocs/images/planetes/68.jpg differ diff --git a/htdocs/images/planetes/69.jpg b/htdocs/images/planetes/69.jpg new file mode 100644 index 0000000..29c4de7 Binary files /dev/null and b/htdocs/images/planetes/69.jpg differ diff --git a/htdocs/images/planetes/7.jpg b/htdocs/images/planetes/7.jpg index 2cf0298..ba61b23 100644 Binary files a/htdocs/images/planetes/7.jpg and b/htdocs/images/planetes/7.jpg differ diff --git a/htdocs/images/planetes/70.jpg b/htdocs/images/planetes/70.jpg new file mode 100644 index 0000000..fd73f83 Binary files /dev/null and b/htdocs/images/planetes/70.jpg differ diff --git a/htdocs/images/planetes/71.jpg b/htdocs/images/planetes/71.jpg new file mode 100644 index 0000000..a5885ac Binary files /dev/null and b/htdocs/images/planetes/71.jpg differ diff --git a/htdocs/images/planetes/72.jpg b/htdocs/images/planetes/72.jpg new file mode 100644 index 0000000..f5992b8 Binary files /dev/null and b/htdocs/images/planetes/72.jpg differ diff --git a/htdocs/images/planetes/73.jpg b/htdocs/images/planetes/73.jpg new file mode 100644 index 0000000..885d400 Binary files /dev/null and b/htdocs/images/planetes/73.jpg differ diff --git a/htdocs/images/planetes/74.jpg b/htdocs/images/planetes/74.jpg new file mode 100644 index 0000000..200af78 Binary files /dev/null and b/htdocs/images/planetes/74.jpg differ diff --git a/htdocs/images/planetes/75.jpg b/htdocs/images/planetes/75.jpg new file mode 100644 index 0000000..39c0534 Binary files /dev/null and b/htdocs/images/planetes/75.jpg differ diff --git a/htdocs/images/planetes/76.jpg b/htdocs/images/planetes/76.jpg new file mode 100644 index 0000000..f45f8fb Binary files /dev/null and b/htdocs/images/planetes/76.jpg differ diff --git a/htdocs/images/planetes/77.jpg b/htdocs/images/planetes/77.jpg new file mode 100644 index 0000000..a6e6842 Binary files /dev/null and b/htdocs/images/planetes/77.jpg differ diff --git a/htdocs/images/planetes/78.jpg b/htdocs/images/planetes/78.jpg new file mode 100644 index 0000000..b7785ba Binary files /dev/null and b/htdocs/images/planetes/78.jpg differ diff --git a/htdocs/images/planetes/79.jpg b/htdocs/images/planetes/79.jpg new file mode 100644 index 0000000..b5c3c17 Binary files /dev/null and b/htdocs/images/planetes/79.jpg differ diff --git a/htdocs/images/planetes/8.jpg b/htdocs/images/planetes/8.jpg index e2f7df0..fe868a8 100644 Binary files a/htdocs/images/planetes/8.jpg and b/htdocs/images/planetes/8.jpg differ diff --git a/htdocs/images/planetes/80.jpg b/htdocs/images/planetes/80.jpg new file mode 100644 index 0000000..86d4cc9 Binary files /dev/null and b/htdocs/images/planetes/80.jpg differ diff --git a/htdocs/images/planetes/81.jpg b/htdocs/images/planetes/81.jpg new file mode 100644 index 0000000..8016a06 Binary files /dev/null and b/htdocs/images/planetes/81.jpg differ diff --git a/htdocs/images/planetes/82.jpg b/htdocs/images/planetes/82.jpg new file mode 100644 index 0000000..60f21a4 Binary files /dev/null and b/htdocs/images/planetes/82.jpg differ diff --git a/htdocs/images/planetes/83.jpg b/htdocs/images/planetes/83.jpg new file mode 100644 index 0000000..94f381d Binary files /dev/null and b/htdocs/images/planetes/83.jpg differ diff --git a/htdocs/images/planetes/84.jpg b/htdocs/images/planetes/84.jpg new file mode 100644 index 0000000..d8d2ed6 Binary files /dev/null and b/htdocs/images/planetes/84.jpg differ diff --git a/htdocs/images/planetes/85.jpg b/htdocs/images/planetes/85.jpg new file mode 100644 index 0000000..bc64d9c Binary files /dev/null and b/htdocs/images/planetes/85.jpg differ diff --git a/htdocs/images/planetes/86.jpg b/htdocs/images/planetes/86.jpg new file mode 100644 index 0000000..b81cd35 Binary files /dev/null and b/htdocs/images/planetes/86.jpg differ diff --git a/htdocs/images/planetes/87.jpg b/htdocs/images/planetes/87.jpg new file mode 100644 index 0000000..6383e55 Binary files /dev/null and b/htdocs/images/planetes/87.jpg differ diff --git a/htdocs/images/planetes/88.jpg b/htdocs/images/planetes/88.jpg new file mode 100644 index 0000000..6b1fb93 Binary files /dev/null and b/htdocs/images/planetes/88.jpg differ diff --git a/htdocs/images/planetes/89.jpg b/htdocs/images/planetes/89.jpg new file mode 100644 index 0000000..ab6fa92 Binary files /dev/null and b/htdocs/images/planetes/89.jpg differ diff --git a/htdocs/images/planetes/9.jpg b/htdocs/images/planetes/9.jpg index 331e188..4f486dc 100644 Binary files a/htdocs/images/planetes/9.jpg and b/htdocs/images/planetes/9.jpg differ diff --git a/htdocs/images/planetes/90.jpg b/htdocs/images/planetes/90.jpg new file mode 100644 index 0000000..71be830 Binary files /dev/null and b/htdocs/images/planetes/90.jpg differ diff --git a/htdocs/images/planetes/91.jpg b/htdocs/images/planetes/91.jpg new file mode 100644 index 0000000..60ece52 Binary files /dev/null and b/htdocs/images/planetes/91.jpg differ diff --git a/htdocs/images/planetes/92.jpg b/htdocs/images/planetes/92.jpg new file mode 100644 index 0000000..a609ea7 Binary files /dev/null and b/htdocs/images/planetes/92.jpg differ diff --git a/htdocs/images/planetes/93.jpg b/htdocs/images/planetes/93.jpg new file mode 100644 index 0000000..28cb911 Binary files /dev/null and b/htdocs/images/planetes/93.jpg differ diff --git a/htdocs/images/planetes/94.jpg b/htdocs/images/planetes/94.jpg new file mode 100644 index 0000000..7351432 Binary files /dev/null and b/htdocs/images/planetes/94.jpg differ diff --git a/htdocs/images/planetes/95.jpg b/htdocs/images/planetes/95.jpg new file mode 100644 index 0000000..46f2dce Binary files /dev/null and b/htdocs/images/planetes/95.jpg differ diff --git a/htdocs/images/planetes/96.jpg b/htdocs/images/planetes/96.jpg new file mode 100644 index 0000000..07009bd Binary files /dev/null and b/htdocs/images/planetes/96.jpg differ diff --git a/htdocs/images/planetes/97.jpg b/htdocs/images/planetes/97.jpg new file mode 100644 index 0000000..947d5eb Binary files /dev/null and b/htdocs/images/planetes/97.jpg differ diff --git a/htdocs/images/planetes/98.jpg b/htdocs/images/planetes/98.jpg new file mode 100644 index 0000000..88b6642 Binary files /dev/null and b/htdocs/images/planetes/98.jpg differ diff --git a/htdocs/images/planetes/99.jpg b/htdocs/images/planetes/99.jpg new file mode 100644 index 0000000..4b8f062 Binary files /dev/null and b/htdocs/images/planetes/99.jpg differ diff --git a/htdocs/js/flotte.js b/htdocs/js/flotte.js index 061a7b1..129e9c7 100644 --- a/htdocs/js/flotte.js +++ b/htdocs/js/flotte.js @@ -91,11 +91,26 @@ window.onload = function(){ function tempsFlotte() { document.getElementById('deblok').innerHTML = '...'; + var url_string = (window.location.href).toLowerCase(); + var url = new URL(url_string); + var cds = url.searchParams.get("c"); new Ajax.Request( 'ajax_flotte.php', { method: 'post', - parameters: {fav_dest: document.getElementById('fav_dest').value, nom: document.getElementById('nom').value, mission: document.getElementById('mission').value, met: document.getElementById('metal').value, cri: document.getElementById('cristal').value, hyd: document.getElementById('hydrogene').value, galaxie: document.getElementById('amas').value, ss: document.getElementById('ss').value, pos: document.getElementById('plan').value, vitesse: document.getElementById('vitesse').value}, + parameters: { + cds_temp: cds, + fav_dest: document.getElementById('fav_dest').value, + nom: document.getElementById('nom').value, + mission: document.getElementById('mission').value, + met: document.getElementById('metal').value, + cri: document.getElementById('cristal').value, + hyd: document.getElementById('hydrogene').value, + galaxie: document.getElementById('amas').value, + ss: document.getElementById('ss').value, + pos: document.getElementById('plan').value, + vitesse: document.getElementById('vitesse').value + }, onSuccess: function(transport, json) { document.getElementById('destination').innerHTML = json.root.destination; document.getElementById('temps').innerHTML = json.root.temps; @@ -107,4 +122,4 @@ function tempsFlotte() { } } ); -} \ No newline at end of file +} diff --git a/onyx2/config/root.xml b/onyx2/config/root.xml index 8b3583e..2eaf7be 100644 --- a/onyx2/config/root.xml +++ b/onyx2/config/root.xml @@ -81,7 +81,7 @@ ?p=classement ?p=chat http://www.halo-battle.fr/forum/ - http://issues.halo-battle.s-fr.com/ + # ?p=faq ?p=deconnexion ?p=pilori @@ -159,4 +159,4 @@ - \ No newline at end of file + diff --git a/onyx2/include/Class/Donnees/batiments.php b/onyx2/include/Class/Donnees/batiments.php index 5cd6e81..9c8b4a0 100644 --- a/onyx2/include/Class/Donnees/batiments.php +++ b/onyx2/include/Class/Donnees/batiments.php @@ -311,6 +311,15 @@ class dBatiments implements Donnees $sec /= (pow(1.23, $planete->batiments[11]) + 1.0025 * $planete->casernes[7]); } + //Bonus technologique de vitesse de construction : Constructions Planétaires + if ($planete->technologies[2]& dTechnologies::idToBit(2)) { + $sec /= 1.15; + } elseif ($planete->technologies[2]& dTechnologies::idToBit(1)) { + $sec /= 1.10; + } elseif ($planete->technologies[2]& dTechnologies::idToBit(0)) { + $sec /= 1.05; + } + //Accélération du temps de construction $sec /= VITESSE; diff --git a/onyx2/include/Class/Donnees/interface.php b/onyx2/include/Class/Donnees/interface.php index adf1587..55d5975 100644 --- a/onyx2/include/Class/Donnees/interface.php +++ b/onyx2/include/Class/Donnees/interface.php @@ -87,10 +87,12 @@ class dDonnees } } - public static function print_neededCheck($tableau, surface $planete) + public static function print_neededCheck($tableau, surface $planete, $race = null) { global $LANG; - $race = $planete->race; + if ($race == null) { + $race = $planete->race; + } if (!is_array($tableau)) { return 'Débloqué'; } else { diff --git a/onyx2/include/Class/Donnees/spatial.php b/onyx2/include/Class/Donnees/spatial.php index 56c772b..ce4282a 100644 --- a/onyx2/include/Class/Donnees/spatial.php +++ b/onyx2/include/Class/Donnees/spatial.php @@ -3,9 +3,12 @@ require_once("Class/Donnees/interface.php"); class dSpatial implements Donnees { - public static function metal($id, $nombre, surface $planete) + public static function metal($id, $nombre, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: $metal = 1000; @@ -118,9 +121,12 @@ class dSpatial implements Donnees return $metal * $nombre; } - public static function cristal($id, $nombre, surface $planete) + public static function cristal($id, $nombre, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: $cristal = 800; @@ -214,7 +220,7 @@ class dSpatial implements Donnees case 14: $cristal = 19400; break; - case 16: + case 15: $cristal = 23000; break; case 16: @@ -233,9 +239,12 @@ class dSpatial implements Donnees return $cristal * $nombre; } - public static function hydrogene($id, $nombre, surface $planete) + public static function hydrogene($id, $nombre, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: $hydrogene = 180; @@ -329,7 +338,7 @@ class dSpatial implements Donnees case 14: $hydrogene = 3740; break; - case 16: + case 15: $hydrogene = 4050; break; case 16: @@ -348,14 +357,17 @@ class dSpatial implements Donnees return $hydrogene * $nombre; } - public static function credits($id, $nombre, surface $planete) + public static function credits($id, $nombre, surface $planete, $race = null) { return 0; } - public static function temps($id, $nombre, surface $planete) + public static function temps($id, $nombre, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: $temps = 733; @@ -410,7 +422,7 @@ class dSpatial implements Donnees $moins = 12; break; case 13: - $temps = 34900; + $temps = 2000; $moins = 12; break; default: @@ -502,10 +514,12 @@ class dSpatial implements Donnees } } - - public static function image($id, surface $planete) + public static function image($id, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: return "csnucargoparabola2mc9.jpg"; @@ -542,7 +556,7 @@ class dSpatial implements Donnees break; } return Donnees::image_humain_default; - } elseif ($planete->race == "covenant") { + } else { switch ($id) { case 0: return "cargo2pb6.jpg"; @@ -553,39 +567,32 @@ class dSpatial implements Donnees case 2: return "colocopiers4.jpg"; break; - case 3: - return "sonde_despionnage1.jpg"; - break; - case 4: + case 6: return "chasseurlourd7id.jpg"; break; - case 5: - return "contactharvestbynameleszk3.jpg"; - break; - case 6: - return "vaisseauuu0.jpg"; - break; case 7: - return "vaisseaudebataille9na.jpg"; + return "sonde_despionnage1.jpg"; break; case 8: - return "pv.jpg"; + return "contactharvestbynameleszk3.jpg"; break; case 9: - return "stationorbitalezt7.jpg"; + return "vaisseauuu0.jpg"; break; case 10: + return "vaisseaudebataille9na.jpg"; + break; + case 14: + return "pv.jpg"; + break; + case 16: return "citecovenant.jpg"; break; } return Donnees::image_covenant_default; - } else { - trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR); } } - - public static function needed($id, surface $planete, $print = false, $race = null) { if ($race == null) { @@ -648,8 +655,8 @@ class dSpatial implements Donnees array('technologies', 7,9) ), array( - array('batiments', 8, 10), - array('technologies', 7,10) + array('batiments', 8, 3), + array('technologies', 7, 4) ) ); } else { @@ -665,7 +672,7 @@ class dSpatial implements Donnees ), array( array('batiments', 8, 3), - array('technologies', 8, 1) + array('technologies', 8, 0) ), array( array('batiments', 8, 3), @@ -727,16 +734,18 @@ class dSpatial implements Donnees } if ($print) { - return dDonnees::print_neededCheck($neededSpatial[$id], $planete); + return dDonnees::print_neededCheck($neededSpatial[$id], $planete, $race); } else { return dDonnees::neededCheck($neededSpatial[$id], $planete); } } - - public static function tailleCales($id) + public static function tailleCales($id, surface $planete, $race = null) { - if ($planete->race == "humain") { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { switch ($id) { case 0: $vitesse = 10000; @@ -781,7 +790,7 @@ class dSpatial implements Donnees $vitesse = 15000; break; default: - trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + $vitesse = 0; } } else { switch ($id) { @@ -837,7 +846,7 @@ class dSpatial implements Donnees $vitesse = 20000000; break; default: - trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + $vitesse = 0; } } @@ -845,8 +854,7 @@ class dSpatial implements Donnees return $vitesse; } - - public static function vitesseP($id) + public static function vitesseP($id, surface $planete) { if ($planete->race == "humain") { switch ($id) { @@ -957,7 +965,7 @@ class dSpatial implements Donnees return $vitesse; } - public static function vitesseS($id) + public static function vitesseS($id, surface $planete) { if ($planete->race == "humain") { switch ($id) { @@ -1068,7 +1076,7 @@ class dSpatial implements Donnees return $vitesse; } - public static function vitesseG($id) + public static function vitesseG($id, surface $planete) { if ($planete->race == "humain") { switch ($id) { @@ -1178,4 +1186,418 @@ class dSpatial implements Donnees //On tient compte des bonus return $vitesse; } + + public static function attaque($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { + switch ($id) { + case 0: + $attaque = 10; + break; + case 1: + $attaque = 20; + break; + case 2: + $attaque = 20; + break; + case 3: + $attaque = 20; + break; + case 4: + $attaque = 50; + break; + case 5: + $attaque = 250; + break; + case 6: + $attaque = 720; + break; + case 7: + $attaque = 1240; + break; + case 8: + $attaque = 1990; + break; + case 9: + $attaque = 3250; + break; + case 10: + $attaque = 4250; + break; + case 11: + $attaque = 8500; + break; + case 12: + $attaque = 16000; + break; + case 13: + $attaque = 20; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 0: + $attaque = 0; + break; + case 1: + $attaque = 25; + break; + case 2: + $attaque = 25; + break; + case 3: + $attaque = 25; + break; + case 4: + $attaque = 50; + break; + case 5: + $attaque = 100; + break; + case 6: + $attaque = 250; + break; + case 7: + $attaque = 740; + break; + case 8: + $attaque = 1300; + break; + case 9: + $attaque = 2000; + break; + case 10: + $attaque = 3400; + break; + case 11: + $attaque = 4400; + break; + case 12: + $attaque = 9300; + break; + case 13: + $attaque = 8400; + break; + case 14: + $attaque = 8300; + break; + case 15: + $attaque = 11500; + break; + case 16: + $attaque = 0; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + //Bonus pour les vaisseaux léger + if ($id <= 3) { + //Bonus Assistance de visée + if ($planete->technologies[4]& dTechnologies::idToBit(5)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(4)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(3)) { + $attaque *= 1.10; + } + } + + //Bonus pour les vaisseaux moyen + if ($id >= 4 && $id <= 7) { + //Bonus Guidage laser + if ($planete->technologies[4]& dTechnologies::idToBit(8)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(7)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(6)) { + $attaque *= 1.10; + } + } + + //Bonus pour les vaisseaux lourds + if ($id >= 8) { + //Bonus Condensateurs Rapides + if ($planete->technologies[4]& dTechnologies::idToBit(11)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(10)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(9)) { + $attaque *= 1.10; + } + } + + return $attaque; + } + + public static function bouclier($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { + switch ($id) { + case 0: + $bouclier = 500; + break; + case 1: + $bouclier = 2000; + break; + case 2: + $bouclier = 2000; + break; + case 3: + $bouclier = 1500; + break; + case 4: + $bouclier = 250; + break; + case 5: + $bouclier = 1000; + break; + case 6: + $bouclier = 1750; + break; + case 7: + $bouclier = 3000; + break; + case 8: + $bouclier = 5000; + break; + case 9: + $bouclier = 9000; + break; + case 10: + $bouclier = 10000; + break; + case 11: + $bouclier = 10250; + break; + case 12: + $bouclier = 12750; + break; + case 13: + $bouclier = 750; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 0: + $bouclier = 400; + break; + case 1: + $bouclier = 1800; + break; + case 2: + $bouclier = 2000; + break; + case 3: + $bouclier = 400; + break; + case 4: + $bouclier = 200; + break; + case 5: + $bouclier = 300; + break; + case 6: + $bouclier = 900; + break; + case 7: + $bouclier = 1500; + break; + case 8: + $bouclier = 3000; + break; + case 9: + $bouclier = 4600; + break; + case 10: + $bouclier = 8000; + break; + case 11: + $bouclier = 9000; + break; + case 12: + $bouclier = 15000; + break; + case 13: + $bouclier = 10400; + break; + case 14: + $bouclier = 9700; + break; + case 15: + $bouclier = 11500; + break; + case 16: + $bouclier = 50000; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + return $bouclier; + } + + public static function armature($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + if ($race == "humain") { + switch ($id) { + case 0: + $armature = 100; + break; + case 1: + $armature = 400; + break; + case 2: + $armature = 400; + break; + case 3: + $armature = 300; + break; + case 4: + $armature = 50; + break; + case 5: + $armature = 200; + break; + case 6: + $armature = 350; + break; + case 7: + $armature = 600; + break; + case 8: + $armature = 1000; + break; + case 9: + $armature = 1800; + break; + case 10: + $armature = 2000; + break; + case 11: + $armature = 2050; + break; + case 12: + $armature = 2550; + break; + case 13: + $armature = 150; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 0: + $armature = 200; + break; + case 1: + $armature = 600; + break; + case 2: + $armature = 800; + break; + case 3: + $armature = 120; + break; + case 4: + $armature = 100; + break; + case 5: + $armature = 150; + break; + case 6: + $armature = 300; + break; + case 7: + $armature = 600; + break; + case 8: + $armature = 600; + break; + case 9: + $armature = 1400; + break; + case 10: + $armature = 2800; + break; + case 11: + $armature = 3000; + break; + case 12: + $armature = 3000; + break; + case 13: + $armature = 3600; + break; + case 14: + $armature = 3600; + break; + case 15: + $armature = 3500; + break; + case 16: + $armature = 30000; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + //Bonus pour les vaisseaux léger + if ($id <= 3) { + //Bonus Alliage + if ($planete->technologies[5]& dTechnologies::idToBit(20)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(19)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(18)) { + $armature *= 1.10; + } + } + + //Bonus pour les vaisseaux moyen + if ($id >= 4 && $id <= 7) { + //Bonus Alliage avancé + if ($planete->technologies[5]& dTechnologies::idToBit(23)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(22)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(21)) { + $armature *= 1.10; + } + } + + //Bonus pour les vaisseaux lourds + if ($id >= 8) { + //Bonus Armure Moléculaire + if ($planete->technologies[5]& dTechnologies::idToBit(26)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(25)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(24)) { + $armature *= 1.10; + } + } + + return $armature; + } } diff --git a/onyx2/include/Class/Donnees/technologies.php b/onyx2/include/Class/Donnees/technologies.php index b83d177..f6b9db0 100644 --- a/onyx2/include/Class/Donnees/technologies.php +++ b/onyx2/include/Class/Donnees/technologies.php @@ -1046,8 +1046,11 @@ class dTechnologies implements Donnees } - public static function needed($object, surface $planete, $print = false) + public static function needed($object, surface $planete, $print = false, $race = null) { + if ($race == null) { + $race = $planete->race; + } switch ($object[0]) { case 0: $tableau = array( @@ -1488,64 +1491,125 @@ class dTechnologies implements Donnees ); break; case 7: - $tableau = array( - array( - array('batiments', 6, 1) - ), - array( - array("technologies", 7, 0), - array('batiments', 6, 2) - ), - array( - array("technologies", 7, 1), - array('batiments', 6, 3) - ), - array( - array("technologies", 7, 2), - array('batiments', 6, 5) - ), - array( - array("technologies", 7, 1), - array('batiments', 6, 3) - ), - array( - array("technologies", 7, 3), - array('batiments', 6, 8) - ), - array( - array("technologies", 7, 5), - array('batiments', 6, 10) - ), - array( - array("technologies", 7, 6), - array('batiments', 6, 15) - ), - array( - array("technologies", 7, 7), - array('batiments', 6, 20) - ), - array( - array("technologies", 7, 8), - array('batiments', 6, 30) - ), - array( - array("technologies", 7, 5), - array('batiments', 6, 10) - ), - array( - array("technologies", 7, 5), - array('batiments', 6, 10) - ), - array( - array('batiments', 6, 5) - ), - array( - array("technologies", 7, 12) - ), - array( - array("technologies", 7, 13) - ), - ); + if ($race == "humain") { + $tableau = array( + array( + array('batiments', 6, 1) + ), + array( + array("technologies", 7, 0), + array('batiments', 6, 2) + ), + array( + array("technologies", 7, 1), + array('batiments', 6, 3) + ), + array( + array("technologies", 7, 2), + array('batiments', 6, 5) + ), + array( + array("technologies", 7, 1), + array('batiments', 6, 3) + ), + array( + array("technologies", 7, 3), + array('batiments', 6, 8) + ), + array( + array("technologies", 7, 5), + array('batiments', 6, 10) + ), + array( + array("technologies", 7, 6), + array('batiments', 6, 15) + ), + array( + array("technologies", 7, 7), + array('batiments', 6, 20) + ), + array( + array("technologies", 7, 8), + array('batiments', 6, 30) + ), + array( + array("technologies", 7, 5), + array('batiments', 6, 10) + ), + array( + array("technologies", 7, 4), + array('batiments', 6, 3) + ), + array( + array('batiments', 6, 5) + ), + array( + array("technologies", 7, 12) + ), + array( + array("technologies", 7, 13) + ), + ); + } else { + $tableau = array( + array( + array('batiments', 6, 1) + ), + array( + array("technologies", 7, 0), + array('batiments', 6, 2) + ), + array( + array("technologies", 7, 1), + array('batiments', 6, 3) + ), + array( + array("technologies", 7, 2), + array('batiments', 6, 5) + ), + array( + array("technologies", 7, 1), + array('batiments', 6, 3) + ), + array( + array("technologies", 7, 3), + array('batiments', 6, 8) + ), + array( + array("technologies", 7, 5), + array('batiments', 6, 10) + ), + array( + array("technologies", 7, 6), + array('batiments', 6, 15) + ), + array( + array("technologies", 7, 7), + array('batiments', 6, 20) + ), + array( + array("technologies", 7, 8), + array('batiments', 6, 30) + ), + array( + array("technologies", 7, 5), + array('batiments', 6, 10) + ), + array( + array("technologies", 7, 5), + array('batiments', 6, 10) + ), + array( + array('batiments', 6, 5) + ), + array( + array("technologies", 7, 12) + ), + array( + array("technologies", 7, 13) + ), + ); + } break; case 8: $tableau = array( @@ -1553,6 +1617,9 @@ class dTechnologies implements Donnees array("technologies", 1, 0), array('batiments', 6, 2) ), + array( + array("technologies", 8, 0) + ), array( array("technologies", 8, 1) ), @@ -1604,9 +1671,6 @@ class dTechnologies implements Donnees array( array("technologies", 8, 17) ), - array( - array("technologies", 8, 18) - ), ); break; default: @@ -1614,7 +1678,7 @@ class dTechnologies implements Donnees } if ($print) { - return dDonnees::print_neededCheck($tableau[$object[1]], $planete); + return dDonnees::print_neededCheck($tableau[$object[1]], $planete, $race); } else { return dDonnees::neededCheck($tableau[$object[1]], $planete); } diff --git a/onyx2/include/Class/Donnees/terrestre.php b/onyx2/include/Class/Donnees/terrestre.php index 005413e..3df2f67 100644 --- a/onyx2/include/Class/Donnees/terrestre.php +++ b/onyx2/include/Class/Donnees/terrestre.php @@ -471,6 +471,15 @@ class dTerrestre implements Donnees $temps /= VITESSE; //On tient compte des bonus + //Bonus technologique de vitesse de construction : Constructions Planétaires + if ($planete->technologies[2]& dTechnologies::idToBit(2)) { + $temps /= 1.15; + } elseif ($planete->technologies[2]& dTechnologies::idToBit(1)) { + $temps /= 1.10; + } elseif ($planete->technologies[2]& dTechnologies::idToBit(0)) { + $temps /= 1.05; + } + return ceil($temps/pow(1.25, ($planete->batiments[7] - $moins))) * $nombre; } @@ -738,9 +747,274 @@ class dTerrestre implements Donnees } if ($print) { - return dDonnees::print_neededCheck($neededTerrestre[$id], $planete); + return dDonnees::print_neededCheck($neededTerrestre[$id], $planete, $race); } else { return dDonnees::neededCheck($neededTerrestre[$id], $planete); } } + + + public static function attaque($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + //Les véhicules ne sont pas implémenté pour le moment + if ($id < 8) { + return 0; + } + if ($race == "humain") { + switch ($id) { + case 8: + $attaque = 15; + break; + case 9: + $attaque = 50; + break; + case 10: + $attaque = 1000; + break; + case 11: + $attaque = 2000; + break; + case 12: + $attaque = 3000; + break; + case 13: + $attaque = 3500; + break; + case 14: + $attaque = 6000; + break; + case 15: + $attaque = 15000; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 8: + $attaque = 15; + break; + case 9: + $attaque = 50; + break; + case 10: + $attaque = 1000; + break; + case 11: + $attaque = 2000; + break; + case 12: + $attaque = 3000; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + //Bonus pour les défenses légère + if ($id == 8 || $id == 9) { + //Bonus Projectiles haute densité + if ($planete->technologies[4]& dTechnologies::idToBit(2)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(1)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(0)) { + $attaque *= 1.10; + } + } + + //Bonus pour les défenses moyenne + if ($id == 10 || $id == 11) { + //Bonus Ballistique avancée + if ($planete->technologies[4]& dTechnologies::idToBit(14)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(13)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(12)) { + $attaque *= 1.10; + } + } + + //Bonus pour les défenses lourdes + if ($id >= 12) { + //Bonus Accélération Magnétique + if ($planete->technologies[4]& dTechnologies::idToBit(17)) { + $attaque *= 1.30; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(16)) { + $attaque *= 1.20; + } elseif ($planete->technologies[4]& dTechnologies::idToBit(15)) { + $attaque *= 1.10; + } + } + + return $attaque; + } + + public static function bouclier($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + //Les véhicules ne sont pas implémenté pour le moment + if ($id < 8) { + return 0; + } + if ($race == "humain") { + switch ($id) { + case 8: + $bouclier = 25; + break; + case 9: + $bouclier = 75; + break; + case 10: + $bouclier = 1500; + break; + case 11: + $bouclier = 1800; + break; + case 12: + $bouclier = 4850; + break; + case 13: + $bouclier = 5000; + break; + case 14: + $bouclier = 5000; + break; + case 15: + $bouclier = 7500; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 8: + $bouclier = 40; + break; + case 9: + $bouclier = 120; + break; + case 10: + $bouclier = 2600; + break; + case 11: + $bouclier = 5000; + break; + case 12: + $bouclier = 8600; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + return $bouclier; + } + + public static function armature($id, surface $planete, $race = null) + { + if ($race == null) { + $race = $planete->race; + } + //Les véhicules ne sont pas implémenté pour le moment + if ($id < 8) { + return 0; + } + if ($race == "humain") { + switch ($id) { + case 8: + $armature = 25; + break; + case 9: + $armature = 75; + break; + case 10: + $armature = 1500; + break; + case 11: + $armature = 1800; + break; + case 12: + $armature = 4850; + break; + case 13: + $armature = 5000; + break; + case 14: + $armature = 5000; + break; + case 15: + $armature = 7500; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } else { + switch ($id) { + case 8: + $armature = 10; + break; + case 9: + $armature = 30; + break; + case 10: + $armature = 400; + break; + case 11: + $armature = 700; + break; + case 12: + $armature = 1400; + break; + default: + trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR); + } + } + + //On tient compte des bonus + //Bonus pour les défenses légères + if ($id == 8 || $id == 9) { + //Bonus Alliage + if ($planete->technologies[5]& dTechnologies::idToBit(20)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(19)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(18)) { + $armature *= 1.10; + } + } + + //Bonus pour les défense moyennes + if ($id == 10 || $id == 11) { + //Bonus Alliage avancé + if ($planete->technologies[5]& dTechnologies::idToBit(23)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(22)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(21)) { + $armature *= 1.10; + } + } + + //Bonus pour les défenses lourdes + if ($id >= 12) { + //Bonus Armure Moléculaire + if ($planete->technologies[5]& dTechnologies::idToBit(26)) { + $armature *= 1.30; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(25)) { + $armature *= 1.20; + } elseif ($planete->technologies[5]& dTechnologies::idToBit(24)) { + $armature *= 1.10; + } + } + + return $armature; + } } diff --git a/onyx2/include/Class/flotte.php b/onyx2/include/Class/flotte.php index 1a7559c..2753972 100644 --- a/onyx2/include/Class/flotte.php +++ b/onyx2/include/Class/flotte.php @@ -88,12 +88,13 @@ class Flotte public function calculer() { + global $planete; $this->nb_vais = 0; //Calcul de la capacité maximale d'embarquement de la flotte foreach ($this->vaisseaux as $key => $vais) { $this->nb_vais += $vais; - $this->contenuMax += dSpatial::tailleCales($key) * $vais; + $this->contenuMax += dSpatial::tailleCales($key, $planete) * $vais; } } @@ -265,20 +266,20 @@ class Flotte //Calcul du temps de déplacement entre planètes if ($start_planete->ss == $end_systeme && $start_planete->galaxie == $end_galaxie) { - $temps[0][$key] = (1000/dSpatial::vitesseP($key)) * (1 + 0.1 * $diff_position); + $temps[0][$key] = (1000/dSpatial::vitesseP($key, $start_planete)) * (1 + 0.1 * $diff_position); $temps[1][$key] = $temps[2][$key] = 0; } //Calcul du temps de déplacement entre système elseif ($start_planete->galaxie == $end_galaxie) { - $temps[0][$key] = (1000/dSpatial::vitesseP($key)) * (1 + 0.1 * ($diff_centre_position_start + $diff_centre_position_end)); - $temps[1][$key] = (2000/dSpatial::vitesseS($key)) * (2 + 1 * $diff_systeme); + $temps[0][$key] = (1000/dSpatial::vitesseP($key, $start_planete)) * (1 + 0.1 * ($diff_centre_position_start + $diff_centre_position_end)); + $temps[1][$key] = (2000/dSpatial::vitesseS($key, $start_planete)) * (2 + 1 * $diff_systeme); $temps[2][$key] = 0; } //Calcul du temps de déplacement entre galaxies else { - $temps[0][$key] = (1000/dSpatial::vitesseP($key)) * (1 + 0.1 * ($diff_centre_position_start + $diff_centre_position_end)); - $temps[1][$key] = (2000/dSpatial::vitesseS($key)) * (2 + 1 * ($diff_centre_systeme_start + $diff_centre_systeme_end)); - $temps[2][$key] = (5000/dSpatial::vitesseG($key)) * (2 + 1.5 * $diff_galaxie); + $temps[0][$key] = (1000/dSpatial::vitesseP($key, $start_planete)) * (1 + 0.1 * ($diff_centre_position_start + $diff_centre_position_end)); + $temps[1][$key] = (2000/dSpatial::vitesseS($key, $start_planete)) * (2 + 1 * ($diff_centre_systeme_start + $diff_centre_systeme_end)); + $temps[2][$key] = (5000/dSpatial::vitesseG($key, $start_planete)) * (2 + 1.5 * $diff_galaxie); } //Calcul du bonus pour le réacteur à combustion @@ -332,7 +333,7 @@ class Flotte } //Si les chasseurs peuvent rentrer dans les cales des vaisseaux, on les enlèves - if ($contenuDispo - ceil($conso[0]+$conso[1]+$conso[2]) - ($vaisseaux[4] * dSpatial::tailleCales(4) + $vaisseaux[5] * dSpatial::tailleCales(5)) >= ($vaisseaux[4] + $vaisseaux[5]) * 200) { + if ($contenuDispo - ceil($conso[0]+$conso[1]+$conso[2]) - ($vaisseaux[4] * dSpatial::tailleCales(4, $start_planete) + $vaisseaux[5] * dSpatial::tailleCales(5, $start_planete)) >= ($vaisseaux[4] + $vaisseaux[5]) * 200) { $temps[2][4] = $temps[2][5] = $temps[1][4] = $temps[1][5] = $temps[0][4] = $temps[0][5] = 0; } @@ -347,6 +348,21 @@ class Flotte } + public function calcStockage($vaisseaux, surface $planete) + { + global $LANG; + + $contenuMax = 0; + foreach ($vaisseaux as $key => $vais) { + if (!isset($LANG[$planete->race]["vaisseaux"]["noms_sing"][$key])) { + continue; + } + $contenuMax += dSpatial::tailleCales($key, $planete) * $vais; + } + return $contenuMax; + } + + public function check_mission() { //On vérifie qu'un calcul ne soit pas déjà en cours @@ -546,6 +562,26 @@ class Flotte } + public function attaquer() + { + //Si la planète d'arrivé n'est pas chargée, on charge les planètes + if (is_numeric($this->end_planete)) { + $this->load_planete(); + } + + //On charge la classe des combats + + //On réalise le combat + + //On envoit le résultat + + //On update la flotte avec les pertes et gains + + //On dis à la flotte de rentrer + $this->statut = 1; + $this->addModifFlotte("statut"); + } + public function espionner() { //Si la planète d'arrivé n'est pas chargée, on charge les planètes @@ -557,17 +593,17 @@ class Flotte if (($this->start_planete->technologies[1]& 67108864) == 67108864) { $espionnage_A = 3; } elseif (($this->start_planete->technologies[1]& 33554432) == 33554432) { - $espionnage_A = 3; + $espionnage_A = 2; } elseif (($this->start_planete->technologies[1]& 16777216) == 16777216) { - $espionnage_A = 3; + $espionnage_A = 1; } else { $espionnage_A = 0; } - if (($this->start_planete->technologies[1]& 536870912) == 536870912) { + if (($this->end_planete->technologies[1]& 536870912) == 536870912) { $contreespionnage_B = 3; - } elseif (($this->start_planete->technologies[1]& 268435456) == 268435456) { + } elseif (($this->end_planete->technologies[1]& 268435456) == 268435456) { $contreespionnage_B = 2; - } elseif (($this->start_planete->technologies[1]& 134217728) == 134217728) { + } elseif (($this->end_planete->technologies[1]& 134217728) == 134217728) { $contreespionnage_B = 1; } else { $contreespionnage_B = 0; @@ -576,8 +612,20 @@ class Flotte //Création du rapport $rapport = new Rapport(5, $this->start_planete, $this->end_planete, $this->start_time + $this->end_time); $rapport->addInfo($this->end_planete, 0); - $rapport->addInfo($contreespionnage_B/$espionnage_A/10, 1); - $rapport->addInfo($espionnage_A+2-$contreespionnage_B+1, 2); + //Rend aléatoire le niveau affiché des bâtiments + $diff_esp = $espionnage_A - $contreespionnage_B; + //Il y a au moins 2 niveaux d'erreur (soit 1 positif et 1 négatif) + if ($diff_esp == 0) { + $diff_esp = 1; + } + $rapport->addInfo($diff_esp, 1); + //Où x est le résultat de cette formule, si x >= y, ça donne accès a plus d'informations + // si y >= 1 : ressources + // si y >= 2 : batiment + // si y >= 3 : défenses + // si y >= 4 : flottes + $rapport->addInfo($espionnage_A + 2 - $contreespionnage_B + 1, 2); + //Si le joueur a au moins le niveau 1 du contre-espionnage, on le prévient qu'il a été espionné, sinon il n'en sait rien $rapport->addInfo($contreespionnage_B, 3); $rapport->send(); diff --git a/onyx2/include/Class/planete.php b/onyx2/include/Class/planete.php index a65e153..43ee8fb 100644 --- a/onyx2/include/Class/planete.php +++ b/onyx2/include/Class/planete.php @@ -128,7 +128,7 @@ class Planete extends Surface $this->file_cas = new FileCaserne(); } - foreach ($terrestreVAR as $ter) { + foreach ($terrestreVAR[$this->race] as $ter) { $this->terrestres[] = $plan[$ter]; } if (!empty($plan["file_ter"])) { @@ -273,11 +273,12 @@ class Planete extends Surface $popPlus *= 1.05; } //Démocratie : 5 % de population qui arrive en plus. - if ($this->technologies[2] & 4) { + //Bonus techno immigration coloniale + if ($this->technologies[3] & 4) { $popPlus *= 1.15; - } elseif ($this->technologies[2] & 2) { + } elseif ($this->technologies[3] & 2) { $popPlus *= 1.10; - } elseif ($this->technologies[2] & 1) { + } elseif ($this->technologies[3] & 1) { $popPlus *= 1.05; } @@ -671,7 +672,27 @@ class Planete extends Surface $prod_hy -= $conso_h; if ($retarray) { - return array(array(ceil($this->coeff_bat[0]*100), ceil($this->coeff_bat[1]*100), ceil($this->coeff_bat[2]*100), ceil($this->coeff_bat[3]*100), ceil($this->coeff_bat[4]*100)), array($prod_met, $prod_cri, $prod_hy + $conso_h, $energie_s*$this->coeff_bat[3], $energie_f*$this->coeff_bat[4]), array($energie_m*$this->coeff_bat[0], $energie_c*$this->coeff_bat[1], $energie_h*$this->coeff_bat[2], $conso_h, ($energie_s*$this->coeff_bat[3] + $energie_f*$this->coeff_bat[4])-($energie_m*$this->coeff_bat[0] + $energie_c*$this->coeff_bat[1] + $energie_h*$this->coeff_bat[2]))); + return array( + array( + ceil($this->coeff_bat[0]*100), + ceil($this->coeff_bat[1]*100), + ceil($this->coeff_bat[2]*100), + ceil($this->coeff_bat[3]*100), + ceil($this->coeff_bat[4]*100)), + array( + $prod_met, + $prod_cri, + $prod_hy + $conso_h, + $energie_s*$this->coeff_bat[3], + $energie_f*$this->coeff_bat[4]), + array( + $energie_m*$this->coeff_bat[0], + $energie_c*$this->coeff_bat[1], + $energie_h*$this->coeff_bat[2], + $conso_h, + ($energie_s*$this->coeff_bat[3] + $energie_f*$this->coeff_bat[4])-($energie_m*$this->coeff_bat[0] + $energie_c*$this->coeff_bat[1] + $energie_h*$this->coeff_bat[2]) + ) + ); } else { return array($prod_met, $prod_cri, $prod_hy); } @@ -684,21 +705,17 @@ class Planete extends Surface $this->id_user = $id_user; //Génération du nombre de case et de l'image en fonction de la position dans le système + $this->image = mt_rand(1, 150); if ($mere) { $this->cases = 225; - $this->image = mt_rand(1, 19); } elseif ($this->position > $VAR['nb_planete']*0.75) { $this->cases = mt_rand(200, 255); - $this->image = mt_rand(1, 19); } elseif ($this->position > $VAR['nb_planete']/2) { $this->cases = mt_rand(250, 300); - $this->image = mt_rand(1, 19); } elseif ($this->position > $VAR['nb_planete']/4) { $this->cases = mt_rand(175, 260); - $this->image = mt_rand(1, 19); } else { $this->cases = mt_rand(150, 220); - $this->image = mt_rand(1, 19); } //Définition des principaux paramètres de la planète @@ -712,7 +729,10 @@ class Planete extends Surface $this->cristal = 700; $this->hydrogene = 0; - $this->modif = array("id_user", "nom_planete", "galaxie", "ss", "position", "image", "cases"); + // on met le moment où la planete a été crée, comme ça, à la première actualisation, on ne remplit pas les silos + $this->timestamp = time(); + + $this->modif = array("id_user", "nom_planete", "galaxie", "ss", "position", "image", "cases", "timestamp", "metal", "cristal", "hydrogene"); } /** @@ -744,7 +764,11 @@ class Planete extends Surface global ${$calc.'VAR'}; } - $outNomChamps[] = ${$calc.'VAR'}[$modif[1]]; + if ($calc == "terrestre") { + $outNomChamps[] = ${$calc.'VAR'}[$this->race][$modif[1]]; + } else { + $outNomChamps[] = ${$calc.'VAR'}[$modif[1]]; + } $outValeurs[] = $this->{$modif[0]}[$modif[1]]; } elseif ($modif == "force") { continue; @@ -770,6 +794,11 @@ class Planete extends Surface } foreach ($this->{$modif} as $j => $value) { + if ($calc == "terrestre") { + $outNomChamps[] = ${$calc.'VAR'}[$this->race][$j]; + } else { + $outNomChamps[] = ${$calc.'VAR'}[$j]; + } $outNomChamps[] = ${$calc.'VAR'}[$j]; $outValeurs[] = $value; } @@ -796,7 +825,11 @@ class Planete extends Surface trigger_error('Impossible de trouver les données pour '.$modif[0], E_USER_ERROR); } - $out[] = ${$calc.'VAR'}[$modif[1]]." = ".$this->{$modif[0]}[$modif[1]]; + if ($calc == "terrestre") { + $out[] = ${$calc.'VAR'}[$this->race][$modif[1]]." = ".$this->{$modif[0]}[$modif[1]]; + } else { + $out[] = ${$calc.'VAR'}[$modif[1]]." = ".$this->{$modif[0]}[$modif[1]]; + } } elseif ($modif == "force") { $out[] = "timestamp = timestamp"; } elseif (!is_array($this->{$modif}) && !is_object($this->{$modif})) { @@ -819,7 +852,11 @@ class Planete extends Surface } foreach ($this->{$modif} as $j => $value) { - $out[] = ${$calc.'VAR'}[$j]." = ".$value; + if ($calc == "terrestre") { + $out[] = ${$calc.'VAR'}[$this->race][$j]." = ".$value; + } else { + $out[] = ${$calc.'VAR'}[$j]." = ".$value; + } } } } diff --git a/onyx2/include/Class/rapport.php b/onyx2/include/Class/rapport.php index 58969a5..9226a5e 100644 --- a/onyx2/include/Class/rapport.php +++ b/onyx2/include/Class/rapport.php @@ -18,6 +18,8 @@ class Rapport public $rapportA = ""; public $rapportB = ""; + public $table = "mail"; + /** * Constructor * @access protected @@ -89,36 +91,42 @@ class Rapport if ($this->var[2] > 2) { $this->rapportA .= ""; foreach ($this->var[0]->batiments as $key => $batiment) { - $this->rapportA .= ""; + $this->rapportA .= ""; } $this->rapportA .= "
NiveauBâtiment
".rand($batiment * (1 - $this->var[1]), $batiment * (1 + $this->var[1]))."".$LANG[$this->var[0]->race]["batiments"]["noms_sing"][$key]."
".rand(($batiment - $this->var[1]), ($batiment + $this->var[1]))."".$LANG[$this->var[0]->race]["batiments"]["noms_sing"][$key]."

"; } - //Flottes en orbite - if ($this->var[2] > 3) { - } - //Flottes au sol - if ($this->var[2] > 5) { + if ($this->var[2] > 4) { $this->rapportA .= ""; foreach ($this->var[0]->vaisseaux as $key => $vaisseau) { - $this->rapportA .= ""; + $this->rapportA .= ""; } $this->rapportA .= "
NombreVaisseaux
".rand($vaisseau * (1 - $this->var[1]), $vaisseau * (1 + $this->var[1]))."".$LANG[$this->var[0]->race]["vaisseaux"]["noms_sing"][$key]."
".rand(($vaisseau - $this->var[1]), ($vaisseau + $this->var[1]))."".$LANG[$this->var[0]->race]["vaisseaux"]["noms_sing"][$key]."

"; } //Défenses - if ($this->var[2] > 4) { + if ($this->var[2] > 3) { $this->rapportA .= ""; foreach ($this->var[0]->terrestres as $key => $unite) { - if (!dTerrestre::type($key)) { - $this->rapportA .= ""; + if (!dTerrestre::type($key, $this->var[0])) { + $this->rapportA .= ""; } } $this->rapportA .= "
NombreDéfenses
".rand($unite * (1 - $this->var[1]), $unite * (1 + $this->var[1]))."".$LANG[$this->var[0]->race]["terrestre"]["noms_sing"][$key]."
".rand($unite * floor(1 - $this->var[1]), $unite * ceil(1 + $this->var[1]))."".$LANG[$this->var[0]->race]["terrestre"]["noms_sing"][$key]."

"; } } + //On envoit le rapport d'espionnage + $temps = $this->timestamp; + $db = new BDD(); + $db->escape($this->titreA); + $db->escape($this->rapportA); + + $db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA->id_user.", '$this->titreA', '$this->rapportA', '$temps');"); + $db->deconnexion(); + + //On envoit le rapport de cdontre-espionnage if ($this->var[3] >= 1) { $this->titreB = "Rapport de contre-espionnage"; if (!isset($this->var[0]->nom_planete)) { @@ -126,8 +134,15 @@ class Rapport } else { $this->rapportB = "Nous venons d'apprendre que notre planète : ".$this->var[0]->nom_planete."[".$this->var[0]->galaxie.":".$this->var[0]->ss.":".$this->var[0]->position."] a été la cible d'un espionnage de la part de ".$this->utilA->pseudo; } + + $temps = $this->timestamp; + $db = new BDD(); + $db->escape($this->titreB); + $db->escape($this->rapportB); + + $db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilB->id_user.", '$this->titreB', '$this->rapportB', '$temps');"); + $db->deconnexion(); } - $this->rapportA = $this->rapportA; } public function sendTransport() diff --git a/onyx2/include/admin/alliance.php b/onyx2/include/admin/alliance.php index e6e54d2..ceb4cca 100644 --- a/onyx2/include/admin/alliance.php +++ b/onyx2/include/admin/alliance.php @@ -12,7 +12,7 @@ if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] != 'id') { $pagea = 'print_key'; $id_plan = $_GET['id']; $key = $_GET['key']; - $chapeau->connexion(); + $chapeau = new BDD(); $chapeau->escape($id_plan); $chapeau->escape($key); $reqA = $chapeau->unique_query("SELECT * FROM $table_alliances WHERE id = '$id_plan';"); @@ -27,20 +27,20 @@ if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] != 'id') { if (isset($_POST['key']) && isset($_POST['mod'])) { $key = $_POST['key']; $mod = $_POST['mod']; - $chapeau->connexion(); + $chapeau = new BDD(); $chapeau->escape($mod); $chapeau->escape($id_plan); $chapeau->query("UPDATE $table_alliances SET $key = '$mod' WHERE id = '$id_plan';"); $chapeau->deconnexion(); } - $chapeau->connexion(); + $chapeau = new BDD(); $req = $chapeau->unique_query("SELECT * FROM $table_alliances WHERE id = '$id_plan';"); $chapeau->deconnexion(); $template->assign('tableau', $req); $template->assign('idPlan', $id_plan); } elseif (!empty($_GET['name'])) { $name = $_GET['name']; - $chapeau->connexion(); + $chapeau = new BDD(); $chapeau->escape($name); $req = $chapeau->unique_query("SELECT * FROM $table_alliances WHERE nom = '$name';"); $chapeau->deconnexion(); diff --git a/onyx2/include/admin/planete.php b/onyx2/include/admin/planete.php index a31fd20..cbac82d 100644 --- a/onyx2/include/admin/planete.php +++ b/onyx2/include/admin/planete.php @@ -65,5 +65,9 @@ if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] == 'hash_planete header('Location: '.$VAR["menu"]["vplanetes"].'&id='.$req['id']); exit; } else { + $bdd = new BDD(); + $req = $bdd->query("SELECT planete.id, nom_planete, pseudo, galaxie, ss, position FROM planete LEFT JOIN user ON (id_user=user.id) LIMIT 1000;"); + $bdd->deconnexion(); + $template->assign('planetes', $req); $pagea = 'print_choixP'; } diff --git a/onyx2/include/donnees.php b/onyx2/include/donnees.php index fbc849e..28ef6b0 100644 --- a/onyx2/include/donnees.php +++ b/onyx2/include/donnees.php @@ -29,5 +29,7 @@ $technologiesVAR = array("techno_indu", "techno_inge", "techno_inge2", "techno_p $batimentsVAR = array("mine_m", "mine_c", "mine_h", "centrale_s", "centrale_f", "radar", "labo", "chantier_terrestre", "chantier_spatial", "caserne", "silo", "centre_info", "habitation", "arcologies", "bunker", "stations", "commercial", "loisir", "administration"); $caserneVAR = array("soldat1", "soldat2", "soldat3", "soldat4", "sniper", "spartan", "medecin", "ingenieur", "soldat_lourd"); $spatialVAR = array("vaisseau_1", "vaisseau_2", "vaisseau_3", "vaisseau_4", "vaisseau_5", "vaisseau_6", "vaisseau_7", "vaisseau_8", "vaisseau_9", "vaisseau_10", "vaisseau_11", "vaisseau_12", "vaisseau_13", "vaisseau_14", "vaisseau_15", "vaisseau_16", "vaisseau_17"); -$terrestreVAR = array("vais_0", "vais_1", "vais_2", "vais_3", "vcl_1", "vcl_2", "vcl_3", "vcl_4", "def_1", "def_2", "def_3", "def_4", "def_5", "def_6", "def_7", "def_8"); +$terrestreVAR = array(); +$terrestreVAR["humain"] = array("vais_0", "vais_1", "vais_2", "vais_3", "vcl_1", "vcl_2", "vcl_3", "vcl_4", "def_1", "def_2", "def_3", "def_4", "def_5", "def_6", "def_7", "def_8"); +$terrestreVAR["covenant"] = array("vais_0", "vais_1", "vais_2", "vais_3", "vcl_1", "vcl_2", "vcl_3", "vcl_4", "def_1", "def_2", "def_3", "def_4", "def_5"); $coeffVAR = array("coeff_mine_m", "coeff_mine_c", "coeff_mine_h", "coeff_centrale_s", "coeff_centrale_f"); diff --git a/onyx2/include/flottes.php b/onyx2/include/flottes.php index 3ff81ff..ac65513 100644 --- a/onyx2/include/flottes.php +++ b/onyx2/include/flottes.php @@ -5,7 +5,29 @@ if (!defined('INDEX')) { } $bdd->reconnexion(); -$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE (id_user = ".$planete->id_user." OR end_planete = ".$planete->id." OR id_alliance = ".$planete->id_alliance." OR end_planete = ".$planete->id_alliance.") AND (start_time + end_time) <= ".time()." AND last < ".(time()-10).";"); +$sql = ""; +if ($planete->id_user != null) { + $sql = "id_user = " . $planete->id_user . " "; +} +if ($planete->id != null) { + if ($sql != "") { + $sql .= " OR "; + } + $sql .= "end_planete = " . $planete->id . " "; +} +if ($planete->id_alliance != null) { + if ($sql != "") { + $sql .= " OR "; + } + $sql .= "id_alliance = " . $planete->id_alliance . " "; +} +if ($planete->id_alliance != null) { + if ($sql != "") { + $sql .= " OR "; + } + $sql .= "end_planete = " . $planete->id_alliance . " "; +} +$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE (" . $sql . ") AND (start_time + end_time) <= ".time()." AND last < ".(time()-10).";"); $bdd->deconnexion(); if (!empty($flottes)) { diff --git a/onyx2/include/game/arbre.php b/onyx2/include/game/arbre.php index 76f47be..4b94b48 100644 --- a/onyx2/include/game/arbre.php +++ b/onyx2/include/game/arbre.php @@ -44,13 +44,13 @@ if (SURFACE == "asteroide") { } -function traiterBrancheTechnologie($TEMP_liste, $branche, $i) +function traiterBrancheTechnologie($TEMP_liste, $branche, $i, $race) { global $LANG, $planete; foreach ($i as $key => $id) { if (is_array($id)) { - $TEMP_liste = traiterBrancheTechnologie($TEMP_liste, $branche, $id); + $TEMP_liste = traiterBrancheTechnologie($TEMP_liste, $branche, $id, $race); } else { $niveau = dTechnologies::niveau_du_joueur($branche, $id, $planete); $niveau_max = dTechnologies::niveau_max($branche, $id, $planete, $LANG); @@ -61,7 +61,7 @@ function traiterBrancheTechnologie($TEMP_liste, $branche, $i) 'branche' => $branche, 'niveau' => $niveau, 'niveau_max' => $niveau_max, - 'etat' => dTechnologies::needed($object, $planete, true) + 'etat' => dTechnologies::needed($object, $planete, true, $race) ); } } @@ -72,7 +72,7 @@ $TEMP_liste = array(); $branche = 0; while ($branche < 9) { $TEMP_liste[$branche] = array(); - $TEMP_liste = traiterBrancheTechnologie($TEMP_liste, $branche, dTechnologies::type($branche, $planete->race)); + $TEMP_liste = traiterBrancheTechnologie($TEMP_liste, $branche, dTechnologies::type($branche, $planete->race), $race); $branche++; } $template->assign('technologies', $TEMP_liste); @@ -89,12 +89,12 @@ foreach ($planete->casernes as $id => $unite) { $template->assign('caserne', $TEMP_liste); $TEMP_liste = array(); -$id = 1; +$id = 0; $max_unite = count($LANG[$race]["terrestre"]["noms_sing"]); while ($id <= $max_unite) { if (!empty($LANG[$race]["terrestre"]["noms_sing"][$id])) { $TEMP_liste[$id] = array( - 'niveau' => $planete->terrestres[$id], + 'niveau' => ($race == $planete->race) ? $planete->terrestres[$id] : 0, 'etat' => dTerrestre::needed($id, $planete, true, $race) ); } @@ -103,7 +103,7 @@ while ($id <= $max_unite) { $template->assign('unites', $TEMP_liste); $TEMP_liste = array(); -$id = 1; +$id = 0; $max_unite = count($LANG[$race]["vaisseaux"]["noms_sing"]); while ($id <= $max_unite) { if (!empty($LANG[$race]["vaisseaux"]["noms_sing"][$id])) { diff --git a/onyx2/include/game/description.php b/onyx2/include/game/description.php index 30df0fc..7883647 100644 --- a/onyx2/include/game/description.php +++ b/onyx2/include/game/description.php @@ -110,12 +110,12 @@ if (isset($_GET['t']) && is_numeric($_GET['t']) && !empty($LANG[$race]["technolo $template->assign('type', 'vaisseaux'); $t = intval(gpc('v')); $template->assign('id', $t); - $template->assign('image', dSpatial::image($t, $planete)); + $template->assign('image', dSpatial::image($t, $planete, $race)); - $template->assign('ressourcesNext', array(dSpatial::metal($t, 1, $planete), dSpatial::cristal($t, 1, $planete), dSpatial::hydrogene($t, 1, $planete), dSpatial::temps($t, 1, $planete))); + $template->assign('ressourcesNext', array(dSpatial::metal($t, 1, $planete, $race), dSpatial::cristal($t, 1, $planete, $race), dSpatial::hydrogene($t, 1, $planete, $race), dSpatial::temps($t, 1, $planete, $race))); $template->assign('etat', dSpatial::needed($t, $planete, $race)); - $template->assign('caract', array($nomvais_at[$t], $nomvais_bc[$t], $nomvais_pv[$t], $nomvais_rs[$t])); + $template->assign('caract', array(dSpatial::attaque($t, $planete, $race), dSpatial::bouclier($t, $planete, $race), dSpatial::armature($t, $planete, $race), dSpatial::tailleCales($t, $planete, $race))); } elseif (isset($_GET['d']) && is_numeric($_GET['d']) && !empty($LANG[$race]["terrestre"]["noms_sing"][$_GET['d']])) { $template->assign('type', 'terrestre'); $t = gpc('d'); @@ -125,10 +125,7 @@ if (isset($_GET['t']) && is_numeric($_GET['t']) && !empty($LANG[$race]["technolo $template->assign('ressourcesNext', array(dTerrestre::metal($t, 1, $planete), dTerrestre::cristal($t, 1, $planete), dTerrestre::hydrogene($t, 1, $planete), dTerrestre::temps($t, 1, $planete))); $template->assign('etat', dTerrestre::needed($t, $planete, true)); - if ($t-8 >= 0) { - $t -= 8; - $template->assign('caract', array($defense_at[$t], $defense_bc[$t], $defense_pv[$t])); - } + $template->assign('caract', array(dTerrestre::attaque($t, $planete, $race), dTerrestre::bouclier($t, $planete, $race), dTerrestre::armature($t, $planete, $race))); } elseif (isset($_GET['c']) && is_numeric($_GET['c']) && !empty($LANG[$race]["caserne"]["noms_sing"][$_GET['c']])) { $template->assign('type', 'caserne'); $t = gpc('c'); diff --git a/onyx2/include/game/flottes/details.php b/onyx2/include/game/flottes/details.php index b1773f2..c7464d3 100644 --- a/onyx2/include/game/flottes/details.php +++ b/onyx2/include/game/flottes/details.php @@ -28,16 +28,18 @@ if (!defined('INDEX')) { if ($flotteN->mission == '6') { erreur('Votre flotte est déjà en train de revenir !', 'red', '?p=flotte&n='.$idN, 1500); } elseif ($flotteN->end_time > $tpsDD) { - $bdd->query("UPDATE $table_flottes SET mission = '6', effectue = '1', end_time = $tpsDD, end_galaxie = start_galaxie, end_ss = start_ss, end_position = start_position WHERE id_user = ".$planete->id_user." AND id = $idN;"); + $bdd = new BDD(); + $bdd->query("UPDATE $table_flottes SET mission = '6', end_time = $tpsDD, end_planete = start_planete WHERE id_user = ".$planete->id_user." AND id = $idN;"); + $bdd->deconnexion(); redirection("?p=flotte&n=".$idN); } else { erreur('Impossible d\'annuler la mission, elle a déjà commencée.', "red", '?p=flotte&n='.$idN, 1500); } } - + $SESS->values['ret_fleet'] = md5('HB.fleet_'.rand().'☺ß☻'); $SESS->put(); - + $template->assign('ret_fleet', $SESS->values['ret_fleet']); $template->assign('flotte', $flotteN); $page = 'flotten'; diff --git a/onyx2/include/game/flottes/envoyer.php b/onyx2/include/game/flottes/envoyer.php index 815d6d3..ac75b7b 100644 --- a/onyx2/include/game/flottes/envoyer.php +++ b/onyx2/include/game/flottes/envoyer.php @@ -4,6 +4,8 @@ if (!defined('INDEX')) { exit; } +require_once("Class/class.donnee.php"); + //Récupération des informations envoyées $idPrep = gpc("cds", "post"); @@ -57,6 +59,18 @@ if ($mission == 2) { erreur('Fonder d\'abord une alliance avant de coloniser un astéroide !', "red", $VAR["menu"]["flotte"]); } } + + // on vérifie que le joueur n'essaye pas de coloniser plus de planète que sa techno expansion lui permet + $bdd->reconnexion(); + $resultat = $bdd->unique_query("SELECT COUNT(id) as nb_planete FROM $table_planete WHERE id_user = ".$planete->id_user.";"); + $bdd->deconnexion(); + $nb_planete = $resultat["nb_planete"]; + $branche = 8; + $idTechnologie = $nb_planete; + $neededTechnologies = Donnee::donneeTechnologie($branche, $idTechnologie, "needed", $planete); + if (((int)$planete->technologies[$branche]& $neededTechnologies) != $neededTechnologies) { + erreur('Vous ne pouvez pas coloniser plus de planète que votre niveau d\'expansion'); + } } //On vérifie que les attaques soient bien activées @@ -70,7 +84,7 @@ if ($mission == 4 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3] <= 0) } //On vérifie la mission, si elle est d'espionner, il faut qu'il y ait des sondes -if ($mission == 5 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] <= 0 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13] <= 0) { +if ($mission == 5 && (($planete->race == "humain" && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13] <= 0) || ($planete->race == "covenant" && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][7] <= 0))) { erreur('Vous ne pouvez pas espionner sans sonde d\'espionnage !', "red", '?p=flotte'); } @@ -156,9 +170,18 @@ elseif ($mission == 5) { erreur('La planète sur laquelle vous désirez stationner ne vous appartient pas.', "red", '?p=flotte', 3000); } elseif ($mission == 7 && !$resultat) { erreur('La planète sur laquelle vous désirez donner vos vaisseaux n\'existe pas.', "red", '?p=flotte', 3000); +} elseif ($mission == 7) { + $bdd->reconnexion(); + $resultatu = $bdd->unique_query("SELECT race FROM $table_user WHERE id = ".$resultat['id_user'].";"); + $bdd->deconnexion(); + + if ($resultatu['race'] != $planete->race) { + erreur("Vous ne pouvez pas donner vos vaisseaux a une autre race que la votre", "red"); + } } + //Création de la flotte $flotte = new flotte(); $flotte->creer($planete, $SESS->values["prepFlottes"][$idPrep], $resultat); diff --git a/onyx2/include/game/flottes/preparer.php b/onyx2/include/game/flottes/preparer.php index 6540043..32fe26e 100644 --- a/onyx2/include/game/flottes/preparer.php +++ b/onyx2/include/game/flottes/preparer.php @@ -7,6 +7,10 @@ if (!defined('INDEX')) { //Génération d'un ID unique pour identifier la flotte durant sa création $idPrep = random(); +//Supression des précédentes flottes, sinon il y a un risque de remplir le champs de BDD qui sauvegarde les flottes +$SESS->values["prepFlottes"] = null; +$SESS->values["prepFlottes"] = array(); + //Création du tableau de session $SESS->values["prepFlottes"][$idPrep] = array(); @@ -41,6 +45,7 @@ $SESS->values["prepFlottes"][$idPrep]['nbVaisseaux'] = $nombreVaisseau; $SESS->values['forceFlotte'] = false; $SESS->values["prepFlottes"][$idPrep]['time'] = time(); $SESS->values["prepFlottes"][$idPrep]['statut'] = 1; +$SESS->values["prepFlottes"][$idPrep]['vitesse'] = 100; // vitesse par défaut: 100% $SESS->put(); unset($nombreVaisseau, $key, $vaisseau, $v); diff --git a/onyx2/include/game/flottes/restaure.php b/onyx2/include/game/flottes/restaure.php index d776764..f28d72d 100644 --- a/onyx2/include/game/flottes/restaure.php +++ b/onyx2/include/game/flottes/restaure.php @@ -23,13 +23,14 @@ if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1) { if ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][2]) { $missions[2] = "Coloniser"; } -if ($planete->technologies[7]& 16 && $VAR["attaques"]) { +//Stratégie millitaire est nécessaire +if ($planete->technologies[3]& 4096 && $VAR["attaques"]) { $missions[3] = "Attaquer"; } if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3]) { $missions[4] = "Recycler"; } -if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] || $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13])) { +if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && (($planete->race == "humain" && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13]) || ($planete->race == "covenant" && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][7]))) { $missions[5] = "Espionner"; } diff --git a/onyx2/include/game/laboratoire.php b/onyx2/include/game/laboratoire.php index 479cc03..f9598a9 100644 --- a/onyx2/include/game/laboratoire.php +++ b/onyx2/include/game/laboratoire.php @@ -81,14 +81,35 @@ function traiterBranche($onglet, $branche, $start = false) } } + //La technologie Expansion peut monter jusqu'au niveau 18 \o/ + if ($onglet == 8) { + $i = 1; + while ($i < 18) { + $b = $origin_b; + if ((dTechnologies::idToBit($b + ($i - 1)) & $planete->technologies[$onglet]) && + isset($LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+$i]) && + $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b] == + $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+$i]) { + //La techno est déjà a ce niveau, on ne fait rien + } else { + $b += ($i - 1); + break; + } + $i++; + } + } + if ($key >= 1) { $return .= "
"; } + //La techno est au plus haut niveau if (dTechnologies::idToBit($b) & $planete->technologies[$onglet]) { $return .= '
'; + //La techno peut encore être augmentée } elseif (dTechnologies::idToBit($origin_b) & $planete->technologies[$onglet]) { $return .= '
'; + //La techno n'a pas encore été recherchée } else { $return .= '
'; } diff --git a/onyx2/include/server/messagerie.php b/onyx2/include/server/messagerie.php index adecc6a..6f477bc 100644 --- a/onyx2/include/server/messagerie.php +++ b/onyx2/include/server/messagerie.php @@ -45,8 +45,8 @@ if ($onglet == "rapports") { } $bdd->reconnexion(); - $data = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's' ORDER BY id DESC;"); - $bdd->query("UPDATE $table_mail SET vu = 0 WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's';"); + $data = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = ".$planete->id_user." AND expediteur IS NULL AND vu != 's' ORDER BY id DESC;"); + $bdd->query("UPDATE $table_mail SET vu = 0 WHERE destinataire = ".$planete->id_user." AND expediteur IS NULL AND vu != 's';"); $bdd->deconnexion(); $template->assign('messages', $data); diff --git a/onyx2/lang/fr.xml b/onyx2/lang/fr.xml index 49b9b97..c5eddb7 100644 --- a/onyx2/lang/fr.xml +++ b/onyx2/lang/fr.xml @@ -860,30 +860,30 @@ Armure moléculaire - Tourelle légère M202 XP - Canon de défense automatique - Artillerie lourde de 440mm - Lance-missiles Archer - Batterie de missiles Anaconda + Shade + Strong Shade + Canon à plasma + Canon à combustible + Lanceur de torpille plasma Silo de missiles Shiva Canon à accélération magnétique Prototype Intercepteur Longsword - Prototype Bombardier Longsword - Corvette de classe Mako - Prototype de Frégate + Prototype Séraphin + Prototype de chasseur lourd Tarasque + Prototype de bombardier Gigas Récupération Prototype de Destroyer - Prototype de Croiseur de classe Halcyon - Prototype de Croiseur de classe Marathon - Prototype de Porte-vaisseaux - Prototype de Super Porte-Vaisseaux - Prototype de Vaisseau d'exfiltration de classe Black Cat - Prototype de Super canon à accélération magnétique - Bunker souterrain - Bunker souterrain - Bunker souterrain + Prototype de Destroyer de classe CVP + Prototype de Croiseur de classe CCS + Prototype de Croiseur de classe Révérence + Prototype de Cuirassé + Prototype de Super croiseur + Prototype de Porte-vaisseau + Prototype de Porte-vaisseau lourd + Prototype de station orbitale + Prototype de ... Expansion @@ -1038,11 +1038,11 @@ ~#DESCRIPTION MANQUANTE#~ Armure moléculaire - ~#DESCRIPTION MANQUANTE#~ Tourelle légère M202 XP - ~#DESCRIPTION MANQUANTE#~ Canon de défense automatique - ~#DESCRIPTION MANQUANTE#~ Artillerie lourde de 440mm - ~#DESCRIPTION MANQUANTE#~ Lance-missiles Archer - ~#DESCRIPTION MANQUANTE#~ Batterie de missiles Anaconda + Shade + Strong Shade + Canon à plasma + Canon à combustible + Lanceur de torpille plasma ~#DESCRIPTION MANQUANTE#~ Silo de missiles Shiva ~#DESCRIPTION MANQUANTE#~ Canon à accélération magnétique diff --git a/onyx2/tpl/admin/print_choixP.tpl b/onyx2/tpl/admin/print_choixP.tpl index b3c6605..0089143 100644 --- a/onyx2/tpl/admin/print_choixP.tpl +++ b/onyx2/tpl/admin/print_choixP.tpl @@ -37,4 +37,22 @@ -{include file='game/footer.tpl'} \ No newline at end of file +
+

Liste des planètes existantes

+ + + + + + + + {foreach from=$planetes item=planete} + + + + + + + {/foreach} +
PlanèteJoueurPosition
{$planete.nom_planete}{$planete.pseudo}{$planete.galaxie}:{$planete.ss}:{$planete.position}
+{include file='game/footer.tpl'} diff --git a/onyx2/tpl/game/accueil.tpl b/onyx2/tpl/game/accueil.tpl index a17d21b..8b888ab 100644 --- a/onyx2/tpl/game/accueil.tpl +++ b/onyx2/tpl/game/accueil.tpl @@ -27,7 +27,7 @@

Infos

{if $smarty.const.SURFACE == "planete"}

{php}dDonnees::nameVilles($this->_tpl_vars['planete']->batiments[17]){/php}

-

Diamètre: {$diametre|separerNombres} km ({$planete->casesRest} case{if $planete->casesRest > 1}s{/if} disponible{if $planete->casesRest > 1}s{/if} sur {php}dDonnees::capaciteVilles($this->_tpl_vars['planete']){/php})

+

Diamètre: {$diametre|separerNombres} km ({$planete->casesRest} case{if $planete->casesRest > 1}s{/if} disponible{if $planete->casesRest > 1}s{/if} sur {$planete->cases})

{/if}

Race : {$planete->race}

position: {$planete->galaxie}.{$planete->ss}.{$planete->position}

@@ -111,4 +111,4 @@

Infos de l'alliance

{$planete->details.texte_interne} {/if} -{include file='game/footer.tpl'} \ No newline at end of file +{include file='game/footer.tpl'} diff --git a/onyx2/tpl/game/flotte1.tpl b/onyx2/tpl/game/flotte1.tpl index c1b685c..b161ca0 100644 --- a/onyx2/tpl/game/flotte1.tpl +++ b/onyx2/tpl/game/flotte1.tpl @@ -8,7 +8,7 @@ {if $flottesEC} {foreach from=$flottesEC item=flotteEC} - {$flotteEC->nom|escape} + {$flotteEC->nom|escape} {$flotteEC->txtMission($flotteEC->mission)} {$flotteEC->nb_vais} {if $flotteEC->end_type == "2"}{$flotteEC->end_planete->nom_alliance} [{$flotteEC->end_planete->galaxie}:{$flotteEC->end_planete->ss}:A]{elseif $flotteEC->end_type == "1"}[{$flotteEC->end_planete}]{elseif $flotteEC->end_type == "3"}[{$flotteEC->end_planete}:A]{else}{$flotteEC->end_planete->nom_planete} [{$flotteEC->end_planete->galaxie}:{$flotteEC->end_planete->ss}:{$flotteEC->end_planete->position}]{/if} @@ -69,4 +69,4 @@ -{include file='game/footer.tpl'} \ No newline at end of file +{include file='game/footer.tpl'} diff --git a/onyx2/tpl/game/flotte2.tpl b/onyx2/tpl/game/flotte2.tpl index e21742c..750d705 100644 --- a/onyx2/tpl/game/flotte2.tpl +++ b/onyx2/tpl/game/flotte2.tpl @@ -23,10 +23,10 @@

Envoyer

-
+
Temps de déplacement : -
Consomation : -
Complètez les champs ci-dessus
-{include file='game/footer.tpl'} \ No newline at end of file +{include file='game/footer.tpl'} diff --git a/onyx2/tpl/game/menu_joueurs.tpl b/onyx2/tpl/game/menu_joueurs.tpl index 578040d..a7e0d8f 100644 --- a/onyx2/tpl/game/menu_joueurs.tpl +++ b/onyx2/tpl/game/menu_joueurs.tpl @@ -27,6 +27,7 @@
  • Armement
  • Défenses
  • Projets expérimentaux
  • +
  • Expansion
  • {/if}
  • @@ -67,4 +68,4 @@
  • Rapports de bug
  • F.A.Q.
  • Déconnexion
  • - \ No newline at end of file + diff --git a/schema.sql b/schema.sql index 5c7c4c7..096c278 100644 --- a/schema.sql +++ b/schema.sql @@ -608,7 +608,7 @@ CREATE TABLE IF NOT EXISTS `planete` ( `isolement` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `nom_planete` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `moral` float NOT NULL DEFAULT 0.5, - `image` tinyint(4) NOT NULL DEFAULT 0, + `image` tinyint unsigned NOT NULL DEFAULT 0, `cases` int(11) NOT NULL DEFAULT 0, `debris_met` bigint(20) NOT NULL DEFAULT 0, `debris_cri` bigint(20) NOT NULL DEFAULT 0,