forked from halo-battle/game
Version 1.14a
This commit is contained in:
parent
ba8f323879
commit
dc48225dc9
1094 changed files with 189052 additions and 13889 deletions
210
onyx2/include/Class/Donnees/alliances_batiments.php
Normal file
210
onyx2/include/Class/Donnees/alliances_batiments.php
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
<?php
|
||||
require_once("Class/Donnees/interface.php");
|
||||
|
||||
class dAlliancesBatiments implements Donnees
|
||||
{
|
||||
public static function metal($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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 ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
return $metal;
|
||||
}
|
||||
|
||||
public static function cristal($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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 ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
return $cristal;
|
||||
}
|
||||
|
||||
public static function hydrogene($id, $niveau, 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 = ceil(pow(1.68, $niveau)*285);
|
||||
break;
|
||||
case 5:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
return $hydrogene;
|
||||
}
|
||||
|
||||
public static function credits($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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 ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
return $credits;
|
||||
}
|
||||
|
||||
public static function temps($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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 ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//Accélération du temps de construction
|
||||
$sec /= VITESSE;
|
||||
|
||||
return $sec;
|
||||
}
|
||||
|
||||
|
||||
public static function image($id, surface $planete)
|
||||
{
|
||||
if ($planete->race == "covenant")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
//return "batimentcovieux4.jpg";
|
||||
break;
|
||||
}
|
||||
return Donnees::image_covenant_default;
|
||||
}
|
||||
elseif ($planete->race == "humain")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
//return "batimentcovieux4.jpg";
|
||||
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)
|
||||
{
|
||||
$neededAlliancesBatiments =
|
||||
array(
|
||||
0,
|
||||
array(
|
||||
array('batiments', 0, 1)
|
||||
),
|
||||
array(
|
||||
array('batiments', 0, 3)
|
||||
),
|
||||
array(
|
||||
array('batiments', 0, 5)
|
||||
),
|
||||
array(
|
||||
array('batiments', 0, 4)
|
||||
),
|
||||
array(
|
||||
array('batiments', 0, 2)
|
||||
)
|
||||
);
|
||||
|
||||
if ($print)
|
||||
return dDonnees::print_neededCheck($neededAlliancesBatiments[$id], $planete);
|
||||
else
|
||||
return dDonnees::neededCheck($neededAlliancesBatiments[$id], $planete);
|
||||
}
|
||||
}
|
||||
?>
|
||||
517
onyx2/include/Class/Donnees/batiments.php
Normal file
517
onyx2/include/Class/Donnees/batiments.php
Normal file
|
|
@ -0,0 +1,517 @@
|
|||
<?php
|
||||
require_once("Class/Donnees/interface.php");
|
||||
|
||||
class dBatiments implements Donnees
|
||||
{
|
||||
public static function metal($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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);
|
||||
$metal = ceil(pow(3, $niveau)*5000);
|
||||
break;
|
||||
case 5:
|
||||
$metal = ceil(pow(2, $niveau)*750);
|
||||
break;
|
||||
case 6:
|
||||
$metal = ceil(pow(2, $niveau)*200);
|
||||
break;
|
||||
case 7:
|
||||
$metal = ceil(pow(2, $niveau)*520);
|
||||
break;
|
||||
case 8:
|
||||
$metal = ceil(pow(2, $niveau)*600);
|
||||
break;
|
||||
case 9:
|
||||
$metal = ceil(pow(2, $niveau)*200);
|
||||
break;
|
||||
case 10:
|
||||
$metal = ceil(pow(2, $niveau)*400);
|
||||
break;
|
||||
case 11:
|
||||
$metal = ceil(pow(1.7, $niveau)*600);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
$metal = ceil(pow($niveau, 2.075)*1000+1500);
|
||||
break;
|
||||
case 13:
|
||||
$metal = ceil(pow($niveau,2.8)*1000+299000);
|
||||
break;
|
||||
case 14:
|
||||
$metal = ceil(pow($niveau, 2)*1200+140000);
|
||||
break;
|
||||
case 15:
|
||||
$metal = ceil(pow($niveau, 2)*1000+80000);
|
||||
break;
|
||||
case 16:
|
||||
$metal = ceil(pow($niveau, 2)*850+60000);
|
||||
break;
|
||||
case 17:
|
||||
$metal = ceil(pow($niveau, 2.5)*500 -300);
|
||||
break;
|
||||
default:
|
||||
trigger_error("Batiment ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
//Bonus technologique pour les mines
|
||||
if ($id <= 3)
|
||||
{
|
||||
if ($planete->technologies[0] &262144)
|
||||
{
|
||||
$metal *= 0.85;
|
||||
}
|
||||
elseif ($planete->technologies[0] &131072)
|
||||
{
|
||||
$metal *= 0.9;
|
||||
}
|
||||
elseif ($planete->technologies[0] &65536)
|
||||
{
|
||||
$metal *= 0.95;
|
||||
}
|
||||
}
|
||||
|
||||
return $metal;
|
||||
}
|
||||
|
||||
public static function cristal($id, $niveau, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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);
|
||||
$cristal = ceil(pow(3, $niveau)*3000);
|
||||
break;
|
||||
case 5:
|
||||
$cristal = ceil(pow(2, $niveau)*500);
|
||||
break;
|
||||
case 6:
|
||||
$cristal = ceil(pow(2, $niveau)*150);
|
||||
break;
|
||||
case 7:
|
||||
$cristal = ceil(pow(2, $niveau)*380);
|
||||
break;
|
||||
case 8:
|
||||
$cristal = ceil(pow(2, $niveau)*450);
|
||||
break;
|
||||
case 9:
|
||||
$cristal = ceil(pow(2, $niveau)*100);
|
||||
break;
|
||||
case 10:
|
||||
$cristal = ceil(pow(2, $niveau)*260);
|
||||
break;
|
||||
case 11:
|
||||
$cristal = ceil(pow(1.7, $niveau)*420);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
$cristal = ceil(pow($niveau, 1.8)*1000+1000);
|
||||
break;
|
||||
case 13:
|
||||
$cristal = ceil(pow($niveau,2.5)*1000+149000);
|
||||
break;
|
||||
case 14:
|
||||
$cristal = ceil(pow($niveau, 2)*900+99000);
|
||||
break;
|
||||
case 15:
|
||||
$cristal = ceil(pow($niveau, 2)*750+65000);
|
||||
break;
|
||||
case 16:
|
||||
$cristal = ceil(pow($niveau, 2)*650+50000);
|
||||
break;
|
||||
case 17:
|
||||
$cristal = ceil(pow($niveau, 2.4)*400-250);
|
||||
break;
|
||||
default:
|
||||
trigger_error("Batiment ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
//Bonus technologique pour les mines
|
||||
if ($id <= 3)
|
||||
{
|
||||
if ($planete->technologies[0] &262144)
|
||||
{
|
||||
$cristal *= 0.85;
|
||||
}
|
||||
elseif ($planete->technologies[0] &131072)
|
||||
{
|
||||
$cristal *= 0.9;
|
||||
}
|
||||
elseif ($planete->technologies[0] &65536)
|
||||
{
|
||||
$cristal *= 0.95;
|
||||
}
|
||||
}
|
||||
|
||||
return $cristal;
|
||||
}
|
||||
|
||||
public static function hydrogene($id, $niveau, 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 = ceil(pow(1.68, $niveau)*285);
|
||||
$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 = 0;
|
||||
break;
|
||||
case 10:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 11:
|
||||
$hydrogene = ceil(pow(1.7, $niveau)*100);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 13:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 14:
|
||||
$hydrogene = ceil(pow($niveau, 2)*500+30000);
|
||||
break;
|
||||
case 15:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 16:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 17:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Batiment ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
//Bonus technologique pour les mines
|
||||
if ($id <= 3)
|
||||
{
|
||||
if ($planete->technologies[0] &262144)
|
||||
{
|
||||
$hydrogene *= 0.85;
|
||||
}
|
||||
elseif ($planete->technologies[0] &131072)
|
||||
{
|
||||
$hydrogene *= 0.9;
|
||||
}
|
||||
elseif ($planete->technologies[0] &65536)
|
||||
{
|
||||
$hydrogene *= 0.95;
|
||||
}
|
||||
}
|
||||
|
||||
return $hydrogene;
|
||||
}
|
||||
|
||||
public static function credits($id, $niveau, surface $planete)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function temps($id, $niveau, surface $planete, $demolition = false)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
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;
|
||||
case 6:
|
||||
$sec = ceil(pow(2, $niveau)*720);
|
||||
break;
|
||||
case 7:
|
||||
$sec = ceil(pow(2, $niveau)*420);
|
||||
break;
|
||||
case 8:
|
||||
$sec = ceil(pow(2, $niveau)*600);
|
||||
break;
|
||||
case 9:
|
||||
$sec = ceil(pow(2, $niveau)*300);
|
||||
break;
|
||||
case 10:
|
||||
$sec = ceil(pow(2, $niveau)*1200);
|
||||
break;
|
||||
case 11:
|
||||
$sec = ceil((pow(1.9, $niveau)*800));
|
||||
break;
|
||||
|
||||
case 12:
|
||||
$sec = ceil(pow($niveau, 2.5)*60+4)*60;
|
||||
break;
|
||||
case 13:
|
||||
$sec = ceil(pow($niveau, 1.6)*60+60)*60;
|
||||
break;
|
||||
case 14:
|
||||
$sec = ceil(pow($niveau, 2)*5+3)*60;
|
||||
break;
|
||||
case 15:
|
||||
$sec = pow($niveau, 2)*240;
|
||||
break;
|
||||
case 16:
|
||||
$sec = pow($niveau, 2)*180;
|
||||
break;
|
||||
case 17:
|
||||
$sec = pow($niveau, 1.65)*3600;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Batiment ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On applique le bonus de temps des ingénieurs et des centrales informatiques
|
||||
if ($id == 11 && $planete->casernes[7])
|
||||
$sec /= (1.0025 * $planete->casernes[7]);
|
||||
elseif ($id != 11 && ($planete->casernes[7] || $planete->batiments[11]))
|
||||
$sec /= (pow(1.23, $planete->batiments[11]) + 1.0025 * $planete->casernes[7]);
|
||||
|
||||
//Accélération du temps de construction
|
||||
$sec /= VITESSE;
|
||||
|
||||
if ($demolition)
|
||||
return $sec * Donnees::coeff_demolition;
|
||||
else
|
||||
return $sec;
|
||||
}
|
||||
|
||||
public static function type($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
return 1;
|
||||
case 6:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
return 2;
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
return 4;
|
||||
return 6;
|
||||
default:
|
||||
trigger_error("Bâtiment ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static function image($id, surface $planete)
|
||||
{
|
||||
if ($planete->race == "covenant")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "batimentcovieux4.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "cristaloo3.png";
|
||||
break;
|
||||
case 2:
|
||||
return "powersupplycoviejq1.jpg";
|
||||
break;
|
||||
case 3:
|
||||
return "solaire.jpg";
|
||||
break;
|
||||
case 4:
|
||||
return "sanstitrevi7.jpg";
|
||||
break;
|
||||
case 5:
|
||||
return "oeilduprophetewj6.jpg";
|
||||
break;
|
||||
case 6:
|
||||
return "covielabocn5.jpg";
|
||||
break;
|
||||
case 7:
|
||||
return "chantierterrestrehg1.jpg";
|
||||
break;
|
||||
case 8:
|
||||
return "sanstitretruecolor09zn6.jpg";
|
||||
break;
|
||||
case 9:
|
||||
return "caserncov0ry.jpg";
|
||||
break;
|
||||
case 10:
|
||||
return "stockagebasement1cs10bl.jpg";
|
||||
break;
|
||||
case 11:
|
||||
return "ordianteur_hologramme.jpg";
|
||||
break;
|
||||
}
|
||||
return Donnees::image_covenant_default;
|
||||
}
|
||||
elseif ($planete->race == "humain")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "mine_m.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "mine_c.png";
|
||||
break;
|
||||
case 2:
|
||||
return "synchroniseur.jpg";
|
||||
break;
|
||||
case 3:
|
||||
return "centrale solaire.jpg";
|
||||
break;
|
||||
case 4:
|
||||
return "centrale electrique.jpg";
|
||||
break;
|
||||
case 5:
|
||||
return "baseradardl3.jpg";
|
||||
break;
|
||||
case 6:
|
||||
return "recherches.jpg";
|
||||
break;
|
||||
case 7:
|
||||
return "chantierterrestrecopybj8.jpg";
|
||||
break;
|
||||
case 8:
|
||||
return "chantier spatial.jpg";
|
||||
break;
|
||||
case 9:
|
||||
return "ecole militaire.jpg";
|
||||
break;
|
||||
case 10:
|
||||
return "stockage.jpg";
|
||||
break;
|
||||
case 11:
|
||||
return "search0yp.jpg";
|
||||
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)
|
||||
{
|
||||
$neededBatiments =
|
||||
array (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
array(
|
||||
array("batiments", 3, 12),
|
||||
array("batiments_max", 4, 4)
|
||||
),
|
||||
0,
|
||||
0,
|
||||
array(
|
||||
array("technologies", 2,3, 9)
|
||||
),
|
||||
array(
|
||||
array("technologies", 2,4, 17)
|
||||
),
|
||||
0,
|
||||
0,
|
||||
array(
|
||||
array("technologies", 1,12, 4096)
|
||||
),
|
||||
0,
|
||||
array(
|
||||
array("technologies", 3,8, 256)
|
||||
),
|
||||
array(
|
||||
array("technologies", 7,12, 4096)
|
||||
),
|
||||
array(
|
||||
array("technologies", 3,6, 64)
|
||||
),
|
||||
array(
|
||||
array("technologies", 3,7, 128)
|
||||
),
|
||||
0
|
||||
);
|
||||
|
||||
if ($print)
|
||||
return dDonnees::print_neededCheck($neededBatiments[$id], $planete);
|
||||
else
|
||||
return dDonnees::neededCheck($neededBatiments[$id], $planete);
|
||||
}
|
||||
}
|
||||
?>
|
||||
301
onyx2/include/Class/Donnees/caserne.php
Normal file
301
onyx2/include/Class/Donnees/caserne.php
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
<?php
|
||||
require_once("Class/Donnees/interface.php");
|
||||
|
||||
class dCaserne implements Donnees
|
||||
{
|
||||
public static function metal($id, $nombre, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$metal = 80;
|
||||
break;
|
||||
case 1:
|
||||
$metal = 110;
|
||||
break;
|
||||
case 2:
|
||||
$metal = 150;
|
||||
break;
|
||||
case 3:
|
||||
$metal = 220;
|
||||
break;
|
||||
case 4:
|
||||
$metal = 180;
|
||||
break;
|
||||
case 5:
|
||||
$metal = 25000;
|
||||
break;
|
||||
case 6:
|
||||
$metal = 100;
|
||||
break;
|
||||
case 7:
|
||||
$metal = 90;
|
||||
break;
|
||||
case 8:
|
||||
$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)
|
||||
$metal *= 0.9;
|
||||
|
||||
return $metal * $nombre;
|
||||
}
|
||||
|
||||
public static function cristal($id, $nombre, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$cristal = 45;
|
||||
break;
|
||||
case 1:
|
||||
$cristal = 90;
|
||||
break;
|
||||
case 2:
|
||||
$cristal = 105;
|
||||
break;
|
||||
case 3:
|
||||
$cristal = 150;
|
||||
break;
|
||||
case 4:
|
||||
$cristal = 100;
|
||||
break;
|
||||
case 5:
|
||||
$cristal = 10000;
|
||||
break;
|
||||
case 6:
|
||||
$cristal = 100;
|
||||
break;
|
||||
case 7:
|
||||
$cristal = 105;
|
||||
break;
|
||||
case 8:
|
||||
$cristal = 250;
|
||||
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 = 20;
|
||||
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;
|
||||
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 = 60;
|
||||
$moins = 1;
|
||||
break;
|
||||
case 1:
|
||||
$temps = 240;
|
||||
$moins = 2;
|
||||
break;
|
||||
case 2:
|
||||
$temps = 240;
|
||||
$moins = 3;
|
||||
break;
|
||||
case 3:
|
||||
$temps = 720;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 4:
|
||||
$temps = 300;
|
||||
$moins = 3;
|
||||
break;
|
||||
case 5:
|
||||
$temps = 29700;
|
||||
$moins = 10;
|
||||
break;
|
||||
case 6:
|
||||
$temps = 90;
|
||||
$moins = 2;
|
||||
break;
|
||||
case 7:
|
||||
$temps = 90;
|
||||
$moins = 2;
|
||||
break;
|
||||
case 8:
|
||||
$temps = 900;
|
||||
$moins = 5;
|
||||
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[9] - $moins))) * $nombre;
|
||||
}
|
||||
|
||||
|
||||
public static function image($id, surface $planete)
|
||||
{
|
||||
if ($planete->race == "covenant")
|
||||
{
|
||||
array('','','','','','','','','');
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "grunt1.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "jackal.jpg";
|
||||
break;
|
||||
case 2:
|
||||
return "94990342wb4.jpg";
|
||||
break;
|
||||
case 3:
|
||||
return "98004530fx3.jpg";
|
||||
break;
|
||||
case 4:
|
||||
return "88091275ja8.jpg";
|
||||
break;
|
||||
case 5:
|
||||
return "hunter1.jpg";
|
||||
break;
|
||||
case 6:
|
||||
return "81770345oo4.jpg";
|
||||
break;
|
||||
case 7:
|
||||
return "88218731ts1.jpg";
|
||||
break;
|
||||
case 8:
|
||||
return "72188202fg9.jpg";
|
||||
break;
|
||||
}
|
||||
return Donnees::image_covenant_default;
|
||||
}
|
||||
elseif ($planete->race == "humain")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "marines.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "marinehf0.jpg";
|
||||
break;
|
||||
case 2:
|
||||
return "grenadier.jpg";
|
||||
break;
|
||||
case 3:
|
||||
return "TCAO2.jpg";
|
||||
break;
|
||||
case 4:
|
||||
return "sniper.jpg";
|
||||
break;
|
||||
case 5:
|
||||
return "spartan.jpg";
|
||||
break;
|
||||
case 6:
|
||||
return "ingenieurs.jpg";
|
||||
break;
|
||||
case 7:
|
||||
return "exosquelettehbpb2.jpg";
|
||||
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)
|
||||
{
|
||||
$neededCaserne =
|
||||
array(
|
||||
array(
|
||||
array('batiments', 9, 1)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 2)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 3)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 5)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 3)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 10)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 2)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 2)
|
||||
),
|
||||
array(
|
||||
array('batiments', 9, 5)
|
||||
)
|
||||
);
|
||||
|
||||
if ($print)
|
||||
return dDonnees::print_neededCheck($neededCaserne[$id], $planete);
|
||||
else
|
||||
return dDonnees::neededCheck($neededCaserne[$id], $planete);
|
||||
}
|
||||
}
|
||||
?>
|
||||
202
onyx2/include/Class/Donnees/interface.php
Normal file
202
onyx2/include/Class/Donnees/interface.php
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
<?php
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
interface Donnees
|
||||
{
|
||||
const image_covenant_default = "../covenant_na.jpg";
|
||||
const image_humain_default = "../humain_na.jpg";
|
||||
|
||||
const coeff_demolition = 0.6;
|
||||
|
||||
public static function metal($id, $niveau, surface $planete);
|
||||
public static function cristal($id, $niveau, surface $planete);
|
||||
public static function hydrogene($id, $niveau, surface $planete);
|
||||
public static function credits($id, $niveau, surface $planete);
|
||||
public static function temps($id, $niveau, surface $planete);
|
||||
|
||||
public static function image($id, surface $planete);
|
||||
|
||||
public static function needed($id, surface $planete, $print = false);
|
||||
}
|
||||
|
||||
class dDonnees{
|
||||
static function tailleFile(surface $planete)
|
||||
{
|
||||
//On calcul la taille maximale de la file d'attente
|
||||
if (!empty($planete->technologies[1]))
|
||||
{
|
||||
if (($planete->technologies[1] &131072) == 131072) return 5;
|
||||
elseif (($planete->technologies[1] &65536) == 65536) return 4;
|
||||
elseif (($planete->technologies[1] &32768) == 32768) return 3;
|
||||
else return 2;
|
||||
}
|
||||
else return 3; //Au cas où il n'y ait pas de technologie sur le lieu, on fixe la taille de la file d'attente
|
||||
}
|
||||
|
||||
|
||||
static function neededCheck($tableau, surface $planete)
|
||||
{
|
||||
if (!is_array($tableau)) return true;
|
||||
else
|
||||
{
|
||||
foreach ($tableau as $need)
|
||||
{
|
||||
switch($need[0])
|
||||
{
|
||||
case 'batiments':
|
||||
if (get_class($planete) == "Planete" && $planete->batiments[$need[1]] < $need[2])
|
||||
return false;
|
||||
break;
|
||||
case 'batiments_max':
|
||||
if (get_class($planete) == "Planete" && $planete->batiments[$need[1]] > $need[2])
|
||||
return false;
|
||||
break;
|
||||
case 'technologies':
|
||||
if (((int)$planete->technologies[$need[1]]& $need[3]) != $need[3])
|
||||
return false;
|
||||
break;
|
||||
case 'casernes':
|
||||
if ($planete->casernes[$need[1]] < $need[2])
|
||||
return false;
|
||||
break;
|
||||
case 'terrestres':
|
||||
if ($planete->terrestres[$need[1]] < $need[2])
|
||||
return false;
|
||||
break;
|
||||
case 'vaisseaux':
|
||||
if ($planete->vaisseaux[$need[1]] < $need[2])
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static function print_neededCheck($tableau, surface $planete)
|
||||
{
|
||||
global $LANG;
|
||||
$race = $planete->race;
|
||||
if (!is_array($tableau)) return 'Débloqué';
|
||||
else
|
||||
{
|
||||
$return = '';
|
||||
foreach ($tableau as $need)
|
||||
{
|
||||
switch($need[0])
|
||||
{
|
||||
case 'batiments':
|
||||
if ($planete->batiments[$need[1]] < $need[2])
|
||||
$return .= '<span class="lack">'.ucfirst($LANG[$race]["batiments"]["noms_sing"][$need[1]]).' niveau '.$need[2].' (batiment)</span><br />';
|
||||
else
|
||||
$return .= ucfirst($LANG[$race]["batiments"]["noms_sing"][$need[1]]).' niveau '.$need[2].' (batiment)<br />';
|
||||
break;
|
||||
case 'batiments_max':
|
||||
if ($planete->batiments[$need[1]] > $need[2])
|
||||
$return .= '<span class="lack">'.ucfirst($LANG[$race]["batiments"]["noms_sing"][$need[1]]).' < niveau '.($need[2]+1).' (batiment)</span><br />';
|
||||
else
|
||||
$return .= ucfirst($LANG[$race]["batiments"]["noms_sing"][$need[1]]).' < niveau '.($need[2]+1).' (batiment)<br />';
|
||||
break;
|
||||
case 'technologies':
|
||||
if (((int)$planete->technologies[$need[1]]& $need[3]) != $need[3])
|
||||
$return .= '<span class="lack">'.$LANG[$race]["technologies"]["noms_sing"][$need[1]][$need[2]].' (technologie)</span><br />';
|
||||
else
|
||||
$return .= $LANG[$race]["technologies"]["noms_sing"][$need[1]][$need[2]].' (technologie)<br />';
|
||||
break;
|
||||
case 'casernes':
|
||||
if ($planete->casernes[$need[1]] < $need[2])
|
||||
$return .= '<span class="lack">'.$need[2].' '.$LANG[$race]["caserne"]["noms_pluriel"][$need[1]].' (unité de la caserne)</span><br />';
|
||||
else
|
||||
$return .= $need[2].' '.$LANG[$race]["caserne"]["noms_pluriel"][$need[1]].' (unité de la caserne)<br />';
|
||||
break;
|
||||
case 'terrestres':
|
||||
if ($planete->terrestres[$need[1]] < $need[2])
|
||||
$return .= '<span class="lack">'.$need[2].' '.$LANG[$race]["terrestre"]["noms_pluriel"][$need[1]].' (unité du chantier terrestre)</span><br />';
|
||||
else
|
||||
$return .= $need[2].' '.$LANG[$race]["terrestre"]["noms_pluriel"][$need[1]].' (unité du chantier terrestre)<br />';
|
||||
break;
|
||||
case 'vaisseaux':
|
||||
if ($planete->vaisseaux[$need[1]] < $need[2])
|
||||
$return .= '<span class="lack">'.$need[2].' '.$LANG[$race]["vaisseaux"]["noms_pluriel"][$need[1]].' (unité du chantier spatial)</span><br />';
|
||||
else
|
||||
$return .= $need[2].' '.$LANG[$race]["vaisseaux"]["noms_pluriel"][$need[1]].' (unité du chantier spatial)<br />';
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
|
||||
static function nameVAR($name)
|
||||
{
|
||||
if ($name == "alli_batiments")
|
||||
return "alli_batiments";
|
||||
elseif ($name == "batiments")
|
||||
return "batiments";
|
||||
elseif ($name == "technologies")
|
||||
return "technologies";
|
||||
elseif ($name == "casernes")
|
||||
return "caserne";
|
||||
elseif ($name == "terrestres")
|
||||
return "terrestre";
|
||||
elseif ($name == "vaisseaux")
|
||||
return "spatial";
|
||||
elseif ($name == "coeff_bat")
|
||||
return "coeff";
|
||||
}
|
||||
|
||||
|
||||
static function capaciteVilles(surface $planete)
|
||||
{
|
||||
return $planete->cases * pow($planete->batiments[17], -3) + 10;
|
||||
}
|
||||
|
||||
static function nameVilles($level)
|
||||
{
|
||||
switch ($level)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
return "Poste d'observation taille ".($level+1);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
return "Poste avancé taille ".($level-2);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
return "Colonie taille ".($level-5);
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
return "Ville taille ".($level-8);
|
||||
break;
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
return "Cité taille ".($level-12);
|
||||
break;
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
return "Grande cité taille ".($level-15);
|
||||
break;
|
||||
case 19:
|
||||
return "Mégapole";
|
||||
break;
|
||||
case 20:
|
||||
return "Mégalopole";
|
||||
break;
|
||||
default:
|
||||
trigger_error("Taille de ville incorrect !");
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
631
onyx2/include/Class/Donnees/spatial.php
Normal file
631
onyx2/include/Class/Donnees/spatial.php
Normal file
|
|
@ -0,0 +1,631 @@
|
|||
<?php
|
||||
require_once("Class/Donnees/interface.php");
|
||||
|
||||
class dSpatial implements Donnees
|
||||
{
|
||||
public static function metal($id, $nombre, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$metal = 1000;
|
||||
break;
|
||||
case 1:
|
||||
$metal = 4000;
|
||||
break;
|
||||
case 2:
|
||||
$metal = 4000;
|
||||
break;
|
||||
case 3:
|
||||
$metal = 9000;
|
||||
break;
|
||||
case 4:
|
||||
$metal = 9000;
|
||||
break;
|
||||
case 5:
|
||||
$metal = 1000;
|
||||
break;
|
||||
case 6:
|
||||
$metal = 15000;
|
||||
break;
|
||||
case 7:
|
||||
$metal = 1800;
|
||||
break;
|
||||
case 8:
|
||||
$metal = 2550;
|
||||
break;
|
||||
case 9:
|
||||
$metal = 12950;
|
||||
break;
|
||||
case 10:
|
||||
$metal = 26000;
|
||||
break;
|
||||
case 11:
|
||||
$metal = 60000;
|
||||
break;
|
||||
case 12:
|
||||
$metal = 500000;
|
||||
break;
|
||||
case 13:
|
||||
$metal = 500000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
if (isset($planete->politique) && $planete->politique == 1)
|
||||
$metal *= 0.9;
|
||||
|
||||
return $metal * $nombre;
|
||||
}
|
||||
|
||||
public static function cristal($id, $nombre, surface $planete)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$cristal = 800;
|
||||
break;
|
||||
case 1:
|
||||
$cristal = 3000;
|
||||
break;
|
||||
case 2:
|
||||
$cristal = 3000;
|
||||
break;
|
||||
case 3:
|
||||
$cristal = 9000;
|
||||
break;
|
||||
case 4:
|
||||
$cristal = 9000;
|
||||
break;
|
||||
case 5:
|
||||
$cristal = 1200;
|
||||
break;
|
||||
case 6:
|
||||
$cristal = 9000;
|
||||
break;
|
||||
case 7:
|
||||
$cristal = 1000;
|
||||
break;
|
||||
case 8:
|
||||
$cristal = 1350;
|
||||
break;
|
||||
case 9:
|
||||
$cristal = 16400;
|
||||
break;
|
||||
case 10:
|
||||
$cristal = 6900;
|
||||
break;
|
||||
case 11:
|
||||
$cristal = 40000;
|
||||
break;
|
||||
case 12:
|
||||
$cristal = 400000;
|
||||
break;
|
||||
case 13:
|
||||
$cristal = 400000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$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 = 1000;
|
||||
break;
|
||||
case 4:
|
||||
$hydrogene = 1000;
|
||||
break;
|
||||
case 5:
|
||||
$hydrogene = 100;
|
||||
break;
|
||||
case 6:
|
||||
$hydrogene = 1000;
|
||||
break;
|
||||
case 7:
|
||||
$hydrogene = 0;
|
||||
break;
|
||||
case 8:
|
||||
$hydrogene = 65;
|
||||
break;
|
||||
case 9:
|
||||
$hydrogene = 100;
|
||||
break;
|
||||
case 10:
|
||||
$hydrogene = 1600;
|
||||
break;
|
||||
case 11:
|
||||
$hydrogene = 3000;
|
||||
break;
|
||||
case 12:
|
||||
$hydrogene = 250000;
|
||||
break;
|
||||
case 13:
|
||||
$hydrogene = 250000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$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 = 1080;
|
||||
$moins = 1;
|
||||
break;
|
||||
case 1:
|
||||
$temps = 6300;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 2:
|
||||
$temps = 6300;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 3:
|
||||
$temps = 8280;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 4:
|
||||
$temps = 8280;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 5:
|
||||
$temps = 1440;
|
||||
$moins = 3;
|
||||
break;
|
||||
case 6:
|
||||
$temps = 7380;
|
||||
$moins = 5;
|
||||
break;
|
||||
case 7:
|
||||
$temps = 1200;
|
||||
$moins = 1;
|
||||
break;
|
||||
case 8:
|
||||
$temps = 4680;
|
||||
$moins = 3;
|
||||
break;
|
||||
case 9:
|
||||
$temps = 16800;
|
||||
$moins = 6;
|
||||
break;
|
||||
case 10:
|
||||
$temps = 16800;
|
||||
$moins = 6;
|
||||
break;
|
||||
case 11:
|
||||
$temps = 32400;
|
||||
$moins = 8;
|
||||
break;
|
||||
case 12:
|
||||
$temps = 117000;
|
||||
$moins = 12;
|
||||
break;
|
||||
case 13:
|
||||
$temps = 117000;
|
||||
$moins = 12;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte de la vitesse
|
||||
$temps /= VITESSE;
|
||||
|
||||
//On tient compte des bonus
|
||||
if (SURFACE == "planete")
|
||||
return ceil($temps/pow(1.25, ($planete->batiments[8] - $moins))) * $nombre;
|
||||
else
|
||||
return ($temps * $nombre);
|
||||
}
|
||||
|
||||
|
||||
public static function image($id, surface $planete)
|
||||
{
|
||||
if ($planete->race == "covenant")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "cargo2pb6.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "sanstitre2copiegw9.jpg";
|
||||
break;
|
||||
case 2:
|
||||
return "colocopiers4.jpg";
|
||||
break;
|
||||
case 3:
|
||||
return "sonde_despionnage1.jpg";
|
||||
break;
|
||||
case 4:
|
||||
return "chasseurlourd7id.jpg";
|
||||
break;
|
||||
case 5:
|
||||
return "contactharvestbynameleszk3.jpg";
|
||||
break;
|
||||
case 6:
|
||||
return "vaisseauuu0.jpg";
|
||||
break;
|
||||
case 7:
|
||||
return "vaisseaudebataille9na.jpg";
|
||||
break;
|
||||
case 8:
|
||||
return "pv.jpg";
|
||||
break;
|
||||
case 9:
|
||||
return "stationorbitalezt7.jpg";
|
||||
break;
|
||||
case 10:
|
||||
return "citecovenant.jpg";
|
||||
break;
|
||||
}
|
||||
return Donnees::image_covenant_default;
|
||||
}
|
||||
elseif ($planete->race == "humain")
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
return "csnucargoparabola2mc9.jpg";
|
||||
break;
|
||||
case 1:
|
||||
return "csnucargoladen2al8.jpg";
|
||||
break;
|
||||
case 2:
|
||||
return "colonisation.jpg";
|
||||
break;
|
||||
case 3:
|
||||
//return "";
|
||||
break;
|
||||
case 4:
|
||||
return "longsworduf9.jpg";
|
||||
break;
|
||||
case 5:
|
||||
//return "";
|
||||
break;
|
||||
case 6:
|
||||
//return "";
|
||||
break;
|
||||
case 7:
|
||||
return "frgatecopiegw1.jpg";
|
||||
break;
|
||||
case 8:
|
||||
//return "";
|
||||
break;
|
||||
case 9:
|
||||
return "halcyo15.jpg";
|
||||
break;
|
||||
case 10:
|
||||
return "qsu169.jpg";
|
||||
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)
|
||||
{
|
||||
$neededSpatial =
|
||||
array(
|
||||
array(
|
||||
array('batiments', 8, 1),
|
||||
array('technologies', 0,3, 8)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 5),
|
||||
array('technologies', 0,3, 8),
|
||||
array('technologies', 1,6, 64)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 5),
|
||||
array('technologies', 8,0, 1)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 5),
|
||||
array('technologies', 7,4, 16)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 5),
|
||||
array('technologies', 7,0, 1)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 3),
|
||||
array('technologies', 7,1, 2)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 5),
|
||||
array('technologies', 7,2, 4)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 1),
|
||||
array('technologies', 7,3, 8)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 3),
|
||||
array('technologies', 7,5, 32)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 6),
|
||||
array('technologies', 7,6, 64)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 6),
|
||||
array('technologies', 7,1, 128)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 8),
|
||||
array('technologies', 7,8, 256)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 10),
|
||||
array('technologies', 7,9, 512)
|
||||
),
|
||||
array(
|
||||
array('batiments', 8, 10),
|
||||
array('technologies', 7,10, 1024)
|
||||
)
|
||||
);
|
||||
|
||||
if ($print)
|
||||
return dDonnees::print_neededCheck($neededSpatial[$id], $planete);
|
||||
else
|
||||
return dDonnees::neededCheck($neededSpatial[$id], $planete);
|
||||
}
|
||||
|
||||
|
||||
public static function tailleCales($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$vitesse = 10000;
|
||||
break;
|
||||
case 1:
|
||||
$vitesse = 50000;
|
||||
break;
|
||||
case 2:
|
||||
$vitesse = 25000;
|
||||
break;
|
||||
case 3:
|
||||
$vitesse = 25000;
|
||||
break;
|
||||
case 4:
|
||||
$vitesse = 100;
|
||||
break;
|
||||
case 5:
|
||||
$vitesse = 50;
|
||||
break;
|
||||
case 6:
|
||||
$vitesse = 200;
|
||||
break;
|
||||
case 7:
|
||||
$vitesse = 400;
|
||||
break;
|
||||
case 8:
|
||||
$vitesse = 800;
|
||||
break;
|
||||
case 9:
|
||||
$vitesse = 1000;
|
||||
break;
|
||||
case 10:
|
||||
$vitesse = 1500;
|
||||
break;
|
||||
case 11:
|
||||
$vitesse = 50000;
|
||||
break;
|
||||
case 12:
|
||||
$vitesse = 100000;
|
||||
break;
|
||||
case 13:
|
||||
$vitesse = 500;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
return $vitesse;
|
||||
}
|
||||
|
||||
|
||||
public static function vitesseP($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$vitesse = 1080;
|
||||
break;
|
||||
case 1:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 2:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 3:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 4:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 5:
|
||||
$vitesse = 1440;
|
||||
break;
|
||||
case 6:
|
||||
$vitesse = 7380;
|
||||
break;
|
||||
case 7:
|
||||
$vitesse = 1200;
|
||||
break;
|
||||
case 8:
|
||||
$vitesse = 4680;
|
||||
break;
|
||||
case 9:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 10:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 11:
|
||||
$vitesse = 32400;
|
||||
break;
|
||||
case 12:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
case 13:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
return $vitesse;
|
||||
}
|
||||
|
||||
public static function vitesseS($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$vitesse = 1080;
|
||||
break;
|
||||
case 1:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 2:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 3:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 4:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 5:
|
||||
$vitesse = 1440;
|
||||
break;
|
||||
case 6:
|
||||
$vitesse = 7380;
|
||||
break;
|
||||
case 7:
|
||||
$vitesse = 1200;
|
||||
break;
|
||||
case 8:
|
||||
$vitesse = 4680;
|
||||
break;
|
||||
case 9:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 10:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 11:
|
||||
$vitesse = 32400;
|
||||
break;
|
||||
case 12:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
case 13:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
return $vitesse;
|
||||
}
|
||||
|
||||
public static function vitesseG($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0:
|
||||
$vitesse = 1080;
|
||||
break;
|
||||
case 1:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 2:
|
||||
$vitesse = 6300;
|
||||
break;
|
||||
case 3:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 4:
|
||||
$vitesse = 8280;
|
||||
break;
|
||||
case 5:
|
||||
$vitesse = 1440;
|
||||
break;
|
||||
case 6:
|
||||
$vitesse = 7380;
|
||||
break;
|
||||
case 7:
|
||||
$vitesse = 1200;
|
||||
break;
|
||||
case 8:
|
||||
$vitesse = 4680;
|
||||
break;
|
||||
case 9:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 10:
|
||||
$vitesse = 16800;
|
||||
break;
|
||||
case 11:
|
||||
$vitesse = 32400;
|
||||
break;
|
||||
case 12:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
case 13:
|
||||
$vitesse = 117000;
|
||||
break;
|
||||
default:
|
||||
trigger_error("Vaisseau ".$id." introuvable dans les données", E_USER_ERROR);
|
||||
}
|
||||
|
||||
//On tient compte des bonus
|
||||
return $vitesse;
|
||||
}
|
||||
}
|
||||
?>
|
||||
1146
onyx2/include/Class/Donnees/technologies.php
Normal file
1146
onyx2/include/Class/Donnees/technologies.php
Normal file
File diff suppressed because it is too large
Load diff
477
onyx2/include/Class/Donnees/terrestre.php
Normal file
477
onyx2/include/Class/Donnees/terrestre.php
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
<?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);
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue