Outils du site


fr:developpers:documentation_library_formula

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
fr:developpers:documentation_library_formula [2021/01/23 23:15] pitch314fr:developpers:documentation_library_formula [2021/01/27 22:23] – [Ogame formula Library] pitch314
Ligne 4: Ligne 4:
   * côté PHP (includes/ogame.php), complète permettant d'aider la manipulation des formules Ogame dans les pages OGSpy comme dans les mod.   * côté PHP (includes/ogame.php), complète permettant d'aider la manipulation des formules Ogame dans les pages OGSpy comme dans les mod.
     * programmation terminée      * programmation terminée 
-  * côté JS (js/ogame_formula.js), les fonctions nécessaires à des utilisations dynamiques (production, consommation, temps, coût, ect.) +  * côté JS (js/ogame_formula.js), les fonctions nécessaires à des utilisations dynamiques (production, consommation, temps, coût, etc.) 
-    * programmation en cours +    * programmation terminée
  
 +<note important>En Javascript, les tableaux sont des objets et sont manipulés par référence (comme en C), pointant vers la localisation du tableau.
 +
 +Contrairement au PHP, il n'y pas de copie explicite ($a = $b), il faut copier manuellement les éléments si l'on veut garder les valeurs du tableau originel.</note>
  
 ===== Types et fonctions de base ===== ===== Types et fonctions de base =====
Ligne 12: Ligne 15:
 La manipulation des ressources est un type sous la forme d'un tableau contenant toutes les ressources. La manipulation des ressources est un type sous la forme d'un tableau contenant toutes les ressources.
 <code php PHP> <code php PHP>
-/** @brief Get an Ogame ressources array.+/** @brief Get an Ogame resources array.
  *    *  
-  @param[in] int $metal,$cristal,$deut The needed ressources +  @param[in] int $metal,$cristal,$deut The needed resources 
-  @param[in] int $NRJ,$AM              Optional ressources (0 default)+  @param[in] int $NRJ,$AM              Optional resources (0 default)
   @return array('M','C','D','NRJ','AM'), default is 0   @return array('M','C','D','NRJ','AM'), default is 0
  */  */
Ligne 24: Ligne 27:
 $prod['M'] = 44; $prod['M'] = 44;
 $cout_base['M'] = ogame_array_ressource(  60   ,  15    , 0); //Prix de base d'une mine de métal. $cout_base['M'] = ogame_array_ressource(  60   ,  15    , 0); //Prix de base d'une mine de métal.
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_arrayRessource($metal, $cristal, $deut, $NRJ = 0);
 +
 +//Exemples d'utilisations
 +var result = ogame_arrayRessource(0,0,0);
 +result['M'] = 44;
 </code> </code>
  
Ligne 31: Ligne 42:
 La fonction suivante, et ses alter-ego (is ?), sont essentielles dans la manipulation automatique. La fonction suivante, et ses alter-ego (is ?), sont essentielles dans la manipulation automatique.
 <code php PHP> <code php PHP>
-/** @brief Give database names of a buiding/research/fleet/defence/class/ressources.+/** @brief Give database names of a building/research/fleet/defence/class/ressources.
  *    *  
   @return array('BAT'=>array, 'RECH'=>array, 'VSO'=>array, 'DEF'=>array, 'CLASS'=>array, 'RESS'=>array)   @return array('BAT'=>array, 'RECH'=>array, 'VSO'=>array, 'DEF'=>array, 'CLASS'=>array, 'RESS'=>array)
Ligne 53: Ligne 64:
         'Lab',  //Laboratoire         'Lab',  //Laboratoire
         'Ter',  //Terraformeur         'Ter',  //Terraformeur
-        'DdR',  //Dépot de ravitaillement+        'DdR',  //Dépôt de ravitaillement
         'Silo', //Silo de missiles         'Silo', //Silo de missiles
         'Dock', //Dock spatial         'Dock', //Dock spatial
Ligne 61: Ligne 72:
         );         );
     $names['RECH'] = array( // Recherches :     $names['RECH'] = array( // Recherches :
-        'Esp',           //Technologie espionage+        'Esp',           //Technologie espionnage
         'Ordi',          //Technologie ordinateur         'Ordi',          //Technologie ordinateur
         'Armes',         //Technologie armes         'Armes',         //Technologie armes
Ligne 145: Ligne 156:
         //Faire quelque chose spécifique pour les vaisseaux         //Faire quelque chose spécifique pour les vaisseaux
     }     }
 +}
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_getElementNames();
 +function ogame_isElement(nom);
 +
 +//Exemples (utilisation comme en PHP)
 +var names = ogame_getElementNames();
 +for(var elem in names['RESS']) {    //elem ici vaut un entier pour parcourir les noms
 +    elem = names['RESS'][elem]
 +    result['prod_reel'][elem]  = Math.floor(result['prod_base'][elem]);
 } }
 </code> </code>
Ligne 150: Ligne 173:
 ===== Formules liées à la production ===== ===== Formules liées à la production =====
 LA fonction à utiliser pour calculer la production d'un empire est la suivante pour chaque planète : LA fonction à utiliser pour calculer la production d'un empire est la suivante pour chaque planète :
-<code php>+<code php PHP>
 /** @brief Calculates planet production and consumption. /** @brief Calculates planet production and consumption.
  *    *  
Ligne 156: Ligne 179:
   @param[in] array $user_technology Techno info ('NRJ','Plasma'   @param[in] array $user_technology Techno info ('NRJ','Plasma'
   @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full')   @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full')
-  @param[in] array $server_config   Ogame univers info ('speed_uni')+  @param[in] array $server_config   Ogame universe info ('speed_uni')
   @return array('prod_reel, // (array ress) Production réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso)   @return array('prod_reel, // (array ress) Production réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso)
       'prod_theorique',     // (array ress) Producton théorique M/C/D (ratio=1, 100%)       'prod_theorique',     // (array ress) Producton théorique M/C/D (ratio=1, 100%)
Ligne 178: Ligne 201:
         $planet_prod[$i] = ogame_production_planet($user_empire['user_building'], $user_empire['user_technology'], $user_data, $server_config);         $planet_prod[$i] = ogame_production_planet($user_empire['user_building'], $user_empire['user_technology'], $user_data, $server_config);
     }     }
-echo $planet_prod[1]['prod_M']['M']; => production de la mine de métal +echo $planet_prod[1]['prod_M']['M']; //=> production de la mine de métal 
-echo $planet_prod[1]['prod_M']['NRJ']; => consommation d'énergie de la mine de métal (!nombre négatif!) +echo $planet_prod[1]['prod_M']['NRJ']; //=> consommation d'énergie de la mine de métal (!nombre négatif!) 
-echo $planet_prod[1]['prod_reel']['M']; => production totale de métal de la planète (mine,classe,officiers,booster,plasma,etc.)+echo $planet_prod[1]['prod_reel']['M']; //=> production totale de métal de la planète (mine,classe,officiers,booster,plasma,etc.)
 //Mais aussi individuellement : //Mais aussi individuellement :
  
 </code> </code>
-C'est cette fonction qui calcule la production en prenant tout en compte. C'est aussi la seule permettant de connaitre la prod des différents bonus.+<code Javascript JS> 
 +/** Voir description des fonctions côté PHP **/ 
 +function ogame_productionPlanet(user_building, user_technology=null, user_data=null, server_config=null); 
 + 
 +//Exemples d'utilisations 
 +console.log(ogame_productionPlanet({M:38,C:34,D:34,CES:28,CEF:20,CEF_percentage:80,SAT:2200,FOR:858,FOR_percentage:150,coordinates:'::8',temperature_max:47},{Plasma:19,NRJ:20},{user_class:'COL'})); 
 +</code> 
 + 
 +C'est cette fonction qui calcule la production en prenant tout en compte. C'est aussi la seule permettant de connaître la prod des différents bonus.
 Sinon pour la production de base d'un bâtiment Sinon pour la production de base d'un bâtiment
 <code php PHP> <code php PHP>
Ligne 193: Ligne 224:
   @param[in] array  $user_technology Techno info ('NRJ') 0 as default value   @param[in] array  $user_technology Techno info ('NRJ') 0 as default value
   @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')   @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')
-  @param[in] array  $server_config   Ogame univers info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi.+  @param[in] array  $server_config   Ogame universe info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi.
   @return array('M','C','D','NRJ','AM') of production   @return array('M','C','D','NRJ','AM') of production
 */ */
Ligne 208: Ligne 239:
 //$prod[NRJ] = la conso NRJ du nombre max de FOR autorisées de base (0-100%) //$prod[NRJ] = la conso NRJ du nombre max de FOR autorisées de base (0-100%)
  
-//Connaitre le nombre de FOR max : +//Connaître le nombre de FOR max : 
-$tmp = ogame_production_bonus_foreuse(array('FOR'=>99999,'M'=>35,'C'=>35,'D'=>35),array('user_class'=>'COL','off_ingenieur'=>1)); +/** @brief Calculates maximum number of foreuse. 
-$nb_FOR_max = $tmp['nb_FOR_maxed'];+  @param[in] int   $mine_M,$mine_C,$mine_D    Mine level 
 +  @param[in] array $user_data                 array with class and officiers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')) 
 + *  @return int The max 
 + */ 
 +function ogame_production_foreuse_max($mine_M, $mine_C, $mine_D, $user_data);
 </code> </code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_productionBuilding(building, user_building=null, user_technology=null, user_data=null, server_config=null);
 +function ogame_productionForeuseMax(mine_M, mine_C, mine_D, user_data);
  
 +//Exemples d'utilisations
 +console.log(ogame_productionBuilding('base',{M:38,CES:38,coordinates:'::8'},null,null,{speed_uni:8}))
 +</code>
  
 ===== Formules des coûts ===== ===== Formules des coûts =====
-Connaitre le coût d'un élément (bat/vso/def/rech) notamment pour un évolution ou le prix de plusieurs défenses :+Connaître le coût d'un élément (bat/vso/def/rech) notamment pour un évolution ou le prix de plusieurs défenses :
 <code php PHP> <code php PHP>
 /** @brief Calculates price of an Ogame bat/vso/def/rech /** @brief Calculates price of an Ogame bat/vso/def/rech
Ligne 229: Ligne 271:
 $cout = ogame_element_cout('EDLM', 1000); // Le prix en ressource de 1000 EDLM $cout = ogame_element_cout('EDLM', 1000); // Le prix en ressource de 1000 EDLM
 </code> </code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_elementCoutBase(name = 'all');
 +</code>
 +
 Afin de connaître le nombre total de ressource investit il faut utilisation la fonction suivante : Afin de connaître le nombre total de ressource investit il faut utilisation la fonction suivante :
 <code php PHP> <code php PHP>
Ligne 235: Ligne 282:
   @param[in] string $name  Name of building/research/fleet/defence, like in name in database   @param[in] string $name  Name of building/research/fleet/defence, like in name in database
   @param[in] int    $level The current level or the number of fleet/defence   @param[in] int    $level The current level or the number of fleet/defence
-  @return array('M', 'C','D, 'NRJ'ressources used to it current level+  @return array('M', 'C','D, 'NRJ'resources used to it current level
  * NOTE : pour les vso/def cette fonction est identique à ogame_element_cout()  * NOTE : pour les vso/def cette fonction est identique à ogame_element_cout()
  */  */
Ligne 243: Ligne 290:
 $cout = ogame_element_cumulate('M', 39); // Le nombre de ressource investit, en cumul, pour une M39 $cout = ogame_element_cumulate('M', 39); // Le nombre de ressource investit, en cumul, pour une M39
 </code> </code>
-Néanmoins, dans le calcul des points d'une planète, il faudrait utiliser la fonction suivante :+ 
 +Néanmoins, dans le calcul des points d'une planète, il sera plus simple d'utiliser la fonction suivante :
 <code php PHP> <code php PHP>
 /** @brief Calculates the price of all element of type (building,defence,fleet,research). /** @brief Calculates the price of all element of type (building,defence,fleet,research).
Ligne 281: Ligne 329:
   @param[in] string $name          The name, like name in Database   @param[in] string $name          The name, like name in Database
   @param[in] int    $level         The level or number for def/vso   @param[in] int    $level         The level or number for def/vso
-  @param[in] array  $user_building Array of bat level ('CSp','UdR','UdN','Lab')+  @param[in] array  $user_building Array of bat level ('CSp','UdR','UdN','Lab' / le reste est ignoré)
   @param[in] int    $cumul_labo    Number of cumulate lab network (only for rech)   @param[in] int    $cumul_labo    Number of cumulate lab network (only for rech)
   @param[in] array  $user_class    User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))   @param[in] array  $user_class    User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
Ligne 291: Ligne 339:
 $temps_M   = ogame_construction_time('M', 38, array('UdR'=>10,'UdN'=>8); //Temps de construction en seconde d'une M38 avec robot 10 et nanite 8. $temps_M   = ogame_construction_time('M', 38, array('UdR'=>10,'UdN'=>8); //Temps de construction en seconde d'une M38 avec robot 10 et nanite 8.
 $temps_RIP = ogame_construction_time('EDLM',1000,array('UdR'=>10,'UdN'=>8,'CSp'=>20); //Temps de construction en seconde de 1000RIP avec robot 10 et nanite 8 dans un chantier 20. $temps_RIP = ogame_construction_time('EDLM',1000,array('UdR'=>10,'UdN'=>8,'CSp'=>20); //Temps de construction en seconde de 1000RIP avec robot 10 et nanite 8 dans un chantier 20.
 +$temps_RIP = ogame_construction_time('EDLM',1000,$user_building); //Sinon plus automatique pour la planète courante
  
 $cumul_labo = ogame_labo_cumulate($user_empire['building'], $current_planet_id); //Si déterminé avec le labo d'un planète donnée $cumul_labo = ogame_labo_cumulate($user_empire['building'], $current_planet_id); //Si déterminé avec le labo d'un planète donnée
Ligne 297: Ligne 346:
 $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200); //Temps de construction de NRJ21 avec 200 labo connectés. $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200); //Temps de construction de NRJ21 avec 200 labo connectés.
 $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200, 'EXP'); //Temps de construction de NRJ21 avec 200 labos connectés et avec les -25% de l'explorateur. $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200, 'EXP'); //Temps de construction de NRJ21 avec 200 labos connectés et avec les -25% de l'explorateur.
 +
 +$a=ogame_construction_time('NRJ',21,array('Lab'=>18,'CSp'=>12,'UdR'=>10,'UdN'=>7),234);
 +$year=gmdate('Y',$a)-1970;
 +$week=gmdate('W',$a)-1;
 +$day=gmdate('z',$a)-$week*7;
 +echo $year.'a '.$week.'s '.$day.'j '.gmdate('H:i:s',$a);"   //0a 21s 1j 17:37:13
 +</code>
 +
 +===== Formules liées à la flotte =====
 +En préliminaire, un formule permettant de fournir la distance entre 2 coordonées :
 +<code php PHP>
 +/**
 +  @brief Calculates distance between 2 coordinates.
 + *  
 +  @param[in] string $a, $b         Coordinates ('g:s:p')
 +      'g1:s1:p1'->'g2:s2:p2' : normal distance calcul
 +      ':s1:p1'->'x:s2:p2     : distance between system/planet (only system is ':s1:')
 +      '::p1'->'x:x:p2        : distance between planet
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH',  only these are checked)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @return array(int 'distance','type') [default=O,'p'], type='g' for between galaxy, 's' for between system and 'p' for between a sub-system
 + */
 +function ogame_fleet_distance($a, $b, $user_techno=null, $class='none', $server_config=null);
 +
 +//Exemples d'utilisations :
 +$distance = ogame_fleet_distance($coord_from, $coord_to, $server_config);
 +switch ($distance['type']) {
 +    case 'g':   //between galaxy
 +        //faire quelque chose avec $distance['distance'] pour une distance entre galaxies
 +        break;
 +    case 's':   //between system (so inside same galaxy)
 +        //faire quelque chose avec $distance['distance'] pour une distance entre systèmes d'une même galaxie
 +        break;
 +    case 'p':   //between sub-system (so in same galaxy and same system)
 +        if ($distance['distance'] === 0) { // to moon/cdr
 +            //faire quelque chose avec $distance['distance'] pour une distance sur la même planète (lune ou cdr)
 +        } else { //to other planet in same system
 +            //faire quelque chose avec $distance['distance'] pour une distance entre planète d'un même sous-système
 +        }
 +        break;
 +    default:
 +        break;
 +}
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetDistance(a, b, user_techno=null, classe='none', server_config=null);
 +
 +//Exemples d'utilisations
 +var distance  = ogame_fleetDistance(coord_from, coord_to, server_config);
 +</code>
 +
 +Pour connaître la consommation d'un stationnement ou expédition la fonction est la suivante :
 +<code php PHP>
 +/** @brief Calculates deut consummation for parking/expe of a fleet.
 +  @param[in] int $conso The conso of the fleet
 +  @param[in] int $hour  Number of hours in parking
 +  @return float Deut conso for this hour of parking
 + */
 +function ogame_fleet_conso_statio($conso, $hour);
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetConsoStatio(conso, hour);
 +</code>
 +
 +<code php PHP>
 +/**
 +  @brief Calculates the slowest chip speed of a fleet.
 + *  
 +  @param[in] array  $fleet       List of chips
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @return int the slowest speed
 + */
 +function ogame_fleet_slowest_speed($fleet, $user_techno=null, $class='none');
 +/**
 +  @brief Calculates time and conso to send a fleet.
 + *  
 +  @param[in] string $coord_from,$coord_to    Coordinates begin and end
 +  @param[in] array  $fleet                   Array of fleet and their number (array('PT'=>10,etc.))
 +  @param[in] int    $speed_per               Percentage of speed wanted
 +  @param[in] array  $user_techno             List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class                   User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config           Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @param[in] string $type                    Indicates specific mission ('statio'/'expe', 'fuite')
 +  @param[in] int    $hour_mission            Number of hour of the specific mission
 +  @return array('conso', 'time'), time in seconds (one trip only)
 + */
 +function ogame_fleet_send($coord_from, $coord_to, $fleet, $speed_per=100, $user_techno=null, $class='none', $server_config=null, $type='', $hour_mission=0)
 +
 +//Exemples d'utilisations
 +ogame_fleet_send('1:1:1','1:1:1',array('PT'=>260),100,array('RC'=>20,'RI'=>17,'PH'=>16),'COL'));
 +echo gmdate('z:H:i:s',$a['time']);  //jour:heure:minute:seconde
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetSlowestSpeed(fleet, user_techno=null, classe='none');
 +function ogame_fleetSend(coord_from, coord_to, fleet, speed_per=100, user_techno=null, classe='none', server_config=null, type='', hour_mission=0);
 +
 +//Exemples d'utilisations
 +var a=ogame_fleetSend('1:1:1','1:1:1',{'PT':260},100,{'RC':20,'RI':17,'PH':16},'COL');
 +console.log(a); // { conso: 4, time: 117 }
 +var d = new Date(a['time']*1000);
 +console.log((d.getUTCDate()-1)+ ':'+ d.getUTCHours()+':'+d.getUTCMinutes()+':'+d.getUTCSeconds())
 </code> </code>
  
-===== Les caratéristiques Ogame =====+===== Les caractéristiques Ogame =====
 ==== Les détails d'infos pour les vaisseaux et défenses ==== ==== Les détails d'infos pour les vaisseaux et défenses ====
 +Les vaisseaux et les défenses dans Ogame ont des caractéristiques supplémentaires définie permettant leur utilisation dans les combats (structure,attaque,bouclier,rapidfire fait et subi,consommation,vitesse,fret).
 +La fonction suivante permet de récupérer ses valeurs de base, mais si les technologies sont fournies en les calculant à la bonne valeur.
 +<code php PHP>
 +function ogame_elements_details_base($name = 'all'); //Si on veut seulement les détails de base
 +/** @brief Calculates technical data of a fleet or defence.
 + *  
 +  @param[in] string     $name        The name, like name in Database
 +  @param[in] array      $user_techno The array of technologies (utilisées : Armes/Bouclier/Protection/RC/RI/PH/Hyp)
 +  @param[in] string|int $classe      The user class //array('none','COL','GEN','EXP') - (1=Collectionneur)[0=aucune, 2=général, 3=explorateur])
 +  @return array('nom','structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil',(array)'cout') of the wanted fleet or defence.
 +      rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from
 +      cout=array of ogame_element_cumulate()=array('M','C','D','NRJ)
 + */
 +function ogame_elements_details($name, $user_techno = null, $classe = 'none');
 +/** @brief Calculates technical data of all fleet/defence.
 +  @return array of all fleet/defence with are array of details from ogame_elements_details
 + */
 +function ogame_all_details($user_techno = null, $classe = 0);
  
-==== Les prérequis de chaque élement OGame ====+$detail_PT = ogame_elements_details_base('PT'); 
 +//identique à ogame_elements_details('PT'); 
 +print_r($detail_PT); 
 +// Array( 'nom'=>'PT',structure'=>4000,'Bouclier'=>10,'attaque'=>5,'vitesse'=>5000,'fret'=>5000,'conso'=>10,'civil'=>true,'cout'=>['M'=>2000,'C'=>2000,D/NRJ/AM=>0], 
 +//  rapidfire=>['SE'=>5,'SAT'=>5,'FOR'=>5 : rapidfire fait 
 +//              'CLO'=>-3,'TRA'=>-3,'EDLM'=>-250 : rapidfire subi 
 +//              'PT'=>0,GT'=>0, etc pour tout les autres vaisseaux] ) 
 +$detail_PT = ogame_elements_details_base('PT',array('Armes'=>20,'Bouclier'=>20,'Protection'=>20,'RC'=>20,'RI'=>17,'Hyp'=>20),'COL'); 
 +//ou simplement ogame_elements_details_base('PT',$user_techno,$user_data['user_class']); 
 +//Calcule les les infos du PT en fonction des techno militaire 20/20/20, des techno de vitesse 20/17 et de l'hyperespace et de la classe pour le fret. 
 +print_r($detail_PT); 
 +// Array( 'nom'=>'PT',structure'=>12000,'Bouclier'=>30,'attaque'=>15,'vitesse'=>54000,'fret'=>11250,'conso'=>20,'civil'=>true,'cout'=>inchangé,'rapidfire'=>inchangé) 
 +</code> 
 + 
 +Détails spécifique pour les flottes, sous-partie de PHP, qui n'offre seulement vitesse,fret et conso : 
 +<code Javascript JS> 
 +/** @brief Return fleet moving details of Ogame vso. 
 +  @param[in] string name The name as in Database, all for all element 
 +  @return array('vitesse','fret','conso',(bool)'civil'
 + */ 
 +function ogame_fleetSubDetailsBase(name = 'all'); 
 +/** @brief Calculates technical data of a fleet or defence. 
 +  @return array('nom','vitesse','fret','conso',(bool)'civil') of the wanted fleet. 
 + */ 
 +function ogame_fleetSubDetails(name, user_techno = null, classe = 'none'); 
 + 
 +console.log(ogame_fleetSubDetails('PT',{'Hyp':18,'RC':21,'RI':17,'PH':16},'GEN')); 
 +</code> 
 + 
 +==== Les prérequis de chaque élément OGame ==== 
 +La plus part des éléments Ogame ont des prérequis pour les débloquer, que ce soit un niveau de bâtiment, de technologies. 
 +<code php PHP> 
 +/** @brief Calculates technical data of Ogame requirement for bat/vso/def/rech. 
 +   
 +  @param[in] string $nom The name, like name in Database 
 +  @return array('none','COL','GEN','EXP' : bool for class, 'CES',etc. : int for all bat/rech name in database) 
 + */ 
 +function ogame_elements_requirement($name = 'all'); 
 +/** @brief Calculates technical data of Ogame requirement of all building/research/fleet/defence. 
 +  @return array of all building/research/fleet/defence with are array of requirement from ogame_elements_requirement 
 + */ 
 +function ogame_all_requirement(); 
 + 
 +//Exemples d'utilisations : 
 +$requi_graviton = ogame_elements_requirement('Graviton'); 
 +$names = ogame_get_element_names(); 
 +foreach ($names['RECH'] as $element) { 
 +    if ($requi_graviton[$element] !== 0) { 
 +        echo 'Prérequis de la techno' . $element . 'au niveau minimum : ' . $requi_graviton[$element]; 
 +    } 
 +
 +$current_lab = $user_building['Lab']; 
 +if ($current_lab < $requi_graviton['Lab']) { 
 +    echo 'Graviton impossible car le niveau du laboratoire est insiffisant (min=' . $requi_graviton['Lab'] . ').'; 
 +
 +</code>
  
 ===== Autres formules ===== ===== Autres formules =====
 +==== Hangars ====
 +Capacité des hangars :
 +<code php PHP>
 +/** @brief Calculates the planet storage capacity (taille hangar).
 + * @param[in] int $level Storage building level
 + * @return float capacity
 + */
 +function ogame_depot_capacity($level);
 +</code>
 +
 +==== Phalange ====
 +Portée de la phalange :
 +<code php PHP>
 +/** @brief Calculates phalanx range.
 +  @param[in] int   $level         Level of the phalanx
 +  @param[in] array $user_class    User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @return int Range in system
 + */
 +function ogame_phalanx_range($level, $user_class = 'none');
 +</code>
 +
 +==== Missile ====
 +Fonction en relation avec les missiles (portée et vitesse):
 +<code php PHP>
 +/** @brief Calculates MIP range.
 +  @param[in] int $impulsion Techno impulsion (RI)
 +  @return int Range in system
 + */
 +function ogame_missile_range($impulsion = 1);
 +
 +/** @brief Calculates MIP speed.
 +  @param[in] int $nb_system Number of sub-system from current planet
 +  @param[in] int $speed_uni Universe speed
 +  @return int Speed in seconds
 + */
 +function ogame_missile_speed($nb_system, $speed_uni = 1);
 +</code>
 +==== Case avec terraformer ====
 +<code php PHP>
 +/** @brief Calculates additional case given by terraformer.
 +  @param[in] int $level The terra level
 +  @return int Number of additional case
 + */
 +function ogame_terra_case($level);
 +</code>
  
 ===== Fonctions utilitaires ===== ===== Fonctions utilitaires =====
-<code php>+<code php PHP>
 /** @brief Return planet position from coordinates. /** @brief Return planet position from coordinates.
   @param[in] string $coordinates planet coordinates (galaxy:system:position)   @param[in] string $coordinates planet coordinates (galaxy:system:position)
Ligne 313: Ligne 586:
  */  */
 function ogame_find_planet_position($coordinates); function ogame_find_planet_position($coordinates);
 +/** @brief Return coordinates in array.
 +  @param[in] string $string_coord Coordinates, in string like in Database ('2:3:4')
 +  @return array('g','s','p') of int, default is 0 ('::6' give planet position of 6)
 + */
 +function ogame_find_coordinates($string_coord);
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_findPlanetPosition(coordinates);
 +function ogame_findCoordinates(string_coord);
 </code> </code>
  
 ===== Récapitulatif des prototypes de fonctions de la Ogame formula Library ===== ===== Récapitulatif des prototypes de fonctions de la Ogame formula Library =====
 <code php> <code php>
-/** @brief Get an Ogame ressources array.+//////////////////////////// BASE fonctions : ////////////////////////////////// 
 +/** @brief Get an Ogame resources array.
  *    *  
-  @param[in] int $metal,$cristal,$deut The needed ressources +  @param[in] int $metal,$cristal,$deut The needed resources 
-  @param[in] int $NRJ,$AM              Optional ressources (0 default)+  @param[in] int $NRJ,$AM              Optional resources (0 default)
   @return array('M','C','D','NRJ','AM'), default is 0   @return array('M','C','D','NRJ','AM'), default is 0
  */  */
Ligne 332: Ligne 616:
  */  */
 function ogame_array_detail($structure, $bouclier, $attaque, $vitesse=0, $fret=0, $conso=0, $civil=true); function ogame_array_detail($structure, $bouclier, $attaque, $vitesse=0, $fret=0, $conso=0, $civil=true);
-/** @brief Give database names of a buiding/research/fleet/defence/class/ressources.+/** @brief Give database names of a building/research/fleet/defence/class/resources.
  *    *  
   @return array('BAT'=>array, 'RECH'=>array, 'VSO'=>array, 'DEF'=>array, 'CLASS'=>array, 'RESS'=>array)   @return array('BAT'=>array, 'RECH'=>array, 'VSO'=>array, 'DEF'=>array, 'CLASS'=>array, 'RESS'=>array)
Ligne 353: Ligne 637:
  */  */
 function ogame_find_planet_position($coordinates); function ogame_find_planet_position($coordinates);
 +/** @brief Return coordinates in array.
 +  @param[in] string $string_coord Coordinates, in string like in Database ('2:3:4')
 +  @return array('g','s','p') of int, default is 0 ('::6' give planet position of 6)
 + */
 +function ogame_find_coordinates($string_coord);
  
 ////////////////////////// PRODUCTION fonctions : ////////////////////////////// ////////////////////////// PRODUCTION fonctions : //////////////////////////////
-/** @brief Return position ressources bonus in Ogame.+/** @brief Return position resources bonus in Ogame.
   @param[in] int $position The wanted position   @param[in] int $position The wanted position
   @return array('M','C','D','NRJ','AM') of bonus, default is 0%   @return array('M','C','D','NRJ','AM') of bonus, default is 0%
  */  */
 function ogame_production_position($position); function ogame_production_position($position);
 +/** @brief Calculates maximum number of foreuse.
 +  @param[in] int   $mine_M,$mine_C,$mine_D    Mine level
 +  @param[in] array $user_data                 array with class and officiers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full'))
 +  @return int The max
 + */
 +function ogame_production_foreuse_max($mine_M, $mine_C, $mine_D, $user_data);
 /** @brief Calculates foreuse coefficient on base production. /** @brief Calculates foreuse coefficient on base production.
   @param[in] array $user_building array of mines level and FOR number (array('M','C','D','FOR'))   @param[in] array $user_building array of mines level and FOR number (array('M','C','D','FOR'))
-  @param[in] array $user_data     array with class and officiers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full'))+  @param[in] array $user_data     array with class and officers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full'))
   @return array('bonus', 'nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much   @return array('bonus', 'nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much
  */  */
-function ogame_production_bonus_foreuse($user_building, $user_data);+function ogame_production_foreuse_bonus($user_building, $user_data);
 /** @brief Calculates building/sat/for or base production and consumption. /** @brief Calculates building/sat/for or base production and consumption.
  *    *  
Ligne 372: Ligne 667:
   @param[in] array  $user_technology Techno info ('NRJ') 0 as default value   @param[in] array  $user_technology Techno info ('NRJ') 0 as default value
   @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')   @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')
-  @param[in] array  $server_config   Ogame univers info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi.+  @param[in] array  $server_config   Ogame universe info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi.
   @return array('M','C','D','NRJ','AM') of production   @return array('M','C','D','NRJ','AM') of production
 */ */
Ligne 381: Ligne 676:
   @param[in] array $user_technology Techno info ('NRJ','Plasma'   @param[in] array $user_technology Techno info ('NRJ','Plasma'
   @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full')   @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full')
-  @param[in] array $server_config   Ogame univers info ('speed_uni')+  @param[in] array $server_config   Ogame universe info ('speed_uni')
   @return array('prod_reel, // (array ress) Production réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso)   @return array('prod_reel, // (array ress) Production réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso)
       'prod_theorique',     // (array ress) Producton théorique M/C/D (ratio=1, 100%)       'prod_theorique',     // (array ress) Producton théorique M/C/D (ratio=1, 100%)
Ligne 411: Ligne 706:
 /** @brief Calculates the evolve coefficient of a building and research. /** @brief Calculates the evolve coefficient of a building and research.
   @param[in] string $name Building/research name, as in Database   @param[in] string $name Building/research name, as in Database
-  @return array('M', 'C','D, 'NRJ') array of coefficient by ressource+  @return array('M', 'C','D, 'NRJ') array of coefficient by resource
  */  */
 function ogame_element_evolve_coef($name); function ogame_element_evolve_coef($name);
Ligne 418: Ligne 713:
   @param[in] string $name  Name of building/research/fleet/defence, like in name in database   @param[in] string $name  Name of building/research/fleet/defence, like in name in database
   @param[in] int    $level The current level or the number of fleet/defence   @param[in] int    $level The current level or the number of fleet/defence
-  @return array('M', 'C','D, 'NRJ'ressources used to it current level+  @return array('M', 'C','D, 'NRJ'resources used to it current level
  */  */
 function ogame_element_cumulate($name, $level); function ogame_element_cumulate($name, $level);
Ligne 432: Ligne 727:
 function all_fleet_cumulate($user_fleet)       { return ogame_all_cumulate($user_fleet, 'VSO'); } function all_fleet_cumulate($user_fleet)       { return ogame_all_cumulate($user_fleet, 'VSO'); }
 function all_technology_cumulate($user_techno) { return ogame_all_cumulate($user_techno, 'RECH'); } function all_technology_cumulate($user_techno) { return ogame_all_cumulate($user_techno, 'RECH'); }
-/** +/** @brief Calculates destroy price of a building.
- *  @brief Calculates destroy price of a building.+
  *    *  
   @param[in] string $name       Building name, as in Database   @param[in] string $name       Building name, as in Database
Ligne 442: Ligne 736:
 function ogame_building_destroy($name, $level, $techno_ions = 0); function ogame_building_destroy($name, $level, $techno_ions = 0);
  
-//////////////////////// TEMPS fonctions : ////////////////////////+//////////////////////////// TEMPS fonctions : /////////////////////////////////
 /** @brief Calculates cumulate lab network. /** @brief Calculates cumulate lab network.
   @param[in] array $user_empire       From user_get_empire()   @param[in] array $user_empire       From user_get_empire()
Ligne 460: Ligne 754:
 function ogame_construction_time($name, $level, $user_building, $cumul_labo = 0, $user_class = 'none'); function ogame_construction_time($name, $level, $user_building, $cumul_labo = 0, $user_class = 'none');
  
 +//////////////////////////// FLOTTE fonctions : ////////////////////////////////
 +/**
 +  @brief Calculates deut consummation for parking of a fleet.
 + *  
 +  @param[in] int $conso The conso of the fleet
 +  @param[in] int $hour  Number of hours in parking
 +  @return float Deut conso for this hour of parking
 + */
 +function ogame_fleet_conso_statio($conso, $hour);
 +/**
 +  @brief Calculates the slowest chip speed of a fleet.
 + *  
 +  @param[in] array  $fleet       List of chips
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @return int the slowest speed
 + */
 +function ogame_fleet_slowest_speed($fleet, $user_techno=null, $class='none');
 +/**
 +  @brief Calculates distance between 2 coordinates.
 + *  
 +  @param[in] string $a, $b         Coordinates ('g:s:p')
 +      'g1:s1:p1'->'g2:s2:p2' : normal distance calcul
 +      ':s1:p1'->'x:s2:p2     : distance between system/planet (only system is ':s1:')
 +      '::p1'->'x:x:p2        : distance between planet
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH',  only these are checked)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @return array(int 'distance','type') [default=O,'p'], type='g' for between galaxy, 's' for between system and 'p' for between a sub-system
 + */
 +function ogame_fleet_distance($a, $b, $user_techno=null, $class='none', $server_config=null);
 +/**
 +  @brief Calculates time and conso to send a fleet.
 + *  
 +  @param[in] string $coord_from,$coord_to    Coordinates begin and end
 +  @param[in] array  $fleet                   Array of fleet and their number (array('PT'=>10,etc.))
 +  @param[in] int    $speed_per               Percentage of speed wanted
 +  @param[in] array  $user_techno             List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class                   User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config           Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @param[in] string $type                    Indicates specific mission ('statio'/'expe', 'fuite')
 +  @param[in] int    $hour_mission            Number of hour of the specific mission
 +  @return array('conso', 'time'), time in seconds (one trip only)
 + */
 +function ogame_fleet_send($coord_from, $coord_to, $fleet, $speed_per=100, $user_techno=null, $class='none', $server_config=null, $type='', $hour_mission=0)
 +/** @brief Return base details of Ogame def/vso.
 +  @param[in] string $name The name as in Database, all for all element
 +  @return array('structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil')
 +      rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from
 + */
 +
 +function ogame_elements_details_base($name = 'all');
 +/** @brief Calculates technical data of a fleet or defence.
 + *  
 +  @param[in] string     $name        The name, like name in Database
 +  @param[in] array      $user_techno The array of technologies (utilisées : Armes/Bouclier/Protection/RC/RI/PH/Hyp)
 +  @param[in] string|int $classe      The user class //array('none','COL','GEN','EXP') - (1=Collectionneur)[0=aucune, 2=général, 3=explorateur])
 +  @return array('nom','structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil',(array)'cout') of the wanted fleet or defence.
 +      rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from
 +      cout=array of ogame_element_cumulate()=array('M','C','D','NRJ')
 + */
 +function ogame_elements_details($name, $user_techno = null, $classe = 0);
 +/** @brief Calculates technical data of all fleet/defence.
 +  @param[in] array      $user_techno The array of technologies
 +  @param[in] string|int $classe The user class //array('none','COL','GEN','EXP')
 +  @return array of all fleet/defence with are array of details from ogame_elements_details()
 + */
 +function ogame_all_details($user_techno = null, $classe = 0);
 +
 +/** @brief Calculates technical data of Ogame requirement.
 + *  
 +  @param[in] string $nom The name, like name in Database
 +  @return array('none','COL','GEN','EXP' : bool for class, 'CES',etc. : int for all bat/rech name in database)
 + */
 +function ogame_elements_requirement($name = 'all');
 +/** @brief Calculates technical data of Ogame requirement of all building/research/fleet/defence.
 +  @return array of all building/research/fleet/defence with are array of requirement from ogame_elements_requirement
 + */
 +function ogame_all_requirement();
  
 +//////////////////////////// DIVERS fonctions : ////////////////////////////////
 /** @brief Calculates the planet storage capacity (taille hangar). /** @brief Calculates the planet storage capacity (taille hangar).
  * @param[in] int $level Storage building level  * @param[in] int $level Storage building level
Ligne 479: Ligne 853:
 /** @brief Calculates MIP speed. /** @brief Calculates MIP speed.
   @param[in] int $nb_system Number of sub-system from current planet   @param[in] int $nb_system Number of sub-system from current planet
-  @param[in] int $speed_uni Univers speed+  @param[in] int $speed_uni Universe speed
   @return int Speed in seconds   @return int Speed in seconds
  */  */
Ligne 488: Ligne 862:
  */  */
 function ogame_terra_case($level); function ogame_terra_case($level);
 +</code>
  
-//////FLOTTE +<code Javascript JS> 
-/** +/** Voir description des fonctions côté PHP **/ 
-  @brief Calculates deut consommation for parking of a fleet.+//////////////////////////// BASE fonctions : ////////////////////////////////// 
 +/** @return array('M','C','D','NRJ'), default is 0 */ 
 +function ogame_arrayRessource($metal, $cristal, $deut, $NRJ = 0); 
 +function ogame_getElementNames(); 
 +function ogame_isElement(nom); 
 +function ogame_findPlanetPosition(coordinates); 
 +function ogame_findCoordinates(string_coord);   /** return array('g','s','p') of int, default is 0 */ 
 + 
 +////////////////////////// PRODUCTION fonctions : ////////////////////////////// 
 +function ogame_productionPosition(position); 
 +function ogame_productionForeuseMax(mine_M, mine_C, mine_D, user_data); 
 +function ogame_productionForeuseBonus(user_building, user_data); /** return array('bonus','nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much */ 
 +/** @brief Calculates building/sat/for or base production and consumption.
  *    *  
-  @param[in] int $conso The conso of the fleet +  @param[in] string $building        The wanted building/sat/for ('base','M','C','D','CES','CEF','SAT','FOR') 
-  @param[in] int $hour  Number of hours in parking +  @param[in] array  $user_building   Planet info ('M','C','D','CES','CEF','SAT','FOR','temperature_max','coordinates') 0 as default value 
-  @return float Deut conso for this hour of parking +  @param[in] array  $user_technology Techno info ('NRJ') 0 as default value 
- */ +  @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full'
-function ogame_fleet_conso_statio($conso$hour); +  @param[in] array  $server_config   Ogame universe info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi. 
-/** +  @return array('M','C','D','NRJ'of production 
- *  @brief Return base details of Ogame def/vso.+*/ 
 +function ogame_productionBuilding(buildinguser_building=null, user_technology=null, user_data=null, server_config=null); 
 +/** @brief Calculates planet production and consumption.
  *    *  
-  @param[in] string $name The name as in Databaseall for all element +  @param[in] array $user_building   Planet info ('M','C','D','CES','CEF','SAT','FOR','temperature_max','coordinates','M_percentage','C_percentage','D_percentage','CES_percentage','CEF_percentage','Sat_percentage','FOR_percentage',array 'booster_tab') 0 as default value 
-  @return array('structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil') +  @param[in] array $user_technology Techno info ('NRJ','Plasma' 
-      rapidfire=array('PT'=>x...array of all fleet and defence; if x>0 then again else from +  @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full'
- ->Coût de base des vaisseaux                 structure,bouclier,attaque,vitesse   ,fret    ,conso,civil+  @param[in] array $server_config   Ogame universe info ('speed_uni'
-    $details_base['PT']   = ogame_array_detail(4000   10     5     5000     5000   , 10); +  @return array('prod_reel// (array ressProduction réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso) 
-    $details_base['PT']['rapidfire']   = array('SE'=>5,'SAT'=>5,'FOR'=>5, 'CLO'=>-3,'TRA'=>-3,'EDLM'=>-250);+      'prod_theorique',     // (array ressProducton théorique M/C/D (ratio=1, 100%) 
 +      'ratio',              // (float) le ratio de production NRJ (prod_E / conso_E
 +      'conso_E','prod_E',   // (floatProduction NRJ prod_E > 0, conso_E < 0 
 +      'prod_CES','prod_CEF','prod_SAT', // (array ress) production énergie de chaque unité ('D' de prod_CEF contient la conso en deut de la CEF) 
 +      'prod_FOR'          // (array ress) production M/C/D et conso NRJ 
 +      'prod_M','prod_C','prod_D','prod_base'// (array ress) Production ressources de chaque mine (M/C/D) et leur conso (NRJ
 + *      'prod_booster','prod_off','prod_Plasma','prod_classe',   // (array ressProduction des bonus 
 + *      'M','C','D','NRJ'=>héritage du type ressource pour les valeurs retournées. 
 +      'nb_FOR_maxed'      // (int) Nombre max de foreuse utilisées 
 +      ) à part ratio/conso_E/prod_E (float) les autres sont array('M','C','D','NRJ')
  */  */
-function ogame_elements_details_base($name 'all'); +function ogame_productionPlanet(user_building, user_technology=null, user_data=null, server_config=null); 
-/** + 
-  @brief Calculates technical data of a fleet or defence. +//////////////////////////// FLOTTE fonctions : ///////////////////////////////
-   +/** return array('vitesse','fret','conso',(bool)'civil'*/ 
-  @param[in] string     $name        The name, like name in Database +function ogame_arraySubDetail(vitesse=0, fret=0conso=0civil=true)
-  @param[in] array      $user_techno The array of technologies +/** @brief Return fleet moving details of Ogame vso. 
-  @param[in] string|int $classe      The user class //array('none','COL','GEN','EXP'(1=Collectionneur)[0=aucune2=général3=explorateur]+  @param[in] string name The name as in Database, all for all element 
-  @return array('nom','structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil',(array)'cout') of the wanted fleet or defence. +  @return array('vitesse','fret','conso',(bool)'civil')
-      rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from +
-      cout=array of ogame_element_cumulate()=array('M','C','D','NRJ)+
  */  */
-function ogame_elements_details($name, $user_techno null, $classe = 0); +function ogame_fleetSubDetailsBase(name = 'all'); 
-/** +/** @brief Calculates technical data of fleet or defence. 
- *  @brief Calculates technical data of all fleet/defence. +  @return array('nom','vitesse','fret','conso',(bool)'civil') of the wanted fleet.
- *   +
-  @param[in] array      $user_techno The array of technologies +
-  @param[in] string|int $classe The user class //array('none','COL','GEN','EXP') - (1=Collectionneur)[0=aucune, 2=général, 3=explorateur]) +
-  @return array of all fleet/defence with are array of details from ogame_elements_details()+
  */  */
-function ogame_all_details($user_techno = null, $classe = 0);+function ogame_fleetSubDetails(name, user_techno = null, classe = 'none'); 
 +function ogame_fleetConsoStatio(conso, hour); 
 +function ogame_fleetSlowestSpeed(fleet, user_techno=null, classe='none'); 
 +function ogame_fleetDistance(a, b, user_techno=null, classe='none', server_config=null); 
 +function ogame_fleetSend(coord_from, coord_to, fleet, speed_per=100, user_techno=null, classe='none', server_config=null, type='', hour_mission=0);
  
-/** +//////////////////////////// COUT fonctions : /////////////////////////////////
-  @brief Calculates technical data of Ogame requirement. +function ogame_elementCoutBase(name = 'all');
-   +
-  @param[in] string $nom The name, like name in Database +
-  @return array('none','COL','GEN','EXP' bool for class, 'CES',etc. : int for all bat/rech name in database) +
- */ +
-function ogame_elements_requirement($name = 'all'); +
-/** +
-  @brief Calculates technical data of Ogame requirement of all building/research/fleet/defence. +
-   +
-  @return array of all building/research/fleet/defence with are array of requirement from ogame_elements_requirement() +
- *+
-function ogame_all_requirement();+
 </code> </code>