477 lines
7.8 KiB
PHP
477 lines
7.8 KiB
PHP
|
<?php
|
||
|
require_once("Class/Donnees/interface.php");
|
||
|
|
||
|
class dTerrestre implements Donnees
|
||
|
{
|
||
|
public static function metal($id, $nombre, surface $planete)
|
||
|
{
|
||
|
switch($id)
|
||
|
{
|
||
|
case 0:
|
||
|
$cristal = 300;
|
||
|
break;
|
||
|
case 1:
|
||
|
$cristal = 420;
|
||
|
break;
|
||
|
case 2:
|
||
|
$cristal = 600;
|
||
|
break;
|
||
|
case 3:
|
||
|
$cristal = 950;
|
||
|
break;
|
||
|
case 4:
|
||
|
$cristal = 240;
|
||
|
break;
|
||
|
case 5:
|
||
|
$cristal = 260;
|
||
|
break;
|
||
|
case 6:
|
||
|
$cristal = 420;
|
||
|
break;
|
||
|
case 7:
|
||
|
$cristal = 500;
|
||
|
break;
|
||
|
case 8:
|
||
|
$cristal = 230;
|
||
|
break;
|
||
|
case 9:
|
||
|
$cristal = 650;
|
||
|
break;
|
||
|
case 10:
|
||
|
$cristal = 1750;
|
||
|
break;
|
||
|
case 11:
|
||
|
$cristal = 3750;
|
||
|
break;
|
||
|
case 12:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 13:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 14:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 15:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
default:
|
||
|
trigger_error("Unité ".$unite." introuvable dans les données", E_USER_ERROR);
|
||
|
}
|
||
|
|
||
|
//On tient compte des bonus
|
||
|
if (isset($planete->politique) && $planete->politique == 1)
|
||
|
$cristal *= 0.9;
|
||
|
|
||
|
return $cristal * $nombre;
|
||
|
}
|
||
|
|
||
|
public static function cristal($id, $nombre, surface $planete)
|
||
|
{
|
||
|
switch($id)
|
||
|
{
|
||
|
case 0:
|
||
|
$cristal = 300;
|
||
|
break;
|
||
|
case 1:
|
||
|
$cristal = 420;
|
||
|
break;
|
||
|
case 2:
|
||
|
$cristal = 600;
|
||
|
break;
|
||
|
case 3:
|
||
|
$cristal = 950;
|
||
|
break;
|
||
|
case 4:
|
||
|
$cristal = 240;
|
||
|
break;
|
||
|
case 5:
|
||
|
$cristal = 260;
|
||
|
break;
|
||
|
case 6:
|
||
|
$cristal = 420;
|
||
|
break;
|
||
|
case 7:
|
||
|
$cristal = 500;
|
||
|
break;
|
||
|
case 8:
|
||
|
$cristal = 230;
|
||
|
break;
|
||
|
case 9:
|
||
|
$cristal = 650;
|
||
|
break;
|
||
|
case 10:
|
||
|
$cristal = 1750;
|
||
|
break;
|
||
|
case 11:
|
||
|
$cristal = 3750;
|
||
|
break;
|
||
|
case 12:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 13:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 14:
|
||
|
$cristal = 9500;
|
||
|
break;
|
||
|
case 15:
|
||
|
$cristal = 9500;
|
||
|
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;
|
||
|
|
||
|
return $cristal * $nombre;
|
||
|
}
|
||
|
|
||
|
public static function hydrogene($id, $nombre, surface $planete)
|
||
|
{
|
||
|
switch($id)
|
||
|
{
|
||
|
case 0:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 1:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 2:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 3:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 4:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 5:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 6:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 7:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 8:
|
||
|
$hydrogene = 0;
|
||
|
break;
|
||
|
case 9:
|
||
|
$hydrogene = 80;
|
||
|
break;
|
||
|
case 10:
|
||
|
$hydrogene = 100;
|
||
|
break;
|
||
|
case 11:
|
||
|
$hydrogene = 120;
|
||
|
break;
|
||
|
case 12:
|
||
|
$hydrogene = 1500;
|
||
|
break;
|
||
|
case 13:
|
||
|
$hydrogene = 1500;
|
||
|
break;
|
||
|
case 14:
|
||
|
$hydrogene = 1500;
|
||
|
break;
|
||
|
case 15:
|
||
|
$hydrogene = 1500;
|
||
|
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)
|
||
|
$hydrogene *= 0.9;
|
||
|
|
||
|
return $hydrogene * $nombre;
|
||
|
}
|
||
|
|
||
|
public static function credits($id, $nombre, surface $planete)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
public static function temps($id, $nombre, surface $planete)
|
||
|
{
|
||
|
switch($id)
|
||
|
{
|
||
|
case 0:
|
||
|
$temps = 720;
|
||
|
$moins = 1;
|
||
|
break;
|
||
|
case 1:
|
||
|
$temps = 2040;
|
||
|
$moins = 3;
|
||
|
break;
|
||
|
case 2:
|
||
|
$temps = 7200;
|
||
|
$moins = 4;
|
||
|
break;
|
||
|
case 3:
|
||
|
$temps = 3960;
|
||
|
$moins = 6;
|
||
|
break;
|
||
|
case 4:
|
||
|
$temps = 600;
|
||
|
$moins = 1;
|
||
|
break;
|
||
|
case 5:
|
||
|
$temps = 1080;
|
||
|
$moins = 2;
|
||
|
break;
|
||
|
case 6:
|
||
|
$temps = 2160;
|
||
|
$moins = 3;
|
||
|
break;
|
||
|
case 7:
|
||
|
$temps = 4680;
|
||
|
$moins = 5;
|
||
|
break;
|
||
|
case 8:
|
||
|
$temps = 1080;
|
||
|
$moins = 1;
|
||
|
break;
|
||
|
case 9:
|
||
|
$temps = 2040;
|
||
|
$moins = 3;
|
||
|
break;
|
||
|
case 10:
|
||
|
$temps = 7200;
|
||
|
$moins = 4;
|
||
|
break;
|
||
|
case 11:
|
||
|
$temps = 3960;
|
||
|
$moins = 7;
|
||
|
break;
|
||
|
case 12:
|
||
|
$temps = 3960;
|
||
|
$moins = 9;
|
||
|
break;
|
||
|
case 13:
|
||
|
$temps = 3960;
|
||
|
$moins = 9;
|
||
|
break;
|
||
|
case 14:
|
||
|
$temps = 3960;
|
||
|
$moins = 9;
|
||
|
break;
|
||
|
case 15:
|
||
|
$temps = 3960;
|
||
|
$moins = 9;
|
||
|
break;
|
||
|
default:
|
||
|
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
|
||
|
}
|
||
|
|
||
|
//On tient compte de la vitesse
|
||
|
$temps /= VITESSE;
|
||
|
|
||
|
//On tient compte des bonus
|
||
|
return ceil($temps/pow(1.25, ($planete->batiments[7] - $moins))) * $nombre;
|
||
|
}
|
||
|
|
||
|
public static function type($id)
|
||
|
{
|
||
|
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);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
public static function image($id, surface $planete)
|
||
|
{
|
||
|
if ($planete->race == "covenant")
|
||
|
{
|
||
|
switch($id)
|
||
|
{
|
||
|
//Unités terrestres
|
||
|
case 0:
|
||
|
return "bansheeqp0.jpg";
|
||
|
break;
|
||
|
case 1:
|
||
|
return "spirit1.jpg";
|
||
|
break;
|
||
|
case 2:
|
||
|
return "phantomfu2.jpg";
|
||
|
break;
|
||
|
case 3:
|
||
|
return "boardingcraft.jpg";
|
||
|
break;
|
||
|
case 4:
|
||
|
return "ghostic1.jpg";
|
||
|
break;
|
||
|
case 5:
|
||
|
return "shadow.jpg";
|
||
|
break;
|
||
|
case 6:
|
||
|
return "spectre.jpg";
|
||
|
break;
|
||
|
case 7:
|
||
|
return "wraith.jpg";
|
||
|
break;
|
||
|
|
||
|
//Défenses
|
||
|
case 8:
|
||
|
return "shade.jpg";
|
||
|
break;
|
||
|
case 9:
|
||
|
return "defcovie.jpg";
|
||
|
break;
|
||
|
case 10:
|
||
|
return "tourellebarreau.jpg";
|
||
|
break;
|
||
|
case 11:
|
||
|
return "tourelle.jpg";
|
||
|
break;
|
||
|
case 12:
|
||
|
return "lanceur_torpilles.jpg";
|
||
|
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);
|
||
|
}
|
||
|
|
||
|
|
||
|
public static function needed($id, surface $planete, $print = false)
|
||
|
{
|
||
|
$neededTerrestre = array(
|
||
|
array(
|
||
|
array('batiments', 7, 1)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 3)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 4)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 6)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 1)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 2)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 3)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 5)
|
||
|
),
|
||
|
//Défenses
|
||
|
array(
|
||
|
array('batiments', 7, 1),
|
||
|
array('technologies', 6, 0, 1)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 3),
|
||
|
array('technologies', 6, 3, 8)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 4),
|
||
|
array('technologies', 6, 1, 2)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 4),
|
||
|
array('technologies', 6, 4, 16)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 8),
|
||
|
array('technologies', 6, 2, 4)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 8),
|
||
|
array('technologies', 6, 5, 32)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 8),
|
||
|
array('technologies', 6, 6, 64)
|
||
|
),
|
||
|
array(
|
||
|
array('batiments', 7, 10),
|
||
|
array('technologies', 7, 11, 2048)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
if ($print)
|
||
|
return dDonnees::print_neededCheck($neededTerrestre[$id], $planete);
|
||
|
else
|
||
|
return dDonnees::neededCheck($neededTerrestre[$id], $planete);
|
||
|
}
|
||
|
}
|
||
|
?>
|