Пример #1
0
function showAllianceNews($iAlliance)
{
    require_once 'inc/classes/clsAlliance.php';
    $objAlli = new clsAlliance($iAlliance);
    $arrAlli = $objAlli->get_alliance_infos();
    $timestamp2 = date('D d M, H:i:s');
    $show_time = date(TIMESTAMP_FORMAT, strtotime('-3 days'));
    $strTableRow = '';
    $query = "SELECT time, kingdoma, kingdomb, kingdom_text, type " . "FROM news WHERE " . "(kingdoma = '{$iAlliance}' " . "OR kingdomb = '{$iAlliance}') " . "AND time > '{$show_time}' " . "ORDER BY time DESC";
    $result = mysql_query($query) or die("Error retrieving alliances news");
    $number = mysql_num_rows($result);
    if ($number == 0) {
        $strTableRow .= "<tr class=\"message\">" . "<th>" . "&nbsp;" . "</th>" . "<td>" . "There are no new items of interest, which is a good thing =)" . "</td>" . "</tr>";
    } else {
        $arrTypes = array('raid', 'barren', 'standard', 'hitnrun', 'bc', 'retreat', 'invade');
        while ($newsloop = mysql_fetch_array($result)) {
            if ($newsloop['kingdoma'] == $iAlliance && in_array($newsloop['type'], $arrTypes)) {
                $newsloop['kingdom_text'] = '<span class="negative">»« </span>' . $newsloop['kingdom_text'];
            } elseif ($newsloop['kingdomb'] == $iAlliance && in_array($newsloop['type'], $arrTypes)) {
                $newsloop['kingdom_text'] = '<span class="positive">«» </span>' . $newsloop['kingdom_text'];
            }
            $strTableRow .= "<tr class=\"data\">" . "<td class=\"left\">" . $newsloop['time'] . "</td>" . "<td class=\"left\">" . stripslashes($newsloop['kingdom_text']) . "</td>" . "</tr>";
        }
    }
    $strTable = "<table cellspacing=\"0\" cellpadding=\"0\" class=\"big\">" . "<tr class=\"header\">" . "<th colspan=\"3\">Alliance News - " . stripslashes($arrAlli['name']) . " (#" . $arrAlli['id'] . ")</th>" . "</tr>" . "<tr class=\"subheader\">" . "<th width=\"12%\">" . "Time" . "</th>" . "<th>" . "News Item" . "</th>" . "</tr>" . $strTableRow . "</table>" . '<div class="center" style="font-size: 0.8em;">' . "Server Time: " . $timestamp2 . '</div>';
    return $strTable;
}
Пример #2
0
function include_reset_account_text()
{
    global $Host;
    $objSrcUser =& $GLOBALS["objSrcUser"];
    $arrStats = $objSrcUser->get_stats();
    $iUserid = $objSrcUser->get_userid();
    $arrRaces = getActiveRaces();
    if ($arrStats[RESET_OPTION] == 'yes' || $arrStats[KILLED] > 0) {
        if (isset($_POST['submit'])) {
            $tribe = $_POST['tribe'];
            $tribe = addslashes(strip_tags(trim($tribe)));
            $race = $_POST['race'];
            // Leader should only be submitted 1 time, right after signing up
            if (isset($_POST['alias']) && !empty($_POST['alias'])) {
                $alias = $_POST['name'];
                $alias = addslashes(strip_tags(trim($alias)));
            } else {
                $alias = $arrStats[NAME];
            }
            // Validate form input
            if (!empty($tribe) && !empty($race) && in_array($race, $arrRaces)) {
                // Check that the new tribe name isn't already taken
                $check = mysql_query("SELECT * FROM " . TBL_STAT . " WHERE tribe = '{$tribe}' AND id != {$iUserid}");
                $check = mysql_fetch_array($check);
                $stat_search2 = mysql_query("SELECT * FROM " . TBL_STAT . " WHERE name = '{$alias}' AND id != {$iUserid}");
                $stat_search2 = mysql_fetch_array($stat_search2);
                if (isset($check[TRIBE])) {
                    $strDiv = '<div id="textSmall">' . '<p>' . 'Sorry, but that tribe name is already taken.' . '<br /><br />' . '<a href="main.php?cat=game&amp;page=reset_account">' . 'Try Again?' . '</a>' . '</p>' . '</div>';
                    echo $strDiv;
                } elseif (isset($stat_search2[NAME])) {
                    $strDiv = '<div id="textSmall">' . '<p>' . 'Sorry, but that leader name is already taken.' . '<br /><br />' . '<a href="main.php?cat=game&amp;page=reset_account">' . 'Try Again?' . '</a>' . '</p>' . '</div>';
                    echo $strDiv;
                } else {
                    //==========================================================
                    //                       Recoded November 07, 2007 by Martel
                    // Infinity: bonus on age death, Classic: bonus if killed
                    // Cause of death, 2=killed, 1=age, 0=reset
                    //==========================================================
                    $bBonus = FALSE;
                    if ($_SERVER['SERVER_NAME'] != DINAH_SERVER_NAME && $arrStats[KILLED] == 1) {
                        $bBonus = TRUE;
                    } elseif ($_SERVER['SERVER_NAME'] == DINAH_SERVER_NAME && $arrStats[KILLED] == 2) {
                        $bBonus = TRUE;
                    }
                    // Race housing effeciency
                    $arrBuildVariables = getBuildingVariables($race);
                    $homes_hold = $arrBuildVariables['housing'][1];
                    $ratio = 1;
                    // Death Bonus "Heritage"          Martel, November 07, 2007
                    if ($bBonus && $objSrcUser->get_kill(LAND) > STARTING_LAND) {
                        $arrKill = $objSrcUser->get_kills();
                        $ratio = $homes_hold / $arrKill[POP];
                        $iLand = $arrKill[LAND];
                        $arrCost = getUnitVariables($race);
                        $arrCost = $arrCost['gold'];
                        // New Heritage     (Age9) AI+Martel, September 25, 2007
                        $iLand = round(pow(max(0, $iLand - STARTING_LAND), 0.80459611995) + STARTING_LAND);
                        if ($iLand > 2000) {
                            $iLand = 2000;
                        } elseif ($iLand < STARTING_LAND) {
                            $iLand = $iLand;
                        }
                        // Buildings
                        $arrBonusValues[LAND] = $iLand;
                        // Goods
                        $arrBonusValues[RESEARCH] = 0;
                        //round(($arrKill[RESEARCH] / $arrKill[LAND]) * $land);
                        // Citizens
                        $arrBonusValues[CITIZENS] = round($iLand * 15 * $ratio);
                        // Fame
                        $arrBonusValues[FAME] = round($arrKill[FAME] * 0.04);
                        // Market Goods
                        $arrBonusValues[MONEY] = round($arrKill[CASH] * $ratio);
                        $arrBonusValues[UNIT1] = round($arrKill[BASICS] * $ratio);
                        $arrBonusValues[CREDITS] = round(2 * $arrBonusValues[MONEY] + (2 * $arrCost[2] + 15) * $arrBonusValues[UNIT1]);
                    } else {
                        $arrBonusValues[LAND] = 0;
                        $arrBonusValues[RESEARCH] = 0;
                        $arrBonusValues[CITIZENS] = 0;
                        $arrBonusValues[FAME] = 0;
                    }
                    //==========================================================
                    // Reset Tables (excluded from this reset is TBL_USER,
                    // TBL_STATS and TBL_PREFERENCES)
                    //==========================================================
                    $iNewLand = STARTING_LAND + $arrBonusValues[LAND];
                    include_once 'inc/functions/reset_account.php';
                    $arrStartValues = getStartValues($race, $iNewLand);
                    // User table (save old but set updates to start now)
                    $arrUsers = $objSrcUser->get_user_infos();
                    $arrNewUsers = array(HOURS => 0, LAST_LOGIN => date('Y-m-d H:i:s'), LAST_UPDATE_HOUR => date('H'), LAST_UPDATE_DAY => date('d'));
                    $objSrcUser->set_user_infos($arrNewUsers);
                    // Build Table
                    mysql_query("DELETE FROM build WHERE id = {$iUserid}") or die("build1");
                    mysql_query("INSERT INTO build SET id = {$iUserid}") or die("build2");
                    // add land + buildings (overrides hardcoded DB defaults)
                    $arrBuildsNew = array(LAND => $arrStartValues[LAND], HOMES => $arrStartValues[HOMES], FARMS => $arrStartValues[FARMS], MARKETS => $arrStartValues[MARKETS], YARDS => $arrStartValues[YARDS], GUILDS => $arrStartValues[GUILDS], HIDEOUTS => $arrStartValues[HIDEOUTS]);
                    $objSrcUser->set_builds($arrBuildsNew);
                    // Army Table
                    mysql_query("DELETE FROM army WHERE id = {$iUserid}") or die("army");
                    mysql_query("INSERT INTO army SET id = {$iUserid}") or die("army2");
                    // add military units (overrides hardcoded DB defaults)
                    $arrArmysNew = array(UNIT1 => $arrStartValues[UNIT1], UNIT2 => $arrStartValues[UNIT2], UNIT3 => $arrStartValues[UNIT3], UNIT4 => $arrStartValues[UNIT4], UNIT5 => $arrStartValues[UNIT5]);
                    $objSrcUser->set_armys($arrArmysNew);
                    // ArmyMercs Table
                    mysql_query("DELETE FROM army_mercs WHERE id = {$iUserid}") or die("army");
                    if ($race == "Oleg Hai" || $race == "Mori Hai") {
                        mysql_query("INSERT INTO army_mercs SET id = {$iUserid}") or die("army2");
                        if ($race == "Oleg Hai") {
                            mysql_query("UPDATE army SET unit4 = 0 WHERE id = {$iUserid}");
                        }
                    }
                    // Milreturn Table
                    mysql_query("DELETE FROM milreturn WHERE id = {$iUserid}") or die("milreturn");
                    mysql_query("INSERT INTO milreturn SET id = {$iUserid}") or die("milreturn2");
                    // Population Table
                    $iNewCitz = $arrStartValues[CITIZENS] + $arrBonusValues[CITIZENS];
                    $objSrcUser->set_pop(CITIZENS, $iNewCitz);
                    // Personal Rankings
                    mysql_query("DELETE FROM rankings_personal WHERE id = {$iUserid}") or die("milreturn");
                    mysql_query("INSERT INTO rankings_personal SET id = {$iUserid}") or die("milreturn2");
                    // Goods Table
                    mysql_query("DELETE FROM goods WHERE id = {$iUserid}") or die("goods");
                    mysql_query("INSERT INTO goods SET id = {$iUserid}") or die("goods2");
                    // Add modified starting values to Goods
                    $arrGoodsNew = array(MONEY => $arrStartValues[MONEY], FOOD => $arrStartValues[FOOD], WOOD => $arrStartValues[WOOD], RESEARCH => $arrStartValues[RESEARCH] + $arrBonusValues[RESEARCH]);
                    $objSrcUser->set_goods($arrGoodsNew);
                    // Spells Table
                    mysql_query("DELETE FROM spells WHERE id = {$iUserid}") or die("spells");
                    mysql_query("INSERT INTO spells SET id = {$iUserid}") or die("spells2");
                    // add basic self spells (overrides hardcoded DB defaults)
                    $arrSpellsNew = array(POPULATION => $arrStartValues[POPULATION], GROWTH => $arrStartValues[GROWTH], FOOD => $arrStartValues['matawaska'], INCOME => $arrStartValues[INCOME]);
                    $objSrcUser->set_spells($arrSpellsNew);
                    // Thievery Table
                    mysql_query("DELETE FROM thievery WHERE id = {$iUserid}") or die("thievery");
                    mysql_query("INSERT INTO thievery SET id = {$iUserid}") or die("thievery2");
                    // Kill Table
                    mysql_query("DELETE FROM kills WHERE id = {$iUserid}");
                    mysql_query("INSERT INTO kills SET id = {$iUserid}");
                    // Stats table (save old but update new tribe name & race)
                    $arrStats = $objSrcUser->get_stats();
                    $arrStatsNew = array(KILLED => 0, TRIBE => $tribe, RACE => $race, FAME => $arrStartValues[FAME] + $arrBonusValues[FAME], RESET_OPTION => "no", INVESTED => 0, KILLS => 0, TWG_VOTE => 0);
                    $objSrcUser->set_stats($arrStatsNew);
                    //==========================================================
                    // Add bonus to build, tribe goods & alliance market
                    //==========================================================
                    if ($bBonus) {
                        // add kill bonus to market credits
                        $arrGoodsNew = array(MARKET_MONEY => $arrBonusValues[MONEY], MARKET_SOLDIERS => $arrBonusValues[UNIT1], CREDITS => $arrBonusValues[CREDITS]);
                        $objSrcUser->set_goods($arrGoodsNew);
                        // alliance object
                        include_once 'inc/classes/clsAlliance.php';
                        $iAllianceId = $objSrcUser->get_stat(ALLIANCE);
                        $objSrcAlliance = new clsAlliance($iAllianceId);
                        // add bonus to alliance market
                        $arrAllianceInfos = $objSrcAlliance->get_alliance_infos();
                        $arrNewAllianceInfos = array(MONEY => $arrAllianceInfos[MONEY] + $arrBonusValues[MONEY], SOLDIERS => $arrAllianceInfos[SOLDIERS] + $arrBonusValues[UNIT1]);
                        $objSrcAlliance->set_alliance_infos($arrNewAllianceInfos);
                    }
                    // Update rankings (forced = yes)
                    include_once 'inc/functions/update_ranking.php';
                    doUpdateRankings($objSrcUser, 'yes');
                    $strDiv = '<div id="textSmall">' . '<p>' . 'Account updated =)' . '<br /><br />' . '<a href="main.php?cat=game&amp;page=tribe">' . 'Continue' . '</a>' . '</p>' . '</div>';
                    echo $strDiv;
                }
            } else {
                $strDiv = '<div id="textSmall">' . '<p>' . 'You forgot to enter a new tribe name and/or forgot to ' . 'choose a race.' . '<br /><br />' . '<a href="main.php?cat=game&amp;page=reset_account">' . 'Try Again?' . '</a>' . '</p>' . '</div>';
                echo $strDiv;
            }
        } else {
            $picture = 'defeat';
            if ($arrStats[KILLED] == 2) {
                $strMessage = '<p>' . stripslashes($arrStats[NAME]) . ', it seems that <strong class="negative">your last ' . 'citizens have left your tribe</strong>. ' . 'With them the last of your power is gone and so is your physical presence in the lands of Orkfia. But, within ' . PROTECTION_HOURS . ' ' . 'months you could once again do battle with your allies. ' . '</p>';
                $picture = 'defeat';
            } elseif ($arrStats[KILLED] == 0) {
                $strMessage = '<p>' . stripslashes($arrStats[NAME]) . ', it seems that <strong class="negative">you have ' . 'decided to reset</strong>. ' . 'The last of your power is gone and so is your physical presence in the lands of Orkfia. But, within ' . PROTECTION_HOURS . ' ' . 'months you could once again do battle with your allies. ' . '</p>';
                $picture = 'defeat';
            } elseif ($arrStats[KILLED] == 1) {
                $strMessage = '<p>' . stripslashes($arrStats[NAME]) . ', it seems that <strong class="positive">the leader ' . 'of your tribe has died due to age</strong>. ' . 'The last of your power is gone and so is your physical presence in the lands of Orkfia. But, within ' . PROTECTION_HOURS . ' ' . 'months you could once again do battle with your allies. ' . '</p>';
                $picture = 'victory';
            } elseif ($arrStats[KILLED] == 3) {
                $strMessage = '<p>' . 'Welcome! It seems that <strong class="positive">you are ' . 'about to create your first tribe in Orkfia</strong>. ' . 'Currently you have no physical presence in these lands. But, within ' . PROTECTION_HOURS . ' ' . 'months you could do battle together with your allies. ' . '</p>' . '<p>' . '<label for="1">' . 'Leader Name: ' . '</label>' . '<input id="1" name="name" size="20" maxLength="20">' . '</p>';
                $picture = 'victory';
            }
            $strForm = '<form method="POST" ' . 'action="main.php?cat=game&amp;page=reset_account">' . '<div id="textMedium">' . '<p style="text-align: center">' . '<img src="' . $Host . $picture . '_small.gif">' . '</p>' . $strMessage . '<p>' . 'Your account is now paused, time will start running once you submit the information below.' . '</p>' . '<p>' . '<label for="2">' . 'New Tribe Name: ' . '</label>' . '<input id="2" name="tribe" size="20" maxLength="20" value="' . stripslashes($arrStats[TRIBE]) . '">' . '</p>' . '<p>' . '<label for="3">' . 'Select Race: ' . '</label>' . '<select id="3" size="1" name="race">';
            foreach ($arrRaces as $strCurRace) {
                $strAdd = '';
                if ($arrStats[RACE] == $strCurRace) {
                    $strAdd = ' selected';
                }
                $strForm .= "<option value=\"{$strCurRace}\"{$strAdd}>" . $strCurRace . "</option>";
            }
            $strForm .= '</select> ' . '<a href="http://guide.orkfia.org/races.php?chapter=4" class="newWindowLink" target="_blank" style="cursor: help">Races</a>' . '</p>' . '<p>' . '<input type="submit" name="submit" value="Return to Orkfia!">' . '</p>' . '</div>' . '</form>';
            echo $strForm;
        }
    } else {
        // Kick someone in the butt for finding this page through address field
        include_once "inc/pages/logout.inc.php";
        include_logout_text();
    }
}
Пример #3
0
function include_alliance_text()
{
    // This bugs pretty badly if the alliance tables are missing
    // Same thing further down too, but for target alliance obj.
    $objSrcUser =& $GLOBALS["objSrcUser"];
    $objSrcAlli = $objSrcUser->get_alliance();
    //==========================================================================
    // Martel: Validate the alliance number so we get an absolutely safe one
    //==========================================================================
    $iAid = intval($objSrcUser->get_stat(ALLIANCE));
    if (isset($_POST['aid'])) {
        $iAid = intval($_POST['aid']);
        if (strlen($_POST['aid']) > 4) {
            require_once 'inc/pages/logout.inc.php';
            include_logout_text();
        }
    } elseif (isset($_GET['aid'])) {
        $iAid = intval($_GET['aid']);
        if (strlen($_GET['aid']) > 4) {
            require_once 'inc/pages/logout.inc.php';
            include_logout_text();
        }
    }
    if ($iAid < 1) {
        $iAid = 1;
    }
    //==========================================================================
    $result = mysql_query("SELECT alli_id FROM rankings_personal WHERE alli_id < {$iAid} ORDER BY alli_id DESC LIMIT 1");
    if (mysql_num_rows($result) == '0') {
        $prevAlli['0'] = $iAid;
    } else {
        $prevAlli = mysql_fetch_row($result);
    }
    $result = mysql_query("SELECT alli_id FROM rankings_personal WHERE alli_id > {$iAid} ORDER BY alli_id ASC LIMIT 1");
    if (mysql_num_rows($result) == '0') {
        $nextAlli['0'] = $iAid;
    } else {
        $nextAlli = mysql_fetch_row($result);
    }
    echo $chooseAlliance = "<div class=\"tableLinkMini\">" . "<a href=\"main.php?cat=game&amp;page=alliance\">Home</a>" . "</div>" . "<form method=\"post\" action=\"main.php?cat=game&amp;page=alliance\" style=\"margin-top: 0pt;\">" . "<table cellpadding=\"0\" cellspacing=\"0\" class=\"mini\">" . "<tr class=\"header\">" . "<th colspan=\"4\">" . "Alliance" . "</th>" . "</tr>" . "<tr class=\"data\">" . "<td>" . "<a id=\"arrowl\" href=\"main.php?cat=game&amp;page=alliance&amp;aid=" . $prevAlli[0] . "\">" . "<span class=\"alt\">" . "&#60;" . "</span>" . "</a>" . "</td>" . "<td>" . "<input type=\"text\" name=\"aid\" size=\"4\" maxlength=\"4\" value=\"" . $iAid . "\" />" . "</td>" . "<td>" . "<input type=\"submit\" name=\"submit\" value=\"View\" />" . "</td>" . "<td>" . "<a id=\"arrowr\" href=\"main.php?cat=game&amp;page=alliance&amp;aid=" . $nextAlli[0] . "\">" . "<span class=\"alt\">" . "&#62;" . "</span>" . "</a>" . "</td>" . "</tr>" . "</table>" . "</form>";
    $res = mysql_query("SELECT COUNT(id) AS cnt FROM rankings_personal WHERE alli_id = {$iAid}");
    $line = mysql_fetch_assoc($res);
    if ($line["cnt"] == '0') {
        $res = mysql_query("SELECT id FROM rankings_alliance ORDER BY id DESC LIMIT 1");
        $max = mysql_fetch_assoc($res);
        $res = mysql_query("SELECT id FROM rankings_alliance ORDER BY id ASC LIMIT 1");
        $min = mysql_fetch_assoc($res);
        echo "Selections range from " . $min["id"] . "-" . $max["id"];
        include_game_down();
        exit;
    }
    ?>
    <div class="center">
<?php 
    //==========================================================================
    // Alliance Banner
    //==========================================================================
    $objTrgAlli = new clsAlliance($iAid);
    $arrAlliance = $objTrgAlli->get_alliance_infos();
    $arrRankingsAlliance = $objTrgAlli->get_rankings_alliances();
    if (trim($arrAlliance[IMAGE]) != '') {
        $arrAlliance[IMAGE] = stripslashes($arrAlliance[IMAGE]);
        $arrAlliance[IMAGE] = htmlspecialchars($arrAlliance[IMAGE]);
        $arrAlliance[IMAGE] = escapeshellcmd($arrAlliance[IMAGE]);
        echo "<img src =\"" . $arrAlliance[IMAGE] . "\" width =\"" . $arrAlliance[IMAGEWIDTH] . "\" height =\"" . $arrAlliance[IMAGEHEIGHT] . "\" alt=\"\" /><br />";
    }
    //==========================================================================
    // War status display
    //==========================================================================
    $arrSrcWar = $objTrgAlli->get_wars();
    if ($arrSrcWar[TARGET] != 0) {
        $targetLink = " (<a href=\"main.php?cat=game&amp;page=alliance&amp;aid=" . $arrSrcWar[TARGET] . "\">#" . $arrSrcWar[TARGET] . "</a>)";
        $objWarTrg = new clsAlliance($arrSrcWar[TARGET]);
        $strAlliName = stripslashes($objWarTrg->get_rankings_alliance('alli_name'));
        echo '<br /><strong class="negative">At war with ' . $strAlliName . $targetLink . '</strong>';
    }
    //==========================================================================
    if ($iAid < 10) {
        $iSpan = 3;
        ?>
        <span style="font-size: 0.8em"><a href="main.php?cat=game&amp;page=message&amp;alliance=<?php 
        echo $iAid;
        ?>
">Submit a report here</a>.</span>
        <br />
<?php 
    } else {
        $iSpan = 6;
        if ($iAid == $objSrcUser->get_stat(ALLIANCE)) {
            $iSpan = 7;
        }
        // bootcamp indication
        if ($arrAlliance[BOOTCAMP] == 'yes') {
            ?>
        <br /><strong class='positive'>[ Boot Camp ]</strong><br />

<?php 
        }
        // M: Graveyard indication
        if ($iAid == 10) {
            echo '<h2>The Graveyard in #10 - Beware of the DEAD.</h2>';
        }
        ?>

<?php 
    }
    ?>
    </div>
    <br />
    <table cellpadding="0" cellspacing="0" class="big">
        <tr class="header">
            <th colspan="<?php 
    echo $iSpan;
    ?>
">
<?php 
    $strAllianceName = stripslashes($arrRankingsAlliance[ALLI_NAME]);
    echo "{$strAllianceName} (#{$iAid})";
    if (trim($arrRankingsAlliance[ALLI_DESC]) != '') {
        $allianceDesc = stripslashes(trim($arrRankingsAlliance[ALLI_DESC]));
        ?>
                <br /><span style="font-size: 0.8em;"><?php 
        echo $allianceDesc;
        ?>
</span>
<?php 
    }
    if ($iAid < 10) {
        ?>
            </th>
        </tr>
        <tr class="subheader">
            <th width="17"></th>
            <td align="left" class="left" width="34%">Staff Tribe</td>
            <td align="left" class="left">Online < 48 hours ago</td>
        </tr>
<?php 
        // Martel: Sort 1-10 on staff ranks and name instead of acres
        $res = mysql_query("SELECT rankings_personal.id, alli_id, tribe_name, hours, rankings_personal.race, land, nw, rankings_personal.fame, player_type, stats.level FROM rankings_personal, stats WHERE alli_id = {$iAid} AND stats.id = rankings_personal.id ORDER BY level DESC, tribe_name ASC");
    } else {
        // Output alliance Rankings
        include_once 'inc/functions/alli_ranking.php';
        if ($iAid != 10) {
            $arrRanking = get_rank_data($iAid);
            echo "<br />Land: " . $arrRanking[LAND] . " &nbsp;&nbsp; Strength: " . $arrRanking[STRENGTH] . " &nbsp;&nbsp; Fame: " . $arrRanking[FAME];
        }
        ?>
            </th>
        </tr>
        <tr class="subheader">
            <th width="17"></th>
            <th>Tribe Name</th>
<?php 
        if ($iAid == $objSrcUser->get_stat(ALLIANCE)) {
            echo '
            <td><em>Ruler Age</em></td>
            ';
        }
        ?>
            <td>Race</td>
            <td>Size</td>
            <td>Strength</td>
            <td>Fame</td>
        </tr>
<?php 
        // Sort tribes by acreage, strength, fame
        $res = mysql_query("SELECT id FROM rankings_personal WHERE alli_id = {$iAid} ORDER BY land DESC, nw DESC, fame DESC");
    }
    $inactivitycheck = $objSrcUser->get_rankings_personals();
    $iCount = 0;
    $inactiveCounter = 0;
    $objTmpUser = new clsUser(0);
    while ($line = mysql_fetch_assoc($res)) {
        // Clear the temporary object to assign a new user
        $iUserid = $line[ID];
        $objTmpUser->set_userid($iUserid);
        $arrTmpRanking = $objTmpUser->get_rankings_personals();
        $arrTmpRanking[TRIBE_NAME] = stripslashes($arrTmpRanking[TRIBE_NAME]);
        $strFame = (string) number_format($arrTmpRanking[FAME]);
        if ($arrTmpRanking[FAME] < 5000) {
            $strFame = '<span class="negative">' . $strFame . '</span>';
        } elseif ($arrTmpRanking[FAME] > 5000) {
            $strFame = '<span class="positive">' . $strFame . '</span>';
        }
        ?>
        <tr class="data">
            <th>
<?php 
        $online = $objTmpUser->get_onlines();
        $old = date(TIMESTAMP_FORMAT, strtotime('-5 minutes'));
        // Martel: New inactivity check.
        // Works with both month changes and leap years ;)
        $inactive = date(TIMESTAMP_FORMAT, strtotime('-2 days'));
        if ($online['time'] < $inactive && $inactivitycheck[PLAYER_TYPE] == "elder" && $inactivitycheck[ALLI_ID] == $iAid) {
            ?>
                <img src="<?php 
            echo HOST_PICS;
            ?>
tribe_inactive.gif" alt="*" height="13" width="13" />
<?php 
        } elseif ($online['time'] < $old) {
            ?>
                <img src="<?php 
            echo HOST_PICS;
            ?>
tribe_offline.gif" alt="" height="13" width="13" />
<?php 
        } else {
            $inactiveCounter++;
            ?>
                <img src="<?php 
            echo HOST_PICS;
            ?>
tribe_online.gif" alt="»" height="13" width="13" />
<?php 
        }
        ?>
            </th>
            <th>
<?php 
        // Begin output of <tr> for each tribe
        if ($iAid >= 10) {
            $strClass = $arrTmpRanking[PLAYER_TYPE] . "";
            if ($objTmpUser->isPaused() || $arrTmpRanking[HOURS] < PROTECTION_HOURS) {
                $strClass = "protected";
            }
            echo '<a href="main.php?cat=game&amp;page=external_affairs&amp;tribe=' . $arrTmpRanking[ID] . "&amp;aid=" . $arrTmpRanking[ALLI_ID] . '" class="' . $strClass . '">' . $arrTmpRanking[TRIBE_NAME] . '</a></th>';
            if ($iAid == $objSrcUser->get_stat(ALLIANCE)) {
                echo "<td><em>" . $objTmpUser->get_ruler_age() . "</em></td>";
            }
            echo "<td>" . $arrTmpRanking[RACE] . "</td>" . "<td>" . number_format($arrTmpRanking[LAND]) . "</td>" . "<td>" . number_format($arrTmpRanking[NW]) . "</td>" . "<td>" . $strFame . "</td>" . "</tr>";
        } else {
            $strClass = "staff";
            if ($objTmpUser->get_stat(LEVEL) > 5) {
                $strClass = "admin";
            } elseif ($objTmpUser->get_stat(LEVEL) == 5) {
                $strClass = "head";
            }
            echo '<a href="main.php?cat=game&amp;page=message&amp;tribe=' . $arrTmpRanking[ID] . "&amp;alliance=" . $arrTmpRanking[ALLI_ID] . '" class="' . $strClass . '">' . $arrTmpRanking[TRIBE_NAME] . '</a></th>';
            if ($online['time'] < $inactive) {
                echo '<td class="left"><em>No</em></td>';
            } else {
                echo '<td class="left"><em class="positive">Yes</em></td>';
            }
            echo '</tr>';
        }
        $iCount++;
    }
    ?>
    </table>

    <div class="center" style="font-size: 0.8em">
        There are <?php 
    echo $iCount;
    ?>
 tribes in this alliance.
    </div>

    <br />

    <table cellpadding="0" cellspacing="0" class="small">
        <tr class="header">
            <th colspan="2">Legend</th>
        </tr>
        <tr class="subheader">
            <th>Mark</th>
            <td>Meaning</td>
        </tr>
<?php 
    if ($iAid >= 10) {
        ?>
        <tr class="data">
            <th class="elder">Gold:</th>
            <td>Elder</td>
        </tr>
        <tr class="data">
            <th class="coelder">Copper:</th>
            <td>Co-elder</td>
        </tr>
        <tr class="data">
            <th class="protected">Light Green:</th>
            <td>In Protection</td>
        </tr>

<?php 
    } else {
        ?>
        <tr class="data">
            <th class="admin">White:</th>
            <td>Orkfian God</td>
        </tr>
        <tr class="data">
            <th class="head">Pink:</th>
            <td>Orkfian Lord</td>
        </tr>
        <tr class="data">
            <th class="staff">Blue:</th>
            <td>ORKFiA Staff</td>
        </tr>
<?php 
    }
    ?>
        <tr class="data">
            <th><img src="<?php 
    echo HOST_PICS;
    ?>
tribe_online.gif" alt="»" height="13" width="13" /></th>
            <td>Online</td>
        </tr>
<?php 
    if ($inactivitycheck[PLAYER_TYPE] == "elder" && $inactivitycheck['alli_id'] == $iAid && $inactiveCounter > 0) {
        ?>
        <tr class="data">
            <th><img src="<?php 
        echo HOST_PICS;
        ?>
tribe_inactive.gif" alt="*" height="13" width="13" /></th>
            <td>Inactive</td>
        </tr>
<?php 
    }
    ?>
    </table>

<?php 
}
Пример #4
0
function include_war_room_text()
{
    // User object
    $objSrcUser = $GLOBALS['objSrcUser'];
    $arrSrcStats = $objSrcUser->get_stats();
    // Alliance object
    $objSrcAlli = $objSrcUser->get_alliance();
    $arrSrcWar = $objSrcAlli->get_wars();
    // Include war functions
    // Show declare war page is default unless the alliance is at war
    $strShow = "declare_war";
    if ($arrSrcWar['target'] != 0) {
        $strShow = "current_war";
    }
    // Show page
    switch ($strShow) {
        case "declare_war":
            // M: Show statistics (if we have been in war)
            $strStatistics = '';
            if ($arrSrcWar['last_target'] != 0) {
                // M: Show statistics, with correct grammar
                $arrS = array('ies', 's', 's', 's');
                if ($arrSrcWar['victory'] == 1) {
                    $arrS[0] = 'y';
                }
                if ($arrSrcWar['defeat'] == 1) {
                    $arrS[1] = '';
                }
                if ($arrSrcWar['surrender'] == 1) {
                    $arrS[2] = '';
                }
                if ($arrSrcWar['truce'] == 1) {
                    $arrS[3] = '';
                }
                $strStatistics .= '<p>' . '<strong class="positive">' . $arrSrcWar['victory'] . " war victor{$arrS['0']}</strong>&#8212;defeated " . $arrSrcWar['defeat'] . " time{$arrS['1']}.<br />" . "We have surrendered " . $arrSrcWar['surrender'] . " time{$arrS['2']} and truced " . $arrSrcWar['truce'] . " time{$arrS['3']}.</strong>" . '</p><p>';
                // Info about who the last wartarget was                - AI
                $objTrgAlli = new clsAlliance($arrSrcWar['last_target']);
                $arrTrgAlli = $objTrgAlli->get_alliance_infos();
                // M: Show continued statistics, with correct grammar
                if ($arrSrcWar['last_outgoing'] == 'surrender') {
                    $strF = 'Our last war ended as a %s to %s (#%d).';
                } elseif ($arrSrcWar['last_outgoing'] == 'victory') {
                    $strF = 'Our last war ended as a %s over %s (#%d).';
                } elseif ($arrSrcWar['last_outgoing'] == 'defeat') {
                    $strF = 'Our last war ended as a %s against %s (#%d).';
                } elseif ($arrSrcWar['last_outgoing'] == 'truce') {
                    $strF = 'Our last war ended in a %s with %s (#%d).';
                }
                // M: Echo continued statistics
                $strStatistics .= sprintf($strF, $arrSrcWar['last_outgoing'], stripslashes($arrTrgAlli['name']), $arrSrcWar['last_target']);
                $strStatistics .= '</p>';
            } else {
                $strStatistics .= '<p>We have not been in a war yet.</p>';
            }
            // M: Find alliances in range
            $iAlliSize = $objSrcAlli->get_alliance_size('land');
            $iUpwardRange = floor($iAlliSize * WAR_UPWARD_MOD);
            $iBottomRange = ceil($iAlliSize * WAR_BOTTOM_MOD);
            $strSQL = "SELECT id FROM rankings_alliance ";
            $strSQL .= "WHERE land BETWEEN {$iBottomRange} and {$iUpwardRange} ";
            $strSQL .= "ORDER BY land DESC";
            $resSQL = mysql_query($strSQL);
            $count = 1;
            $objTmpAlli = new clsAlliance(1);
            $strTableRow = '';
            $strInputList = '<option selected="selected"></option>';
            while ($row = mysql_fetch_assoc($resSQL)) {
                // M: Get temporary alliance object
                $objTmpAlli->set_allianceid($row['id']);
                // M: Check if war is possible
                $arrWarPossible = testWarPossible($objSrcAlli, $objTmpAlli);
                $bWarPossible = $arrWarPossible[0];
                if ($bWarPossible) {
                    // M: Fetch alliance rankings
                    $arrTmpRanks = $objTmpAlli->get_rankings_alliances();
                    $strAllianceLink = "<a href=\"main.php?cat=game&amp;page=" . "alliance&amp;aid={$row['id']}\">{$row['id']}</a>";
                    // M: Create drop-down list with targets in range (for form)
                    $strInputList .= '<option value="' . $row['id'] . '">' . stripslashes($arrTmpRanks['alli_name']) . '</option>';
                    // M: Create "Alliances in range" table data
                    $strTableRow .= "<tr class=data>" . '<th width="22">' . $count . '.</th>' . "<th>" . stripslashes($arrTmpRanks['alli_name']) . " (#{$strAllianceLink})" . "</th>" . "<td>" . number_format($arrTmpRanks['land']) . "</td>" . "<td>" . number_format($arrTmpRanks[STRENGTH]) . "</td>" . "<td>" . number_format($arrTmpRanks['fame']) . "</td>" . "</tr>";
                    $count++;
                }
            }
            if ($count == 1) {
                $strTableRow .= '<tr class="data">' . '<th class="center" colspan="5">' . "There are no alliances that we can declare against." . '</th>' . "</tr>";
                $strForm = "<p>There are no alliances that we can declare against.</p>";
            } elseif ($_SERVER['SERVER_NAME'] == DEV_SERVER_NAME || $arrSrcStats['type'] == "elder" || $arrSrcStats['type'] == "coelder") {
                $strForm = '<form method="post" action="main.php?cat=game&amp;page=war_room2" id="center">' . '<label>Alliance: ' . '<select name="target">' . $strInputList . '</select>' . '</label> ' . '<input type="submit" name="declare" value="Declare War!" />' . '</form><br />';
            } else {
                $strForm = '<p>Only alliance elders can declare war.</p>';
            }
            // M: Show page contents
            echo $strPage = '<div id="textMedium" style="margin-top: 0;">' . '<h2>Declare War</h2>' . '<p>' . "In a war, knowing the enemy is very important. " . "Decipher the enemies' weaknesses and avoid " . "confronting their strengths. Gather information about " . "their tribes and research, and then choose targets for " . "your attackers, thieves and mages." . '</p>' . '<h3>Statistics</h3>' . $strStatistics . '<h3>New war target</h3>' . $strForm . '</div><br />' . '<table class="medium" cellpadding="0" cellspacing="0">' . '<tr class="header">' . '<th colspan="5">Alliances in Range</th>' . '</tr>' . '<tr class="subheader"><th colspan="2">Alliance</th>' . '<th>Acres</th>' . '<th class="right">Strength</th>' . '<th class="right">Fame</th>' . '</tr>' . $strTableRow . '</table>';
            break;
        case "current_war":
            // We are in war
            $objTrgAlli = new clsAlliance($arrSrcWar['target']);
            $arrTrgAlli = $objTrgAlli->get_alliance_infos();
            $arrTrgWar = $objTrgAlli->get_wars();
            // Time of war start
            // Get game hours
            require_once 'inc/classes/clsGame.php';
            require_once 'inc/functions/orktime.php';
            $objGame = new clsGame();
            $iGameHours = $objGame->get_game_time('hour_counter');
            $arrOE = hoursToYears(WAR_LENGTH - ($iGameHours - $arrSrcWar['war_started']));
            $strOrkDate = "{$arrOE['years']} years and {$arrOE['months']} months";
            // Option: Claim Victory (tho should be automatic like "final blow")
            $strDiplomacy = '';
            if ($arrSrcWar['land_needed'] <= 0) {
                $strDiplomacy .= '<p>We have reached our war goal. Do you wish to claim this victory?</p>' . '<form method="post" action="main.php?cat=game&page=war_room2" id="center">' . '<input type="submit" name="victory" value="Claim Victory!">' . "</form><br />";
            } elseif (($_SERVER['SERVER_NAME'] == DEV_SERVER_NAME || $arrSrcStats['type'] == "elder" || $arrSrcStats['type'] == "coelder") && $arrSrcWar['truce_offer'] == 1 && $arrTrgWar['truce_offer'] == 0) {
                $strDiplomacy .= '<p>' . "Alliance #" . $objTrgAlli->get_allianceid() . " has " . "not accepted our generous offer to truce yet. " . '</p>' . '<p>' . "As a last resort and at a greater cost we may " . "surrender. (+40% war losses). The only valid reason " . "to do this is to save our alliance from further damage." . '</p>' . '<p>Do you wish to surrender?</p>' . '<form method="post" action="main.php?cat=game&page=war_room2" id="center">' . '<input type="submit" name="ctruce" value="Withdraw Truce" /> ' . '<input type="submit" name="surrender" value="Surrender War" />' . '</form><br />';
            } elseif (($_SERVER['SERVER_NAME'] == DEV_SERVER_NAME || $arrSrcStats['type'] == "elder" || $arrSrcStats['type'] == "coelder") && $arrSrcWar['truce_offer'] == 0 && $arrTrgWar['truce_offer'] == 0) {
                $strDiplomacy .= '<p>We have the option to offer a truce to the enemy.</p>' . '<form method="post" action="main.php?cat=game&page=war_room2" id="center">' . '<input type="submit" name="otruce" value="Offer truce">' . "</form><br />";
            } elseif (($_SERVER['SERVER_NAME'] == DEV_SERVER_NAME || $arrSrcStats['type'] == "elder" || $arrSrcStats['type'] == "coelder") && $arrSrcWar['truce_offer'] == 0 && $arrTrgWar['truce_offer'] == 1) {
                $strDiplomacy .= '<p>' . "Leader, #<strong>{$arrTrgWar['id']}</strong> has " . "offered us a truce." . '</p>' . '<form method="post" action="main.php?cat=game&page=war_room2" id="center">' . '<input type="submit" name="atruce" value="Accept Truce">' . '</form><br />';
            }
            echo $strPage = '<div class="tableLinkMedium">' . '<a href="main.php?cat=game&amp;page=global_news">Global News</a>' . ' | <a href="main.php?cat=game&amp;page=alliance&amp;aid=' . $arrTrgAlli['id'] . '">Alliance #' . $arrTrgAlli['id'] . '</a>' . '</div>' . '<div id=textMedium style="margin-top: 0;">' . '<h2>Victory conditions</h2>' . '<p>' . '<strong class="positive">Take ' . number_format($arrSrcWar['land_needed']) . ' acres to win</strong>&#8212;lose ' . number_format($arrTrgWar['land_needed']) . " acres for defeat." . '</p>' . "<p><em>{$strOrkDate} left until automatic draw.</em></p>" . '<h3>Diplomacy</h3>' . $strDiplomacy . '</div>';
            break;
    }
    // M: Show guide link + advice
    include_once 'inc/pages/advisors.inc.php';
    echo get_guide_link($objSrcUser, 'war_room', 'textMedium');
}