Beispiel #1
0
function ShowBuildingInfoPage($CurrentUser, $CurrentPlanet, $BuildID)
{
    global $dpath, $lang, $resource, $pricelist, $CombatCaps;
    includeLang('infos');
    $GateTPL = '';
    $DestroyTPL = '';
    $TableHeadTPL = '';
    $parse = $lang;
    // Données de base
    $parse['dpath'] = $dpath;
    $parse['name'] = $lang['info'][$BuildID]['name'];
    $parse['image'] = $BuildID;
    $parse['description'] = $lang['info'][$BuildID]['description'];
    if ($BuildID >= 1 && $BuildID <= 3) {
        // Cas des mines
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_p_hour}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_energy}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
    } elseif ($BuildID == 4) {
        // Centrale Solaire
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th></tr>";
    } elseif ($BuildID == 12) {
        // Centrale Fusion
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_deuter}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
    } elseif ($BuildID >= 14 && $BuildID <= 32) {
        // Batiments Generaux
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 33) {
        // Batiments Terraformer
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID == 34) {
        // Dépot d'alliance
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 44) {
        // Silo de missiles
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 41) {
        // Batiments lunaires
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID == 42) {
        // Phalange
        $PageTPL = gettemplate('info_buildings_table');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_range}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_range}</th></tr>";
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 43) {
        // Porte de Saut
        $PageTPL = gettemplate('info_buildings_general');
        $GateTPL = gettemplate('gate_fleet_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID >= 106 && $BuildID <= 199) {
        // Laboratoire
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID >= 202 && $BuildID <= 215) {
        // Flotte
        $PageTPL = gettemplate('info_buildings_fleet');
        $parse['element_typ'] = $lang['tech'][200];
        $parse['rf_info_to'] = ShowRapidFireTo($BuildID);
        // Rapid Fire vers
        $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID);
        // Rapid Fire de
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
        // Points de Structure
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        // Points de Bouclier
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
        // Points d'Attaque
        $parse['capacity_pt'] = pretty_number($pricelist[$BuildID]['capacity']);
        // Capacitée de fret
        $parse['base_speed'] = pretty_number($pricelist[$BuildID]['speed']);
        // Vitesse de base
        $parse['base_conso'] = pretty_number($pricelist[$BuildID]['consumption']);
        // Consommation de base
        if ($BuildID == 202) {
            $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
            // Vitesse rééquipée
            $parse['upd_conso'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['consumption2']) . ")</font>";
            // Consommation apres rééquipement
        } elseif ($BuildID == 211) {
            $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
            // Vitesse rééquipée
        }
    } elseif ($BuildID >= 401 && $BuildID <= 408) {
        // Defenses
        $PageTPL = gettemplate('info_buildings_defense');
        $parse['element_typ'] = $lang['tech'][400];
        $parse['rf_info_to'] = ShowRapidFireTo($BuildID);
        // Rapid Fire vers
        $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID);
        // Rapid Fire de
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
        // Points de Structure
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        // Points de Bouclier
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
        // Points d'Attaque
    } elseif ($BuildID >= 502 && $BuildID <= 503) {
        // Misilles
        $PageTPL = gettemplate('info_buildings_defense');
        $parse['element_typ'] = $lang['tech'][400];
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
        // Points de Structure
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        // Points de Bouclier
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
        // Points d'Attaque
    } elseif ($BuildID >= 601 && $BuildID <= 615) {
        // Officiers
        $PageTPL = gettemplate('info_officiers_general');
    }
    // ---- Tableau d'evolution
    if ($TableHeadTPL != '') {
        $parse['table_head'] = parsetemplate($TableHeadTPL, $lang);
        $parse['table_data'] = ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $TableTPL);
    }
    // La page principale
    $page = parsetemplate($PageTPL, $parse);
    if ($GateTPL != '') {
        if ($CurrentPlanet[$resource[$BuildID]] > 0) {
            $RestString = GetNextJumpWaitTime($CurrentPlanet);
            $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet);
            if ($RestString['value'] != 0) {
                $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true);
                $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>";
                $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false);
            } else {
                $parse['gate_time_script'] = "";
                $parse['gate_wait_time'] = "";
                $parse['gate_script_go'] = "";
            }
            $parse['gate_dest_moons'] = BuildJumpableMoonCombo($CurrentUser, $CurrentPlanet);
            $parse['gate_fleet_rows'] = BuildFleetListRows($CurrentPlanet);
            $page .= parsetemplate($GateTPL, $parse);
        }
    }
    if ($DestroyTPL != '') {
        if ($CurrentPlanet[$resource[$BuildID]] > 0) {
            // ---- Destruction
            $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true);
            $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2;
            $parse['destroyurl'] = "buildings.php?cmd=destroy&building=" . $BuildID;
            // Non balisé les balises sont dans le tpl
            $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]];
            // Niveau du batiment a detruire
            $parse['nfo_metal'] = $lang['Metal'];
            $parse['nfo_crysta'] = $lang['Crystal'];
            $parse['nfo_deuter'] = $lang['Deuterium'];
            $parse['metal'] = pretty_number($NeededRessources['metal']);
            // Cout en metal de la destruction
            $parse['crystal'] = pretty_number($NeededRessources['crystal']);
            // Cout en cristal de la destruction
            $parse['deuterium'] = pretty_number($NeededRessources['deuterium']);
            // Cout en deuterium de la destruction
            $parse['destroytime'] = pretty_time($DestroyTime);
            // Durée de la destruction
            // L'insert de destruction
            $page .= parsetemplate($DestroyTPL, $parse);
        }
    }
    return $page;
}
 public function show()
 {
     global $USER, $PLANET, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid;
     $elementID = HTTP::_GP('id', 0);
     $this->setWindow('popup');
     $this->initTemplate();
     $productionTable = array();
     $FleetInfo = array();
     $MissileList = array();
     $gateData = array();
     $CurrentLevel = 0;
     $ressIDs = array_merge(array(), $reslist['resstype'][1], $reslist['resstype'][2]);
     if (in_array($elementID, $reslist['prod']) && in_array($elementID, $reslist['build'])) {
         /* Data for eval */
         $BuildEnergy = $USER[$resource[113]];
         $BuildTemp = $PLANET['temp_max'];
         $BuildLevelFactor = $PLANET[$resource[$elementID] . '_porcent'];
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildStartLvl = max($CurrentLevel - 2, 0);
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['production'][$ID])) {
                     continue;
                 }
                 $Production = eval(ResourceUpdate::getProd($ProdGrid[$elementID]['production'][$ID]));
                 if (in_array($ID, $reslist['resstype'][2])) {
                     $Production *= Config::get()->energySpeed;
                 } else {
                     $Production *= Config::get()->resource_multiplier;
                 }
                 $productionTable['production'][$BuildLevel][$ID] = $Production;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['production'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['storage'])) {
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildStartLvl = max($CurrentLevel - 2, 0);
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['storage'][$ID])) {
                     continue;
                 }
                 $production = round(eval(ResourceUpdate::getProd($ProdGrid[$elementID]['storage'][$ID])));
                 $production *= Config::get()->resource_multiplier;
                 $production *= STORAGE_FACTOR;
                 $productionTable['storage'][$BuildLevel][$ID] = $production;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['storage'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['fleet'])) {
         $FleetInfo = array('structure' => $pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902], 'tech' => $pricelist[$elementID]['tech'], 'attack' => $CombatCaps[$elementID]['attack'], 'shield' => $CombatCaps[$elementID]['shield'], 'capacity' => $pricelist[$elementID]['capacity'], 'speed1' => $pricelist[$elementID]['speed'], 'speed2' => $pricelist[$elementID]['speed2'], 'consumption1' => $pricelist[$elementID]['consumption'], 'consumption2' => $pricelist[$elementID]['consumption2'], 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     } elseif (in_array($elementID, $reslist['defense'])) {
         $FleetInfo = array('structure' => $pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902], 'attack' => $CombatCaps[$elementID]['attack'], 'shield' => $CombatCaps[$elementID]['shield'], 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     }
     if ($elementID == 43 && $PLANET[$resource[43]] > 0) {
         $this->tplObj->loadscript('gate.js');
         $nextTime = self::getNextJumpWaitTime($PLANET['last_jump_time']);
         $gateData = array('nextTime' => _date($LNG['php_tdformat'], $nextTime, $USER['timezone']), 'restTime' => max(0, $nextTime - TIMESTAMP), 'startLink' => $PLANET['name'] . ' ' . strip_tags(BuildPlanetAdressLink($PLANET)), 'gateList' => $this->getTargetGates(), 'fleetList' => $this->getAvailableFleets());
     } elseif ($elementID == 44 && $PLANET[$resource[44]] > 0) {
         $MissileList = array(502 => $PLANET[$resource[502]], 503 => $PLANET[$resource[503]]);
     }
     $this->assign(array('elementID' => $elementID, 'productionTable' => $productionTable, 'CurrentLevel' => $CurrentLevel, 'MissileList' => $MissileList, 'Bonus' => BuildFunctions::getAvalibleBonus($elementID), 'FleetInfo' => $FleetInfo, 'gateData' => $gateData));
     $this->display('page.information.default.tpl');
 }
 public function __construct($CurrentUser, $CurrentPlanet, $BuildID)
 {
     global $dpath, $lang, $resource, $pricelist, $CombatCaps, $phpEx, $xgp_root;
     $GateTPL = '';
     $DestroyTPL = '';
     $TableHeadTPL = '';
     $parse = $lang;
     $parse['dpath'] = $dpath;
     $parse['name'] = $lang['info'][$BuildID]['name'];
     $parse['image'] = $BuildID;
     $parse['description'] = $lang['info'][$BuildID]['description'];
     if ($BuildID >= 1 && $BuildID <= 3) {
         $PageTPL = gettemplate('infos/info_buildings_table');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
         $TableHeadTPL = "<tr><td class=\"c\">{in_level}</td><td class=\"c\">{in_prod_p_hour}</td><td class=\"c\">{in_difference}</td><td class=\"c\">{in_used_energy}</td><td class=\"c\">{in_difference}</td></tr>";
         $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
     } elseif ($BuildID == 4) {
         $PageTPL = gettemplate('infos/info_buildings_table');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
         $TableHeadTPL = "<tr><td class=\"c\">{in_level}</td><td class=\"c\">{in_prod_energy}</td><td class=\"c\">{in_difference}</td></tr>";
         $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th></tr>";
     } elseif ($BuildID == 12) {
         $PageTPL = gettemplate('infos/info_buildings_table');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
         $TableHeadTPL = "<tr><td class=\"c\">{in_level}</td><td class=\"c\">{in_prod_energy}</td><td class=\"c\">{in_difference}</td><td class=\"c\">{in_used_deuter}</td><td class=\"c\">{in_difference}</td></tr>";
         $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
     } elseif ($BuildID >= 14 && $BuildID <= 32) {
         $PageTPL = gettemplate('infos/info_buildings_general');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
     } elseif ($BuildID == 33) {
         $PageTPL = gettemplate('infos/info_buildings_general');
     } elseif ($BuildID == 34) {
         $PageTPL = gettemplate('infos/info_buildings_general');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
     } elseif ($BuildID == 44) {
         $PageTPL = gettemplate('infos/info_buildings_general');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
     } elseif ($BuildID == 41) {
         $PageTPL = gettemplate('infos/info_buildings_general');
     } elseif ($BuildID == 42) {
         $PageTPL = gettemplate('infos/info_buildings_table');
         $TableHeadTPL = "<tr><td class=\"c\">{in_level}</td><td class=\"c\">{in_range}</td></tr>";
         $TableTPL = "<tr><th>{build_lvl}</th><th>{build_range}</th></tr>";
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
     } elseif ($BuildID == 43) {
         $PageTPL = gettemplate('infos/info_buildings_general');
         $GateTPL = gettemplate('infos/info_gate_table');
         $DestroyTPL = gettemplate('infos/info_buildings_destroy');
         if ($_POST) {
             message($this->DoFleetJump($CurrentUser, $CurrentPlanet), "game.php?page=infos&gid=43", 2);
         }
     } elseif ($BuildID >= 106 && $BuildID <= 199) {
         $PageTPL = gettemplate('infos/info_buildings_general');
     } elseif ($BuildID >= 202 && $BuildID <= 224) {
         $PageTPL = gettemplate('infos/info_buildings_fleet');
         $parse['element_typ'] = $lang['tech'][200];
         $parse['rf_info_to'] = $this->ShowRapidFireTo($BuildID);
         $parse['rf_info_fr'] = $this->ShowRapidFireFrom($BuildID);
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
         $parse['capacity_pt'] = pretty_number($pricelist[$BuildID]['capacity']);
         $parse['base_speed'] = pretty_number($pricelist[$BuildID]['speed']);
         $parse['base_conso'] = pretty_number($pricelist[$BuildID]['consumption']);
         if ($BuildID == 202) {
             $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
             $parse['upd_conso'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['consumption2']) . ")</font>";
         } elseif ($BuildID == 211) {
             $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
         }
     } elseif ($BuildID >= 401 && $BuildID <= 411) {
         $PageTPL = gettemplate('infos/info_buildings_defense');
         $parse['element_typ'] = $lang['tech'][400];
         $parse['rf_info_to'] = $this->ShowRapidFireTo($BuildID);
         $parse['rf_info_fr'] = $this->ShowRapidFireFrom($BuildID);
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID >= 502 && $BuildID <= 503) {
         $PageTPL = gettemplate('infos/info_buildings_defense');
         $parse['element_typ'] = $lang['tech'][400];
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID >= 601 && $BuildID <= 615) {
         $PageTPL = gettemplate('infos/info_officiers_general');
     }
     if ($TableHeadTPL != '') {
         $parse['table_head'] = parsetemplate($TableHeadTPL, $lang);
         $parse['table_data'] = $this->ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $TableTPL);
     }
     $page = parsetemplate($PageTPL, $parse);
     if ($GateTPL != '') {
         if ($CurrentPlanet[$resource[$BuildID]] > 0) {
             $RestString = $this->GetNextJumpWaitTime($CurrentPlanet);
             $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet);
             if ($RestString['value'] != 0) {
                 include $xgp_root . 'includes/functions/InsertJavaScriptChronoApplet.' . $phpEx;
                 $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true);
                 $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>";
                 $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false);
             } else {
                 $parse['gate_time_script'] = "";
                 $parse['gate_wait_time'] = "";
                 $parse['gate_script_go'] = "";
             }
             $parse['gate_dest_moons'] = $this->BuildJumpableMoonCombo($CurrentUser, $CurrentPlanet);
             $parse['gate_fleet_rows'] = $this->BuildFleetListRows($CurrentPlanet);
             $page .= parsetemplate($GateTPL, $parse);
         }
     }
     if ($DestroyTPL != '') {
         if ($CurrentPlanet[$resource[$BuildID]] > 0) {
             $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true);
             $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2;
             $parse['destroyurl'] = "game.php?page=buildings&cmd=destroy&building=" . $BuildID;
             $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]];
             $parse['nfo_metal'] = $lang['Metal'];
             $parse['nfo_crysta'] = $lang['Crystal'];
             $parse['nfo_deuter'] = $lang['Deuterium'];
             $parse['metal'] = pretty_number($NeededRessources['metal']);
             $parse['crystal'] = pretty_number($NeededRessources['crystal']);
             $parse['deuterium'] = pretty_number($NeededRessources['deuterium']);
             $parse['destroytime'] = pretty_time($DestroyTime);
             $page .= parsetemplate($DestroyTPL, $parse);
         }
     }
     return display($page);
 }
 public function __construct()
 {
     global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF, $OfficerInfo;
     $BuildID = request_var('gid', 0);
     $template = new template();
     $template->isPopup(true);
     if (in_array($BuildID, $reslist['prod']) && $BuildID != 212) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentBuildtLvl = $PLANET[$resource[$BuildID]];
         $BuildEnergy = $USER[$resource[113]];
         /*$BuildLevel     	= ($CurrentBuildtLvl > 0) ? $CurrentBuildtLvl : 1;
         		$Prod[1]         	= (floor(eval($ProdGrid[$BuildID]['formule']['metal'])     * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0));
         		$Prod[2]         	= (floor(eval($ProdGrid[$BuildID]['formule']['crystal'])   * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0));
         		$Prod[7]          	= (floor(eval($ProdGrid[$BuildID]['formule']['norio'])     * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0));
         		$Prod[3]          	= (floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[703]] <= 0) ? ($ExtraDM[703]['add']) : 0));
         		$Prod[4] 			= (floor(eval($ProdGrid[$BuildID]['formule']['energy'])    * $CONF['resource_multiplier']) * (1 + (TIMESTAMP - $USER[$resource[704]] <= 0) ? ($ExtraDM[704]['add']) : 0));
         		$Prod[12] 			= (floor(eval($ProdGrid[$BuildID]['formule']['energy'])    * $CONF['resource_multiplier']));*/
         $BuildLevel = max($CurrentBuildtLvl, 1);
         $Prod[1] = round(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']);
         $Prod[2] = round(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']);
         $Prod[7] = round(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']);
         $Prod[3] = round(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']);
         $Prod[4] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
         $Prod[12] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
         $BuildStartLvl = max($CurrentBuildtLvl - 2, 1);
         $ActualProd = floor($Prod[$BuildID]);
         $ActualNeed = $BuildID != 12 ? floor($Prod[4]) : floor($Prod[3]);
         $ProdFirst = 0;
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             /*$Prod[1] 	= floor(eval($ProdGrid[$BuildID]['formule']['metal'])     * $CONF['resource_multiplier']);
             		$Prod[2] 	= floor(eval($ProdGrid[$BuildID]['formule']['crystal'])   * $CONF['resource_multiplier']);
             		$Prod[3] 	= floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']);
             		$Prod[4] 	= floor(eval($ProdGrid[$BuildID]['formule']['energy'])    * $CONF['resource_multiplier']);
             		$Prod[7] 	= floor(eval($ProdGrid[$BuildID]['formule']['norio'])     * $CONF['resource_multiplier']);
             		$Prod[12] 	= floor(eval($ProdGrid[$BuildID]['formule']['energy'])    * $CONF['resource_multiplier']);*/
             $Prod[1] = round(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']);
             $Prod[2] = round(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']);
             $Prod[3] = round(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']);
             $Prod[7] = round(eval($ProdGrid[$BuildID]['formule']['norio']) * $CONF['resource_multiplier']);
             $Prod[4] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
             $Prod[12] = round(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
             $NeesRess = $BuildID != 12 ? floor($Prod[4]) : floor($Prod[3]);
             $prod = pretty_number(floor($Prod[$BuildID]));
             $prod_diff = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd)));
             $need = colorNumber(pretty_number(floor($NeesRess)));
             $need_diff = colorNumber(pretty_number(floor($NeesRess - $ActualNeed)));
             if ($ProdFirst == 0) {
                 $ProdFirst = floor($Prod[$BuildID]);
             }
             $ProductionTable[] = array('BuildLevel' => $BuildLevel, 'prod' => $prod, 'prod_diff' => $prod_diff, 'need' => $need, 'need_diff' => $need_diff);
         }
     } elseif (in_array($BuildID, $reslist['fleet'])) {
         for ($Type = 200; $Type < 500; $Type++) {
             if ($CombatCaps[$BuildID]['sd'][$Type] > 1) {
                 $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type];
             }
             if ($CombatCaps[$Type]['sd'][$BuildID] > 1) {
                 $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID];
             }
         }
         $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal'] + $pricelist[$BuildID]['norio']);
         $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']);
         $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']);
         $FleetInfo[$LNG['in_capacity']] = pretty_number($pricelist[$BuildID]['capacity']);
         $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed']);
         $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption']);
         $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed2']);
         $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption2']);
     } elseif (in_array($BuildID, $reslist['defense'])) {
         for ($Type = 200; $Type < 500; $Type++) {
             if ($CombatCaps[$BuildID]['sd'][$Type] > 1) {
                 $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type];
             }
             if ($CombatCaps[$Type]['sd'][$BuildID] > 1) {
                 $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID];
             }
         }
         $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal'] + $pricelist[$BuildID]['norio']);
         $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']);
         $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID == 43 && $PLANET[$resource[43]] > 0) {
         $template->loadscript('flotten.js');
         $GateFleetList['jump'] = $this->DoFleetJump();
         $RestString = $this->GetNextJumpWaitTime($PLANET);
         if ($RestString['value'] != 0) {
             include_once ROOT_PATH . 'includes/functions/InsertJavaScriptChronoApplet.php';
             $template->assign_vars(array('gate_time_script' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true), 'gate_script_go' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false)));
         }
         $GateFleetList['start_link'] = BuildPlanetAdressLink($PLANET);
         $GateFleetList['moons'] = $this->BuildJumpableMoonCombo($USER, $PLANET);
         $GateFleetList['fleets'] = $this->BuildFleetListRows($PLANET);
     }
     if (in_array($BuildID, $reslist['officier'])) {
         $description = $OfficerInfo[$BuildID]['info'] ? sprintf($LNG['info'][$BuildID]['description'], is_float($OfficerInfo[$BuildID]['info']) ? $OfficerInfo[$BuildID]['info'] * 100 : $OfficerInfo[$BuildID]['info'], $pricelist[$BuildID]['max']) : sprintf($LNG['info'][$BuildID]['description'], $pricelist[$BuildID]['max']);
     } else {
         $description = $LNG['info'][$BuildID]['description'];
     }
     $template->assign_vars(array('id' => $BuildID, 'name' => $LNG['info'][$BuildID]['name'], 'image' => $BuildID, 'description' => $description, 'ProductionTable' => $ProductionTable, 'RapidFire' => $RapidFire, 'Level' => $CurrentBuildtLvl, 'FleetInfo' => $FleetInfo, 'GateFleetList' => $GateFleetList, 'in_jump_gate_jump' => $LNG['in_jump_gate_jump'], 'gate_ship_dispo' => $LNG['in_jump_gate_available'], 'in_level' => $LNG['in_level'], 'in_prod_p_hour' => $LNG['in_prod_p_hour'], 'in_difference' => $LNG['in_difference'], 'in_used_energy' => $LNG['in_used_energy'], 'in_prod_energy' => $LNG['in_prod_energy'], 'in_used_deuter' => $LNG['in_used_deuter'], 'in_rf_again' => $LNG['in_rf_again'], 'in_rf_from' => $LNG['in_rf_from'], 'in_jump_gate_select_ships' => $LNG['in_jump_gate_select_ships'], 'in_jump_gate_start_moon' => $LNG['in_jump_gate_start_moon'], 'in_jump_gate_finish_moon' => $LNG['in_jump_gate_finish_moon'], 'in_jump_gate_wait_time' => $LNG['in_jump_gate_wait_time']));
     $template->show('info_overview.tpl');
 }
Beispiel #5
0
function SpyTarget($TargetPlanet, $Mode, $TitleString)
{
    global $lang, $resource;
    $LookAtLoop = true;
    if ($Mode == 0) {
        $String = "<table width=\"440\"><tr><td class=\"c\" colspan=\"5\">";
        $String .= $TitleString . " " . $TargetPlanet['name'];
        $String .= " <a href=\"galaxy.php?mode=3&galaxy=" . $TargetPlanet["galaxy"] . "&system=" . $TargetPlanet["system"] . "\">";
        $String .= "[" . $TargetPlanet["galaxy"] . ":" . $TargetPlanet["system"] . ":" . $TargetPlanet["planet"] . "]</a>";
        $String .= " le " . date("d-m-Y H:i:s", time()) . "</td>";
        $String .= "</tr><tr>";
        $String .= "<td width=220>" . $lang['Metal'] . "</td><td width=220 align=right>" . pretty_number($TargetPlanet['metal']) . "</td><td>&nbsp;</td>";
        $String .= "<td width=220>" . $lang['Crystal'] . "</td></td><td width=220 align=right>" . pretty_number($TargetPlanet['crystal']) . "</td>";
        $String .= "</tr><tr>";
        $String .= "<td width=220>" . $lang['Deuterium'] . "</td><td width=220 align=right>" . pretty_number($TargetPlanet['deuterium']) . "</td><td>&nbsp;</td>";
        $String .= "<td width=220>" . $lang['Energy'] . "</td><td width=220 align=right>" . pretty_number($TargetPlanet['energy_max']) . "</td>";
        $String .= "</tr>";
        $LookAtLoop = false;
    } elseif ($Mode == 1) {
        $ResFrom[0] = 200;
        $ResTo[0] = 299;
        $Loops = 1;
    } elseif ($Mode == 2) {
        $ResFrom[0] = 400;
        $ResTo[0] = 499;
        $ResFrom[1] = 500;
        $ResTo[1] = 599;
        $Loops = 2;
    } elseif ($Mode == 3) {
        $ResFrom[0] = 1;
        $ResTo[0] = 99;
        $Loops = 1;
    } elseif ($Mode == 4) {
        $ResFrom[0] = 100;
        $ResTo[0] = 199;
        $Loops = 1;
    } elseif ($Mode == 5) {
        $stayfleets = doquery("SELECT * FROM {{table}} WHERE fleet_end_galaxy = {$TargetPlanet["galaxy"]} AND fleet_end_system = {$TargetPlanet["system"]} AND fleet_end_planet = {$TargetPlanet["planet"]};", 'fleets');
        $String = "<table width=\"440\" cellspacing=\"1\"><tr><td class=\"c\" colspan=\"" . (2 * SPY_REPORT_ROW + (SPY_REPORT_ROW - 1)) . "\">" . $TitleString . "</td></tr>";
        while ($stayfleet = mysql_fetch_array($stayfleets)) {
            $String .= "<tr><td><u>" . $lang['sys_spy_stayfleetsdetected'] . BuildPlanetAdressLink($TargetPlanet) . "</u></td></tr>";
            $todoarray = explode(";", $stayfleet['fleet_array']);
            $row = 0;
            for ($QElement = 0; $QElement < count($todoarray); $QElement++) {
                $onetype = explode(",", $todoarray[$QElement]);
                $name = $onetype[0];
                $num = $onetype[1];
                if ($row == 0) {
                    $String .= "<tr>";
                }
                $String .= "<td align=left>" . $lang['tech'][$name] . "</td><td align=right>" . $num . "</td>";
                if ($row < SPY_REPORT_ROW - 1) {
                    $String .= "<td>&nbsp;</td>";
                }
                $row++;
                if ($row == SPY_REPORT_ROW) {
                    $String .= "</tr>";
                    $row = 0;
                }
            }
        }
        $LookAtLoop = false;
    }
    if ($LookAtLoop == true) {
        $String = "<table width=\"440\" cellspacing=\"1\"><tr><td class=\"c\" colspan=\"" . (2 * SPY_REPORT_ROW + (SPY_REPORT_ROW - 1)) . "\">" . $TitleString . "</td></tr>";
        $Count = 0;
        $CurrentLook = 0;
        while ($CurrentLook < $Loops) {
            $row = 0;
            for ($Item = $ResFrom[$CurrentLook]; $Item <= $ResTo[$CurrentLook]; $Item++) {
                if ($TargetPlanet[$resource[$Item]] > 0) {
                    if ($row == 0) {
                        $String .= "<tr>";
                    }
                    $String .= "<td align=left>" . $lang['tech'][$Item] . "</td><td align=right>" . $TargetPlanet[$resource[$Item]] . "</td>";
                    if ($row < SPY_REPORT_ROW - 1) {
                        $String .= "<td>&nbsp;</td>";
                    }
                    $Count += $TargetPlanet[$resource[$Item]];
                    $row++;
                    if ($row == SPY_REPORT_ROW) {
                        $String .= "</tr>";
                        $row = 0;
                    }
                }
            }
            while ($row != 0) {
                $String .= "<td>&nbsp;</td><td>&nbsp;</td>";
                $row++;
                if ($row == SPY_REPORT_ROW) {
                    $String .= "</tr>";
                    $row = 0;
                }
            }
            $CurrentLook++;
        }
        // while
    }
    $String .= "</table>";
    $return['String'] = $String;
    $return['Count'] = $Count;
    return $return;
}
 public function show()
 {
     global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF;
     $elementID = HTTP::_GP('id', 0);
     $AllTech = array();
     $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $elementID . " ;");
     if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) {
         while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) {
             $AllTech[] = $x;
         }
     }
     $productionTable = array();
     $FleetInfo = array();
     $MissileList = array();
     $gateData = array();
     $CurrentLevel = 0;
     $ressIDs = array_merge(array(), $reslist['resstype'][1], $reslist['resstype'][2], $reslist['resstype'][4]);
     if (in_array($elementID, $reslist['prod']) && in_array($elementID, $reslist['build'])) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildEnergy = $USER[$resource[113]];
         $BuildLevel = max($CurrentLevel, 0);
         $BuildStartLvl = max($CurrentLevel - 0, 0);
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 8; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['production'][$ID])) {
                     continue;
                 }
                 $Production = eval(ResourceUpdate::getProd($ProdGrid[$elementID]['production'][$ID]));
                 if ($ID < 905) {
                     $Production *= Config::get('resource_multiplier');
                 }
                 $productionTable['production'][$BuildLevel][$ID] = $Production;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['production'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['storage'])) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildEnergy = $USER[$resource[113]];
         $BuildLevel = max($CurrentLevel, 0);
         $BuildStartLvl = max($CurrentLevel - 0, 0);
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 8; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['storage'][$ID])) {
                     continue;
                 }
                 $productionTable['storage'][$BuildLevel][$ID] = round(eval(ResourceUpdate::getProd($ProdGrid[$elementID]['storage'][$ID]))) * Config::get('resource_multiplier') * STORAGE_FACTOR;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['storage'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['fleet'])) {
         $MaxSpeed = 15000;
         $FleetInfo = array('structure' => ($pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902]) / 10, 'structureTech' => ($pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902]) / 10 * (1 + 0.1 * $USER['shield_tech'] + $USER['factor']['Shield']), 'tech' => $pricelist[$elementID]['tech'], 'attack' => $CombatCaps[$elementID]['attack'], 'attackTech' => $CombatCaps[$elementID]['attack'] * (1 + 0.1 * $USER['military_tech'] + $USER['factor']['Attack']) * (rand(80, 120) / 100), 'shield' => $CombatCaps[$elementID]['shield'], 'shieldTech' => $CombatCaps[$elementID]['shield'] * (1 + 0.1 * $USER['defence_tech'] + $USER['factor']['Defensive']), 'capacity' => $pricelist[$elementID]['capacity'], 'speed1' => 100 / 15000 * $pricelist[$elementID]['speed'], 'speed2' => $pricelist[$elementID]['speed2'], 'consumption1' => $pricelist[$elementID]['consumption'], 'consumption2' => $pricelist[$elementID]['consumption2'], 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     } elseif (in_array($elementID, $reslist['defense'])) {
         $FleetInfo = array('structure' => ($pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902]) / 10, 'structureTech' => ($pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902]) / 10 * (1 + 0.1 * $USER['shield_tech'] + $USER['factor']['Shield']), 'attack' => $CombatCaps[$elementID]['attack'], 'attackTech' => $CombatCaps[$elementID]['attack'] * (1 + 0.1 * $USER['military_tech'] + $USER['factor']['Attack']) * (rand(80, 120) / 100), 'shield' => $CombatCaps[$elementID]['shield'], 'shieldTech' => $CombatCaps[$elementID]['shield'] * (1 + 0.1 * $USER['defence_tech'] + $USER['factor']['Defensive']), 'capacity' => 0, 'speed1' => 0, 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     }
     if ($elementID == 43 && $PLANET[$resource[43]] > 0) {
         $this->tplObj->loadscript('gate.js');
         $nextTime = self::getNextJumpWaitTime($PLANET['last_jump_time']);
         $gateData = array('nextTime' => _date($LNG['php_tdformat'], $nextTime, $USER['timezone']), 'restTime' => max(0, $nextTime - TIMESTAMP), 'startLink' => $PLANET['name'] . ' ' . strip_tags(BuildPlanetAdressLink($PLANET)), 'gateList' => $this->getTargetGates(), 'fleetList' => $this->getAvalibleFleets());
     } elseif ($elementID == 44 && $PLANET[$resource[44]] > 0) {
         $MissileList = array(502 => $PLANET[$resource[502]], 503 => $PLANET[$resource[503]]);
     }
     $number = 1;
     $elementBonus = '';
     if ($LNG['gameeffect'][$elementID] != '') {
         $elementBonus = BuildFunctions::getAvalibleEffect($elementID);
     }
     if (!$elementBonus) {
         $number = 0;
     }
     $this->tplObj->assign_vars(array('planetinfo1' => $PLANET['metal_mine'], 'planetinfo2' => $PLANET['crystal_mine'], 'planetinfo3' => $PLANET['deuterium_sintetizer'], 'planetinfo4' => $PLANET['solar_plant'], 'planetinfo5' => $PLANET['headquarters_antaris'], 'planetinfo14' => $PLANET['robot_factory'], 'planetinfo21' => $PLANET['hangar'], 'planetinfo31' => $PLANET['laboratory'], 'planetinfo45' => $PLANET['barracks'], 'planetinfo46' => $PLANET['defense_base'], 'planetinfo48' => $PLANET['elyrium_mine'], 'planetinfo106' => $USER['spy_tech'], 'planetinfo109' => $USER['military_tech'], 'planetinfo110' => $USER['defence_tech'], 'planetinfo111' => $USER['shield_tech'], 'planetinfo113' => $USER['energy_tech'], 'planetinfo115' => $USER['combustion_tech'], 'planetinfo117' => $USER['impulse_motor_tech'], 'planetinfo118' => $USER['hyperspace_motor_tech'], 'planetinfo140' => $USER['extraction_tech'], 'planetinfo141' => $USER['control_room_tech'], 'planetinfo142' => $USER['subspace_tech'], 'planetinfo143' => $USER['particle_tech'], 'planetinfo144' => $USER['antaris_tech'], 'planetinfo145' => $USER['infrastructure_tech'], 'planetinfo146' => $USER['virus_tech'], 'number' => $number, 'elementBonus' => $elementBonus, 'elementID' => $elementID, 'productionTable' => $productionTable, 'CurrentLevel' => $CurrentLevel, 'MissileList' => $MissileList, 'Bonus' => BuildFunctions::getAvalibleBonus($elementID), 'FleetInfo' => $FleetInfo, 'gateData' => $gateData, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $elementID)));
     $this->display('page.infomation.default.tpl');
 }
 public function __construct()
 {
     global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF;
     $BuildID = request_var('gid', 0);
     $template = new template();
     $template->page_header();
     $template->page_footer();
     if (in_array($BuildID, $reslist['prod']) && $BuildID != 212) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentBuildtLvl = $PLANET[$resource[$BuildID]];
         $BuildEnergy = $USER[$resource[113]];
         $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
         $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE);
         $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE);
         $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_geologue'] * GEOLOGUE);
         $BuildStartLvl = max($CurrentBuildtLvl - 2, 1);
         if ($BuildID >= 4) {
             $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']) * (1 + $USER['rpg_ingenieur'] * INGENIEUR);
         } else {
             $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
         }
         $ActualProd = floor($Prod[$BuildID]);
         if ($BuildID != 12) {
             $ActualNeed = floor($Prod[4]);
         } else {
             $ActualNeed = floor($Prod[3]);
         }
         $ProdFirst = 0;
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $CONF['resource_multiplier']);
             $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $CONF['resource_multiplier']);
             $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $CONF['resource_multiplier']);
             if ($BuildID >= 4) {
                 $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
             } else {
                 $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $CONF['resource_multiplier']);
             }
             $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
             if ($BuildID != 12) {
                 $prod = pretty_number(floor($Prod[$BuildID]));
                 $prod_diff = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd)));
                 $need = colorNumber(pretty_number(floor($Prod[4])));
                 $need_diff = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed)));
             } else {
                 $prod = pretty_number(floor($Prod[4]));
                 $prod_diff = colorNumber(pretty_number(floor($Prod[4] - $ActualProd)));
                 $need = colorNumber(pretty_number(floor($Prod[3])));
                 $need_diff = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed)));
             }
             if ($ProdFirst == 0) {
                 if ($BuildID != 12) {
                     $ProdFirst = floor($Prod[$BuildID]);
                 } else {
                     $ProdFirst = floor($Prod[4]);
                 }
             }
             $ProductionTable[] = array('BuildLevel' => $BuildLevel, 'prod' => $prod, 'prod_diff' => $prod_diff, 'need' => $need, 'need_diff' => $need_diff);
         }
     } elseif (in_array($BuildID, $reslist['fleet'])) {
         for ($Type = 200; $Type < 500; $Type++) {
             if ($CombatCaps[$BuildID]['sd'][$Type] > 1) {
                 $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type];
             }
             if ($CombatCaps[$Type]['sd'][$BuildID] > 1) {
                 $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID];
             }
         }
         $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']);
         $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']);
         $FleetInfo[$LNG['in_capacity']] = pretty_number($pricelist[$BuildID]['capacity']);
         $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed']);
         $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption']);
         $FleetInfo[$LNG['in_base_speed']][] = pretty_number($pricelist[$BuildID]['speed2']);
         $FleetInfo[$LNG['in_consumption']][] = pretty_number($pricelist[$BuildID]['consumption2']);
     } elseif (in_array($BuildID, $reslist['defense'])) {
         for ($Type = 200; $Type < 500; $Type++) {
             if ($CombatCaps[$BuildID]['sd'][$Type] > 1) {
                 $RapidFire['to'][$LNG['tech'][$Type]] = $CombatCaps[$BuildID]['sd'][$Type];
             }
             if ($CombatCaps[$Type]['sd'][$BuildID] > 1) {
                 $RapidFire['from'][$LNG['tech'][$Type]] = $CombatCaps[$Type]['sd'][$BuildID];
             }
         }
         $FleetInfo[$LNG['in_struct_pt']] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $FleetInfo[$LNG['in_shield_pt']] = pretty_number($CombatCaps[$BuildID]['shield']);
         $FleetInfo[$LNG['in_attack_pt']] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID == 43 && $PLANET[$resource[43]] > 0) {
         $GateFleetList['jump'] = $this->DoFleetJump();
         $RestString = $this->GetNextJumpWaitTime($PLANET);
         if ($RestString['value'] != 0) {
             include_once ROOT_PATH . 'includes/functions/InsertJavaScriptChronoApplet.' . PHP_EXT;
             $template->assign_vars(array('gate_time_script' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true), 'gate_script_go' => InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false)));
         }
         $GateFleetList['start_link'] = BuildPlanetAdressLink($PLANET);
         $GateFleetList['moons'] = $this->BuildJumpableMoonCombo($USER, $PLANET);
         $GateFleetList['fleets'] = $this->BuildFleetListRows($PLANET);
     }
     $template->assign_vars(array('id' => $BuildID, 'name' => $LNG['info'][$BuildID]['name'], 'image' => $BuildID, 'description' => $LNG['info'][$BuildID]['description'], 'ProductionTable' => $ProductionTable, 'RapidFire' => $RapidFire, 'Level' => $CurrentBuildtLvl, 'FleetInfo' => $FleetInfo, 'GateFleetList' => $GateFleetList, 'in_jump_gate_jump' => $LNG['in_jump_gate_jump'], 'gate_ship_dispo' => $LNG['in_jump_gate_available'], 'in_level' => $LNG['in_level'], 'in_prod_p_hour' => $LNG['in_prod_p_hour'], 'in_difference' => $LNG['in_difference'], 'in_used_energy' => $LNG['in_used_energy'], 'in_prod_energy' => $LNG['in_prod_energy'], 'in_used_deuter' => $LNG['in_used_deuter'], 'in_rf_again' => $LNG['in_rf_again'], 'in_rf_from' => $LNG['in_rf_from'], 'in_jump_gate_select_ships' => $LNG['in_jump_gate_select_ships'], 'in_jump_gate_start_moon' => $LNG['in_jump_gate_start_moon'], 'in_jump_gate_finish_moon' => $LNG['in_jump_gate_finish_moon'], 'in_jump_gate_wait_time' => $LNG['in_jump_gate_wait_time']));
     $template->show('info_overview.tpl');
 }
Beispiel #8
0
function ShowBuildingInfoPage($CurrentUser, $CurrentPlanet, $BuildID)
{
    global $dpath, $lang, $resource, $pricelist, $CombatCaps;
    includeLang('infos');
    $GateTPL = '';
    $DestroyTPL = '';
    $TableHeadTPL = '';
    $parse = $lang;
    $parse['dpath'] = $dpath;
    $parse['name'] = $lang['info'][$BuildID]['name'];
    $parse['image'] = $BuildID;
    $parse['description'] = $lang['info'][$BuildID]['description'];
    if ($BuildID >= 1 && $BuildID <= 4) {
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_p_hour}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_energy}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
    } elseif ($BuildID == 5) {
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th></tr>";
    } elseif ($BuildID == 12) {
        $PageTPL = gettemplate('info_buildings_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_prod_energy}</td><td class=\"c\">{nfo_difference}</td><td class=\"c\">{nfo_used_deuter}</td><td class=\"c\">{nfo_difference}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_prod} {build_gain}</th><th>{build_prod_diff}</th><th>{build_need}</th><th>{build_need_diff}</th></tr>";
    } elseif ($BuildID >= 14 && $BuildID <= 32) {
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 33) {
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID == 34) {
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 35) {
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 44) {
        $PageTPL = gettemplate('info_buildings_general');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 41) {
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID == 42) {
        $PageTPL = gettemplate('info_buildings_table');
        $TableHeadTPL = "<tr><td class=\"c\">{nfo_level}</td><td class=\"c\">{nfo_range}</td></tr>";
        $TableTPL = "<tr><th>{build_lvl}</th><th>{build_range}</th></tr>";
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID == 43) {
        $PageTPL = gettemplate('info_buildings_general');
        $GateTPL = gettemplate('gate_fleet_table');
        $DestroyTPL = gettemplate('info_buildings_destroy');
    } elseif ($BuildID >= 106 && $BuildID <= 200) {
        $PageTPL = gettemplate('info_buildings_general');
    } elseif ($BuildID >= 202 && $BuildID <= 250) {
        $PageTPL = gettemplate('info_buildings_fleet');
        $parse['element_typ'] = $lang['tech'][201];
        $parse['rf_info_to'] = ShowRapidFireTo($BuildID);
        // Rapid Fire vers
        $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID);
        // Rapid Fire de
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['mass']);
        // Points de Structure
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        // Points de Bouclier
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
        // Points d'Attaque
        $parse['capacity_pt'] = pretty_number($pricelist[$BuildID]['capacity']);
        // Capacitée de fret
        $parse['base_speed'] = pretty_number($pricelist[$BuildID]['speed']);
        // Vitesse de base
        $parse['base_conso'] = pretty_number($pricelist[$BuildID]['consumption']);
        // Consommation de base
        if ($BuildID == 202) {
            $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
            $parse['upd_conso'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['consumption2']) . ")</font>";
        } elseif ($BuildID == 211) {
            $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
        }
    } elseif ($BuildID >= 401 && $BuildID <= 410) {
        $PageTPL = gettemplate('info_buildings_defense');
        $parse['element_typ'] = $lang['tech'][400];
        $parse['rf_info_to'] = ShowRapidFireTo($BuildID);
        $parse['rf_info_fr'] = ShowRapidFireFrom($BuildID);
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['mass']);
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
    } elseif ($BuildID >= 502 && $BuildID <= 503) {
        $PageTPL = gettemplate('info_buildings_defense');
        $parse['element_typ'] = $lang['tech'][400];
        $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['mass']);
        $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
        $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
    } elseif ($BuildID >= 601 && $BuildID <= 619 || $Tech > 601) {
        $PageTPL = gettemplate('info_officiers_general');
    }
    if ($TableHeadTPL != '') {
        $parse['table_head'] = parsetemplate($TableHeadTPL, $lang);
        $parse['table_data'] = ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $TableTPL);
    }
    $page = parsetemplate($PageTPL, $parse);
    if ($GateTPL != '') {
        if ($CurrentPlanet[$resource[$BuildID]] > 0) {
            $RestString = GetNextJumpWaitTime($CurrentPlanet);
            $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet);
            if ($RestString['value'] != 0) {
                $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true);
                $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>";
                $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false);
            } else {
                $parse['gate_time_script'] = "";
                $parse['gate_wait_time'] = "";
                $parse['gate_script_go'] = "";
            }
            $parse['gate_dest_moons'] = BuildJumpableMoonCombo($CurrentUser, $CurrentPlanet);
            $parse['gate_fleet_rows'] = BuildFleetListRows($CurrentPlanet);
            $page .= parsetemplate($GateTPL, $parse);
        }
    }
    if ($DestroyTPL != '') {
        if ($CurrentPlanet[$resource[$BuildID]] > 0) {
            $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true);
            $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2;
            $parse['destroyurl'] = "buildings.php?cmd=destroy&building=" . $BuildID;
            $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]];
            $parse['nfo_metal'] = $lang['Metal'];
            $parse['nfo_crysta'] = $lang['Crystal'];
            $parse['nfo_deuter'] = $lang['Deuterium'];
            $parse['nfo_tachyon'] = $lang['Tachyon'];
            $parse['metal'] = pretty_number($NeededRessources['metal']);
            $parse['crystal'] = pretty_number($NeededRessources['crystal']);
            $parse['deuterium'] = pretty_number($NeededRessources['deuterium']);
            $parse['tachyon'] = pretty_number($NeededRessources['tachyon']);
            $parse['destroytime'] = pretty_time($DestroyTime);
            $page .= parsetemplate($DestroyTPL, $parse);
        }
    }
    return $page;
}
 public function show()
 {
     global $USER, $PLANET, $dpath, $LNG, $resource, $pricelist, $reslist, $CombatCaps, $ProdGrid, $CONF;
     $elementID = HTTP::_GP('id', 0);
     $this->setWindow('popup');
     $this->initTemplate();
     $productionTable = array();
     $FleetInfo = array();
     $MissileList = array();
     $gateData = array();
     $CurrentLevel = 0;
     $ressIDs = array_merge(array(), $reslist['resstype'][1], $reslist['resstype'][2], $reslist['resstype'][3]);
     if (in_array($elementID, $reslist['prod']) && in_array($elementID, $reslist['build'])) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildEnergy = $USER[$resource[113]];
         $BuildLevel = max($CurrentLevel, 0);
         $BuildStartLvl = max($CurrentLevel - 2, 0);
         $premium_resource = 0;
         $peacefull_resource = 0;
         if ($USER['premium_reward_extraction'] > 0 && $USER['premium_reward_extraction_days'] > TIMESTAMP) {
             $premium_resource = $USER['premium_reward_extraction'];
         }
         $premium_resource = $premium_resource;
         if ($USER['experience_peace_level'] > 0) {
             $peacefull_resource = $USER['experience_peace_level'];
         }
         $peacefull_resource = $peacefull_resource;
         $academy_mines = 0;
         if ($USER['academy_1201'] > 0) {
             $academy_mines = getbonusOneBis(1201, $USER['academy_1201']);
         }
         $academy_mines = $academy_mines;
         $daily_prod_bonus = 0;
         if ($USER['daily_produ'] > TIMESTAMP) {
             $daily_prod_bonus = 30;
         }
         $daily_prod_bonus = $daily_prod_bonus;
         $academy_energy = 0;
         if ($USER['academy_1202'] > 0) {
             $academy_energy = getbonusOneBis(1202, $USER['academy_1202']);
         }
         $academy_energy = $academy_energy;
         $academy_fusion = 0;
         if ($USER['academy_1209'] > 0) {
             $academy_fusion = getbonusOneBis(1209, $USER['academy_1209']);
         }
         $academy_fusion = $academy_fusion;
         $academy_solar = 0;
         if ($USER['academy_1210'] > 0) {
             $academy_solar = getbonusOneBis(1210, $USER['academy_1210']);
         }
         $academy_solar = $academy_solar;
         $combat_collider = 0;
         if ($USER['combat_reward_collider'] > 0) {
             $combat_collider = $USER['combat_reward_collider'];
         }
         $combat_collider = $combat_collider;
         $allyInfo = $GLOBALS['DATABASE']->query("SELECT alliance_prod FROM `uni1_alliance` WHERE id = " . $USER['ally_id'] . ";");
         $allyInfo = $GLOBALS['DATABASE']->fetch_array($allyInfo);
         $alliance_prod = 0;
         if ($allyInfo['alliance_prod'] > 0) {
             $alliance_prod = $allyInfo['alliance_prod'];
         }
         $alliance_prod = $alliance_prod;
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['production'][$ID])) {
                     continue;
                 }
                 $Production = eval(ResourceUpdate::getProd($ProdGrid[$elementID]['production'][$ID]));
                 if ($ID != 911 && $ID != 921) {
                     $Production *= Config::get('resource_multiplier');
                 }
                 $productionTable['production'][$BuildLevel][$ID] = $Production;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['production'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['storage'])) {
         $BuildLevelFactor = 10;
         $BuildTemp = $PLANET['temp_max'];
         $CurrentLevel = $PLANET[$resource[$elementID]];
         $BuildEnergy = $USER[$resource[113]];
         $BuildLevel = max($CurrentLevel, 0);
         $BuildStartLvl = max($CurrentLevel - 2, 0);
         $premium_storage = 1;
         if ($USER['premium_reward_storing'] > 0 && $USER['premium_reward_storing_days'] > TIMESTAMP) {
             $premium_storage = $USER['premium_reward_storing'];
         }
         $premium_storage = $premium_storage;
         $academy_storage = 0;
         if ($USER['academy_1204'] > 0) {
             $academy_storage = getbonusOneBis(1204, $USER['academy_1204']);
         }
         $academy_storage = $academy_storage;
         for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
             foreach ($ressIDs as $ID) {
                 if (!isset($ProdGrid[$elementID]['storage'][$ID])) {
                     continue;
                 }
                 $productionTable['storage'][$BuildLevel][$ID] = round(eval(ResourceUpdate::getProd($ProdGrid[$elementID]['storage'][$ID]))) * Config::get('resource_multiplier') * STORAGE_FACTOR;
             }
         }
         $productionTable['usedResource'] = array_keys($productionTable['storage'][$BuildStartLvl]);
     } elseif (in_array($elementID, $reslist['fleet'])) {
         $FleetInfo = array('structure' => $pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902], 'tech' => $pricelist[$elementID]['tech'], 'attack' => $CombatCaps[$elementID]['attack'], 'shield' => $CombatCaps[$elementID]['shield'], 'capacity' => $pricelist[$elementID]['capacity'], 'speed1' => $pricelist[$elementID]['speed'], 'speed2' => $pricelist[$elementID]['speed2'], 'consumption1' => $pricelist[$elementID]['consumption'], 'consumption2' => $pricelist[$elementID]['consumption2'], 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     } elseif (in_array($elementID, $reslist['defense'])) {
         $FleetInfo = array('structure' => $pricelist[$elementID]['cost'][901] + $pricelist[$elementID]['cost'][902], 'attack' => $CombatCaps[$elementID]['attack'], 'shield' => $CombatCaps[$elementID]['shield'], 'rapidfire' => array('from' => array(), 'to' => array()));
         $fleetIDs = array_merge($reslist['fleet'], $reslist['defense']);
         foreach ($fleetIDs as $fleetID) {
             if (isset($CombatCaps[$elementID]['sd']) && !empty($CombatCaps[$elementID]['sd'][$fleetID])) {
                 $FleetInfo['rapidfire']['to'][$fleetID] = $CombatCaps[$elementID]['sd'][$fleetID];
             }
             if (isset($CombatCaps[$fleetID]['sd']) && !empty($CombatCaps[$fleetID]['sd'][$elementID])) {
                 $FleetInfo['rapidfire']['from'][$fleetID] = $CombatCaps[$fleetID]['sd'][$elementID];
             }
         }
     }
     if ($elementID == 43 && $PLANET[$resource[43]] > 0) {
         $this->tplObj->loadscript('gate.js');
         $nextTime = self::getNextJumpWaitTime($PLANET['last_jump_time'], $PLANET['sprungtor']);
         $gateData = array('nextTime' => _date($LNG['php_tdformat'], $nextTime, $USER['timezone']), 'restTime' => max(0, $nextTime - TIMESTAMP), 'startLink' => $PLANET['name'] . ' ' . strip_tags(BuildPlanetAdressLink($PLANET)), 'gateList' => $this->getTargetGates(), 'fleetList' => $this->getAvalibleFleets());
     } elseif ($elementID == 44 && $PLANET[$resource[44]] > 0) {
         $MissileList = array(502 => $PLANET[$resource[502]], 503 => $PLANET[$resource[503]]);
     }
     $this->tplObj->assign_vars(array('elementID' => $elementID, 'productionTable' => $productionTable, 'CurrentLevel' => $CurrentLevel, 'MissileList' => $MissileList, 'Bonus' => BuildFunctions::getAvalibleBonus($elementID), 'FleetInfo' => $FleetInfo, 'gateData' => $gateData));
     $this->display('page.infomation.default.tpl');
 }
Beispiel #10
0
 public function ShowInfosPage($CurrentUser, $CurrentPlanet, $BuildID)
 {
     global $dpath, $lang, $resource, $pricelist, $CombatCaps, $phpEx, $db, $svn_root, $displays;
     $displays->assignContent("infos/info");
     $GateTPL = '';
     $DestroyTPL = '';
     $TableHeadTPL = '';
     $parse['dpath'] = $dpath;
     $parse['name'] = $lang['info'][$BuildID]['name'];
     $parse['image'] = $BuildID;
     $parse['description'] = $lang['info'][$BuildID]['description'];
     if ($BuildID >= 1 && $BuildID <= 3) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
         $TableHeadTPL = TRUE;
     } elseif ($BuildID == 4) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
         $TableHeadTPL = TRUE;
     } elseif ($BuildID == 12) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
         $TableHeadTPL = TRUE;
     } elseif ($BuildID >= 14 && $BuildID <= 32) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
     } elseif ($BuildID == 33) {
         $PageTPL = 'info_buildings';
     } elseif ($BuildID == 34) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
     } elseif ($BuildID == 44) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
     } elseif ($BuildID == 41) {
         $PageTPL = 'info_buildings';
     } elseif ($BuildID == 42) {
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
         $TableHeadTPL = TRUE;
     } elseif ($BuildID == 43) {
         $GateTPL = 'info_gate_table';
         $PageTPL = 'info_buildings';
         $DestroyTPL = 'info_buildings_destroy';
     } elseif ($BuildID >= 106 && $BuildID <= 199) {
         $PageTPL = 'info_buildings';
     } elseif ($BuildID >= 202 && $BuildID <= 224) {
         $PageTPL = 'info_fleet';
         $parse['element_typ'] = $lang['tech'][200];
         $parse['rf_info_to'] = $this->ShowRapidFireTo($BuildID);
         $parse['rf_info_fr'] = $this->ShowRapidFireFrom($BuildID);
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
         $parse['capacity_pt'] = pretty_number($pricelist[$BuildID]['capacity']);
         $parse['base_speed'] = pretty_number($pricelist[$BuildID]['speed']);
         $parse['base_conso'] = pretty_number($pricelist[$BuildID]['consumption']);
         if ($BuildID == 202) {
             $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
             $parse['upd_conso'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['consumption2']) . ")</font>";
         } elseif ($BuildID == 211) {
             $parse['upd_speed'] = "<font color=\"yellow\">(" . pretty_number($pricelist[$BuildID]['speed2']) . ")</font>";
         }
     } elseif ($BuildID >= 401 && $BuildID <= 411) {
         $PageTPL = 'info_fleet';
         $parse['element_typ'] = $lang['tech'][400];
         $parse['rf_info_to'] = $this->ShowRapidFireTo($BuildID);
         $parse['rf_info_fr'] = $this->ShowRapidFireFrom($BuildID);
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID >= 502 && $BuildID <= 503) {
         $PageTPL = 'info_fleet';
         $parse['element_typ'] = $lang['tech'][400];
         $parse['hull_pt'] = pretty_number($pricelist[$BuildID]['metal'] + $pricelist[$BuildID]['crystal']);
         $parse['shield_pt'] = pretty_number($CombatCaps[$BuildID]['shield']);
         $parse['attack_pt'] = pretty_number($CombatCaps[$BuildID]['attack']);
     } elseif ($BuildID >= 601 && $BuildID <= 615) {
         $PageTPL = 'info_oficial';
     }
     $displays->newblock($PageTPL);
     foreach ($parse as $key => $value) {
         $displays->assign($key, $value);
     }
     if ($TableHeadTPL) {
         $this->ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID);
     }
     if ($GateTPL != '') {
         if ($CurrentPlanet[$resource[$BuildID]] > 0) {
             $displays->newblock($GateTPL);
             $RestString = $this->GetNextJumpWaitTime($CurrentPlanet);
             $parse['gate_start_link'] = BuildPlanetAdressLink($CurrentPlanet);
             if ($RestString['value'] != 0) {
                 include $svn_root . 'includes/functions/InsertJavaScriptChronoApplet.' . $phpEx;
                 $parse['gate_time_script'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], true);
                 $parse['gate_wait_time'] = "<div id=\"bxx" . "Gate" . "1" . "\"></div>";
                 $parse['gate_script_go'] = InsertJavaScriptChronoApplet("Gate", "1", $RestString['value'], false);
             } else {
                 $parse['gate_time_script'] = "";
                 $parse['gate_wait_time'] = "";
                 $parse['gate_script_go'] = "";
             }
             foreach ($parse as $key => $value) {
                 $displays->assign($key, $value);
             }
             $parse['gate_dest_moons'] = $this->BuildJumpableMoonCombo($CurrentUser, $CurrentPlanet);
             $this->BuildFleetListRows($CurrentPlanet);
         }
     }
     if ($DestroyTPL != '') {
         if ($CurrentPlanet[$resource[$BuildID]] > 0) {
             $displays->newblock($DestroyTPL);
             $NeededRessources = GetBuildingPrice($CurrentUser, $CurrentPlanet, $BuildID, true, true);
             $DestroyTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $BuildID) / 2;
             $parse['destroyurl'] = "game.php?page=buildings&cmd=destroy&building=" . $BuildID;
             $parse['levelvalue'] = $CurrentPlanet[$resource[$BuildID]];
             $parse['nfo_metal'] = $lang['Metal'];
             $parse['nfo_crysta'] = $lang['Crystal'];
             $parse['nfo_deuter'] = $lang['Deuterium'];
             $parse['metals'] = pretty_number($NeededRessources['metal']);
             $parse['crystals'] = pretty_number($NeededRessources['crystal']);
             $parse['deuteriums'] = pretty_number($NeededRessources['deuterium']);
             $parse['destroytime'] = pretty_time($DestroyTime);
             foreach ($parse as $key => $value) {
                 $displays->assign($key, $value);
             }
         }
     }
     $displays->display();
 }