forked from halo-battle/game
Version 1.12
This commit is contained in:
parent
2a066a7498
commit
de31cd3e9a
1373 changed files with 156282 additions and 45238 deletions
|
|
@ -10,9 +10,9 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
$mission = floor(gpc('mission', 'post'));
|
||||
if (isset($_POST['tactique'])) $tactique = floor(gpc('tactique', 'post'));
|
||||
else $tactique = 0;
|
||||
$EBmetal = floor(gpc('metal', 'post'));
|
||||
$EBcristal = floor(gpc('cristal', 'post'));
|
||||
$EBhydrogene = floor(gpc('hydrogene', 'post'));
|
||||
$EBmetal = floor(str_replace(' ', '', gpc('metal', 'post')));
|
||||
$EBcristal = floor(str_replace(' ', '', gpc('cristal', 'post')));
|
||||
$EBhydrogene = floor(str_replace(' ', '', gpc('hydrogene', 'post')));
|
||||
$vitesse = floor(gpc('vitesse', 'post'))/100;
|
||||
|
||||
$bdd->connexion();
|
||||
|
|
@ -56,7 +56,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
else {
|
||||
//On vérifie qu'il n'y ait pas une interaction entre deux multi-comptes
|
||||
$cnt = count($multi);
|
||||
if ($cnt > 1 && $mission == 2) {
|
||||
if ($cnt > 1 && $mission == 1) {
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
if ($multi[$i]['id_util'] == $resultat['id_user']) erreur('Vous ne pouvez pas avoir d\'interaction avec ce joueur pour raison de multi-compte (voir page d\'accueil).');
|
||||
}
|
||||
|
|
@ -78,8 +78,8 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
elseif (!$resultat) erreur('La planète que vous tentez d\'attaquer est inhabitée.', "red", '?p=flotte');
|
||||
elseif ($resultat['id_user'] == $id_user) erreur('La planète que vous tentez d\'attaquer vous appartient.', "red", '?p=flotte');
|
||||
}
|
||||
elseif ($mission == 2 && !$resultat) erreur('Impossible de transporter des ressources vers la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
|
||||
elseif ($mission == 3 && $resultat) erreur('La planète que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
|
||||
elseif ($mission == 1 && !$resultat) erreur('Impossible de transporter des ressources vers la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
|
||||
elseif ($mission == 2 && $resultat) erreur('La planète que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
|
||||
elseif ($mission == 0 && $resultat['id_user'] != $id_user) erreur('La planète sur laquelle vous désirez stationner ne vous appartient pas.', "red", '?p=flotte', 3000);
|
||||
elseif ($mission == 4 && ($resultat['debris_met'] <= 0 || $resultat['debris_cri'] <= 0) && empty($sess->values['forceFlotte'])) {
|
||||
$sess->values['forceFlotte'] = true;
|
||||
|
|
@ -112,30 +112,35 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
$flotte->mission = $mission;
|
||||
$flotte->start_planete = $planete;
|
||||
$flotte->start_time = time();
|
||||
$flotte->end_planete = $resultat['id'];
|
||||
|
||||
//On traite le cas des planètes qui n'existent pas (dans le cas de la mission colonisation)
|
||||
if ($mission == 2) $flotte->end_planete = $end_galaxie.':'.$end_ss.':'.$end_pos;
|
||||
else $flotte->end_planete = $resultat['id'];
|
||||
|
||||
$calc = $flotte->calc_deplacement($planete->galaxie, $planete->ss, $planete->position, $end_galaxie, $end_ss, $end_pos, $vitesse, false, true);
|
||||
$flotte->end_time = $calc[0];
|
||||
$conso = $calc[1];
|
||||
|
||||
//On double la consomation si on fait un aller-retour
|
||||
if ($mission == 1 || $mission == 3 || $mission == 4 || $mission == 5) $conso *= 2;
|
||||
if ($mission == 1 || $mission == 2 || $mission == 4 || $mission == 5) $conso *= 2;
|
||||
|
||||
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie ainsi que de ressources sur la planète
|
||||
$flotte->calculer();
|
||||
if ($flotte->contenuMax < ceil(gpc('metal', 'post')) + ceil(gpc('cristal', 'post')) + ceil(gpc('hydrogene', 'post')) + $conso) erreur('Vous ne pouvez pas embarquer autant de ressources, les cales débordent. '.$flotte->contenuMax, "red", '?p=flotte', 3500);
|
||||
elseif ($planete->metal < ceil(gpc('metal', 'post')) || $planete->cristal < ceil(gpc('cristal', 'post')) || $planete->hydrogene < ceil(gpc('hydrogene', 'post')) + $conso) erreur('Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.', "red", '?p=flotte', 3500);
|
||||
if ($flotte->contenuMax < $EBmetal + $EBcristal + $EBhydrogene + $conso) erreur('Vous ne pouvez pas embarquer autant de ressources, les cales débordent. '.$flotte->contenuMax, "red", '?p=flotte', 3500);
|
||||
elseif ($planete->metal < $EBmetal || $planete->cristal < $EBcristal || $planete->hydrogene < $EBhydrogene + $conso) erreur('Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.', "red", '?p=flotte', 3500);
|
||||
else {
|
||||
if ($mission == 1) $flotte->tactique = gpc('tactique', 'post');
|
||||
$flotte->contenu = array(floor(gpc('metal', 'post')), floor(gpc('cristal', 'post')), floor(gpc('hydrogene', 'post')));
|
||||
//if ($mission == 3) $flotte->tactique = gpc('tactique', 'post');
|
||||
$flotte->contenu = array($EBmetal, $EBcristal, $EBhydrogene);
|
||||
$flotte->modifFlotte = "INSERT";
|
||||
|
||||
//On actualise la planète
|
||||
$planete->metal -= floor(gpc('metal', 'post'));
|
||||
$planete->cristal -= floor(gpc('cristal', 'post'));
|
||||
$planete->hydrogene -= floor(gpc('hydrogene', 'post') + $conso);
|
||||
$planete->metal -= $EBmetal;
|
||||
$planete->cristal -= $EBcristal;
|
||||
$planete->hydrogene -= floor($EBhydrogene + $conso);
|
||||
$planete->vaisseaux = $sauv;
|
||||
if (!in_array('vaisseaux', $planete->modif)) $planete->modif[] = 'vaisseaux';
|
||||
|
||||
unset($flotte);
|
||||
unset($sess->values['vais']);
|
||||
$sess->put();
|
||||
|
||||
|
|
@ -152,7 +157,6 @@ elseif (!empty($_POST['v0']) || !empty($_POST['v1']) || !empty($_POST['v2']) ||
|
|||
else $v = (int)abs($v);
|
||||
|
||||
if ($vaisseau < $v) {
|
||||
$planete->vaisseaux = $sauv;
|
||||
erreur('Il ne vous reste plus assez de vaisseaux !', "red", '?p=flotte');
|
||||
}
|
||||
|
||||
|
|
@ -167,12 +171,11 @@ elseif (!empty($_POST['v0']) || !empty($_POST['v1']) || !empty($_POST['v2']) ||
|
|||
$sess->values['forceFlotte'] = false;
|
||||
|
||||
//Génération de la liste de mission possible avec les vaisseaux de la flotte
|
||||
$missions = array('Stationner');
|
||||
if ($planete->technologies[0] & 8) $missions[1] = "Transporter";
|
||||
$missions = array("Stationner", "Transporter");
|
||||
if ($sess->values['vais'][2]) $missions[2] = "Coloniser";
|
||||
if ($planete->technologies[7] & 16) $missions[3] = "Attaquer";
|
||||
if ($sess->values['vais'][3]) $missions[4] = "Recycler";
|
||||
if ($sess->values['vais'][3] || $sess->values['vais'][3]) $missions[5] = "Espionner";
|
||||
if ($sess->values['vais'][4] || $sess->values['vais'][13]) $missions[5] = "Espionner";
|
||||
$template->assign('missions', $missions);
|
||||
|
||||
//On enregistre les modification de la session
|
||||
|
|
@ -184,6 +187,22 @@ elseif (!empty($_POST['v0']) || !empty($_POST['v1']) || !empty($_POST['v2']) ||
|
|||
$template->assign('script', '<script type="text/javascript">document.getElementById(\'nom\').focus();</script><script src="js/flotte.js" type="text/javascript"></script>');
|
||||
|
||||
//TODO Ajouter les destinations favorites + Colonies
|
||||
$favoris = array();
|
||||
$favorisC = array();
|
||||
include_once(_FCORE."../game/Class/class.tinyplanete.php");
|
||||
foreach ($planete->destinationsFavoris as $fav)
|
||||
{
|
||||
$fav_Planete = new TinyPlanete($fav);
|
||||
if (!empty($fav_Planete->nom_planete)) $favoris[$fav_Planete->id] = $fav_Planete->nom_planete;
|
||||
else $favoris[$fav_Planete->id] = '['.$fav_Planete->galaxie.':'.$fav_Planete->ss.':'.$fav_Planete->position.']';
|
||||
}
|
||||
foreach ($queryPlanetes as $fav)
|
||||
{
|
||||
if (!empty($fav['nom_planete'])) $favorisC[$fav['id']] = $fav['nom_planete'];
|
||||
else $favorisC[$fav['id']] = '['.$fav['galaxie'].':'.$fav['ss'].':'.$fav['position'].']';
|
||||
}
|
||||
$template->assign('favoris', $favoris);
|
||||
$template->assign('favorisColonies', $favorisC);
|
||||
}
|
||||
//Affichage du détail d'une flotte
|
||||
elseif (!empty($_GET['n'])) {
|
||||
|
|
@ -246,15 +265,16 @@ else {
|
|||
$TEMP_flottesEC = array();
|
||||
if ($flottes) {
|
||||
foreach ($flottes as $flotte){
|
||||
if ($flotte['mission'] != 1 && ($flotte['mission'] != 3 || $flotte['effectue'] == '1' || $flotte['nb_vais'] >= 1) && $flotte['mission'] != 0) {
|
||||
$retour = $flotte['start_galaxie'].':'.$flotte['start_ss'].':'.$flotte['start_position'];
|
||||
if ($flotte['mission'] != 1 && ($flotte['mission'] != 2 || $flotte['statut'] == '1') && $flotte['mission'] != 0) {
|
||||
$planete_retour = new Planete($flotte['start_planete']);
|
||||
$retour = $planete_retour->galaxie.':'.$planete_retour->ss.':'.$planete_retour->position;
|
||||
$Hretour = date('d/m H:i:s',$flotte['start_time']+2*$flotte['end_time']);
|
||||
}
|
||||
elseif ($flotte['mission'] == 1) {
|
||||
/*elseif ($flotte['mission'] == 1) {
|
||||
$retour = $flotte['start_galaxie'].':'.$flotte['start_ss'].':'.$flotte['start_position'];
|
||||
if (empty($flotte['ret_time'])) $Hretour = '-';
|
||||
else $Hretour = date('d/m H:i:s',$flotte['ret_time']+$flotte['end_time']);
|
||||
}
|
||||
}*/
|
||||
else {
|
||||
$retour = '-';
|
||||
$Hretour = '-';
|
||||
|
|
@ -262,7 +282,11 @@ else {
|
|||
|
||||
$end_planete = new Planete($flotte['end_planete']);
|
||||
|
||||
$TEMP_flottesEC[] = array($flotte['id'], $flotte['nom'], txtmission($flotte['mission']), $flotte['nb_vais'], $end_planete->nom_planete.' ['.$end_planete->galaxie.':'.$end_planete->ss.':'.$end_planete->position.']', date('d/m H:i:s',$flotte['start_time']+$flotte['end_time']), $retour, $Hretour);
|
||||
if ($flotte['mission'] == 2) {
|
||||
preg_match('#^\[?([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})\]?$#', $flotte['end_planete'], $position);
|
||||
$TEMP_flottesEC[] = array($flotte['id'], $flotte['nom'], txtmission($flotte['mission']), $flotte['nb_vais'], ' ['.$position[1].':'.$position[2].':'.$position[3].']', date('d/m H:i:s',$flotte['start_time']+$flotte['end_time']), $retour, $Hretour);
|
||||
}
|
||||
else $TEMP_flottesEC[] = array($flotte['id'], $flotte['nom'], txtmission($flotte['mission']), $flotte['nb_vais'], $end_planete->nom_planete.' ['.$end_planete->galaxie.':'.$end_planete->ss.':'.$end_planete->position.']', date('d/m H:i:s',$flotte['start_time']+$flotte['end_time']), $retour, $Hretour);
|
||||
}
|
||||
}
|
||||
$template->assign('flottesEC', $TEMP_flottesEC);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue