Example #1
0
/**
 * ShowTopNavigationBar.php
 *
 * @version 1
 * @copyright 2008 By Chlorel for XNova
 */
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $_GET, $game_config;
    if ($CurrentUser) {
        if (!$CurrentPlanet) {
            $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true);
        }
        // Actualisation des ressources de la planete
        if ($CurrentUser['urlaubs_modus'] == 0) {
            PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
        } else {
            //doquery ( "UPDATE {{table}} SET `last_update` = ".time()." WHERE id_owner = ".$CurrentUser['id'],"planets");
            doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets");
        }
        $NavigationTPL = gettemplate('topnav');
        $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"];
        $parse = $lang;
        $parse['dpath'] = $dpath;
        $parse['image'] = $CurrentPlanet['image'];
        $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus bis ' . date('d.m.Y h:i:s', $CurrentUser['urlaubs_modus_time']) . '</td></tr></table>' : '';
        // Genearation de la combo des planetes du joueur
        $parse['planetlist'] = '';
        $ThisUsersPlanets = SortUserPlanets($CurrentUser);
        while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
            if ($CurPlanet["destruyed"] == 0) {
                $parse['planetlist'] .= "\n<option ";
                if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                    // Bon puisque deja on s'y trouve autant le marquer
                    $parse['planetlist'] .= "selected=\"selected\" ";
                }
                $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . "";
                $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
                $parse['planetlist'] .= "&amp;re=0\">";
                // Nom et coordonnées de la planete
                $parse['planetlist'] .= "" . $CurPlanet['name'];
                $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['planet'];
                $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            }
        }
        $energy = $CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] . "/" . pretty_number($CurrentPlanet["energy_max"]);
        // Energie
        if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
            $parse['energy'] = colorRed($energy);
        } else {
            $parse['energy'] = $energy;
        }
        // Metal
        $metal = pretty_number($CurrentPlanet["metal"]);
        if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) {
            $parse['metal'] = colorRed($metal);
        } else {
            $parse['metal'] = $metal;
        }
        // Cristal
        $crystal = pretty_number($CurrentPlanet["crystal"]);
        if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) {
            $parse['crystal'] = colorRed($crystal);
        } else {
            $parse['crystal'] = $crystal;
        }
        // Deuterium
        $deuterium = pretty_number($CurrentPlanet["deuterium"]);
        if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) {
            $parse['deuterium'] = colorRed($deuterium);
        } else {
            $parse['deuterium'] = $deuterium;
        }
        // JAVASCRIPT REALTIME RESS
        $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"]) - $parse['energy_basic_income']));
        // Metal maximo
        if ($CurrentPlanet["metal_max"] * MAX_OVERFLOW < $CurrentPlanet["metal"]) {
            $parse['metal_max'] = '<font color="#ff0000">';
        } else {
            $parse['metal_max'] = '<font color="#00ff00">';
        }
        $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>";
        // Cristal maximo
        if ($CurrentPlanet["crystal_max"] * MAX_OVERFLOW < $CurrentPlanet["crystal"]) {
            $parse['crystal_max'] = '<font color="#ff0000">';
        } else {
            $parse['crystal_max'] = '<font color="#00ff00">';
        }
        $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}";
        // Deuterio maximo
        if ($CurrentPlanet["deuterium_max"] * MAX_OVERFLOW < $CurrentPlanet["deuterium"]) {
            $parse['deuterium_max'] = '<font color="#ff0000">';
        } else {
            $parse['deuterium_max'] = '<font color="#00ff00">';
        }
        $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}";
        if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) >= 0) {
            $plevel = 0;
        } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $plevel = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100);
        } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $plevel = 0;
        } else {
            $plevel = 100;
        }
        if ($plevel > 100) {
            $plevel = 100;
        }
        $parse['metal_perhour'] .= $CurrentPlanet['metal_perhour'] * 0.01 * $plevel + $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
        $parse['crystal_perhour'] .= $CurrentPlanet['crystal_perhour'] * 0.01 * $plevel + $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
        $parse['deuterium_perhour'] .= $CurrentPlanet['deuterium_perhour'] * 0.01 * $plevel + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
        $parse['metalh'] .= round($CurrentPlanet["metal"]);
        $parse['crystalh'] .= round($CurrentPlanet["crystal"]);
        $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]);
        $parse['metal_mmax'] .= $CurrentPlanet["metal_max"] * MAX_OVERFLOW;
        $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"] * MAX_OVERFLOW;
        $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"] * MAX_OVERFLOW;
        // JAVASCRIPT REALTIME RESS ENDE
        // Message
        if ($CurrentUser['new_message'] > 0) {
            $parse['message'] = "<a href=\"messages.php\">[ " . $CurrentUser['new_message'] . " ]</a>";
        } else {
            $parse['message'] = "0";
        }
        // Le tout passe dans la template
        $TopBar = parsetemplate($NavigationTPL, $parse);
    } else {
        $TopBar = "";
    }
    return $TopBar;
}
Example #2
0
function BuildRessourcePage($CurrentUser, $CurrentPlanet, $hide = '')
{
    global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST;
    includeLang('resources');
    if ($user['urlaubs_modus'] == 1) {
        message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1);
    }
    $Caps = ProductionRate($CurrentUser, $CurrentPlanet);
    //print_r($Caps);
    $RessBodyTPL = gettemplate('resources');
    $RessRowTPL = gettemplate('resources_row');
    // Si c'est une lune ... pas de ressources produites
    if ($CurrentPlanet['planet_type'] == 3) {
        $game_config['metal_basic_income'] = 0;
        $game_config['crystal_basic_income'] = 0;
        $game_config['deuterium_basic_income'] = 0;
        $game_config['appolonium_basic_income'] = $game_config['appolonium_basic_income'];
    }
    if ($CurrentPlanet['planet_type'] == 1) {
        $game_config['appolonium_basic_income'] = 0;
    }
    $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: ./?s=" . UNI . "&page=resources&mode=resources");
                    exit;
                }
                $Value = $Value / 10;
                $CurrentPlanet[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
    }
    $parse = $lang;
    $parse['production_level'] = 100;
    $post_porcent = $Caps['production_factor'];
    // -------------------------------------------------------------------------------------------------------
    // Mise a jour de l'espace de stockage
    $CurrentPlanet['metal_max'] = $Caps['metal_max'];
    $CurrentPlanet['crystal_max'] = $Caps['crystal_max'];
    $CurrentPlanet['deuterium_max'] = $Caps['deuterium_max'];
    $CurrentPlanet['appolonium_max'] = $Caps['appolonium_max'];
    // -------------------------------------------------------------------------------------------------------
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = $Caps['metal_perhour'];
    $CurrentPlanet['crystal_perhour'] = $Caps['crystal_perhour'];
    $CurrentPlanet['deuterium_perhour'] = $Caps['deuterium_perhour'];
    $CurrentPlanet['appolonium_perhour'] = $Caps['appolonium_perhour'];
    $CurrentPlanet['energy_max'] = $Caps['energy_max'];
    $CurrentPlanet['energy_used'] = $Caps['energy_used'];
    $countforalt = 0;
    foreach ($reslist['prod'] as $ProdID) {
        $ignore = array(22, 23, 24, 25);
        if (!in_array($ProdID, $ignore)) {
            $countforalt++;
            $metal = $Caps[$ProdID]['metal_perhour'];
            $crystal = $Caps[$ProdID]['crystal_perhour'];
            $deuterium = $Caps[$ProdID]['deuterium_perhour'];
            $appolonium = $Caps[$ProdID]['appolonium_perhour'];
            $energy = $Caps[$ProdID]['energy_max'] + $Caps[$ProdID]['energy_used'];
            $Field = $resource[$ProdID] . "_porcent";
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $CurrentPlanet[$Field];
            for ($Option = 10; $Option >= 0; $Option--) {
                $OptValue = $Option * 10;
                if ($Option == $CurrRow['porcent']) {
                    $OptSelected = " selected=selected";
                } else {
                    $OptSelected = "";
                }
                $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $CurrRow['metal_type'] = pretty_number($metal);
            $CurrRow['crystal_type'] = pretty_number($crystal);
            $CurrRow['deuterium_type'] = pretty_number($deuterium);
            $CurrRow['appolonium_type'] = pretty_number($appolonium);
            $CurrRow['energy_type'] = pretty_number($energy);
            $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']);
            $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']);
            $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']);
            $CurrRow['appolonium_type'] = colorNumber($CurrRow['appolonium_type']);
            $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']);
            $CurrRow['alt'] = "";
            if ($countforalt % 2 == 0) {
                $CurrRow['alt'] = "alt";
            }
            $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']);
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $parse['production_level'] = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = floor($CurrentPlanet['energy_max'] / (0 - $CurrentPlanet['energy_used']) * 100);
    } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = 0;
    } else {
        $parse['production_level'] = 100;
    }
    if ($parse['production_level'] > 100) {
        $parse['production_level'] = 100;
    }
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['appolonium_basic_income'] = $game_config['appolonium_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['appolonium_max'] < $CurrentPlanet['appolonium']) {
        $parse['appolonium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['appolonium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['appolonium_max'] .= pretty_number($CurrentPlanet['appolonium_max'] / 1000) . " " . $lang['k'] . "</font>";
    $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income'])));
    $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'])));
    $parse['deuterium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'])));
    $parse['appolonium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['appolonium_perhour'] * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'])));
    $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])));
    $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24);
    $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7);
    $parse['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
    $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
    $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
    $parse['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
    $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24);
    $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7);
    $parse['monthly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30);
    $parse['daily_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24);
    $parse['weekly_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24 * 7);
    $parse['monthly_appolonium'] = floor($CurrentPlanet['appolonium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['appolonium_basic_income'] * 24 * 30);
    $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal']));
    $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal']));
    $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal']));
    $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal']));
    $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal']));
    $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal']));
    $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium']));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium']));
    $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium']));
    $parse['daily_appolonium'] = colorNumber(pretty_number($parse['daily_appolonium']));
    $parse['weekly_appolonium'] = colorNumber(pretty_number($parse['weekly_appolonium']));
    $parse['monthly_appolonium'] = colorNumber(pretty_number($parse['monthly_appolonium']));
    $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o'];
    $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o'];
    $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o'];
    $parse['appolonium_storage'] = floor($CurrentPlanet['appolonium'] / $CurrentPlanet['appolonium_max'] * 100) . $lang['o/o'];
    $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5);
    $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5);
    $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5);
    $parse['appolonium_storage_bar'] = floor($CurrentPlanet['appolonium'] / $CurrentPlanet['appolonium_max'] * 100 * 2.5);
    if ($parse['metal_storage_bar'] > 100 * 2.5) {
        $parse['metal_storage_bar'] = 250;
        $parse['metal_storage_barcolor'] = '#C00000';
    } elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
        $parse['metal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['metal_storage_barcolor'] = '#00C000';
    }
    if ($parse['crystal_storage_bar'] > 100 * 2.5) {
        $parse['crystal_storage_bar'] = 250;
        $parse['crystal_storage_barcolor'] = '#C00000';
    } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) {
        $parse['crystal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['crystal_storage_barcolor'] = '#00C000';
    }
    if ($parse['deuterium_storage_bar'] > 100 * 2.5) {
        $parse['deuterium_storage_bar'] = 250;
        $parse['deuterium_storage_barcolor'] = '#C00000';
    } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) {
        $parse['deuterium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['deuterium_storage_barcolor'] = '#00C000';
    }
    if ($parse['appolonium_storage_bar'] > 100 * 2.5) {
        $parse['appolonium_storage_bar'] = 250;
        $parse['appolonium_storage_barcolor'] = '#C00000';
    } elseif ($parse['appolonium_storage_bar'] > 80 * 2.5) {
        $parse['appolonium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['appolonium_storage_barcolor'] = '#00C000';
    }
    $parse['production_level_bar'] = $parse['production_level'] * 2.5;
    $parse['production_level'] = "{$parse['production_level']}%";
    $parse['production_level_barcolor'] = '#00ff00';
    $QryUpdatePlanet = "UPDATE {{table}} SET ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' ";
    $QryUpdatePlanet .= $SubQry;
    $QryUpdatePlanet .= "WHERE ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';";
    doquery($QryUpdatePlanet, 'planets');
    //To show or not to show?
    $parse['hideres'] = $hide;
    $page = parsetemplate($RessBodyTPL, $parse);
    return $page;
}
Example #3
0
function BuildRessourcePage($CurrentUser, $CurrentPlanet)
{
    global $pricelist, $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST;
    includeLang('resources');
    if ($user['urlaubs_modus'] == 1) {
        message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1);
    }
    $RessBodyTPL = gettemplate('resources');
    $RessRowTPL = gettemplate('resources_row');
    // Si c'est une lune ... pas de ressources produites
    if ($CurrentPlanet['planet_type'] == 3) {
        $game_config['metal_basic_income'] = 0;
        $game_config['crystal_basic_income'] = 0;
        $game_config['deuterium_basic_income'] = 0;
    }
    $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: overview.php");
                    exit;
                }
                $Value = $Value / 10;
                $CurrentPlanet[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
    }
    $parse = $lang;
    $parse['production_level'] = 100;
    if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) <= 0) {
        $post_porcent = 0;
    } elseif ($CurrentPlanet['energy_max'] == 0) {
        $post_porcent = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) {
        $post_porcent = $CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100;
    } else {
        $post_porcent = 100;
    }
    if ($post_porcent > 100) {
        $post_porcent = 100;
    }
    // -------------------------------------------------------------------------------------------------------
    // Mise a jour de l'espace de stockage
    $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    // -------------------------------------------------------------------------------------------------------
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = 0;
    $CurrentPlanet['crystal_perhour'] = 0;
    $CurrentPlanet['deuterium_perhour'] = 0;
    $CurrentPlanet['energy_max'] = 0;
    $CurrentPlanet['energy_used'] = 0;
    $CurrentPlanet['deuterium_used'] = 0;
    $energy_tech_bonus = 0;
    $energy_offi = 0;
    $metal_offi = 0;
    $crystal_offi = 0;
    $deuterium_offi = 0;
    $BuildTemp = $CurrentPlanet['temp_max'];
    foreach ($reslist['prod'] as $ProdID) {
        if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $CurrentPlanet[$resource[$ProdID]];
            $metal = eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05);
            $metal_offi += eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * ($CurrentUser['rpg_geologue'] * 0.05);
            $crystal = eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05);
            $crystal_offi += eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * ($CurrentUser['rpg_geologue'] * 0.05);
            $deuterium = eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'];
            $energy = eval($ProdGrid[$ProdID]['formule']['energy']);
            if ($energy > 0) {
                $energy_offi += $energy * ($CurrentUser['rpg_ingenieur'] * 0.05);
                $energy_tech_bonus += $energy * ($CurrentUser['energy_tech'] * 0.01);
                $energy *= 1 + ($CurrentUser['rpg_ingenieur'] * 0.05 + $CurrentUser['energy_tech'] * 0.01);
                $CurrentPlanet['energy_max'] += $energy;
            } else {
                $CurrentPlanet['energy_used'] += $energy;
            }
            $CurrentPlanet['metal_perhour'] += $metal;
            $CurrentPlanet['crystal_perhour'] += $crystal;
            if ($deuterium < 0) {
                $CurrentPlanet['deuterium_used'] = $deuterium;
            } else {
                $deuterium_offi += $deuterium * ($CurrentUser['rpg_geologue'] * 0.05);
                $deuterium *= 1 + $CurrentUser['rpg_geologue'] * 0.05;
                $CurrentPlanet['deuterium_perhour'] += $deuterium;
                $deuterium *= 0.01 * $post_porcent;
            }
            $metal = $metal * 0.01 * $post_porcent;
            $crystal = $crystal * 0.01 * $post_porcent;
            $Field = $resource[$ProdID] . "_porcent";
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $CurrentPlanet[$Field];
            for ($Option = 10; $Option >= 0; $Option--) {
                $OptValue = $Option * 10;
                if ($Option == $CurrRow['porcent']) {
                    $OptSelected = " selected=selected";
                } else {
                    $OptSelected = "";
                }
                $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $CurrRow['metal_type'] = colorNumber(pretty_number(floor($metal)));
            $CurrRow['crystal_type'] = colorNumber(pretty_number(floor($crystal)));
            $CurrRow['deuterium_type'] = colorNumber(pretty_number(zround($deuterium)));
            $CurrRow['energy_type'] = colorNumber(pretty_number(zround($energy)));
            $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']);
    if ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) >= 0) {
        $parse['production_level'] = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = $CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100;
    } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = 0;
    } else {
        $parse['production_level'] = 100;
    }
    if ($parse['production_level'] > 100) {
        $parse['production_level'] = 100;
    }
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentUser['energy_tech'] > 0) {
        $parse['energy_tech_bonus'] = '(+<font color="yellow">' . pretty_number(zround($energy_tech_bonus)) . '</font>)';
    } else {
        $parse['energy_tech_bonus'] = '<font color="yellow">-</font>';
    }
    if ($CurrentUser['rpg_geologue'] > 0) {
        $parse['metal_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($metal_offi)) . '</font>)';
        $parse['crystal_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($crystal_offi)) . '</font>)';
        $parse['deuterium_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($deuterium_offi)) . '</font>)';
    } else {
        $parse['metal_offi_bonus'] = '<font color="yellow">-</font>';
        $parse['crystal_offi_bonus'] = '<font color="yellow">-</font>';
        $parse['deuterium_offi_bonus'] = '<font color="yellow">-</font>';
    }
    if ($CurrentUser['rpg_ingenieur'] > 0) {
        $parse['energy_offi_bonus'] = '(+<font color="yellow">' . pretty_number(zround($energy_offi)) . '</font>)';
    } else {
        $parse['energy_offi_bonus'] = '<font color="yellow">-</font>';
    }
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>";
    $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income'])));
    $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'])));
    $parse['deuterium_total'] = colorNumber(pretty_number(zround($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] + $CurrentPlanet['deuterium_used'])));
    $parse['energy_total'] = colorNumber(pretty_number(zround($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])));
    $value['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24);
    $value['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7);
    $value['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
    $value['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
    $value['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
    $value['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
    $value['daily_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 + $CurrentPlanet['deuterium_used'] * 24);
    $value['weekly_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7 + $CurrentPlanet['deuterium_used'] * 24 * 7);
    $value['monthly_deuterium'] = zround($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30 + $CurrentPlanet['deuterium_used'] * 24 * 30);
    $parse['daily_metal'] = colorNumber(pretty_number($value['daily_metal']));
    $parse['weekly_metal'] = colorNumber(pretty_number($value['weekly_metal']));
    $parse['monthly_metal'] = colorNumber(pretty_number($value['monthly_metal']));
    $parse['daily_crystal'] = colorNumber(pretty_number($value['daily_crystal']));
    $parse['weekly_crystal'] = colorNumber(pretty_number($value['weekly_crystal']));
    $parse['monthly_crystal'] = colorNumber(pretty_number($value['monthly_crystal']));
    $parse['daily_deuterium'] = colorNumber(pretty_number($value['daily_deuterium']));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($value['weekly_deuterium']));
    $parse['monthly_deuterium'] = colorNumber(pretty_number($value['monthly_deuterium']));
    $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o'];
    $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o'];
    $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o'];
    $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5);
    $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5);
    $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5);
    if ($parse['metal_storage_bar'] > 100 * 2.5) {
        $parse['metal_storage_bar'] = 250;
        $parse['metal_storage_barcolor'] = '#C00000';
    } elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
        $parse['metal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['metal_storage_barcolor'] = '#00C000';
    }
    if ($parse['crystal_storage_bar'] > 100 * 2.5) {
        $parse['crystal_storage_bar'] = 250;
        $parse['crystal_storage_barcolor'] = '#C00000';
    } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) {
        $parse['crystal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['crystal_storage_barcolor'] = '#00C000';
    }
    if ($parse['deuterium_storage_bar'] > 100 * 2.5) {
        $parse['deuterium_storage_bar'] = 250;
        $parse['deuterium_storage_barcolor'] = '#C00000';
    } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) {
        $parse['deuterium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['deuterium_storage_barcolor'] = '#00C000';
    }
    $parse['production_level_bar'] = $parse['production_level'] * 2.5;
    $parse['production_level'] = "{$parse['production_level']}%";
    $parse['production_level_barcolor'] = '#00ff00';
    $QryUpdatePlanet = "UPDATE {{table}} SET ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' ";
    $QryUpdatePlanet .= $SubQry;
    $QryUpdatePlanet .= "WHERE ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';";
    doquery($QryUpdatePlanet, 'planets');
    // Ship and deffend produktion calculate script
    // new writen and fixed by Mori for Xnova 2009 (Team Rocket)
    ////////////////Fleets////////////////
    $c = 202;
    //value from first ship from table
    $m = 218;
    //end and last ship
    while ($c <= $m) {
        $Spm = $pricelist[$c]['metal'];
        // Met. price from ship $c
        $Spc = $pricelist[$c]['crystal'];
        // crys. price from ship $c
        $Spd = $pricelist[$c]['deuterium'];
        // Deut. price from ship $c
        $Xdprom = @floor($value['daily_metal'] / $Spm);
        $Xdproc = @floor($value['daily_crystal'] / $Spc);
        $Xdprod = @floor($value['daily_deuterium'] / $Spd);
        $Xwprom = @floor($value['weekly_metal'] / $Spm);
        $Xwproc = @floor($value['weekly_crystal'] / $Spc);
        $Xwprod = @floor($value['weekly_deuterium'] / $Spd);
        $Xmprom = @floor($value['monthly_metal'] / $Spm);
        $Xmproc = @floor($value['monthly_crystal'] / $Spc);
        $Xmprod = @floor($value['monthly_deuterium'] / $Spd);
        if ($Spm > 0 and $Spc == 0 and $Spd == 0) {
            $xsd = $Xdprom;
            $xsw = $Xwprom;
            $xsm = $Xmprom;
        } elseif ($Spm == 0 and $Spc > 0 and $Spd == 0) {
            $xsd = $Xdproc;
            $xsw = $Xwproc;
            $xsm = $Xmproc;
        } elseif ($Spm > 0 and $Spc > 0 and $Spd == 0) {
            $xmind = min($Xdprom, $Xdproc);
            $xminw = min($Xwprom, $Xwproc);
            $xminm = min($Xmprom, $Xmproc);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } elseif ($Spm > 0 and $Spc > 0 and $Spd > 0) {
            $xmind = min($Xdprom, $Xdproc, $Xdprod);
            $xminw = min($Xwprom, $Xwproc, $Xwprod);
            $xminm = min($Xmprom, $Xmproc, $Xmprod);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } elseif ($Spm == 0 and $Spc > 0 and $Spd > 0) {
            $xmind = min($Xdproc, $Xdprod);
            $xminw = min($Xwproc, $Xwprod);
            $xminm = min($Xmproc, $Xmprod);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } else {
            $xsd = '<font color=red>0</font>';
            $xsw = '<font color=red>0</font>';
            $xsm = '<font color=red>0</font>';
        }
        if ($xsd < 0 or $xsw < 0 or $xsm < 0) {
            $xsd = 0;
            $xsw = 0;
            $xsm = 0;
        }
        $parse['predu_fleet'] .= "<tr>";
        $parse['predu_fleet'] .= "<th>" . $lang['tech'][$c] . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xsd . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xsw . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xsm . "</th>";
        $parse['predu_fleet'] .= "</tr>";
        $c++;
    }
    ////////////////Deffends////////////////
    $c = 401;
    //targed from first deffend fro table
    $m = 503;
    //end and last deffend
    while ($c <= $m) {
        $Spm = $pricelist[$c]['metal'];
        // Met. price from deffend $c
        $Spc = $pricelist[$c]['crystal'];
        // crys. price from deffend $c
        $Spd = $pricelist[$c]['deuterium'];
        // Deut. price from deffend $c
        $Xdprom = @floor($value['daily_metal'] / $Spm);
        $Xdproc = @floor($value['daily_crystal'] / $Spc);
        $Xdprod = @floor($value['daily_deuterium'] / $Spd);
        $Xwprom = @floor($value['weekly_metal'] / $Spm);
        $Xwproc = @floor($value['weekly_crystal'] / $Spc);
        $Xwprod = @floor($value['weekly_deuterium'] / $Spd);
        $Xmprom = @floor($value['monthly_metal'] / $Spm);
        $Xmproc = @floor($value['monthly_crystal'] / $Spc);
        $Xmprod = @floor($value['monthly_deuterium'] / $Spd);
        if ($Spm > 0 and $Spc == 0 and $Spd == 0) {
            $xsd = $Xdprom;
            $xsw = $Xwprom;
            $xsm = $Xmprom;
        } elseif ($Spm == 0 and $Spc > 0 && $Spd == 0) {
            $xsd = $Xdproc;
            $xsw = $Xwproc;
            $xsm = $Xmproc;
        } elseif ($Spm > 0 and $Spc > 0 and $Spd == 0) {
            $xmind = min($Xdprom, $Xdproc);
            $xminw = min($Xwprom, $Xwproc);
            $xminm = min($Xmprom, $Xmproc);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } elseif ($Spm > 0 and $Spc > 0 and $Spd > 0) {
            $xmind = min($Xdprom, $Xdproc, $Xdprod);
            $xminw = min($Xwprom, $Xwproc, $Xwprod);
            $xminm = min($Xmprom, $Xmproc, $Xmprod);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } elseif ($Spm == 0 and $Spc > 0 and $Spd > 0) {
            $xmind = min($Xdproc, $Xdprod);
            $xminw = min($Xwproc, $Xwprod);
            $xminm = min($Xmproc, $Xmprod);
            $xsd = $xmind;
            $xsw = $xminw;
            $xsm = $xminm;
        } else {
            $xsd = '<font color=red>0</font>';
            $xsw = '<font color=red>0</font>';
            $xsm = '<font color=red>0</font>';
        }
        if ($xsd < 0 or $xsw < 0 or $xsm < 0) {
            $xsd = 0;
            $xsw = 0;
            $xsm = 0;
        }
        $parse['predu_def'] .= "<tr>";
        $parse['predu_def'] .= "<th>" . $lang['tech'][$c] . "</th>";
        $parse['predu_def'] .= "<th>" . $xsd . "</th>";
        $parse['predu_def'] .= "<th>" . $xsw . "</th>";
        $parse['predu_def'] .= "<th>" . $xsm . "</th>";
        $parse['predu_def'] .= "</tr>";
        if ($c == 408) {
            $c = 502;
        } else {
            $c++;
        }
    }
    $page = parsetemplate($RessBodyTPL, $parse);
    return $page;
}
Example #4
0
function echo_topnav()
{
    global $user, $planetrow, $galaxyrow, $mode, $messageziel, $gid, $lang;
    if (!$user) {
        return;
    }
    //if(!$planetrow){ $planetrow = doquery("SELECT * FROM {{table}} WHERE id ={$user['current_planet']}","planets",true);}
    //if(!$planetrow) $planetrow = (array)LWCore::getPlanet();
    //if($planetrow['galaxy'] == 3 && $planetrow['system'] == 139) echo print_r($planetrow, true).'<br /><br />';
    calculate_resources_planet($planetrow);
    //Actualizacion de rutina
    //if(!$galaxyrow){ $galaxyrow = doquery("SELECT * FROM {{table}} WHERE id_planet = '".$planetrow["id"]."'","galaxy",true);}
    $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
    //-[Arrays]------------------------------------------------
    $parse = $lang;
    $parse['dpath'] = $dpath;
    $parse['image'] = $planetrow['image'];
    /*
      pequeño loop para agregar todos los planetas disponibles del mismo jugador...
    */
    $parse['planetlist'] = '';
    //pedimos todos los planetas que coincidan con el id del due�.
    $planets_list = doquery("SELECT id,name,galaxy,system,planet FROM {{table}} WHERE id_owner='{$user['id']}' ORDER BY sortID ASC", "planets");
    while ($p = mysql_fetch_array($planets_list)) {
        /*
          Cuando alguien selecciona destruir planeta, hay un tiempo en el que se vacia el slot
          del planeta, es mas que nada para dar tiempo a posible problema de hackeo o robo de cuenta.
        */
        if ($p["destruyed"] == 0) {
            //$pos_galaxy = doquery("SELECT * FROM {{table}} WHERE id_planet = {$p[id]}","galaxy",true);
            $parse['planetlist'] .= "<option ";
            if ($p["id"] == $user["current_planet"]) {
                $parse['planetlist'] .= 'selected="selected" ';
            }
            //Se selecciona el planeta actual
            $parse['planetlist'] .= 'value="?cp=' . $p['id'];
            if (isset($_GET['mode'])) {
                $parse['planetlist'] .= '&amp;mode=' . $_GET['mode'];
            }
            if (isset($_GET['gid'])) {
                $parse['planetlist'] .= '&amp;gid=' . $_GET['gid'];
            }
            if (isset($_GET['messageziel'])) {
                $parse['planetlist'] .= '&amp;messageziel=' . $_GET['messageziel'];
            }
            $parse['planetlist'] .= '&amp;re=0">';
            //Nombre [galaxy:system:planet]
            $parse['planetlist'] .= "{$p['name']} [{$p['galaxy']}:{$p['system']}:{$p['planet']}]</option>";
        }
    }
    /*
      Muestra los recursos, e indica si estos sobrepasan la capacidad de los almacenes
    */
    $resourceProducer = LWCore::getPlanet()->getProductionHandler()->getProductorObject('resource');
    $energyProd = $resourceProducer->getProduction('energy');
    $energy = pretty_number(($energyProd[1] - $energyProd[0]) * -3600) . "/" . pretty_number($energyProd[0] * 3600);
    //energy
    if ($energyProd[1] > $energyProd[0]) {
        $parse['energy'] = colorRed($energy);
    } else {
        $parse['energy'] = $energy;
    }
    //metal
    $metal = pretty_number(LWCore::getPlanet()->metal);
    $red = false;
    if ($resourceProducer->getProduction('metal') < 0) {
        if (LWCore::getPlanet()->metal < $resourceProducer->getSignificantLimit('metal')) {
            $red = true;
        }
    } else {
        if (LWCore::getPlanet()->metal > $resourceProducer->getSignificantLimit('metal')) {
            $red = true;
        }
    }
    if ($red) {
        $parse['metal'] = colorRed($metal);
    } else {
        $parse['metal'] = $metal;
    }
    //cristal
    $crystal = pretty_number(LWCore::getPlanet()->crystal);
    $red = false;
    if ($resourceProducer->getProduction('crystal') < 0) {
        if (LWCore::getPlanet()->crystal < $resourceProducer->getSignificantLimit('crystal')) {
            $red = true;
        }
    } else {
        if (LWCore::getPlanet()->crystal > $resourceProducer->getSignificantLimit('crystal')) {
            $red = true;
        }
    }
    if ($red) {
        $parse['crystal'] = colorRed($crystal);
    } else {
        $parse['crystal'] = $crystal;
    }
    //deuterium
    $deuterium = pretty_number(LWCore::getPlanet()->deuterium);
    $red = false;
    if ($resourceProducer->getProduction('deuterium') < 0) {
        if (LWCore::getPlanet()->deuterium < $resourceProducer->getSignificantLimit('deuterium')) {
            $red = true;
        }
    } else {
        if (LWCore::getPlanet()->deuterium > $resourceProducer->getSignificantLimit('deuterium')) {
            $red = true;
        }
    }
    if ($red) {
        $parse['deuterium'] = colorNumber($deuterium);
    } else {
        $parse['deuterium'] = $deuterium;
    }
    //esto es un hecho!
    echo parsetemplate(gettemplate('topnav'), $parse);
}
Example #5
0
//Total de los recursos
$parse['metal_total'] = colorNumber(floor($planetrow['metal_perhour'] * 0.01 * $parse['production_level']));
$parse['crystal_total'] = colorNumber(floor($planetrow['crystal_perhour'] * 0.01 * $parse['production_level']));
$parse['deuterium_total'] = colorNumber(floor($planetrow['deuterium_perhour'] * 0.01 * $parse['production_level']));
$parse['energy_total'] = colorNumber(floor($planetrow['energy_max'] - $planetrow["energy_used"]));
//tabla de valores extendidos
//colores de la tabla... no muy necesario creo yo...
$parse['daily_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24), 0, ",", "."));
$parse['weekly_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24 * 7), 0, ",", "."));
$parse['monthly_metal'] = colorNumber(number_format(floor($planetrow["metal_perhour"] * 24 * 30), 0, ",", "."));
$parse['daily_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24), 0, ",", "."));
$parse['weekly_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24 * 7), 0, ",", "."));
$parse['monthly_crystal'] = colorNumber(number_format(floor($planetrow["crystal_perhour"] * 24 * 30), 0, ",", "."));
$parse['daily_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24), 0, ",", "."));
$parse['weekly_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24 * 7), 0, ",", "."));
$parse['monthly_deuterium'] = colorNumber(number_format(floor($planetrow["deuterium_perhour"] * 24 * 30), 0, ",", "."));
//Porcentajes de minerias llenas
$parse['metal_storage'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) . $lang['o/o'];
$parse['crystal_storage'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) . $lang['o/o'];
$parse['deuterium_storage'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) . $lang['o/o'];
//Las barras de porcentaje
$parse['metal_storage_bar'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) * 2.5;
$parse['crystal_storage_bar'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) * 2.5;
$parse['deuterium_storage_bar'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) * 2.5;
//Color de la barra de metal
if ($parse['metal_storage_bar'] > 100 * 2.5) {
    $parse['metal_storage_bar'] = 250;
    $parse['metal_storage_barcolor'] = '#C00000';
} elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
    $parse['metal_storage_barcolor'] = '#C0C000';
} else {
Example #6
0
/**
 * BuildRessourcePage.php
 *
 * @version 1.0
 * @copyright 2008 by ShadoV for XNova
 */
function BuildRessourcePage($CurrentUser, $CurrentPlanet)
{
    global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST;
    CheckPlanetUsedFields($CurrentPlanet);
    $RessBodyTPL = gettemplate('resources');
    $RessRowTPL = gettemplate('resources_row');
    // Si c'est une lune ... pas de ressources produites
    if ($CurrentPlanet['planet_type'] == 3) {
        $game_config['metal_basic_income'] = 0;
        $game_config['crystal_basic_income'] = 0;
        $game_config['deuterium_basic_income'] = 0;
    }
    $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: ?action=internalHome");
                    exit;
                }
                $Values = $Value / 10;
                $CurrentPlanet[$FieldName] = $Values;
                $SubQry .= ", `" . $FieldName . "` = '" . $Values . "'";
            }
        }
    }
    $parse = $lang;
    $production_level = 100;
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $post_porcent = 0;
        if ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $post_porcent = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100);
        } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $post_porcent = 0;
        }
    } else {
        $post_porcent = 100;
    }
    if ($post_porcent > 100) {
        $post_porcent = 100;
    }
    // -------------------------------------------------------------------------------------------------------
    // Mise a jour de l'espace de stockage
    $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    // -------------------------------------------------------------------------------------------------------
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = 0;
    $CurrentPlanet['crystal_perhour'] = 0;
    $CurrentPlanet['deuterium_perhour'] = 0;
    $CurrentPlanet['energy_max'] = 0;
    $CurrentPlanet['energy_used'] = 0;
    $BuildTemp = $CurrentPlanet['temp_max'];
    foreach ($reslist['prod'] as $ProdID) {
        if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $CurrentPlanet[$resource[$ProdID]];
            $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05));
            if ($energy > 0) {
                $CurrentPlanet['energy_max'] += $energy;
            } else {
                $CurrentPlanet['energy_used'] += $energy;
            }
            $CurrentPlanet['metal_perhour'] += $metal;
            $CurrentPlanet['crystal_perhour'] += $crystal;
            $CurrentPlanet['deuterium_perhour'] += $deuterium;
            $metal_ref = $metal * 0.01 * $post_porcent;
            $crystal_ref = $crystal * 0.01 * $post_porcent;
            $deuterium_ref = $deuterium * 0.01 * $post_porcent;
            $energy_ref = $energy;
            $Field = $resource[$ProdID] . "_porcent";
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $CurrentPlanet[$Field];
            for ($Option = 10; $Option >= 0; $Option--) {
                $OptValue = $Option * 10;
                if ($Option == $CurrRow['porcent']) {
                    $OptSelected = " selected=selected";
                } else {
                    $OptSelected = "";
                }
                $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $metal_type = pretty_number(abs($metal_ref));
            $crystal_type = pretty_number(abs($crystal_ref));
            $deuterium_type = pretty_number(abs($deuterium_ref));
            $CurrRow['energy_type'] = pretty_number($energy_ref);
            $CurrRow['metal_type'] = colorNumber($metal_type);
            $CurrRow['crystal_type'] = colorNumber($crystal_type);
            $CurrRow['deuterium_type'] = colorNumber($deuterium_type);
            if (abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
                $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1);
            } elseif (abs($CurrentPlanet['energy_used']) > 0 && $CurrentPlanet['energy_max'] == 0) {
                $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1);
            } else {
                $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']);
            }
            if ($CurrRow['type'] == "M") {
                $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type'] * -1);
            }
            $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']);
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $production_level = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $production_level = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100);
    } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $production_level = 0;
    } else {
        $production_level = 100;
    }
    if ($production_level > 100) {
        $production_level = 100;
    }
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>";
    $metal_total = abs(floor($CurrentPlanet['metal_perhour'] * 0.01 * $production_level)) + $parse['metal_basic_income'];
    $crystal_total = abs(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $production_level)) + $parse['crystal_basic_income'];
    $deuterium_total = abs(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $production_level)) + $parse['deuterium_basic_income'];
    $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])));
    $parse['metal_total'] = colorNumber(pretty_number($metal_total));
    $parse['crystal_total'] = colorNumber(pretty_number($crystal_total));
    $parse['deuterium_total'] = colorNumber(pretty_number($deuterium_total));
    $parse['daily_metal'] = colorNumber(pretty_number($metal_total * 24));
    $parse['weekly_metal'] = colorNumber(pretty_number($metal_total * 24 * 7));
    $parse['monthly_metal'] = colorNumber(pretty_number($metal_total * 24 * 30));
    $parse['daily_crystal'] = colorNumber(pretty_number($crystal_total * 24));
    $parse['weekly_crystal'] = colorNumber(pretty_number($crystal_total * 24 * 7));
    $parse['monthly_crystal'] = colorNumber(pretty_number($crystal_total * 24 * 30));
    $parse['daily_deuterium'] = colorNumber(pretty_number($deuterium_total * 24));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($deuterium_total * 24 * 7));
    $parse['monthly_deuterium'] = colorNumber(pretty_number($deuterium_total * 24 * 30));
    $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o'];
    $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o'];
    $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o'];
    $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5);
    $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5);
    $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5);
    if ($parse['metal_storage_bar'] > 100 * 2.5) {
        $parse['metal_storage_bar'] = 250;
        $parse['metal_storage_barcolor'] = '#C00000';
    } elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
        $parse['metal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['metal_storage_barcolor'] = '#00C000';
    }
    if ($parse['crystal_storage_bar'] > 100 * 2.5) {
        $parse['crystal_storage_bar'] = 250;
        $parse['crystal_storage_barcolor'] = '#C00000';
    } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) {
        $parse['crystal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['crystal_storage_barcolor'] = '#00C000';
    }
    if ($parse['deuterium_storage_bar'] > 100 * 2.5) {
        $parse['deuterium_storage_bar'] = 250;
        $parse['deuterium_storage_barcolor'] = '#C00000';
    } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) {
        $parse['deuterium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['deuterium_storage_barcolor'] = '#00C000';
    }
    $parse['production_level_bar'] = $production_level * 2.5;
    $parse['production_level'] = "{$production_level}%";
    $parse['production_level_barcolor'] = '#00ff00';
    $QryUpdatePlanet = "UPDATE {{table}} SET ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' ";
    $QryUpdatePlanet .= $SubQry;
    $QryUpdatePlanet .= "WHERE ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';";
    doquery($QryUpdatePlanet, 'planets');
    $page = parsetemplate($RessBodyTPL, $parse);
    display($page, '');
}
Example #7
0
         if ($gid == 12) {
             $page .= colorNumber(pretty_number(-($res['energy'] - $dif['energy']))) . '</th><th>';
         } else {
             $page .= colorNumber(pretty_number($res['energy'] - $dif['energy'])) . '</th><th>';
         }
     } elseif ($planetrow[$resource[$gid]] + $level > $planetrow[$resource[$gid]]) {
         $page .= $planetrow[$resource[$gid]] + $level . '</th><th>';
         if ($gid != 4) {
             $page .= pretty_number($res['res']) . '</th><th>';
             $page .= colorNumber(pretty_number($res['res'] - $dif['res'])) . '</th><th>';
         }
         $page .= pretty_number($res['energy']) . '</th><th>';
         if ($gid == 12) {
             $page .= colorNumber(pretty_number(-($res['energy'] - $dif['energy']))) . '</th><th>';
         } else {
             $page .= colorNumber(pretty_number($res['energy'] - $dif['energy'])) . '</th><th>';
         }
     } else {
         $page .= '<font color="#FF0000">';
         $page .= $planetrow[$resource[$gid]] + $level . '</font></th><th>';
         if ($gid != 4) {
             $page .= pretty_number($res['res']) . '</th><th>';
             $page .= pretty_number($res['res'] - $dif['res']) . '</th><th>';
         }
         $page .= pretty_number($res['energy']) . '</th><th>';
         $page .= pretty_number($res['energy'] - $dif['energy']) . '</th><th>';
     }
     $page .= '</th></tr>';
     $level++;
 }
 $page .= '</table>';
 public function __construct(&$CurrentPlanet, $CurrentUser)
 {
     global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $xgp_root;
     include_once $xgp_root . 'includes/functions/IsTechnologieAccessible.' . $phpEx;
     include_once $xgp_root . 'includes/functions/GetElementPrice.' . $phpEx;
     include_once $xgp_root . 'includes/functions/CheckPlanetUsedFields.' . $phpEx;
     CheckPlanetUsedFields($CurrentPlanet);
     $parse = $lang;
     $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44);
     $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43);
     if (isset($_GET['cmd'])) {
         $bDoItNow = false;
         $TheCommand = $_GET['cmd'];
         $Element = $_GET['building'];
         $ListID = $_GET['listid'];
         if (!in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) {
             unset($Element);
         }
         if (isset($Element)) {
             if (!strchr($Element, ",") && !strchr($Element, " ") && !strchr($Element, "+") && !strchr($Element, "*") && !strchr($Element, "~") && !strchr($Element, "=") && !strchr($Element, ";") && !strchr($Element, "'") && !strchr($Element, "#") && !strchr($Element, "-") && !strchr($Element, "_") && !strchr($Element, "[") && !strchr($Element, "]") && !strchr($Element, ".") && !strchr($Element, ":")) {
                 if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) {
                     $bDoItNow = true;
                 }
             } else {
                 header("location:game.php?page=buildings");
             }
         } elseif (isset($ListID)) {
             $bDoItNow = true;
         }
         if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) {
             $bDoItNow = false;
         }
         if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) {
             $bDoItNow = false;
         }
         if ($bDoItNow == true) {
             switch ($TheCommand) {
                 case 'cancel':
                     $this->CancelBuildingFromQueue($CurrentPlanet, $CurrentUser);
                     break;
                 case 'remove':
                     $this->RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID);
                     break;
                 case 'insert':
                     $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true);
                     break;
                 case 'destroy':
                     $this->AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false);
                     break;
             }
         }
         if ($_GET['r'] == 'overview') {
             header('location:game.php?page=overview');
         } else {
             header("Location: game.php?page=buildings&mode=buildings");
         }
     }
     SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser);
     // $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser); // OLD CODE
     // START FIX BY JSTAR
     $Sprice = array();
     $Queue = $this->ShowBuildingQueue($CurrentPlanet, $CurrentUser, $Sprice);
     // END FIX BY JSTAR
     $this->BuildingSavePlanetRecord($CurrentPlanet);
     if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) {
         $CanBuildElement = true;
     } else {
         $CanBuildElement = false;
     }
     $BuildingPage = "";
     $zaehler = 1;
     foreach ($lang['tech'] as $Element => $ElementName) {
         if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) {
             $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet);
             if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) {
                 $RoomIsOk = true;
             } else {
                 $RoomIsOk = false;
             }
             if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) {
                 $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false);
                 $parse = array();
                 $parse = $lang;
                 $parse['dpath'] = $dpath;
                 $parse['i'] = $Element;
                 $BuildingLevel = $CurrentPlanet[$resource[$Element]];
                 $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['bd_lvl'] . " " . $BuildingLevel . ")";
                 // ENERGIA AL LADO DE LOS EDIFICIOS #####################################################
                 $BuildLevelFactor = 10;
                 $BuildTemp = $CurrentPlanet['temp_max'];
                 $CurrentBuildtLvl = $BuildingLevel;
                 $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
                 $EnergyTechLevel = $CurrentUser["energy_tech"];
                 $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                 $ActualNeed = floor($Prod[4]);
                 $BuildLevel++;
                 $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                 $EnergyNeed = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed)));
                 if ($Element >= 1 && $Element <= 3) {
                     $parse['energia'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                     $BuildLevel = 0;
                 } elseif ($Element == 4 || $Element == 12) {
                     $parse['energia'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                     $BuildLevel = 0;
                 }
                 // FIN DE LA ENERGIA AL LADO DE LOS EDIFICIOS ##############################################
                 $parse['n'] = $ElementName;
                 $parse['descriptions'] = $lang['res']['descriptions'][$Element];
                 /* OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- //
                                     $ElementBuildTime          = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
                                     $parse['time']             = ShowBuildTime($ElementBuildTime);
                                     $parse['price']            = GetElementPrice($CurrentUser, $CurrentPlanet, $Element);
                    OLD CODE ---------------------------------------------------- OLD CODE ------------------------------------- //
                 */
                 // START FIX BY JSTAR
                 $really_lvl = isset($Sprice[$Element]) ? $Sprice[$Element] : $BuildingLevel;
                 $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element, $really_lvl);
                 $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element, true, $really_lvl);
                 $parse['time'] = ShowBuildTime($ElementBuildTime);
                 // END FIX BY JSTAR
                 $parse['click'] = '';
                 $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1;
                 if ($RoomIsOk && $CanBuildElement) {
                     if ($Queue['lenght'] == 0) {
                         if ($NextBuildLevel == 1) {
                             if ($HaveRessources == true) {
                                 $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build'] . "</font></a>";
                             } else {
                                 $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>";
                             }
                         } else {
                             if ($HaveRessources == true) {
                                 $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font></a>";
                             } else {
                                 $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>";
                             }
                         }
                     } else {
                         $parse['click'] = "<a href=\"game.php?page=buildings&cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['bd_add_to_list'] . "</font></a>";
                     }
                 } elseif ($RoomIsOk && !$CanBuildElement) {
                     if ($NextBuildLevel == 1) {
                         $parse['click'] = "<font color=#FF0000>" . $lang['bd_build'] . "</font>";
                     } else {
                         $parse['click'] = "<font color=#FF0000>" . $lang['bd_build_next_level'] . $NextBuildLevel . "</font>";
                     }
                 } else {
                     $parse['click'] = "<font color=#FF0000>" . $lang['bd_no_more_fields'] . "</font>";
                 }
                 if ($siguiente == 2) {
                     $parse['cerrartr'] = "</tr>";
                     $siguiente = 0;
                 } else {
                     $siguiente++;
                 }
                 $BuildingPage .= parsetemplate(gettemplate('buildings/buildings_builds_row'), $parse);
                 if ($Element == 31 && $CurrentUser["b_tech_planet"] != 0) {
                     $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>";
                 }
                 if (($Element == 21 or $Element == 14 or $Element == 15) && $CurrentPlanet["b_hangar"] != 0) {
                     $parse['click'] = "<font color=#FF0000>" . $lang['bd_working'] . "</font>";
                 }
             }
         }
     }
     if ($Queue['lenght'] > 0) {
         include $xgp_root . 'includes/functions/InsertBuildListScript.' . $phpEx;
         $parse['BuildListScript'] = InsertBuildListScript("buildings");
         $parse['BuildList'] = $Queue['buildlist'];
     } else {
         $parse['BuildListScript'] = "";
         $parse['BuildList'] = "";
     }
     $parse['BuildingsList'] = $BuildingPage;
     $parse['planet_field_current'] = $CurrentPlanet["field_current"];
     $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5;
     $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current'];
     display(parsetemplate(gettemplate('buildings/buildings_builds'), $parse));
 }
Example #9
0
function BuildRessourcePage($CurrentUser, $CurrentPlanet)
{
    global $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST;
    includeLang('resources');
    $RessBodyTPL = gettemplate('resources');
    $RessRowTPL = gettemplate('resources_row');
    $userInVacation = $CurrentUser['urlaubs_modus'] == 1 ? true : false;
    if ($CurrentPlanet['planet_type'] == 3 || $userInVacation == true) {
        message($lang['Ressource_PageNotAllowed'], $lang['Ressource_NotDisponible'], 'overview.php');
    }
    $ValidList['percent'] = array(100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: overview.php");
                    exit;
                }
                $Value = $Value / 10;
                $CurrentPlanet[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
    }
    $parse = $lang;
    // -------------------------------------------------------------------------------------------------------
    // Mise a jour de l'espace de stockage
    $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    // -------------------------------------------------------------------------------------------------------
    // Calcul du % de production et mise � jour des ressources
    $CurrentPlanet = PlanetResourceUpdate($user, $CurrentPlanet, time());
    // --------------------------------------------------------------------------------------------------------
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = 0;
    $CurrentPlanet['crystal_perhour'] = 0;
    $CurrentPlanet['deuterium_perhour'] = 0;
    $CurrentPlanet['energy_max'] = 0;
    $CurrentPlanet['energy_used'] = 0;
    $BuildTemp = $CurrentPlanet['temp_max'];
    foreach ($reslist['prod'] as $ProdID) {
        if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $CurrentPlanet[$resource[$ProdID]];
            $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * ($CurrentPlanet['porcent'] / 100) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05));
            if ($energy > 0) {
                $CurrentPlanet['energy_max'] += $energy;
            } else {
                $CurrentPlanet['energy_used'] += $energy;
            }
            $CurrentPlanet['metal_perhour'] += $metal;
            $CurrentPlanet['crystal_perhour'] += $crystal;
            $CurrentPlanet['deuterium_perhour'] += $deuterium;
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $BuildLevelFactor;
            foreach ($ValidList['percent'] as $Option) {
                $OptSelected = $Option / 10 == $CurrRow['porcent'] ? ' selected=selected' : '';
                $CurrRow['option'] .= "<option value=\"" . $Option . "\"" . $OptSelected . ">" . $Option . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $CurrRow['metal_type'] = colorNumber(pretty_number($metal));
            $CurrRow['crystal_type'] = colorNumber(pretty_number($crystal));
            $CurrRow['deuterium_type'] = colorNumber(pretty_number($deuterium));
            $CurrRow['energy_type'] = colorNumber(pretty_number($energy));
            $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']);
    $parse['production_level'] = $CurrentPlanet['porcent'];
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>";
    $parse['metal_total'] = colorNumber(pretty_number($CurrentPlanet['metal_perhour'] + $parse['metal_basic_income']));
    $parse['crystal_total'] = colorNumber(pretty_number($CurrentPlanet['crystal_perhour'] + $parse['crystal_basic_income']));
    $parse['deuterium_total'] = colorNumber(pretty_number($CurrentPlanet['deuterium_perhour'] + $parse['deuterium_basic_income']));
    $parse['energy_total'] = colorNumber(pretty_number($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used']));
    $parse['daily_metal'] = floor(($CurrentPlanet['metal_perhour'] + $parse['metal_basic_income']) * 24);
    $parse['weekly_metal'] = floor($parse['daily_metal'] * 7);
    $parse['monthly_metal'] = floor($parse['daily_metal'] * 30);
    $parse['daily_crystal'] = floor(($CurrentPlanet['crystal_perhour'] + $parse['crystal_basic_income']) * 24);
    $parse['weekly_crystal'] = floor($parse['daily_crystal'] * 7);
    $parse['monthly_crystal'] = floor($parse['daily_crystal'] * 30);
    $parse['daily_deuterium'] = floor(($CurrentPlanet['deuterium_perhour'] + $parse['deuterium_basic_income']) * 24);
    $parse['weekly_deuterium'] = floor($parse['daily_deuterium'] * 7);
    $parse['monthly_deuterium'] = floor($parse['daily_deuterium'] * 30);
    $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal']));
    $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal']));
    $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal']));
    $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal']));
    $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal']));
    $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal']));
    $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium']));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium']));
    $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium']));
    $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o'];
    $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o'];
    $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o'];
    $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5);
    $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5);
    $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5);
    if ($parse['metal_storage_bar'] > 100 * 2.5) {
        $parse['metal_storage_bar'] = 250;
        $parse['metal_storage_barcolor'] = '#C00000';
    } elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
        $parse['metal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['metal_storage_barcolor'] = '#00C000';
    }
    if ($parse['crystal_storage_bar'] > 100 * 2.5) {
        $parse['crystal_storage_bar'] = 250;
        $parse['crystal_storage_barcolor'] = '#C00000';
    } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) {
        $parse['crystal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['crystal_storage_barcolor'] = '#00C000';
    }
    if ($parse['deuterium_storage_bar'] > 100 * 2.5) {
        $parse['deuterium_storage_bar'] = 250;
        $parse['deuterium_storage_barcolor'] = '#C00000';
    } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) {
        $parse['deuterium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['deuterium_storage_barcolor'] = '#00C000';
    }
    $parse['production_level_bar'] = $parse['production_level'] * 2.5;
    $parse['production_level'] = "{$parse['production_level']}%";
    $parse['production_level_barcolor'] = '#00ff00';
    $sql = <<<SQL
\t\t\tUPDATE {{table}}
\t\t\tSET
\t\t\t\t`energy_max` = '{$CurrentPlanet['energy_max']}'
\t\t\t\t{$SubQry}
\t\t\tWHERE
\t\t\t\t`id` = '{$CurrentPlanet['id']}'
SQL;
    doquery($sql, 'planets');
    $page = parsetemplate($RessBodyTPL, $parse);
    return $page;
}
Example #10
0
function ShowResourcesPage($CurrentUser, $CurrentPlanet)
{
    global $lang, $ProdGrid, $resource, $reslist, $game_config;
    $parse = $lang;
    if ($CurrentPlanet['planet_type'] == 3) {
        $game_config['metal_basic_income'] = 0;
        $game_config['crystal_basic_income'] = 0;
        $game_config['deuterium_basic_income'] = 0;
        $game_config['darkmatter_basic_income'] = 0;
    }
    $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: game.php?page=ressources");
                    exit;
                }
                $Value = $Value / 10;
                $CurrentPlanet[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
    }
    $parse['production_level'] = 100;
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $post_porcent = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) {
        $post_porcent = floor($CurrentPlanet['energy_max'] / ($CurrentPlanet['energy_used'] * -1) * 100);
    } else {
        $post_porcent = 100;
    }
    if ($post_porcent > 100) {
        $post_porcent = 100;
    }
    $CurrentPlanet['metal_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[22]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR);
    $CurrentPlanet['crystal_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[23]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR);
    $CurrentPlanet['deuterium_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[24]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR);
    $CurrentPlanet['darkmatter_max'] = (BASE_STORAGE_SIZE + 50000 * (roundUp(pow(1.6, $CurrentPlanet[$resource[25]])) - 1)) * (1 + $CurrentUser['rpg_stockeur'] * STOCKEUR);
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = 0;
    $CurrentPlanet['crystal_perhour'] = 0;
    $CurrentPlanet['deuterium_perhour'] = 0;
    $CurrentPlanet['darkmatter_perhour'] = 0;
    $CurrentPlanet['energy_max'] = 0;
    $CurrentPlanet['energy_used'] = 0;
    $BuildTemp = $CurrentPlanet['temp_max'];
    foreach ($reslist['prod'] as $ProdID) {
        if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $CurrentPlanet[$resource[$ProdID]];
            $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE));
            $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE));
            $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE));
            $darkmatter = floor(eval($ProdGrid[$ProdID]['formule']['darkmatter']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * GEOLOGUE));
            if ($ProdID >= 4) {
                $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * INGENIEUR));
            } else {
                $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier']);
            }
            if ($energy > 0) {
                $CurrentPlanet['energy_max'] += $energy;
            } else {
                $CurrentPlanet['energy_used'] += $energy;
            }
            $CurrentPlanet['metal_perhour'] += $metal;
            $CurrentPlanet['crystal_perhour'] += $crystal;
            $CurrentPlanet['deuterium_perhour'] += $deuterium;
            $CurrentPlanet['darkmatter_perhour'] += $darkmatter;
            $metal = $metal * 0.01 * $post_porcent;
            $crystal = $crystal * 0.01 * $post_porcent;
            $deuterium = $deuterium * 0.01 * $post_porcent;
            $darkmatter = $darkmatter * 0.01 * $post_porcent;
            $energy = $energy * 0.01 * $post_porcent;
            $Field = $resource[$ProdID] . "_porcent";
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $CurrentPlanet[$Field];
            for ($Option = 10; $Option >= 0; $Option--) {
                $OptValue = $Option * 10;
                if ($Option == $CurrRow['porcent']) {
                    $OptSelected = " selected=selected";
                } else {
                    $OptSelected = "";
                }
                $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['rs_amount'] : $lang['rs_lvl'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $CurrRow['metal_type'] = pretty_number($metal);
            $CurrRow['crystal_type'] = pretty_number($crystal);
            $CurrRow['deuterium_type'] = pretty_number($deuterium);
            $CurrRow['darkmatter_type'] = pretty_number($darkmatter);
            $CurrRow['energy_type'] = pretty_number($energy);
            $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']);
            $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']);
            $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']);
            $CurrRow['darkmatter_type'] = colorNumber($CurrRow['darkmatter_type']);
            $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']);
            $parse['resource_row'] .= parsetemplate(gettemplate('resources/resources_row'), $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['rs_production_on_planet']);
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $parse['production_level'] = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = floor($CurrentPlanet['energy_max'] / ($CurrentPlanet['energy_used'] * -1) * 100);
    } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = 0;
    } else {
        $parse['production_level'] = 100;
    }
    if ($parse['production_level'] > 100) {
        $parse['production_level'] = 100;
    }
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['darkmatter_basic_income'] = $game_config['darkmatter_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . "k</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . "k</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . "k</font>";
    if ($CurrentPlanet['darkmatter_max'] < $CurrentPlanet['darkmatter']) {
        $parse['darkmatter_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['darkmatter_max'] = "<font color=\"#00ff00\">";
    }
    $parse['darkmatter_max'] .= pretty_number($CurrentPlanet['darkmatter_max'] / 1000) . "k</font>";
    $parse['metal_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income']) * $game_config['resource_multiplier'])));
    $parse['crystal_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income']) * $game_config['resource_multiplier'])));
    $parse['deuterium_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income']) * $game_config['resource_multiplier'])));
    $parse['darkmatter_total'] = colorNumber(pretty_number(floor(($CurrentPlanet['darkmatter_perhour'] * 0.01 * $parse['production_level'] + $parse['darkmatter_basic_income']) * $game_config['resource_multiplier'])));
    $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])));
    $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['metal_basic_income'] * $game_config['resource_multiplier'] * 24);
    $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['metal_basic_income'] * $game_config['resource_multiplier'] * 24 * 7);
    $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['crystal_basic_income'] * $game_config['resource_multiplier'] * 24);
    $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['crystal_basic_income'] * $game_config['resource_multiplier'] * 24 * 7);
    $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['deuterium_basic_income'] * $game_config['resource_multiplier'] * 24);
    $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['deuterium_basic_income'] * $game_config['resource_multiplier'] * 24 * 7);
    $parse['daily_darkmatter'] = floor($CurrentPlanet['darkmatter_perhour'] * 24 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['darkmatter_basic_income'] * $game_config['resource_multiplier'] * 24);
    $parse['weekly_darkmatter'] = floor($CurrentPlanet['darkmatter_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] * $game_config['resource_multiplier'] + $parse['darkmatter_basic_income'] * $game_config['resource_multiplier'] * 24 * 7);
    $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal']));
    $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal']));
    $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal']));
    $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal']));
    $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium']));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium']));
    $parse['daily_darkmatter'] = colorNumber(pretty_number($parse['daily_darkmatter']));
    $parse['weekly_darkmatter'] = colorNumber(pretty_number($parse['weekly_darkmatter']));
    $QryUpdatePlanet = "UPDATE {{table}} SET ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' ";
    $QryUpdatePlanet .= $SubQry;
    $QryUpdatePlanet .= "WHERE ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';";
    doquery($QryUpdatePlanet, 'planets');
    return display(parsetemplate(gettemplate('resources/resources'), $parse));
}
Example #11
0
 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');
 }
Example #12
0
/**
 * ShowTopNavigationBar.php
 *
 * @version 1
 * @copyright 2008 By Chlorel for XNova
 */
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $_GET;
    if ($CurrentUser) {
        if (!$CurrentPlanet) {
            $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true);
        }
        // Actualisation des ressources de la planete
        PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
        $NavigationTPL = gettemplate('topnav');
        $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"];
        $parse = $lang;
        $parse['dpath'] = $dpath;
        $parse['image'] = $CurrentPlanet['image'];
        // Genearation de la combo des planetes du joueur
        $parse['planetlist'] = '';
        $ThisUsersPlanets = SortUserPlanets($CurrentUser);
        while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
            if ($CurPlanet["destruyed"] == 0) {
                $parse['planetlist'] .= "\n<option ";
                if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                    // Bon puisque deja on s'y trouve autant le marquer
                    $parse['planetlist'] .= "selected=\"selected\" ";
                }
                $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . "";
                $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
                $parse['planetlist'] .= "&amp;re=0\">";
                // Nom et coordonnées de la planete
                $parse['planetlist'] .= "" . $CurPlanet['name'];
                $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['planet'];
                $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            }
        }
        //*by sbdx
        //$energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]);
        $energy = $CurrentPlanet["energy_used"];
        // Energie
        $parse["energy_max"] = pretty_number($CurrentPlanet["energy_max"]);
        if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
            $parse['energy'] = colorRed(pretty_number(abs($energy)));
        } else {
            $parse['energy'] = pretty_number(abs($energy));
        }
        // Metal
        $metal = pretty_number($CurrentPlanet["metal"]);
        if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) {
            $parse['metal'] = colorRed($metal);
        } else {
            $parse['metal'] = $metal;
        }
        // Cristal
        $crystal = pretty_number($CurrentPlanet["crystal"]);
        if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) {
            $parse['crystal'] = colorRed($crystal);
        } else {
            $parse['crystal'] = $crystal;
        }
        // Deuterium
        $deuterium = pretty_number($CurrentPlanet["deuterium"]);
        if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) {
            $parse['deuterium'] = colorRed($deuterium);
        } else {
            $parse['deuterium'] = $deuterium;
        }
        // Max Energie
        $energy_max = pretty_number($CurrentPlanet["energy_max"]);
        if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) {
            $parse['energy_max'] = colorRed($energy_max);
        } else {
            $parse['energy_max'] = $energy_max;
        }
        $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']);
        // Metal maximo
        if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) {
            $parse['metal_max'] = '<font color="#ff0000">';
        } else {
            $parse['metal_max'] = '<font color="#00ff00">';
        }
        $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>";
        // Cristal maximo
        if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) {
            $parse['crystal_max'] = '<font color="#ff0000">';
        } else {
            $parse['crystal_max'] = '<font color="#00ff00">';
        }
        $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}";
        // Deuterio maximo
        if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) {
            $parse['deuterium_max'] = '<font color="#ff0000">';
        } else {
            $parse['deuterium_max'] = '<font color="#00ff00">';
        }
        $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}";
        // Message
        if ($CurrentUser['new_message'] > 0) {
            $parse['message'] = "<a href=\"messages.php\"><blink>[ " . $CurrentUser['new_message'] . " ]</blink></a>";
        } else {
            $parse['message'] = "0";
        }
        // Le tout passe dans la template
        $TopBar = parsetemplate($NavigationTPL, $parse);
    } else {
        $TopBar = "";
    }
    return $TopBar;
}
Example #13
0
$parse['monthly_metal'] = round($planetrow["metal_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
$parse['daily_crystal'] = round($planetrow["crystal_perhour"] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
$parse['weekly_crystal'] = floor($planetrow["crystal_perhour"] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
$parse['monthly_crystal'] = floor($planetrow["crystal_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
$parse['daily_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24);
$parse['weekly_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7);
$parse['monthly_deuterium'] = floor($planetrow["deuterium_perhour"] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30);
$parse['daily_metal'] = colorNumber(pretty_number($parse["daily_metal"]));
$parse['weekly_metal'] = colorNumber(pretty_number($parse["weekly_metal"]));
$parse['monthly_metal'] = colorNumber(pretty_number($parse["monthly_metal"]));
$parse['daily_crystal'] = colorNumber(pretty_number($parse["daily_crystal"]));
$parse['weekly_crystal'] = colorNumber(pretty_number($parse["weekly_crystal"]));
$parse['monthly_crystal'] = colorNumber(pretty_number($parse["monthly_crystal"]));
$parse['daily_deuterium'] = colorNumber(pretty_number($parse["daily_deuterium"]));
$parse['weekly_deuterium'] = colorNumber(pretty_number($parse["weekly_deuterium"]));
$parse['monthly_deuterium'] = colorNumber(pretty_number($parse["monthly_deuterium"]));
//Porcentajes de minerias llenas
$parse['metal_storage'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) . $lang['o/o'];
$parse['crystal_storage'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) . $lang['o/o'];
$parse['deuterium_storage'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) . $lang['o/o'];
//Las barras de porcentaje
$parse['metal_storage_bar'] = floor($planetrow["metal"] / $planetrow["metal_max"] * 100) * 2.5;
$parse['crystal_storage_bar'] = floor($planetrow["crystal"] / $planetrow["crystal_max"] * 100) * 2.5;
$parse['deuterium_storage_bar'] = floor($planetrow["deuterium"] / $planetrow["deuterium_max"] * 100) * 2.5;
//Color de la barra de metal
if ($parse['metal_storage_bar'] > 100 * 2.5) {
    $parse['metal_storage_bar'] = 250;
    $parse['metal_storage_barcolor'] = '#C00000';
} elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
    $parse['metal_storage_barcolor'] = '#C0C000';
} else {
Example #14
0
function echo_topnav()
{
    global $user, $planetrow, $galaxyrow, $mode, $messageziel, $gid, $lang;
    if (!$user) {
        return;
    }
    if (!$planetrow) {
        $planetrow = doquery("SELECT * FROM {{table}} WHERE id ={$user['current_planet']}", "planets", true);
    }
    calculate_resources_planet($planetrow);
    //Actualizacion de rutina
    //if(!$galaxyrow){ $galaxyrow = doquery("SELECT * FROM {{table}} WHERE id_planet = '".$planetrow["id"]."'","galaxy",true);}
    $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
    //-[Arrays]------------------------------------------------
    $parse = $lang;
    $parse['dpath'] = $dpath;
    $parse['image'] = $planetrow['image'];
    /*
      pequeño loop para agregar todos los planetas disponibles del mismo jugador...
    */
    ?>
<script language="JavaScript" src="scripts/flotten.js"></script>
<script language="JavaScript" src="scripts/ocnt.js"></script>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/thickbox.js"></script>
<link rel="stylesheet" href="scripts/thickbox.css" type="text/css" media="screen" />
<?php 
    $parse['planetlist'] = '';
    //pedimos todos los planetas que coincidan con el id del due�.
    $planets_list = doquery("SELECT id,name,galaxy,system,planet FROM {{table}} WHERE id_owner='{$user['id']}'", "planets");
    while ($p = mysql_fetch_array($planets_list)) {
        /*
          Cuando alguien selecciona destruir planeta, hay un tiempo en el que se vacia el slot
          del planeta, es mas que nada para dar tiempo a posible problema de hackeo o robo de cuenta.
        */
        if ($p["destruyed"] == 0) {
            //$pos_galaxy = doquery("SELECT * FROM {{table}} WHERE id_planet = {$p[id]}","galaxy",true);
            $parse['planetlist'] .= "<option ";
            if ($p["id"] == $user["current_planet"]) {
                $parse['planetlist'] .= 'selected="selected" ';
            }
            //Se selecciona el planeta actual
            $parse['planetlist'] .= "value=\"?cp={$p['id']}&amp;mode={$mode}&amp;gid={$gid}&amp;messageziel={$messageziel}&amp;re=0\">";
            //Nombre [galaxy:system:planet]
            $parse['planetlist'] .= "{$p['name']} [{$p['galaxy']}:{$p['system']}:{$p['planet']}]</option>";
        }
    }
    /* 
      Muestra los recursos, e indica si estos sobrepasan la capacidad de los almacenes
    */
    $energy = pretty_number($planetrow["energy_max"] - $planetrow["energy_used"]) . "/" . pretty_number($planetrow["energy_max"]);
    //energy
    if ($planetrow["energy_max"] - $planetrow["energy_used"] < 0) {
        $parse['energy'] = colorRed($energy);
    } else {
        $parse['energy'] = $energy;
    }
    //metal
    $metal = pretty_number($planetrow["metal"]);
    if ($planetrow["metal"] > $planetrow["metal_max"]) {
        $parse['metal'] = colorRed($metal);
    } else {
        $parse['metal'] = $metal;
    }
    //cristal
    $crystal = pretty_number($planetrow["crystal"]);
    if ($planetrow["crystal"] > $planetrow["crystal_max"]) {
        $parse['crystal'] = colorRed($crystal);
    } else {
        $parse['crystal'] = $crystal;
    }
    //deuterium
    $deuterium = pretty_number($planetrow["deuterium"]);
    if ($planetrow["deuterium"] > $planetrow["deuterium_max"]) {
        $parse['deuterium'] = colorNumber($deuterium);
    } else {
        $parse['deuterium'] = $deuterium;
    }
    //esto es un hecho!
    echo parsetemplate(gettemplate('topnav'), $parse);
}
Example #15
0
/**
 * ShowTopNavigationBar.php
 *
 * @version 1
 * @copyright 2008 By Chlorel for XNova
 */
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $_GET, $game_config;
    if ($CurrentUser) {
        if (!$CurrentPlanet) {
            $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true);
        }
        // Aktualisieren der Planeten Ress
        PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
        $NavigationTPL = gettemplate('topnav');
        $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"];
        $parse = $lang;
        $parse['dpath'] = $dpath;
        $parse['image'] = $CurrentPlanet['image'];
        // Genearation de la combo des planetes du joueur
        $parse['planetlist'] = '';
        $ThisUsersPlanets = SortUserPlanets($CurrentUser);
        while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
            if ($CurPlanet["destruyed"] == 0) {
                $parse['planetlist'] .= "\n<option ";
                if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                    // Bon puisque deja on s'y trouve autant le marquer
                    $parse['planetlist'] .= "selected=\"selected\" ";
                }
                $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . "";
                $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
                $parse['planetlist'] .= "&amp;re=0\">";
                // Nom et coordonnées de la planete
                $parse['planetlist'] .= "" . $CurPlanet['name'];
                $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['planet'];
                $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            }
        }
        if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
            $production_level = 0;
        } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $production_level = floor($CurrentPlanet['energy_max'] / abs($CurrentPlanet['energy_used']) * 100);
        } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
            $production_level = 0;
        } else {
            $production_level = 100;
        }
        if ($production_level > 100) {
            $production_level = 100;
        }
        $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]);
        // Energie
        if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
            $parse['energy'] = colorRed($energy);
        } else {
            $parse['energy'] = $energy;
        }
        // Metal
        $parse['metal'] = pretty_number($CurrentPlanet["metal"]);
        $parse['metal_js'] = str_replace(".", "", pretty_number($CurrentPlanet["metal"]));
        if ($CurrentPlanet["metal"] >= $CurrentPlanet["metal_max"]) {
            $parse['metal_per_hour'] = 0;
        } else {
            $metal = abs(floor($CurrentPlanet['metal_perhour'] * 0.01 * $production_level)) + $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
            $parse['metal_per_hour'] = $metal / 3600;
        }
        // Cristal
        $parse['crystal'] = pretty_number($CurrentPlanet["crystal"]);
        $parse['crystal_js'] = str_replace(".", "", pretty_number($CurrentPlanet["crystal"]));
        if ($CurrentPlanet["crystal"] >= $CurrentPlanet["crystal_max"]) {
            $parse['crystal_per_hour'] = 0;
        } else {
            $crystal = abs(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $production_level)) + $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
            $parse['crystal_per_hour'] = $crystal / 3600;
        }
        // Deuterium
        $parse['deuterium'] = pretty_number($CurrentPlanet["deuterium"]);
        $parse['deuterium_js'] = str_replace(".", "", pretty_number($CurrentPlanet["deuterium"]));
        if ($CurrentPlanet["deuterium"] >= $CurrentPlanet["deuterium_max"]) {
            $parse['deuterium_per_hour'] = 0;
        } else {
            $deuterium = abs(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $production_level)) + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
            $parse['deuterium_per_hour'] = $deuterium / 3600;
        }
        // Max Energie
        $energy_max = pretty_number($CurrentPlanet["energy_max"]);
        if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) {
            $parse['energy_max'] = colorRed($energy_max);
        } else {
            $parse['energy_max'] = $energy_max;
        }
        $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']);
        $parse['speed'] = $game_config['resource_multiplier'];
        // Metal maximum
        if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) {
            $parse['metal_max'] = '<font color="#ff0000">';
        } else {
            $parse['metal_max'] = '<font color="#00ff00">';
        }
        $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>";
        $parse['metal_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["metal_max"]));
        // Cristal maximum
        if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) {
            $parse['crystal_max'] = '<font color="#ff0000">';
        } else {
            $parse['crystal_max'] = '<font color="#00ff00">';
        }
        $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}</font>";
        $parse['crystal_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["crystal_max"]));
        // Deuterium maximum
        if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) {
            $parse['deuterium_max'] = '<font color="#ff0000">';
        } else {
            $parse['deuterium_max'] = '<font color="#00ff00">';
        }
        $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}</font>";
        $parse['deuterium_max_js'] = str_replace(".", "", pretty_number($CurrentPlanet["deuterium_max"]));
        // Message
        if ($CurrentUser['new_message'] > 0) {
            $parse['message'] = "<a href=\"?action=internalMessages\" style=\"text-decoration:blink\">[ " . $CurrentUser['new_message'] . " ]</a>";
        } else {
            $parse['message'] = "0";
        }
        // Le tout passe dans la template
        $TopBar = parsetemplate($NavigationTPL, $parse);
    } else {
        $TopBar = "";
    }
    return $TopBar;
}
Example #16
0
 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');
 }
Example #17
0
/**
 * BatimentBuildingPage.php
 *
 * @version 1.1
 * @copyright 2008 by Chlorel for XNova
 *
 * fix by vomi, zeus (team xorbit) for XNova
 */
function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser)
{
    global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET;
    CheckPlanetUsedFields($CurrentPlanet);
    // Tables des batiments possibles par type de planete
    $Allowed['1'] = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44);
    $Allowed['3'] = array(12, 14, 21, 22, 23, 24, 34, 41, 42, 43);
    // Boucle d'interpretation des eventuelles commandes
    if ($CurrentUser['urlaubs_modus'] == 0) {
        if (isset($_GET['cmd'])) {
            // On passe une commande
            $bDoItNow = false;
            $TheCommand = $_GET['cmd'];
            $Gebaude = false;
            if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) {
                $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false);
            }
            //Gebäude-Cheat-Fix Wolle1989
            //ändern für andere Bannzeiten in Sekunden
            $bannzeit = 60;
            // so lassen
            $time = time();
            $bantime = $time + $bannzeit;
            $Gebaude = false;
            if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $_GET['building'])) {
                $Gebaude = IsElementBuyable($CurrentUser, $CurrentPlanet, $_GET['building'], true, false);
            }
            $Element = $_GET['building'];
            if (!$Gebaude) {
                doquery("UPDATE {{table}} SET bana='1', banaday='{$bantime}' WHERE id='{$CurrentUser['id']}'", "users");
                doquery("INSERT INTO {{table}} SET\r\n\t\t\t\t`who` = '{$CurrentUser['username']}',\r\n\t\t\t\t`theme`= 'Cheatversuch',\r\n\t\t\t\t`who2` = '{$CurrentUser['id']}',\r\n\t\t\t\t`time` = '{$time}',\r\n\t\t\t\t`longer` = '{$bantime}',\r\n\t\t\t\t`author` = 'SYSTEM: B',\r\n\t\t\t\t`email` = 'n'", 'banned');
                message($lang['CHEATATTEMPT'], $lang['CHEATATTEMPT_TITLE']);
                die;
            }
            $ListID = $_GET['listid'];
            if (isset($Element)) {
                if (!strchr($Element, ",")) {
                    if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) {
                        $bDoItNow = true;
                    }
                }
            } elseif (isset($ListID)) {
                $bDoItNow = true;
            }
            //Hier wird geprüft ob ein ; in die URL(GET)Geschrieben wurde
            foreach ($_GET as $check_url) {
                if (eregi(";", $check_url)) {
                    die($lang['ANTICHEAT_MESSAGE']);
                }
            }
            //Hier wird gescheckt ob ein user das zeichen ; in einen INPUT schreibt
            foreach ($_POST as $check_pos) {
                if (eregi(";", $check_post, $check_url)) {
                    die($lang['ANTICHEAT_MESSAGE']);
                }
            }
            if ($bDoItNow == true) {
                switch ($TheCommand) {
                    case 'cancel':
                        // Interrompre le premier batiment de la queue
                        CancelBuildingFromQueue($CurrentPlanet, $CurrentUser);
                        break;
                    case 'remove':
                        // Supprimer un element de la queue (mais pas le premier)
                        // $RemID -> element de la liste a supprimer
                        RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID);
                        break;
                    case 'insert':
                        // Insere un element dans la queue
                        AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true);
                        break;
                    case 'destroy':
                        // Detruit un batiment deja construit sur la planete !
                        AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false);
                        break;
                    default:
                        break;
                }
                // switch
            }
        }
    }
    SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser);
    $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser);
    // On enregistre ce que l'on a modifi� dans planet !
    BuildingSavePlanetRecord($CurrentPlanet);
    // On enregistre ce que l'on a eventuellement modifi� dans users
    BuildingSaveUserRecord($CurrentUser);
    if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) {
        $CanBuildElement = true;
    } else {
        $CanBuildElement = false;
    }
    $SubTemplate = gettemplate('buildings_builds_row');
    $BuildingPage = "";
    foreach ($lang['tech'] as $Element => $ElementName) {
        if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) {
            $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet);
            if ($CurrentPlanet["field_current"] < $CurrentMaxFields - $Queue['lenght']) {
                $RoomIsOk = true;
            } else {
                $RoomIsOk = false;
            }
            if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) {
                $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false);
                $parse = array();
                $parse['dpath'] = $dpath;
                $parse['i'] = $Element;
                $BuildingLevel = $CurrentPlanet[$resource[$Element]];
                $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")";
                // show energy on BuildingPage
                $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"];
                $BuildTemp = $CurrentPlanet['temp_max'];
                $CurrentBuildtLvl = $BuildingLevel;
                $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
                $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                $ActualNeed = floor($Prod[4]);
                $BuildLevel++;
                $Prod[4] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                $EnergyNeed = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed)));
                if ($Element >= 1 && $Element <= 3) {
                    $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                    $BuildLevel = 0;
                } elseif ($Element == 4 || $Element == 12) {
                    $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                    $BuildLevel = 0;
                }
                // end of 'show energy on BuildingPage'
                $parse['n'] = $ElementName;
                $parse['descriptions'] = $lang['res']['descriptions'][$Element];
                $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
                $parse['time'] = ShowBuildTime($ElementBuildTime);
                $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element);
                $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element);
                $parse['click'] = '';
                $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1;
                if ($Element == 31) {
                    // Special Laboratoire
                    if ($CurrentUser["b_tech_planet"] != 0 && $game_config['BuildLabWhileRun'] != 1) {
                        // Variable qui contient le parametre
                        // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config)
                        $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>";
                    }
                }
                if ($parse['click'] != '') {
                    // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !!
                } elseif ($RoomIsOk && $CanBuildElement) {
                    if ($Queue['lenght'] == 0) {
                        if ($NextBuildLevel == 1) {
                            if ($HaveRessources == true) {
                                $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>";
                            } else {
                                $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>";
                            }
                        } else {
                            if ($HaveRessources == true) {
                                $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>";
                            } else {
                                $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>";
                            }
                        }
                    } else {
                        if ($HaveRessources == true) {
                            $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>";
                        } else {
                            $parse['click'] = "<font color=#FF0000>" . $lang['InBuildQueue'] . "</font>";
                        }
                    }
                } elseif ($RoomIsOk && !$CanBuildElement) {
                    if ($NextBuildLevel == 1) {
                        $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>";
                    } else {
                        $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>";
                    }
                } else {
                    $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>";
                }
                $BuildingPage .= parsetemplate($SubTemplate, $parse);
            }
        }
    }
    $parse = $lang;
    // Faut il afficher la liste de construction ??
    if ($Queue['lenght'] > 0) {
        $parse['BuildListScript'] = InsertBuildListScript("buildings");
        $parse['BuildList'] = $Queue['buildlist'];
    } else {
        $parse['BuildListScript'] = "";
        $parse['BuildList'] = "";
    }
    $parse['planet_field_current'] = $CurrentPlanet["field_current"];
    $parse['planet_field_max'] = $CurrentPlanet['field_max'] + $CurrentPlanet[$resource[33]] * 5;
    $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current'];
    $parse['BuildingsList'] = $BuildingPage;
    $page .= parsetemplate(gettemplate('buildings_builds'), $parse);
    display($page, $lang['Builds']);
}
Example #18
0
/**
 * BatimentBuildingPage.php
 *
 * @version 1.1
 * @copyright 2008 by Chlorel for XNova
 */
function BatimentBuildingPage(&$CurrentPlanet, $CurrentUser)
{
    global $ProdGrid, $lang, $resource, $reslist, $phpEx, $dpath, $game_config, $_GET, $user;
    CheckPlanetUsedFields($CurrentPlanet);
    PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
    // Was gebaut werden darf in Abhängikeit zum gewählten Volk.
    switch ($user['volk']) {
        case "A":
            $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 27, 31, 33, 34, 44);
            $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43);
            break;
        case "B":
            $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 45);
            $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43);
            break;
        case "C":
            $Allowed['1'] = array(1, 2, 3, 11, 12, 14, 15, 21, 22, 23, 24, 25, 26, 31, 33, 34, 44, 46);
            $Allowed['3'] = array(4, 12, 14, 15, 21, 25, 26, 34, 41, 42, 43, 46);
            break;
    }
    //Werte auf null setzen
    $bThisIsCheated = 0;
    $bDoItNow = 0;
    $TheCommand = 0;
    $Element = 0;
    $ListID = 0;
    // Boucle d'interpretation des eventuelles commandes
    if (isset($_GET['cmd'])) {
        // On passe une commande
        $bThisIsCheated = false;
        $bDoItNow = false;
        $TheCommand = $_GET['cmd'];
        $Element = $_GET['building'];
        $ListID = $_GET['listid'];
        if (isset($Element)) {
            if (!strchr($Element, " ")) {
                if (!strchr($Element, ",")) {
                    if (!strchr($Element, ";")) {
                        if (in_array(trim($Element), $Allowed[$CurrentPlanet['planet_type']])) {
                            $bDoItNow = true;
                        } else {
                            $bThisIsCheated = true;
                        }
                    } else {
                        $bThisIsCheated = true;
                    }
                } else {
                    $bThisIsCheated = true;
                }
            } else {
                $bThisIsCheated = true;
            }
        } elseif (isset($ListID)) {
            $bDoItNow = true;
        }
        if ($bDoItNow == true) {
            $Element = abs($Element);
            switch ($TheCommand) {
                case 'cancel':
                    // Interrompre le premier batiment de la queue
                    CancelBuildingFromQueue($CurrentPlanet, $CurrentUser);
                    break;
                case 'remove':
                    // Supprimer un element de la queue (mais pas le premier)
                    // $RemID -> element de la liste a supprimer
                    RemoveBuildingFromQueue($CurrentPlanet, $CurrentUser, $ListID);
                    break;
                case 'insert':
                    // Insere un element dans la queue
                    AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, true);
                    break;
                case 'destroy':
                    // Detruit un batiment deja construit sur la planete !
                    AddBuildingToQueue($CurrentPlanet, $CurrentUser, $Element, false);
                    break;
                default:
                    break;
            }
            // switch
        } elseif ($bThisIsCheated == true) {
            ResetThisFuckingCheater($CurrentUser['id']);
        }
        sleep(1);
        // es wird 1 sekunde geschlafen
    }
    SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser);
    $Queue = ShowBuildingQueue($CurrentPlanet, $CurrentUser);
    // On enregistre ce que l'on a modifi&eacute; dans planet !
    BuildingSavePlanetRecord($CurrentPlanet);
    // On enregistre ce que l'on a eventuellement modifi&eacute; dans users
    BuildingSaveUserRecord($CurrentUser);
    if ($Queue['lenght'] < MAX_BUILDING_QUEUE_SIZE) {
        $CanBuildElement = true;
    } else {
        $CanBuildElement = false;
    }
    $SubTemplate = gettemplate('buildings_builds_row');
    $BuildingPage = "";
    $zaehler = 1;
    foreach ($lang['tech'] as $Element => $ElementName) {
        if (in_array($Element, $Allowed[$CurrentPlanet['planet_type']])) {
            $CurrentMaxFields = CalculateMaxPlanetFields($CurrentPlanet);
            if ($CurrentPlanet['field_current'] < $CurrentMaxFields - $Queue['lenght']) {
                $RoomIsOk = true;
            } else {
                $RoomIsOk = false;
            }
            if (IsTechnologieAccessible($CurrentUser, $CurrentPlanet, $Element)) {
                $HaveRessources = IsElementBuyable($CurrentUser, $CurrentPlanet, $Element, true, false);
                $parse = array();
                $parse['dpath'] = $dpath;
                $parse['i'] = $Element;
                $BuildingLevel = $CurrentPlanet[$resource[$Element]];
                $parse['nivel'] = $BuildingLevel == 0 ? "" : " (" . $lang['level'] . " " . $BuildingLevel . ")";
                $parse['n'] = $ElementName;
                $parse['descriptions'] = $lang['res']['descriptions'][$Element];
                $ElementBuildTime = GetBuildingTime($CurrentUser, $CurrentPlanet, $Element);
                $parse['time'] = ShowBuildTime($ElementBuildTime);
                $parse['price'] = GetElementPrice($CurrentUser, $CurrentPlanet, $Element);
                $parse['rest_price'] = GetRestPrice($CurrentUser, $CurrentPlanet, $Element);
                $parse['click'] = '';
                $NextBuildLevel = $CurrentPlanet[$resource[$Element]] + 1;
                // show energy on BuildingPage
                //================================
                $BuildLevelFactor = $CurrentPlanet[$resource[$Element] . "_porcent"];
                $BuildTemp = $CurrentPlanet['temp_max'];
                $CurrentBuildtLvl = $BuildingLevel;
                $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
                $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
                $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                if ($Element != 12) {
                    $ActualNeed = floor($Prod[11]);
                } else {
                    $ActualNeed = floor($Prod[3]);
                }
                $BuildLevel++;
                $Prod[3] = floor(eval($ProdGrid[$Element]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
                $Prod[11] = floor(eval($ProdGrid[$Element]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
                if ($Element != 12) {
                    $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID]));
                    $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd)));
                    $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[11])));
                    $EnergyNeed = colorNumber(pretty_number(floor($Prod[11] - $ActualNeed)));
                } else {
                    $bloc['build_prod'] = pretty_number(floor($Prod[11]));
                    $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[11] - $ActualProd)));
                    $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3])));
                    $EnergyNeed = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed)));
                }
                if ($Element >= 1 && $Element <= 4) {
                    $parse['build_need_diff'] = "(" . "<font color=#FF0000>" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                    $BuildLevel = 0;
                } elseif ($Element == 11 || $Element == 12) {
                    $parse['build_need_diff'] = "(" . "<font color=#00FF00>+" . $EnergyNeed . " " . $lang['Energy'] . "</font>" . ")";
                    $BuildLevel = 0;
                }
                //================================
                if ($Element == 31) {
                    // Sp&eacute;cial Laboratoire
                    if ($CurrentUser['b_tech_planet'] != 0 && $game_config['BuildLabWhileRun'] != 1) {
                        // Variable qui contient le parametre
                        // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config)
                        $parse['click'] = "<font color=#FF0000>" . $lang['in_working'] . "</font>";
                    }
                }
                if ($Element == 15) {
                    // Spezialgebäude Nanitenfabrik
                    if ($CurrentPlanet['robot_factory'] <= 9) {
                        // On verifie si on a le droit d'evoluer pendant les recherches (Setting dans config)
                        $parse['click'] = "<font color=#FF0000>" . $lang['no Nani'] . "</font>";
                    }
                }
                if ($Element == 45) {
                    // Spezialgebäude Mondtransformer
                    if ($CurrentPlanet['mondtransformer'] == 1) {
                        // Es darf nur ein Mondtransformer pro Planet gebaut werden
                        $parse['click'] = "<font color=#FF0000>" . $lang['only_one_mondtransformer'] . "</font>";
                    }
                }
                if ($parse['click'] != '') {
                    // Bin on ne fait rien, vu que l'on l'a deja fait au dessus !!
                } elseif ($RoomIsOk && $CanBuildElement) {
                    if ($Queue['lenght'] == 0) {
                        if ($NextBuildLevel == 1) {
                            if ($HaveRessources == true) {
                                $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildFirstLevel'] . "</font></a>";
                            } else {
                                $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>";
                            }
                        } else {
                            if ($HaveRessources == true) {
                                $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font></a>";
                            } else {
                                $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>";
                            }
                        }
                    } else {
                        $parse['click'] = "<a href=\"?cmd=insert&building=" . $Element . "\"><font color=#00FF00>" . $lang['InBuildQueue'] . "</font></a>";
                    }
                } elseif ($RoomIsOk && !$CanBuildElement) {
                    if ($NextBuildLevel == 1) {
                        $parse['click'] = "<font color=#FF0000>" . $lang['BuildFirstLevel'] . "</font>";
                    } else {
                        $parse['click'] = "<font color=#FF0000>" . $lang['BuildNextLevel'] . " " . $NextBuildLevel . "</font>";
                    }
                } else {
                    $parse['click'] = "<font color=#FF0000>" . $lang['NoMoreSpace'] . "</font>";
                }
                if ($zaehler % 3 == 0) {
                    $parse['trclose'] = '</tr>';
                    $zaehler++;
                } else {
                    $parse['trclose'] = '';
                    $zaehler++;
                }
                $BuildingPage .= parsetemplate($SubTemplate, $parse);
            }
        }
    }
    $parse = $lang;
    // Faut il afficher la liste de construction ??
    if ($Queue['lenght'] > 0) {
        $parse['BuildListScript'] = InsertBuildListScript("buildings");
        $parse['BuildList'] = $Queue['buildlist'];
    } else {
        $parse['BuildListScript'] = "";
        $parse['BuildList'] = "";
    }
    $parse['planet_field_current'] = $CurrentPlanet['field_current'];
    $parse['planet_field_max'] = $CurrentPlanet['field_max'];
    $parse['field_libre'] = $parse['planet_field_max'] - $CurrentPlanet['field_current'];
    $parse['BuildingsList'] = $BuildingPage;
    $page .= parsetemplate(gettemplate('buildings_builds'), $parse);
    display($page, $lang['Builds']);
}
Example #19
0
/**
 *  2Moons
 *  Copyright (C) 2011  Slaver
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @package 2Moons
 * @author Slaver <*****@*****.**>
 * @copyright 2009 Lucky <*****@*****.**> (XGProyecto)
 * @copyright 2011 Slaver <*****@*****.**> (Fork/2Moons)
 * @license http://www.gnu.org/licenses/gpl.html GNU GPLv3 License
 * @version 1.3 (2011-01-21)
 * @link http://code.google.com/p/2moons/
 */
function ShowResourcesPage()
{
    global $LNG, $ProdGrid, $resource, $reslist, $CONF, $db, $ExtraDM, $USER, $PLANET, $OfficerInfo;
    if ($PLANET['planet_type'] == 3 || $USER['urlaubs_modus'] == 1) {
        $CONF['metal_basic_income'] = 0;
        $CONF['crystal_basic_income'] = 0;
        $CONF['deuterium_basic_income'] = 0;
    }
    $SubQry = "";
    if ($_POST && $USER['urlaubs_modus'] == 0) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($PLANET[$FieldName]) && in_array($Value, $reslist['procent'])) {
                $Value = $Value / 10;
                $PLANET[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
        if (isset($SubQry)) {
            $QryUpdatePlanet = "UPDATE " . PLANETS . " SET ";
            $QryUpdatePlanet .= "`id` = '" . $PLANET['id'] . "' ";
            $QryUpdatePlanet .= $SubQry;
            $QryUpdatePlanet .= "WHERE ";
            $QryUpdatePlanet .= "`id` = '" . $PLANET['id'] . "';";
            $db->query($QryUpdatePlanet);
        }
        redirectTo("game.php?page=resources");
        exit;
    }
    $PlanetRess = new ResourceUpdate();
    $PlanetRess->CalcResource();
    $PlanetRess->SavePlanetToDB();
    $template = new template();
    if ($PLANET['energy_max'] == 0 && $PLANET['energy_used'] > 0) {
        $post_porcent = 0;
    } elseif ($PLANET['energy_max'] > 0 && abs($PLANET['energy_used']) > $PLANET['energy_max']) {
        $post_porcent = floor($PLANET['energy_max'] / ($PLANET['energy_used'] * -1) * 100);
    } elseif ($PLANET['energy_max'] == 0 && abs($PLANET['energy_used']) > $PLANET['energy_max']) {
        $post_porcent = 0;
    } else {
        $post_porcent = 100;
    }
    if ($post_porcent > 100) {
        $post_porcent = 100;
    }
    $BuildTemp = $PLANET['temp_max'];
    $BuildEnergy = $USER[$resource[113]];
    $metal = array();
    $crystal = array();
    $deuterium = array();
    $deu_en = array();
    $energy = array();
    $energy_en = array();
    foreach ($reslist['prod'] as $ProdID) {
        if ($PLANET[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $PLANET[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $PLANET[$resource[$ProdID]];
            $metal[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']);
            $crystal[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']);
            if ($ProdID < 4) {
                $deuterium[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * (0.01 * $post_porcent) * $CONF['resource_multiplier']);
                $energy[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $CONF['resource_multiplier']);
            } else {
                if ($ProdID == 12 && $PLANET['deuterium'] == 0) {
                    continue;
                }
                $deu_en[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $CONF['resource_multiplier']);
                $energy_en[$ProdID] = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $CONF['resource_multiplier']);
            }
            $thisdeu = isset($deuterium[$ProdID]) ? $deuterium[$ProdID] : $deu_en[$ProdID];
            $thisenergy = isset($energy[$ProdID]) ? $energy[$ProdID] : $energy_en[$ProdID];
            $CurrPlanetList[] = array('name' => $resource[$ProdID], 'type' => $LNG['tech'][$ProdID], 'level' => $ProdID > 200 ? $LNG['rs_amount'] : $LNG['rs_lvl'], 'level_type' => $PLANET[$resource[$ProdID]], 'metal_type' => colorNumber(pretty_number($metal[$ProdID])), 'crystal_type' => colorNumber(pretty_number($crystal[$ProdID])), 'deuterium_type' => colorNumber(pretty_number($thisdeu)), 'energy_type' => colorNumber(pretty_number($thisenergy)), 'optionsel' => $PLANET[$resource[$ProdID] . "_porcent"] * 10);
        }
    }
    $metal_total = $PLANET['metal_perhour'] + $CONF['metal_basic_income'] * $CONF['resource_multiplier'];
    $crystal_total = $PLANET['crystal_perhour'] + $CONF['crystal_basic_income'] * $CONF['resource_multiplier'];
    $deuterium_total = $PLANET['deuterium_perhour'] + $CONF['deuterium_basic_income'] * $CONF['resource_multiplier'];
    $energy_total = $PLANET['energy_max'] + $CONF['energy_basic_income'] * $CONF['resource_multiplier'] - abs($PLANET['energy_used']);
    foreach ($reslist['procent'] as $procent) {
        $OptionSelector[$procent] = $procent . "%";
    }
    $template->assign_vars(array('bonus_metal' => colorNumber(pretty_number(array_sum($metal) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['metal_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_crystal' => colorNumber(pretty_number(array_sum($crystal) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['crystal_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_deuterium' => colorNumber(pretty_number(array_sum($deuterium) * ($USER['rpg_geologue'] * $OfficerInfo[601]['info'] + $USER['deuterium_proc_tech'] * 0.02 + (TIMESTAMP - $USER[$resource[703]] <= 0 ? $ExtraDM[703]['add'] : 0)))), 'bonus_energy' => colorNumber(pretty_number(array_sum($energy_en) * ($USER['rpg_ingenieur'] * $OfficerInfo[603]['info'] + (TIMESTAMP - $USER[$resource[704]] <= 0 ? $ExtraDM[704]['add'] : 0)))), 'CurrPlanetList' => $CurrPlanetList, 'Production_of_resources_in_the_planet' => str_replace('%s', $PLANET['name'], $LNG['rs_production_on_planet']), 'metal_basic_income' => $CONF['metal_basic_income'] * $CONF['resource_multiplier'], 'crystal_basic_income' => $CONF['crystal_basic_income'] * $CONF['resource_multiplier'], 'deuterium_basic_income' => $CONF['deuterium_basic_income'] * $CONF['resource_multiplier'], 'energy_basic_income' => $CONF['energy_basic_income'] * $CONF['resource_multiplier'], 'metalmax' => colorNumber($PLANET['metal_max'] / 1000, pretty_number($PLANET['metal_max'] / 1000) . "k"), 'crystalmax' => colorNumber($PLANET['crystal_max'] / 1000, pretty_number($PLANET['crystal_max'] / 1000) . "k"), 'deuteriummax' => colorNumber($PLANET['deuterium_max'] / 1000, pretty_number($PLANET['deuterium_max'] / 1000) . "k"), 'metal_total' => colorNumber(pretty_number($metal_total)), 'crystal_total' => colorNumber(pretty_number($crystal_total)), 'option' => $OptionSelector, 'deuterium_total' => colorNumber(pretty_number($deuterium_total)), 'energy_total' => colorNumber(pretty_number($energy_total)), 'daily_metal' => colorNumber(pretty_number(floor($metal_total * 24))), 'weekly_metal' => colorNumber(pretty_number(floor($metal_total * 24 * 7))), 'daily_crystal' => colorNumber(pretty_number(floor($crystal_total * 24))), 'weekly_crystal' => colorNumber(pretty_number(floor($crystal_total * 24 * 7))), 'daily_deuterium' => colorNumber(pretty_number(floor($deuterium_total * 24))), 'weekly_deuterium' => colorNumber(pretty_number(floor($deuterium_total * 24 * 7))), 'Metal' => $LNG['Metal'], 'Crystal' => $LNG['Crystal'], 'Deuterium' => $LNG['Deuterium'], 'Energy' => $LNG['Energy'], 'rs_basic_income' => $LNG['rs_basic_income'], 'rs_storage_capacity' => $LNG['rs_storage_capacity'], 'rs_sum' => $LNG['rs_sum'], 'rs_daily' => $LNG['rs_daily'], 'rs_weekly' => $LNG['rs_weekly'], 'rs_calculate' => $LNG['rs_calculate'], 'rs_ress_bonus' => $LNG['rs_ress_bonus']));
    $template->show("resources_overview.tpl");
}
Example #20
0
/**
 * ShowTopNavigationsBar.php
 * @Licence GNU (GPL)
 * @version 1.0
 * @copyright 2009
 * @Team Space Beginner
 *
 **/
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $_GET, $game_config, $dpath;
    includeLang('menu');
    if ($CurrentUser) {
        if (!$CurrentPlanet) {
            $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true);
        }
        if ($CurrentPlanet["metal"] < 0) {
            $CurrentPlanet["metal"] = 1;
        }
        if ($CurrentPlanet["crystal"] < 0) {
            $CurrentPlanet["crystal"] = 1;
        }
        if ($CurrentPlanet["deuterium"] < 0) {
            $CurrentPlanet["deuterium"] = 1;
        }
        if ($CurrentPlanet["appolonium"] < 0) {
            $CurrentPlanet["appolonium"] = 1;
        }
        if ($CurrentUser['urlaubs_modus'] == 0) {
            PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
        } else {
            doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0,`appolonium_mine_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets");
        }
        $NavigationTPL = gettemplate('menu/menu');
        $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"];
        $parse = $lang;
        $parse['dpath'] = $dpath;
        $parse['image'] = $CurrentPlanet['image'];
        $parse['username'] = $CurrentUser['username'];
        $parse['user-id'] = $CurrentUser['id'];
        $parse['user-zone'] = $CurrentUser['angriffszone'];
        $parse['name'] = $game_config['game_name'];
        $parse['nummer'] = $game_config['VERSION'];
        $parse['forum_url'] = $game_config['forum_url'];
        $parse['lm_tx_serv'] = $game_config['resource_multiplier'];
        $parse['lm_tx_game'] = $game_config['game_speed'] / 2500;
        $parse['lm_tx_fleet'] = $game_config['fleet_speed'] / 2500;
        $parse['lm_tx_queue'] = MAX_FLEET_OR_DEFS_PER_ROW;
        $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus</td></tr></table>' : '';
        $parse['show_attacklock_notice'] = $game_config['attack_disabled'] ? '<table width="100%" style="border: 3px solid red; text-align:center;text-decoration:blink;color: #ff0000;"><tr><td>Angriffsperre aktiviert Informationen im Forum</td></tr></table>' : '';
        switch ($CurrentUser['volk']) {
            case "A":
                switch ($CurrentUser['avatar']) {
                    case "0":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_01.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    case "A":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_01.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    default:
                        $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                }
                $parse['volk1'] = "" . $lang['menu']['401'] . "";
                break;
            case "B":
                switch ($CurrentUser['avatar']) {
                    case "0":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_02.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    case "B":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_02.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    default:
                        $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                }
                $parse['volk1'] = "" . $lang['menu']['402'] . "";
                break;
            case "C":
                switch ($CurrentUser['avatar']) {
                    case "0":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_03.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    case "C":
                        $parse['volk'] = "<img src=\"./styl/image/volk/volk_03.jpg\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                    default:
                        $parse['volk'] = "<img src=\"" . $CurrentUser['avatar'] . "\" style=\"height:33px; width:33px;\" alt=\"\">";
                        break;
                }
                $parse['volk1'] = "" . $lang['menu']['403'] . "";
                break;
            case "0":
                $parse['volk'] = "<img src=\"./styl/image/volk/volk_04.png\" style=\"height:33px; width:33px;\" alt=\"\">";
                $parse['volk1'] = "" . $lang['menu']['404'] . "";
                break;
        }
        if ($CurrentUser['authlevel'] > 0) {
            $parse['ADMIN_LINK'] = "<a href=\"admin/index.php\" target=\"_blank\"><font size=\"1\" color=\"red\"><b>" . $lang['menu']['506'] . "</b></font></a> -";
        } else {
            $parse['ADMIN_LINK'] = "";
        }
        $OnlineUsers = doquery("SELECT COUNT(*) FROM {{table}} WHERE onlinetime>='" . (time() - 15 * 60) . "'", 'users', 'true');
        if ($CurrentUser['authlevel'] > 0) {
            $parse['NumberMembersOnline'] = "" . $lang['menu']['900'] . "" . $lang['menu']['501'] . " " . $OnlineUsers[0] . "";
        } else {
            $parse['NumberMembersOnline'] = "";
        }
        $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}} ", "messages"));
        if ($CurrentUser['authlevel'] > 0) {
            $parse['cantmessa'] = "" . $lang['menu']['502'] . " " . $Consulta[0] . "";
        } else {
            $parse['cantmessa'] = "";
        }
        $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}}", "supp"));
        if ($CurrentUser['authlevel'] > 0) {
            $parse['cantsupp'] = "" . $lang['menu']['504'] . " " . $Consulta[0] . "";
        } else {
            $parse['cantsupp'] = "";
        }
        $Consulta = mysql_fetch_row(doquery("SELECT COUNT(*) FROM {{table}}", "errors"));
        if ($CurrentUser['authlevel'] > 0) {
            $parse['canterror'] = "" . $lang['menu']['505'] . " " . $Consulta[0] . "" . $lang['menu']['901'] . "";
        } else {
            $parse['canterror'] = "";
        }
        if ($game_config['angriffszone'] == 1) {
            $parse['info_01'] = "" . $lang['menu']['300'] . "";
        } else {
            $parse['info_01'] = "" . $lang['menu']['301'] . "";
        }
        if ($game_config['over'] == 1) {
            $parse['1be_aa'] = "<a href=\"overview.php\" target=\"_self\">                      " . $lang['menu']['101'] . "</a>";
        } else {
            $parse['1be_aa'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['gala'] == 1) {
            $parse['1be_ab'] = "<a href=\"galaxy.php?mode=0\" target=\"_self\">             " . $lang['menu']['102'] . "</a>";
        } else {
            $parse['1be_ab'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['fleet'] == 1) {
            $parse['1be_ac'] = "<a href=\"fleet.php\" target=\"_self\">                         " . $lang['menu']['103'] . "</a>";
        } else {
            $parse['1be_ac'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['mess'] == 1) {
            $parse['1be_ad'] = "<a href=\"messages.php\" target=\"_self\">                      " . $lang['menu']['104'] . "</a>";
        } else {
            $parse['1be_ad'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['gebau'] == 1) {
            $parse['2be_aa'] = "<a href=\"buildings.php\" target=\"_self\">                     " . $lang['menu']['105'] . "</a>";
        } else {
            $parse['2be_aa'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['forsch'] == 1) {
            $parse['2be_ab'] = "<a href=\"buildings.php?mode=research\" target=\"_self\">       " . $lang['menu']['106'] . "</a>";
        } else {
            $parse['2be_ab'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['armada'] == 1) {
            $parse['2be_ac'] = "<a href=\"buildings.php?mode=fleet\" target=\"_self\">          " . $lang['menu']['107'] . "</a>";
        } else {
            $parse['2be_ac'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['abwehr'] == 1) {
            $parse['2be_ad'] = "<a href=\"buildings.php?mode=defense\" target=\"_self\">        " . $lang['menu']['108'] . "</a>";
        } else {
            $parse['2be_ad'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['officier'] == 1) {
            $parse['3be_aa'] = "<a href=\"officier.php\" target=\"_self\">                      " . $lang['menu']['109'] . "</a>";
        } else {
            $parse['3be_aa'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['marchand'] == 1) {
            $parse['3be_ab'] = "<a href=\"marchand.php\" target=\"_self\">                      " . $lang['menu']['110'] . "</a>";
        } else {
            $parse['3be_ab'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['annonce'] == 1) {
            $parse['3be_ac'] = "<a href=\"annonce.php\" target=\"_self\">                       " . $lang['menu']['111'] . "</a>";
        } else {
            $parse['3be_ac'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['schrotti'] == 1) {
            $parse['3be_ad'] = "<a href=\"schrotti.php\" target=\"_self\">                      " . $lang['menu']['112'] . "</a>";
        } else {
            $parse['3be_ad'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['imperium'] == 1) {
            $parse['4be_aa'] = "<a href=\"imperium.php\" target=\"_self\">                      " . $lang['menu']['113'] . "</a>";
        } else {
            $parse['4be_aa'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['alliance'] == 1) {
            $parse['4be_ab'] = "<a href=\"alliance.php\" target=\"_self\">                      " . $lang['menu']['114'] . "</a>";
        } else {
            $parse['4be_ab'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['resources'] == 1) {
            $parse['4be_ac'] = "<a href=\"resources.php\" target=\"_self\">                     " . $lang['menu']['115'] . "</a>";
        } else {
            $parse['4be_ac'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['techtree'] == 1) {
            $parse['4be_ad'] = "<a href=\"techtree.php\" target=\"_self\">                      " . $lang['menu']['116'] . "</a>";
        } else {
            $parse['4be_ad'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['reco'] == 1) {
            $parse['1be_ba'] = "<a href=\"records.php\" target=\"_self\">                       " . $lang['menu']['201'] . "</a>";
        } else {
            $parse['1be_ba'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['stat'] == 1) {
            $parse['1be_bb'] = "<a href=\"game.php?page=stat\" target=\"_self\">                " . $lang['menu']['202'] . "</a>";
        } else {
            $parse['1be_bb'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['topk'] == 1) {
            $parse['1be_bc'] = "<a href=\"game.php?page=ruhm\" target=\"_self\">                " . $lang['menu']['203'] . "</a>";
        } else {
            $parse['1be_bc'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['simu'] == 1) {
            $parse['1be_bd'] = "<a href=\"simulator.php\" target=\"_self\">                     " . $lang['menu']['204'] . "</a>";
        } else {
            $parse['1be_bd'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['note'] == 1) {
            $parse['2be_ba'] = "<a href=\"notes.php\" target=\"_self\">                         " . $lang['menu']['205'] . "</a>";
        } else {
            $parse['2be_ba'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['budd'] == 1) {
            $parse['2be_bb'] = "<a href=\"buddy.php\" target=\"_self\">                         " . $lang['menu']['206'] . "</a>";
        } else {
            $parse['2be_bb'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['chat'] == 1) {
            $parse['2be_bc'] = "<a href=\"chat.php\" target=\"_self\">                          " . $lang['menu']['207'] . "</a>";
        } else {
            $parse['2be_bc'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['sear'] == 1) {
            $parse['2be_bd'] = "<a href=\"search.php\" target=\"_self\">                        " . $lang['menu']['208'] . "</a>";
        } else {
            $parse['2be_bd'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['decl'] == 1) {
            $parse['3be_ba'] = "<a href=\"add_declare.php\" target=\"_self\">                   " . $lang['menu']['209'] . "</a>";
        } else {
            $parse['3be_ba'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['rule'] == 1) {
            $parse['3be_bb'] = "<a href=\"rules.html\" target=\"_self\">                         " . $lang['menu']['210'] . "</a>";
        } else {
            $parse['3be_bb'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['conn'] == 1) {
            $parse['3be_bc'] = "<a href=\"contact.php\" target=\"_self\">                       " . $lang['menu']['211'] . "</a>";
        } else {
            $parse['3be_bc'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['supp'] == 1) {
            $parse['3be_bd'] = "<a href=\"support.php\" target=\"_self\">                       " . $lang['menu']['212'] . "</a>";
        } else {
            $parse['3be_bd'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['bann'] == 1) {
            $parse['4be_ba'] = "<a href=\"banned.php\" target=\"_self\">                        " . $lang['menu']['213'] . "</a>";
        } else {
            $parse['4be_ba'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        if ($game_config['opti'] == 1) {
            $parse['4be_bb'] = "<a href=\"options.php\" target=\"_self\">                       " . $lang['menu']['214'] . "</a>";
        } else {
            $parse['4be_bb'] = " <u>" . $lang['menu']['500'] . "</u>";
        }
        $parse['planetlist'] = '';
        $ThisUsersPlanets = SortUserPlanets($CurrentUser);
        while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
            if ($CurPlanet["destruyed"] == 0) {
                $parse['planetlist'] .= "\n<option ";
                if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                    $parse['planetlist'] .= "selected=\"selected\" ";
                }
                $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . "";
                $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
                $parse['planetlist'] .= "&amp;re=0\">";
                $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['planet'];
                $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            }
        }
        $parse['planet_name'] = "" . $CurrentPlanet['name'];
        $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]);
        if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
            $parse['energy'] = colorRed($energy);
        } else {
            $parse['energy'] = $energy;
        }
        $metal = pretty_number($CurrentPlanet["metal"]);
        if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) {
            $parse['metal'] = colorRed($metal);
        } else {
            $parse['metal'] = $metal;
        }
        $crystal = pretty_number($CurrentPlanet["crystal"]);
        if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) {
            $parse['crystal'] = colorRed($crystal);
        } else {
            $parse['crystal'] = $crystal;
        }
        $deuterium = pretty_number($CurrentPlanet["deuterium"]);
        if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) {
            $parse['deuterium'] = colorRed($deuterium);
        } else {
            $parse['deuterium'] = $deuterium;
        }
        $appolonium = pretty_number($CurrentPlanet["appolonium"]);
        if ($CurrentPlanet["appolonium"] > $CurrentPlanet["appolonium_max"]) {
            $parse['appolonium'] = colorRed($appolonium);
        } else {
            $parse['appolonium'] = $appolonium;
        }
        $energy_max = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet['energy_max'] / 100 * $CurrentUser['energy_tech']);
        if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) {
            $parse['energy_max'] = colorRed($energy_max);
        } else {
            $parse['energy_max'] = $energy_max;
        }
        $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] / 100 * $CurrentUser['energy_tech'])));
        if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) {
            $parse['metal_max'] = '<font color="#ff0000">';
        } else {
            $parse['metal_max'] = '<font color="#00ff00">';
        }
        $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"]) . " {$lang['']}</font>";
        if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) {
            $parse['crystal_max'] = '<font color="#ff0000">';
        } else {
            $parse['crystal_max'] = '<font color="#00ff00">';
        }
        $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"]) . " {$lang['']}</font>";
        if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) {
            $parse['deuterium_max'] = '<font color="#ff0000">';
        } else {
            $parse['deuterium_max'] = '<font color="#00ff00">';
        }
        $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"]) . " {$lang['']}</font>";
        if ($CurrentPlanet["appolonium_max"] < $CurrentPlanet["appolonium"]) {
            $parse['appolonium_max'] = '<font color="#ff0000">';
        } else {
            $parse['appolonium_max'] = '<font color="#00ff00">';
        }
        $parse['appolonium_max'] .= pretty_number($CurrentPlanet["appolonium_max"]) . " {$lang['']}</font>";
        $parse['metal_perhour'] .= $CurrentPlanet["metal_perhour"] + $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
        $parse['crystal_perhour'] .= $CurrentPlanet["crystal_perhour"] + $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
        $parse['deuterium_perhour'] .= $CurrentPlanet["deuterium_perhour"] + $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
        $parse['appolonium_perhour'] .= $CurrentPlanet["appolonium_perhour"] + $game_config['appolonium_basic_income'] * $game_config['resource_multiplier'];
        $parse['metalh'] .= round($CurrentPlanet["metal"]);
        $parse['crystalh'] .= round($CurrentPlanet["crystal"]);
        $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]);
        $parse['appoloniumh'] .= round($CurrentPlanet["appolonium"]);
        $parse['metal_mmax'] .= $CurrentPlanet["metal_max"] * MAX_OVERFLOW;
        $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"] * MAX_OVERFLOW;
        $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"] * MAX_OVERFLOW;
        $parse['appolonium_mmax'] .= $CurrentPlanet["appolonium_max"] * MAX_OVERFLOW;
        if ($CurrentUser['new_message'] > 0) {
            $parse['message'] = "<a href=\"messages.php\"><img src=\"./images/info.gif\" style=\"height:33px; width:33px;\" alt=\"info.gif\"/></a>";
        } else {
            $parse['message'] = "";
        }
        $TopBar = parsetemplate($NavigationTPL, $parse);
    } else {
        $TopBar = "";
    }
    return $TopBar;
}
Example #21
0
function BuildRessourcePage($CurrentUser, $CurrentPlanet)
{
    global $pricelist, $lang, $ProdGrid, $resource, $reslist, $game_config, $_POST;
    includeLang('resources');
    if ($user['urlaubs_modus'] == 1) {
        message($lang['Vacation_mode'], $lang['Error'], "overview.php", 1);
    }
    $RessBodyTPL = gettemplate('resources');
    $RessRowTPL = gettemplate('resources_row');
    // Si c'est une lune ... pas de ressources produites
    if ($CurrentPlanet['planet_type'] == 3) {
        $game_config['metal_basic_income'] = 0;
        $game_config['crystal_basic_income'] = 0;
        $game_config['deuterium_basic_income'] = 0;
    }
    $ValidList['percent'] = array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
    $SubQry = "";
    if ($_POST) {
        foreach ($_POST as $Field => $Value) {
            $FieldName = $Field . "_porcent";
            if (isset($CurrentPlanet[$FieldName])) {
                if (!in_array($Value, $ValidList['percent'])) {
                    header("Location: overview.php");
                    exit;
                }
                $Value = $Value / 10;
                $CurrentPlanet[$FieldName] = $Value;
                $SubQry .= ", `" . $FieldName . "` = '" . $Value . "'";
            }
        }
    }
    $parse = $lang;
    $parse['production_level'] = 100;
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $post_porcent = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && $CurrentPlanet['energy_used'] + $CurrentPlanet['energy_max'] < 0) {
        $post_porcent = floor($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used'] * 100);
    } else {
        $post_porcent = 100;
    }
    if ($post_porcent > 100) {
        $post_porcent = 100;
    }
    // -------------------------------------------------------------------------------------------------------
    // Mise a jour de l'espace de stockage
    $CurrentPlanet['metal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[22]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['crystal_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[23]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    $CurrentPlanet['deuterium_max'] = floor(BASE_STORAGE_SIZE * pow(1.5, $CurrentPlanet[$resource[24]])) * (1 + $CurrentUser['rpg_stockeur'] * 0.5);
    // -------------------------------------------------------------------------------------------------------
    $parse['resource_row'] = "";
    $CurrentPlanet['metal_perhour'] = 0;
    $CurrentPlanet['crystal_perhour'] = 0;
    $CurrentPlanet['deuterium_perhour'] = 0;
    $CurrentPlanet['energy_max'] = 0;
    $CurrentPlanet['energy_used'] = 0;
    $BuildTemp = $CurrentPlanet['temp_max'];
    foreach ($reslist['prod'] as $ProdID) {
        if ($CurrentPlanet[$resource[$ProdID]] > 0 && isset($ProdGrid[$ProdID])) {
            $BuildLevelFactor = $CurrentPlanet[$resource[$ProdID] . "_porcent"];
            $BuildLevel = $CurrentPlanet[$resource[$ProdID]];
            $metal = floor(eval($ProdGrid[$ProdID]['formule']['metal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $crystal = floor(eval($ProdGrid[$ProdID]['formule']['crystal']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $deuterium = floor(eval($ProdGrid[$ProdID]['formule']['deuterium']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_geologue'] * 0.05));
            $energy = floor(eval($ProdGrid[$ProdID]['formule']['energy']) * $game_config['resource_multiplier'] * (1 + $CurrentUser['rpg_ingenieur'] * 0.05));
            if ($energy > 0) {
                $CurrentPlanet['energy_max'] += $energy;
            } else {
                $CurrentPlanet['energy_used'] += $energy;
            }
            $CurrentPlanet['metal_perhour'] += $metal;
            $CurrentPlanet['crystal_perhour'] += $crystal;
            $CurrentPlanet['deuterium_perhour'] += $deuterium;
            $metal = $metal * 0.01 * $post_porcent;
            $crystal = $crystal * 0.01 * $post_porcent;
            $deuterium = $deuterium * 0.01 * $post_porcent;
            $energy = $energy * 0.01 * $post_porcent;
            $Field = $resource[$ProdID] . "_porcent";
            $CurrRow = array();
            $CurrRow['name'] = $resource[$ProdID];
            $CurrRow['porcent'] = $CurrentPlanet[$Field];
            for ($Option = 10; $Option >= 0; $Option--) {
                $OptValue = $Option * 10;
                if ($Option == $CurrRow['porcent']) {
                    $OptSelected = " selected=selected";
                } else {
                    $OptSelected = "";
                }
                $CurrRow['option'] .= "<option value=\"" . $OptValue . "\"" . $OptSelected . ">" . $OptValue . "%</option>";
            }
            $CurrRow['type'] = $lang['tech'][$ProdID];
            $CurrRow['level'] = $ProdID > 200 ? $lang['quantity'] : $lang['level'];
            $CurrRow['level_type'] = $CurrentPlanet[$resource[$ProdID]];
            $CurrRow['metal_type'] = pretty_number($metal);
            $CurrRow['crystal_type'] = pretty_number($crystal);
            $CurrRow['deuterium_type'] = pretty_number($deuterium);
            $CurrRow['energy_type'] = pretty_number($energy);
            $CurrRow['metal_type'] = colorNumber($CurrRow['metal_type']);
            $CurrRow['crystal_type'] = colorNumber($CurrRow['crystal_type']);
            $CurrRow['deuterium_type'] = colorNumber($CurrRow['deuterium_type']);
            $CurrRow['energy_type'] = colorNumber($CurrRow['energy_type']);
            $parse['resource_row'] .= parsetemplate($RessRowTPL, $CurrRow);
        }
    }
    $parse['Production_of_resources_in_the_planet'] = str_replace('%s', $CurrentPlanet['name'], $lang['Production_of_resources_in_the_planet']);
    if ($CurrentPlanet['energy_max'] == 0 && $CurrentPlanet['energy_used'] > 0) {
        $parse['production_level'] = 0;
    } elseif ($CurrentPlanet['energy_max'] > 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = floor($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used'] * 100);
    } elseif ($CurrentPlanet['energy_max'] == 0 && abs($CurrentPlanet['energy_used']) > $CurrentPlanet['energy_max']) {
        $parse['production_level'] = 0;
    } else {
        $parse['production_level'] = 100;
    }
    if ($parse['production_level'] > 100) {
        $parse['production_level'] = 100;
    }
    $parse['metal_basic_income'] = $game_config['metal_basic_income'] * $game_config['resource_multiplier'];
    $parse['crystal_basic_income'] = $game_config['crystal_basic_income'] * $game_config['resource_multiplier'];
    $parse['deuterium_basic_income'] = $game_config['deuterium_basic_income'] * $game_config['resource_multiplier'];
    $parse['energy_basic_income'] = $game_config['energy_basic_income'] * $game_config['resource_multiplier'];
    if ($CurrentPlanet['metal_max'] < $CurrentPlanet['metal']) {
        $parse['metal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['metal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['metal_max'] .= pretty_number($CurrentPlanet['metal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['crystal_max'] < $CurrentPlanet['crystal']) {
        $parse['crystal_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['crystal_max'] = "<font color=\"#00ff00\">";
    }
    $parse['crystal_max'] .= pretty_number($CurrentPlanet['crystal_max'] / 1000) . " " . $lang['k'] . "</font>";
    if ($CurrentPlanet['deuterium_max'] < $CurrentPlanet['deuterium']) {
        $parse['deuterium_max'] = "<font color=\"#ff0000\">";
    } else {
        $parse['deuterium_max'] = "<font color=\"#00ff00\">";
    }
    $parse['deuterium_max'] .= pretty_number($CurrentPlanet['deuterium_max'] / 1000) . " " . $lang['k'] . "</font>";
    $parse['metal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['metal_perhour'] * 0.01 * $parse['production_level'] + $parse['metal_basic_income'])));
    $parse['crystal_total'] = colorNumber(pretty_number(floor($CurrentPlanet['crystal_perhour'] * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'])));
    $parse['deuterium_total'] = colorNumber(pretty_number(floor($CurrentPlanet['deuterium_perhour'] * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'])));
    $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $parse['energy_basic_income'] + $CurrentPlanet['energy_used'])));
    $parse['daily_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24);
    $parse['weekly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7);
    $parse['monthly_metal'] = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
    $parse['daily_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
    $parse['weekly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
    $parse['monthly_crystal'] = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
    $parse['daily_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24);
    $parse['weekly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7);
    $parse['monthly_deuterium'] = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30);
    $parse['daily_metal'] = colorNumber(pretty_number($parse['daily_metal']));
    $parse['weekly_metal'] = colorNumber(pretty_number($parse['weekly_metal']));
    $parse['monthly_metal'] = colorNumber(pretty_number($parse['monthly_metal']));
    $parse['daily_crystal'] = colorNumber(pretty_number($parse['daily_crystal']));
    $parse['weekly_crystal'] = colorNumber(pretty_number($parse['weekly_crystal']));
    $parse['monthly_crystal'] = colorNumber(pretty_number($parse['monthly_crystal']));
    $parse['daily_deuterium'] = colorNumber(pretty_number($parse['daily_deuterium']));
    $parse['weekly_deuterium'] = colorNumber(pretty_number($parse['weekly_deuterium']));
    $parse['monthly_deuterium'] = colorNumber(pretty_number($parse['monthly_deuterium']));
    $parse['metal_storage'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100) . $lang['o/o'];
    $parse['crystal_storage'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100) . $lang['o/o'];
    $parse['deuterium_storage'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100) . $lang['o/o'];
    $parse['metal_storage_bar'] = floor($CurrentPlanet['metal'] / $CurrentPlanet['metal_max'] * 100 * 2.5);
    $parse['crystal_storage_bar'] = floor($CurrentPlanet['crystal'] / $CurrentPlanet['crystal_max'] * 100 * 2.5);
    $parse['deuterium_storage_bar'] = floor($CurrentPlanet['deuterium'] / $CurrentPlanet['deuterium_max'] * 100 * 2.5);
    if ($parse['metal_storage_bar'] > 100 * 2.5) {
        $parse['metal_storage_bar'] = 250;
        $parse['metal_storage_barcolor'] = '#C00000';
    } elseif ($parse['metal_storage_bar'] > 80 * 2.5) {
        $parse['metal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['metal_storage_barcolor'] = '#00C000';
    }
    if ($parse['crystal_storage_bar'] > 100 * 2.5) {
        $parse['crystal_storage_bar'] = 250;
        $parse['crystal_storage_barcolor'] = '#C00000';
    } elseif ($parse['crystal_storage_bar'] > 80 * 2.5) {
        $parse['crystal_storage_barcolor'] = '#C0C000';
    } else {
        $parse['crystal_storage_barcolor'] = '#00C000';
    }
    if ($parse['deuterium_storage_bar'] > 100 * 2.5) {
        $parse['deuterium_storage_bar'] = 250;
        $parse['deuterium_storage_barcolor'] = '#C00000';
    } elseif ($parse['deuterium_storage_bar'] > 80 * 2.5) {
        $parse['deuterium_storage_barcolor'] = '#C0C000';
    } else {
        $parse['deuterium_storage_barcolor'] = '#00C000';
    }
    $parse['production_level_bar'] = $parse['production_level'] * 2.5;
    $parse['production_level'] = "{$parse['production_level']}%";
    $parse['production_level_barcolor'] = '#00ff00';
    $QryUpdatePlanet = "UPDATE {{table}} SET ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "' ";
    $QryUpdatePlanet .= $SubQry;
    $QryUpdatePlanet .= "WHERE ";
    $QryUpdatePlanet .= "`id` = '" . $CurrentPlanet['id'] . "';";
    doquery($QryUpdatePlanet, 'planets');
    ///////////////Naves////////////////
    $c = 202;
    //Contador inicio naves
    $m = 218;
    //final
    while ($c <= $m) {
        //naves
        $pemd = $pricelist[$c]['metal'];
        //precio de la nave
        $pecd = $pricelist[$c]['crystal'];
        //precio de la nave
        $pedd = $pricelist[$c]['deuterium'];
        //precio de la nave
        //recursos
        $recursosmetaldia = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24);
        $recursosmetalsemana = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7);
        $recursosmetalmes = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
        $recursoscristaldia = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
        $recursoscristalsemana = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
        $recursoscristalmes = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
        $recursosdeudia = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24);
        $recursosdeusemana = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7);
        $recursosdeumes = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30);
        //Calculamos
        //por dia
        $xmdia = @floor($recursosmetaldia / $pemd);
        //por dia
        $xcdia = @floor($recursoscristaldia / $pecd);
        //por dia
        $xddia = @floor($recursosdeudia / $pedd);
        //por dia
        //por mes
        $xmmes = @floor($recursosmetalmes / $pemd);
        //por mes
        $xcmes = @floor($recursoscristalmes / $pecd);
        //por mes
        $xdmes = @floor($recursosdeumes / $pedd);
        //por mes
        if ($xmdia > 0) {
            $ahimetal = "1";
            $xdia = $xcdia;
        } else {
            $ahimetal = "0";
        }
        if ($xcdia > 0) {
            $ahicristal = "1";
            $xdia = $xcdia;
        } else {
            $ahicristal = "0";
        }
        if ($xddia > 0) {
            $ahideuterio = "1";
            $xdia = $xddia;
        } else {
            $ahideuterio = "0";
        }
        //casos de por dia
        //Caso 1
        if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 0) {
            //Si existe cristal y metal
            if ($xmdia <= $xcdia) {
                //si metal es menor o igual que el cristal
                $xdia = $xmdia;
                //ponemos los que son ya
            } else {
                //si el cristal es menor que el metal
                $xdia = $xcdia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 1
        //Caso 2
        if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xmdia <= $xcdia) {
                //si metal es menor o igual que el cristal
                $xdia = $xmdia;
                //ponemos los que son ya
                if ($xmdia <= $xddia) {
                    //Si es menor o igual que el deuterio
                    $xdia = $xmdia;
                    //ponemos de nuevo los que son
                } else {
                    //si el deuterio es mayor
                    if ($xddia > 0) {
                        //y deuterio es mayor que 0 (en recursos para producirlo)
                        $xdia = $xddia;
                        //ponemos los que son
                    }
                    //Fin
                }
                //Fin final
            } else {
                //si el cristal es menor que el metal
                $xdia = $xcdia;
                //ponemos los que son
                if ($xcdia <= $xddia) {
                    //si es menor o igual que el deuterio
                    $xdia = $xcdia;
                    // ponemos ls que son
                } else {
                    //si no
                    if ($xddia > 0) {
                        //y el deuterio es mayor
                        $xdia = $xddia;
                        //ponemos los que son
                    }
                    //Fin
                }
                //Fin
            }
            //Fin
        }
        //Fin caso 2
        //Caso 3
        if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xmdia <= $xddia) {
                //si metal es menor o igual que el deuterio
                $xdia = $xmdia;
                //ponemos los que son ya
            } else {
                //si el deuterio es menor que el metal
                $xdia = $xddia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 3
        //Caso 4
        if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xcdia <= $xddia) {
                //si cristal es menor o igual que el deuterio
                $xdia = $xcdia;
                //ponemos los que son ya
            } else {
                //si el deuterio es menor que el metal
                $xdia = $xddia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 4
        //caso 5
        if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 0) {
            $xdia = $xmdia;
        }
        //caso 6
        if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 0) {
            $xdia = $xcdia;
        }
        //caso 7
        if ($ahimetal == 0 and $ahicristal == 0 and $ahideuterio == 1) {
            $xdia = $xddia;
        }
        //Fin de por dia
        $xsemana = floor($xdia * 7);
        $xmes = floor($xdia * 30);
        $parse['predu_fleet'] .= "<tr>";
        $parse['predu_fleet'] .= "<th>" . $lang['tech'][$c] . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xdia . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xsemana . "</th>";
        $parse['predu_fleet'] .= "<th>" . $xmes . "</th>";
        $parse['predu_fleet'] .= "</tr>";
        $c++;
    }
    ////////////////Defensas////////////////
    $c = 401;
    //Contador inicio naves
    $m = 503;
    //final
    while ($c <= $m) {
        //naves
        $pemd = $pricelist[$c]['metal'];
        //precio de la nave
        $pecd = $pricelist[$c]['crystal'];
        //precio de la nave
        $pedd = $pricelist[$c]['deuterium'];
        //precio de la nave
        //recursos
        $recursosmetaldia = floor($CurrentPlanet['metal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24);
        $recursosmetalsemana = floor($CurrentPlanet['metal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 7);
        $recursosmetalmes = floor($CurrentPlanet['metal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['metal_basic_income'] * 24 * 30);
        $recursoscristaldia = floor($CurrentPlanet['crystal_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24);
        $recursoscristalsemana = floor($CurrentPlanet['crystal_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 7);
        $recursoscristalmes = floor($CurrentPlanet['crystal_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['crystal_basic_income'] * 24 * 30);
        $recursosdeudia = floor($CurrentPlanet['deuterium_perhour'] * 24 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24);
        $recursosdeusemana = floor($CurrentPlanet['deuterium_perhour'] * 24 * 7 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 7);
        $recursosdeumes = floor($CurrentPlanet['deuterium_perhour'] * 24 * 30 * 0.01 * $parse['production_level'] + $parse['deuterium_basic_income'] * 24 * 30);
        //Calculamos
        //por dia
        $xmdia = @floor($recursosmetaldia / $pemd);
        //por dia
        $xcdia = @floor($recursoscristaldia / $pecd);
        //por dia
        $xddia = @floor($recursosdeudia / $pedd);
        //por dia
        //por mes
        $xmmes = @floor($recursosmetalmes / $pemd);
        //por mes
        $xcmes = @floor($recursoscristalmes / $pecd);
        //por mes
        $xdmes = @floor($recursosdeumes / $pedd);
        //por mes
        if ($xmdia > 0) {
            $ahimetal = "1";
            $xdia = $xcdia;
        } else {
            $ahimetal = "0";
        }
        if ($xcdia > 0) {
            $ahicristal = "1";
            $xdia = $xcdia;
        } else {
            $ahicristal = "0";
        }
        if ($xddia > 0) {
            $ahideuterio = "1";
            $xdia = $xddia;
        } else {
            $ahideuterio = "0";
        }
        //casos de por dia
        //Caso 1
        if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 0) {
            //Si existe cristal y metal
            if ($xmdia <= $xcdia) {
                //si metal es menor o igual que el cristal
                $xdia = $xmdia;
                //ponemos los que son ya
            } else {
                //si el cristal es menor que el metal
                $xdia = $xcdia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 1
        //Caso 2
        if ($ahimetal == 1 and $ahicristal == 1 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xmdia <= $xcdia) {
                //si metal es menor o igual que el cristal
                $xdia = $xmdia;
                //ponemos los que son ya
                if ($xmdia <= $xddia) {
                    //Si es menor o igual que el deuterio
                    $xdia = $xmdia;
                    //ponemos de nuevo los que son
                } else {
                    //si el deuterio es mayor
                    if ($xddia > 0) {
                        //y deuterio es mayor que 0 (en recursos para producirlo)
                        $xdia = $xddia;
                        //ponemos los que son
                    }
                    //Fin
                }
                //Fin final
            } else {
                //si el cristal es menor que el metal
                $xdia = $xcdia;
                //ponemos los que son
                if ($xcdia <= $xddia) {
                    //si es menor o igual que el deuterio
                    $xdia = $xcdia;
                    // ponemos ls que son
                } else {
                    //si no
                    if ($xddia > 0) {
                        //y el deuterio es mayor
                        $xdia = $xddia;
                        //ponemos los que son
                    }
                    //Fin
                }
                //Fin
            }
            //Fin
        }
        //Fin caso 2
        //Caso 3
        if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xmdia <= $xddia) {
                //si metal es menor o igual que el deuterio
                $xdia = $xmdia;
                //ponemos los que son ya
            } else {
                //si el deuterio es menor que el metal
                $xdia = $xddia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 3
        //Caso 4
        if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 1) {
            //Si existe cristal y metal
            if ($xcdia <= $xddia) {
                //si cristal es menor o igual que el deuterio
                $xdia = $xcdia;
                //ponemos los que son ya
            } else {
                //si el deuterio es menor que el metal
                $xdia = $xddia;
                //ponemos los que son
            }
            //Fin
        }
        //Fin caso 4
        //caso 5
        if ($ahimetal == 1 and $ahicristal == 0 and $ahideuterio == 0) {
            $xdia = $xmdia;
        }
        //caso 6
        if ($ahimetal == 0 and $ahicristal == 1 and $ahideuterio == 0) {
            $xdia = $xcdia;
        }
        //caso 7
        if ($ahimetal == 0 and $ahicristal == 0 and $ahideuterio == 1) {
            $xdia = $xddia;
        }
        //Fin de por dia
        $xsemana = floor($xdia * 7);
        $xmes = floor($xdia * 30);
        $parse['predu_def'] .= "<tr>";
        $parse['predu_def'] .= "<th>" . $lang['tech'][$c] . "</th>";
        $parse['predu_def'] .= "<th>" . $xdia . "</th>";
        $parse['predu_def'] .= "<th>" . $xsemana . "</th>";
        $parse['predu_def'] .= "<th>" . $xmes . "</th>";
        $parse['predu_def'] .= "</tr>";
        if ($c == 408) {
            $c = 502;
        } else {
            $c++;
        }
    }
    $page = parsetemplate($RessBodyTPL, $parse);
    return $page;
}
Example #22
0
/**
 * ShowTopNavigationBar.php
 *
 * @version 1
 * @copyright 2008 By Chlorel for XNova
 */
function ShowTopNavigationBar($CurrentUser, $CurrentPlanet)
{
    global $lang, $_GET, $game_config;
    if ($CurrentUser) {
        if (!$CurrentPlanet) {
            $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentUser['current_planet'] . "';", 'planets', true);
        }
        //Rohstoffe von -Rohstoffen wieder hoch setzen
        if ($CurrentPlanet["metal"] < 0) {
            $CurrentPlanet["metal"] = 1000000;
        } else {
        }
        if ($CurrentPlanet["crystal"] < 0) {
            $CurrentPlanet["crystal"] = 1000000;
        } else {
        }
        if ($CurrentPlanet["deuterium"] < 0) {
            $CurrentPlanet["deuterium"] = 1000000;
        } else {
        }
        // Actualisation des ressources de la planete
        if ($CurrentUser['urlaubs_modus'] == 0) {
            PlanetResourceUpdate($CurrentUser, $CurrentPlanet, time());
        } else {
            doquery("UPDATE {{table}} SET `deuterium_sintetizer_porcent` = 0, `metal_mine_porcent` = 0, `crystal_mine_porcent` = 0 WHERE id_owner = " . $CurrentUser['id'], "planets");
        }
        $NavigationTPL = gettemplate('topnav');
        $dpath = !$CurrentUser["dpath"] ? DEFAULT_SKINPATH : $CurrentUser["dpath"];
        $parse = $lang;
        $parse['dpath'] = $dpath;
        $parse['image'] = $CurrentPlanet['image'];
        $parse['show_umod_notice'] = $CurrentUser['urlaubs_modus'] ? '<table width="100%" style="border: 1px solid red; text-align:center;"><tr><td>Urlaubsmodus</td></tr></table>' : '';
        $parse['show_attacklock_notice'] = $game_config['attack_disabled'] ? '<table width="100%" style="border: 3px solid red; text-align:center;text-decoration:blink;color: #ff0000;"><tr><td>Angriffsperre aktiviert n&auml;here Informationen im Forum</td></tr></table>' : '';
        // Genearation de la combo des planetes du joueur
        $parse['planetlist'] = '';
        $ThisUsersPlanets = SortUserPlanets($CurrentUser);
        while ($CurPlanet = mysql_fetch_array($ThisUsersPlanets)) {
            if ($CurPlanet["destruyed"] == 0) {
                $parse['planetlist'] .= "\n<option ";
                if ($CurPlanet['id'] == $CurrentUser['current_planet']) {
                    // Bon puisque deja on s'y trouve autant le marquer
                    $parse['planetlist'] .= "selected=\"selected\" ";
                }
                $parse['planetlist'] .= "value=\"?cp=" . $CurPlanet['id'] . "";
                $parse['planetlist'] .= "&amp;mode=" . $_GET['mode'];
                $parse['planetlist'] .= "&amp;re=0\">";
                // Nom et coordonnées de la planete
                $parse['planetlist'] .= "" . $CurPlanet['name'];
                $parse['planetlist'] .= "&nbsp;[" . $CurPlanet['galaxy'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['system'] . ":";
                $parse['planetlist'] .= "" . $CurPlanet['planet'];
                $parse['planetlist'] .= "]&nbsp;&nbsp;</option>";
            }
        }
        $energy = pretty_number($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"]) . "/" . pretty_number($CurrentPlanet["energy_max"]);
        // Energie
        if ($CurrentPlanet["energy_max"] + $CurrentPlanet["energy_used"] < 0) {
            $parse['energy'] = colorRed($energy);
        } else {
            $parse['energy'] = $energy;
        }
        // Metal
        $metal = pretty_number($CurrentPlanet["metal"]);
        if ($CurrentPlanet["metal"] > $CurrentPlanet["metal_max"]) {
            $parse['metal'] = colorRed($metal);
        } else {
            $parse['metal'] = $metal;
        }
        // Cristal
        $crystal = pretty_number($CurrentPlanet["crystal"]);
        if ($CurrentPlanet["crystal"] > $CurrentPlanet["crystal_max"]) {
            $parse['crystal'] = colorRed($crystal);
        } else {
            $parse['crystal'] = $crystal;
        }
        // Deuterium
        $deuterium = pretty_number($CurrentPlanet["deuterium"]);
        if ($CurrentPlanet["deuterium"] > $CurrentPlanet["deuterium_max"]) {
            $parse['deuterium'] = colorRed($deuterium);
        } else {
            $parse['deuterium'] = $deuterium;
        }
        // Max Energie
        $energy_max = pretty_number($CurrentPlanet["energy_max"]);
        if ($CurrentPlanet["energy_max"] > $CurrentPlanet["energy_max"]) {
            $parse['energy_max'] = colorRed($energy_max);
        } else {
            $parse['energy_max'] = $energy_max;
        }
        $parse['energy_total'] = colorNumber(pretty_number(floor($CurrentPlanet['energy_max'] + $CurrentPlanet["energy_used"])) - $parse['energy_basic_income']);
        // Metal maximo
        if ($CurrentPlanet["metal_max"] < $CurrentPlanet["metal"]) {
            $parse['metal_max'] = '<font color="#ff0000">';
        } else {
            $parse['metal_max'] = '<font color="#00ff00">';
        }
        $parse['metal_max'] .= pretty_number($CurrentPlanet["metal_max"] / 1) . " {$lang['']}</font>";
        // Cristal maximo
        if ($CurrentPlanet["crystal_max"] < $CurrentPlanet["crystal"]) {
            $parse['crystal_max'] = '<font color="#ff0000">';
        } else {
            $parse['crystal_max'] = '<font color="#00ff00">';
        }
        $parse['crystal_max'] .= pretty_number($CurrentPlanet["crystal_max"] / 1) . " {$lang['']}";
        // Deuterio maximo
        if ($CurrentPlanet["deuterium_max"] < $CurrentPlanet["deuterium"]) {
            $parse['deuterium_max'] = '<font color="#ff0000">';
        } else {
            $parse['deuterium_max'] = '<font color="#00ff00">';
        }
        $parse['deuterium_max'] .= pretty_number($CurrentPlanet["deuterium_max"] / 1) . " {$lang['']}";
        $parse['metal_perhour'] .= $CurrentPlanet["metal_perhour"];
        $parse['crystal_perhour'] .= $CurrentPlanet["crystal_perhour"];
        $parse['deuterium_perhour'] .= $CurrentPlanet["deuterium_perhour"];
        $parse['metalh'] .= round($CurrentPlanet["metal"]);
        $parse['crystalh'] .= round($CurrentPlanet["crystal"]);
        $parse['deuteriumh'] .= round($CurrentPlanet["deuterium"]);
        $parse['metal_mmax'] .= $CurrentPlanet["metal_max"];
        $parse['crystal_mmax'] .= $CurrentPlanet["crystal_max"];
        $parse['deuterium_mmax'] .= $CurrentPlanet["deuterium_max"];
        // Message
        if ($CurrentUser['new_message'] > 0) {
            $parse['message'] = "<a href=\"messages.php\"><blink>[ " . $CurrentUser['new_message'] . " ]</blink></a>";
        } else {
            $parse['message'] = "0";
        }
        // Le tout passe dans la template
        $TopBar = parsetemplate($NavigationTPL, $parse);
    } else {
        $TopBar = "";
    }
    return $TopBar;
}
Example #23
0
function ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID, $Template)
{
    global $ProdGrid, $resource, $game_config;
    $BuildLevelFactor = $CurrentPlanet[$resource[$BuildID] . "_porcent"];
    $BuildTemp = $CurrentPlanet['temp_max'];
    $CurrentBuildtLvl = $CurrentPlanet[$resource[$BuildID]];
    $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
    $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
    $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
    $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
    $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
    $BuildLevel = "";
    $ActualProd = floor($Prod[$BuildID]);
    if ($BuildID != 12) {
        $ActualNeed = floor($Prod[4]);
    } else {
        $ActualNeed = floor($Prod[3]);
    }
    $BuildStartLvl = $CurrentBuildtLvl - 2;
    if ($BuildStartLvl < 1) {
        $BuildStartLvl = 1;
    }
    $Table = "";
    $ProdFirst = 0;
    for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 10; $BuildLevel++) {
        if ($BuildID != 42) {
            $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
            $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
            $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
            $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
            $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
            if ($ProdFirst > 0) {
                if ($BuildID != 12) {
                    $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[$BuildID] - $ProdFirst)) . ")</font>";
                } else {
                    $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[4] - $ProdFirst)) . ")</font>";
                }
            } else {
                $bloc['build_gain'] = "";
            }
            if ($BuildID != 12) {
                $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID]));
                $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd)));
                $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[4])));
                $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed)));
            } else {
                $bloc['build_prod'] = pretty_number(floor($Prod[4]));
                $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualProd)));
                $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3])));
                $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed)));
            }
            if ($ProdFirst == 0) {
                if ($BuildID != 12) {
                    $ProdFirst = floor($Prod[$BuildID]);
                } else {
                    $ProdFirst = floor($Prod[4]);
                }
            }
        } else {
            // Cas particulier de la phalange
            $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
            $bloc['build_range'] = $BuildLevel * $BuildLevel - 1;
        }
        $Table .= parsetemplate($Template, $bloc);
    }
    return $Table;
}
Example #24
0
 private function ShowProductionTable($CurrentUser, $CurrentPlanet, $BuildID)
 {
     global $ProdGrid, $resource, $db, $displays;
     if ($BuildID == 42) {
         $displays->newblock("phanlax");
     } else {
         $displays->newblock("productions");
     }
     $BuildLevelFactor = $CurrentPlanet[$resource[$BuildID] . "_porcent"];
     $BuildTemp = $CurrentPlanet['temp_max'];
     $CurrentBuildtLvl = $CurrentPlanet[$resource[$BuildID]];
     $BuildLevel = $CurrentBuildtLvl > 0 ? $CurrentBuildtLvl : 1;
     $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
     $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
     $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
     if ($BuildID >= 4) {
         $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
     } else {
         $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']);
     }
     $ActualProd = floor($Prod[$BuildID]);
     if ($BuildID != 12) {
         $ActualNeed = floor($Prod[4]);
     } else {
         $ActualNeed = floor($Prod[3]);
     }
     $BuildStartLvl = $CurrentBuildtLvl - 2;
     if ($BuildStartLvl < 1) {
         $BuildStartLvl = 1;
     }
     $Table = "";
     $ProdFirst = 0;
     if ($BuildID == 4) {
         $block = "production_list_sin";
     } elseif ($BuildID != 42) {
         $displays->newblock("energy");
         $block = "production_list_con";
         $displays->gotoBlock("productions");
     }
     for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; $BuildLevel++) {
         if ($BuildID != 42) {
             $displays->newblock($block);
             $Prod[1] = floor(eval($ProdGrid[$BuildID]['formule']['metal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
             $Prod[2] = floor(eval($ProdGrid[$BuildID]['formule']['crystal']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
             $Prod[3] = floor(eval($ProdGrid[$BuildID]['formule']['deuterium']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_geologue'] * 0.05);
             if ($BuildID >= 4) {
                 $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']) * (1 + $CurrentUser['rpg_ingenieur'] * 0.05);
             } else {
                 $Prod[4] = floor(eval($ProdGrid[$BuildID]['formule']['energy']) * $db->game_config['resource_multiplier']);
             }
             $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
             if ($ProdFirst > 0) {
                 if ($BuildID != 12) {
                     $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[$BuildID] - $ProdFirst)) . ")</font>";
                 } else {
                     $bloc['build_gain'] = "<font color=\"lime\">(" . pretty_number(floor($Prod[4] - $ProdFirst)) . ")</font>";
                 }
             } else {
                 $bloc['build_gain'] = "";
             }
             if ($BuildID != 12) {
                 $bloc['build_prod'] = pretty_number(floor($Prod[$BuildID]));
                 $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[$BuildID] - $ActualProd)));
                 $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[4])));
                 $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualNeed)));
             } else {
                 $bloc['build_prod'] = pretty_number(floor($Prod[4]));
                 $bloc['build_prod_diff'] = colorNumber(pretty_number(floor($Prod[4] - $ActualProd)));
                 $bloc['build_need'] = colorNumber(pretty_number(floor($Prod[3])));
                 $bloc['build_need_diff'] = colorNumber(pretty_number(floor($Prod[3] - $ActualNeed)));
             }
             if ($ProdFirst == 0) {
                 if ($BuildID != 12) {
                     $ProdFirst = floor($Prod[$BuildID]);
                 } else {
                     $ProdFirst = floor($Prod[4]);
                 }
             }
         } else {
             $displays->newblock("phanlax_list");
             $bloc['build_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
             $bloc['build_range'] = $BuildLevel * $BuildLevel - 1;
         }
         foreach ($bloc as $key => $value) {
             $displays->assign($key, $value);
         }
     }
 }