Version 1.13a

This commit is contained in:
nemunaire 2020-11-15 16:12:30 +01:00
commit ba8f323879
1634 changed files with 10080 additions and 213021 deletions

View file

@ -10,7 +10,7 @@
***************************************************************************/
class Donnee
{
static function tailleFile(Planete $planete)
static function tailleFile(Surface $planete)
{
//On calcul la taille maximale de la file d'attente
if (!empty($planete->technologies[1]))
@ -24,7 +24,7 @@ class Donnee
}
static function neededCheck($tableau, Planete $planete)
static function neededCheck($tableau, Surface $planete)
{
if (!is_array($tableau)) return true;
else
@ -61,7 +61,7 @@ class Donnee
}
}
static function print_neededCheck($tableau, Planete $planete, $race)
static function print_neededCheck($tableau, Surface $planete, $race)
{
global $LANG;
if (!is_array($tableau)) return 'Débloqué';
@ -451,6 +451,174 @@ class Donnee
}
static function metalAlli_Batiments($batiment, $niveau, Surface $planete)
{
switch($batiment)
{
case 0:
$metal = ceil(pow(1.5, $niveau)*68);
break;
case 1:
$metal = ceil(pow(1.6, $niveau)*53);
break;
case 2:
$metal = ceil(pow(1.5, $niveau)*242);
break;
case 3:
$metal = ceil(pow(1.5, $niveau)*92);
break;
case 4:
$metal = ceil(pow(1.73, $niveau)*800);
break;
case 5:
$metal = ceil(pow(2, $niveau)*750);
break;
default:
trigger_error("Batiment d'alliance ".$batiment." introuvable dans les données", E_USER_ERROR);
}
return $metal;
}
static function cristalAlli_Batiments($batiment, $niveau, Surface $planete)
{
switch($batiment)
{
case 0:
$cristal = ceil(pow(1.5, $niveau)*17);
break;
case 1:
$cristal = ceil(pow(1.6, $niveau)*27);
break;
case 2:
$cristal = ceil(pow(1.5, $niveau)*72);
break;
case 3:
$cristal = ceil(pow(1.5, $niveau)*37);
break;
case 4:
$cristal = ceil(pow(1.73, $niveau)*420);
break;
case 5:
$cristal = ceil(pow(2, $niveau)*500);
break;
default:
trigger_error("Batiment d'alliance ".$batiment." introuvable dans les données", E_USER_ERROR);
}
return $cristal;
}
static function hydrogeneAlli_Batiments($batiment, $niveau, Surface $planete)
{
switch($batiment)
{
case 0:
$hydrogene = 0;
break;
case 1:
$hydrogene = 0;
break;
case 2:
$hydrogene = 0;
break;
case 3:
$hydrogene = 0;
break;
case 4:
$hydrogene = ceil(pow(1.68, $niveau)*285);
break;
case 5:
$hydrogene = 0;
break;
default:
trigger_error("Batiment d'alliance ".$batiment." introuvable dans les données", E_USER_ERROR);
}
return $hydrogene;
}
static function creditsAlli_Batiments($batiment, $niveau, Surface $planete)
{
switch($batiment)
{
case 0:
$credits = ceil(pow(1.68, $niveau)*25);
break;
case 1:
$credits = ceil(pow(1.68, $niveau)*85);
break;
case 2:
$credits = ceil(pow(1.68, $niveau)*185);
break;
case 3:
$credits = ceil(pow(1.68, $niveau)*285);
break;
case 4:
$credits = ceil(pow(1.68, $niveau)*385);
break;
case 5:
$credits = ceil(pow(1.68, $niveau)*485);
break;
default:
trigger_error("Batiment d'alliance ".$batiment." introuvable dans les données", E_USER_ERROR);
}
return $credits;
}
static function tempsAlli_Batiments($batiment, $niveau, Surface $planete)
{
switch($batiment)
{
case 0:
$sec = pow(1.5, $niveau)*6;
break;
case 1:
$sec = pow(1.55, $niveau)*6;
break;
case 2:
$sec = pow(1.624, $niveau)*6;
break;
case 3:
$sec = pow(1.597, $niveau)*6;
break;
case 4:
$sec = pow(1.7, $niveau)*6;
break;
case 5:
$sec = ceil(pow(2, $niveau)*720);
break;
default:
trigger_error("Batiment d'alliance ".$batiment." introuvable dans les données", E_USER_ERROR);
}
//Accélération du temps de construction
$sec /= VITESSE;
return $sec;
}
static function neededAlli_Batiments($batiment, Surface $planete)
{
//Maximum 5 niveaux
if ($planete->batiments[$batiment] >= 5)
return false;
global $neededAlli_Batiments;
return Donnee::neededCheck($neededAlli_Batiments[$batiment], $planete);
}
static function print_neededAlli_Batiments($batiment, Surface $planete, $race)
{
global $neededAlli_Batiments;
return Donnee::print_neededCheck($neededAlli_Batiments[$batiment], $planete, $race);
}
static function donneeTechnologie($branche, $idTechnologie, $retour, Planete $planete)
{
//TODO : Faire un switch pour ne renvoyer le tableau que de la branche plutôt que ce tableau avec l'intégralité des branches.
@ -1198,7 +1366,7 @@ class Donnee
}
static function metalVaisseaux($vaisseau, Planete $planete, $nombre = 1)
static function metalVaisseaux($vaisseau, Surface $planete, $nombre = 1)
{
switch($vaisseau)
{
@ -1255,7 +1423,7 @@ class Donnee
return $metal * $nombre;
}
static function cristalVaisseaux($vaisseau, Planete $planete, $nombre = 1)
static function cristalVaisseaux($vaisseau, Surface $planete, $nombre = 1)
{
switch($vaisseau)
{
@ -1312,7 +1480,7 @@ class Donnee
return $cristal * $nombre;
}
static function hydrogeneVaisseaux($vaisseau, Planete $planete, $nombre = 1)
static function hydrogeneVaisseaux($vaisseau, Surface $planete, $nombre = 1)
{
switch($vaisseau)
{
@ -1369,7 +1537,7 @@ class Donnee
return $hydrogene * $nombre;
}
static function tempsVaisseaux($vaisseau, Planete $planete, $nombre = 1)
static function tempsVaisseaux($vaisseau, Surface $planete, $nombre = 1)
{
switch($vaisseau)
{
@ -1437,13 +1605,23 @@ class Donnee
$temps /= VITESSE;
//On tient compte des bonus
return ceil($temps/pow(1.25, ($planete->batiments[8] - $moins))) * $nombre;
if (SURFACE == "planete")
return ceil($temps/pow(1.25, ($planete->batiments[8] - $moins))) * $nombre;
else
return ($temps * $nombre);
}
static function neededVaisseaux($vaisseau, Planete $planete)
static function neededVaisseaux($vaisseau, Surface $planete)
{
global $neededVaisseaux;
return Donnee::neededCheck($neededVaisseaux[$vaisseau], $planete);
if (SURFACE == "asteroide")
{
return true;
}
else
{
global $neededVaisseaux;
return Donnee::neededCheck($neededVaisseaux[$vaisseau], $planete);
}
}
static function print_neededVaisseaux($vaisseau, Planete $planete, $race)