Ajoute la foret de if qui permet de gérer la race du joueur pour le chantier terrestre

This commit is contained in:
Nigel Sheldon 2020-11-26 09:43:07 +01:00
parent 04b5e6af76
commit 54afd20cd8
2 changed files with 467 additions and 389 deletions

View File

@ -5,69 +5,81 @@ class dTerrestre implements Donnees
{
public static function metal($id, $nombre, surface $planete)
{
if ($planete->race == "humain") {
switch ($id) {
case 0:
$cristal = 300;
$metal = 300;
break;
case 1:
$cristal = 420;
$metal = 420;
break;
case 2:
$cristal = 600;
$metal = 600;
break;
case 3:
$cristal = 950;
$metal = 950;
break;
case 4:
$cristal = 240;
$metal = 240;
break;
case 5:
$cristal = 260;
$metal = 260;
break;
case 6:
$cristal = 420;
$metal = 420;
break;
case 7:
$cristal = 500;
$metal = 500;
break;
case 8:
$cristal = 230;
$metal = 230;
break;
case 9:
$cristal = 650;
$metal = 650;
break;
case 10:
$cristal = 1750;
$metal = 1750;
break;
case 11:
$cristal = 3750;
$metal = 3750;
break;
case 12:
$cristal = 9500;
$metal = 9500;
break;
case 13:
$cristal = 9500;
$metal = 9500;
break;
case 14:
$cristal = 9500;
$metal = 9500;
break;
case 15:
$cristal = 9500;
$metal = 9500;
break;
default:
trigger_error("Unité ".$unite." introuvable dans les données", E_USER_ERROR);
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
$metal = 300;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) {
$cristal *= 0.9;
$metal *= 0.9;
}
return $cristal * $nombre;
return $metal * $nombre;
}
public static function cristal($id, $nombre, surface $planete)
{
if ($planete->race == "humain") {
switch ($id) {
case 0:
$cristal = 300;
@ -120,7 +132,16 @@ class dTerrestre implements Donnees
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
$cristal = 300;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) {
$cristal *= 0.9;
@ -131,6 +152,7 @@ class dTerrestre implements Donnees
public static function hydrogene($id, $nombre, surface $planete)
{
if ($planete->race == "humain") {
switch ($id) {
case 0:
$hydrogene = 0;
@ -183,6 +205,16 @@ class dTerrestre implements Donnees
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
$hydrogene = 0;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) {
@ -199,6 +231,7 @@ class dTerrestre implements Donnees
public static function temps($id, $nombre, surface $planete)
{
if ($planete->race == "humain") {
switch ($id) {
case 0:
$temps = 720;
@ -267,7 +300,17 @@ class dTerrestre implements Donnees
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
$temps = 0;
$moins = 9;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte de la vitesse
$temps /= VITESSE;
@ -275,8 +318,33 @@ class dTerrestre implements Donnees
return ceil($temps/pow(1.25, ($planete->batiments[7] - $moins))) * $nombre;
}
public static function type($id)
public static function type($id, surface $planete)
{
if ($planete->race == "humain") {
switch ($id) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
return true;
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
return false;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
case 1:
@ -300,11 +368,55 @@ class dTerrestre implements Donnees
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
}
public static function image($id, surface $planete)
{
if ($planete->race == "covenant") {
if ($planete->race == "humain") {
switch ($id) {
//Unités terrestres
case 0:
return "csnusparrowhawkkp4.jpg";
break;
case 1:
return "pelican.jpg";
break;
case 2:
return "csnushortswordad3.jpg";
break;
case 3:
return "albatross.jpg";
break;
case 4:
return "warthog-vrl.jpg";
break;
case 5:
return "M12G1_LAAV_Warthog.jpg";
break;
case 6:
return "M12A1_LAAV_Warthog.jpg";
break;
case 7:
return "scorpionN.jpg";
break;
//Défenses
case 8:
//return "";
break;
case 9:
//return "";
break;
case 10:
//return "";
break;
case 11:
//return "";
break;
}
return Donnees::image_humain_default;
} elseif ($planete->race == "convenant") {
switch ($id) {
//Unités terrestres
case 0:
@ -350,49 +462,6 @@ class dTerrestre implements Donnees
break;
}
return Donnees::image_covenant_default;
} elseif ($planete->race == "humain") {
switch ($id) {
//Unités terrestres
case 0:
return "csnusparrowhawkkp4.jpg";
break;
case 1:
return "pelican.jpg";
break;
case 2:
return "csnushortswordad3.jpg";
break;
case 3:
return "albatross.jpg";
break;
case 4:
return "warthog-vrl.jpg";
break;
case 5:
return "M12G1_LAAV_Warthog.jpg";
break;
case 6:
return "M12A1_LAAV_Warthog.jpg";
break;
case 7:
return "scorpionN.jpg";
break;
//Défenses
case 8:
//return "";
break;
case 9:
//return "";
break;
case 10:
//return "";
break;
case 11:
//return "";
break;
}
return Donnees::image_humain_default;
} else {
trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR);
}
@ -401,6 +470,7 @@ class dTerrestre implements Donnees
public static function needed($id, surface $planete, $print = false)
{
if ($planete->race == "humain") {
$neededTerrestre = array(
array(
array('batiments', 7, 1)
@ -460,6 +530,14 @@ class dTerrestre implements Donnees
array('technologies', 7, 11)
)
);
} else {
// Covenant
$neededTerrestre = array(
array(
array('batiments', 7, 1)
)
);
}
if ($print) {
return dDonnees::print_neededCheck($neededTerrestre[$id], $planete);

View File

@ -41,7 +41,7 @@ if (isset($_GET['a']) && isset($_GET['b'])) {
$TEMP_liste = array();
foreach ($planete->terrestres as $i => $nombre) {
$type = dTerrestre::type($i);
$type = dTerrestre::type($i, $planete);
if (!empty($LANG[$planete->race]['terrestre']['noms_sing'][$i]) && (($onglet == "defenses" && !$type) || ($onglet != "defenses" && $type)) && dTerrestre::needed($i, $planete)) {
$TEMP_liste[] = array(