function mapGenerate($getPage_connection2) { $noTokens = false; $setTokens = false; if ($_SESSION["overlay"] == "terrain") { if (isset($_SESSION["terrainMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } else { if ($_SESSION["overlay"] == "control") { if (isset($_SESSION["controlMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } else { if ($_SESSION["overlay"] == "claims") { if (isset($_SESSION["claimsMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } else { if ($_SESSION["overlay"] == "units") { if (isset($_SESSION["unitsMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } else { if ($_SESSION["overlay"] == "nations") { if (isset($_SESSION["nationsMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } else { if (isset($_SESSION["nationsMapContentsTokens"])) { $setTokens = true; } else { $setTokens = false; } // else } } } } } // else // if tokens have been set, check contents if ($setTokens === true) { // go through y positions for ($y = 1; $y < 21; $y++) { // go through x positions for ($x = 1; $x < 21; $x++) { if ($stmt11 = $getPage_connection2->prepare("SELECT token FROM tilesmap WHERE continent=? AND xpos=? AND ypos=? LIMIT 1")) { $stmt11->bind_param("iii", $_SESSION["continent_id"], $x, $y); $stmt11->execute(); $stmt11->bind_result($r_token); $stmt11->fetch(); $tileInfo1_token = $r_token; $stmt11->close(); } else { } // else // get correct overlay tokens if ($_SESSION["overlay"] == "terrain") { $i_mapContentsTokens = $_SESSION["terrainMapContentsTokens"]; } else { if ($_SESSION["overlay"] == "control") { $i_mapContentsTokens = $_SESSION["controlMapContentsTokens"]; } else { if ($_SESSION["overlay"] == "claims") { $i_mapContentsTokens = $_SESSION["claimsMapContentsTokens"]; } else { if ($_SESSION["overlay"] == "units") { $i_mapContentsTokens = $_SESSION["unitsMapContentsTokens"]; } else { if ($_SESSION["overlay"] == "nations") { $i_mapContentsTokens = $_SESSION["nationsMapContentsTokens"]; } else { $i_mapContentsTokens = $_SESSION["nationsMapContentsTokens"]; } } } } } // else $tokenSet = false; if (isset($i_mapContentsTokens[$y][$x])) { $tokenSet = true; } else { $tokenSet = false; } // else if ($x == $_SESSION["xpos"] && $y == $_SESSION["ypos"]) { $tokenSet = false; } // if if ($x == $_SESSION["prev_xpos"] && $y == $_SESSION["prev_ypos"]) { $tokenSet = false; } // if if ($x == $_SESSION["new_xpos"] && $y == $_SESSION["new_ypos"]) { $tokenSet = false; } // if if ($_SESSION["overlay"] != $_SESSION["prev_overlay"]) { $tokenSet = false; } // if // if tokenSet conditions are fulfilled and selected tile token eqauls token retrieved, if ($tokenSet === true && $i_mapContentsTokens[$y][$x] == $tileInfo1_token) { if ($_SESSION["overlay"] == "terrain") { $mapContentToken = $_SESSION["terrainMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["terrainMapContents"][$y][$x]; } else { if ($_SESSION["overlay"] == "control") { $mapContentToken = $_SESSION["controlMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["controlMapContents"][$y][$x]; } else { if ($_SESSION["overlay"] == "claims") { $mapContentToken = $_SESSION["overlayMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["overlayMapContents"][$y][$x]; } else { if ($_SESSION["overlay"] == "units") { $mapContentToken = $_SESSION["unitsMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["unitsMapContents"][$y][$x]; } else { if ($_SESSION["overlay"] == "nations") { $mapContentToken = $_SESSION["nationsMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["nationsMapContents"][$y][$x]; } else { $mapContentToken = $_SESSION["nationsMapContentsTokens"][$y][$x]; $mapContentString = $_SESSION["nationsMapContents"][$y][$x]; } } } } } // else // otherwise generate new content and token } else { $mapContentString = ""; $mapContentToken = 0; $mapContent_generated = array("", 0); $mapContent_generated = generateMapTile($getPage_connection2, $_SESSION["continent_id"], $x, $y); $mapContentString = $mapContent_generated[0]; $mapContentToken = $mapContent_generated[1]; if ($_SESSION["overlay"] == "terrain") { $_SESSION["terrainMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["terrainMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "control") { $_SESSION["controlMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["controlMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "claims") { $_SESSION["overlayMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["overlayMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "units") { $_SESSION["unitsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["unitsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "nations") { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } else { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } } } } } // else } // else echo $mapContentString; } // for echo " <div class=\"clear\"></div>\n"; } // for } else { $noTokens = true; } // else // if no tokens are saved, refresh whole map contents batch if ($noTokens === true) { // go through y positions for ($y = 1; $y < 21; $y++) { // go through x positions for ($x = 1; $x < 21; $x++) { $mapContentString = ""; $mapContentToken = 0; $mapContent_generated = array("", 0); $mapContent_generated = generateMapTile($getPage_connection2, $_SESSION["continent_id"], $x, $y); $mapContentString = $mapContent_generated[0]; $mapContentToken = $mapContent_generated[1]; if ($_SESSION["overlay"] == "terrain") { $_SESSION["terrainMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["terrainMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "control") { $_SESSION["controlMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["controlMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "claims") { $_SESSION["claimsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["claimsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "units") { $_SESSION["unitsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["unitsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "nations") { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } else { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } } } } } // else echo $mapContentString; } // for echo " <div class=\"clear\"></div>\n"; } // for } // if }
function resetWorld($getPage_connection3) { if ($_SESSION["admin"] == 1) { if (strlen($_SESSION["action"]) >= 1) { if ($_SESSION["action"] == "reset_world") { if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE agreements")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE claims")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE combatlog")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE continents")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE improvementsmap")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE nations")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE offers")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE organizations")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE production")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE rankings")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE resourcesmap")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE tilesmap")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE trade")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE transport")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE unitsmap")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE users")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("TRUNCATE TABLE mapmemory")) { $stmt->execute(); $stmt->close(); } else { } // else if ($stmt = $getPage_connection3->prepare("SELECT id FROM market ORDER BY id ASC")) { $stmt->execute(); $stmt->store_result(); $stmt->bind_result($r_id); while ($stmt->fetch()) { $next_markets = $r_id; $marketInfo1 = getMarketInfo($getPage_connection3, $next_markets); setMarketInfo($getPage_connection3, $next_markets, $marketInfo1["name"], 100); } // while $stmt->close(); } else { } // else resetSession(false); // Create Admin Account, starter continent $new_salt = ""; $new_username = "******"; $new_avatar = "images/users/avatar.png"; $allowed_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./'; $chars_length = 63; for ($i = 0; $i < 51; $i++) { $new_salt .= $allowed_chars[mt_rand(0, $chars_length)]; } // for $new_date = date("Y-m-d H:i:s"); $new_token = mt_rand(1000, 9999); $new_thread = mt_rand(100, 999); $final_salt = '$2y$09$' . $new_salt . '$'; $created_password = crypt("qwertyuiop" . $new_salt, $final_salt); addUserInfo($getPage_connection3, $new_username, $new_avatar, $new_date, $new_date, $created_password, $new_salt, $new_token, $new_thread, 1); $new_userid = $getPage_connection3->insert_id; $new_name = "Administrator"; $new_formal = "Administrator"; addProductionInfo($getPage_connection3, $new_userid, 100, array(0 => 2, 1 => 2, 2 => 2, 3 => 2, 4 => 2, 5 => 2, 6 => 2, 7 => 2), array(0 => 2, 1 => 2, 2 => 2, 3 => 2, 4 => 2, 5 => 2, 6 => 2, 7 => 2)); addRankingInfo($getPage_connection3, $new_userid, 999, 999, 999, 999, 999); $new_routes = array(0 => 0); $new_worth = array(0 => 0); $new_offers = array(0 => 0); addTradeInfo($getPage_connection3, $new_userid, $new_routes, 0); $capitalBuilt = false; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $finalTiles = array(0 => 0, 1 => 0); $availableContinent = 0; if ($stmt = $getPage_connection3->prepare("SELECT id FROM continents ORDER BY id ASC")) { $stmt->execute(); $stmt->store_result(); $stmt->bind_result($r_id); while ($stmt->fetch()) { $next_continents = $r_id; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $next_tiles = 1; $counter1 = 0; if ($stmt2 = $getPage_connection3->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) { $stmt2->execute(); $stmt2->store_result(); $stmt2->bind_result($r_id1); while ($stmt2->fetch()) { $next_tiles = $r_id1; $tileInfoD = getTileInfoByID($getPage_connection3, $next_tiles); if ($tileInfoD["continent"] == $next_continents && $tileInfoD["owner"] == 0 && $tileInfoD["terrain"] != 2) { $tileInfoDWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"]); $tileInfoDNorthWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorth = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorthEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] - 1); $tileInfoDEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"]); $tileInfoDSouthEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] + 1); $tileInfoDSouth = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"] + 1); $tileInfoDSouthWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] + 1); if ($tileInfoDWest["continent"] == $next_continents && $tileInfoDWest["owner"] == 0 && $tileInfoDWest["terrain"] != 2 || $tileInfoDNorthWest["continent"] == $next_continents && $tileInfoDNorthWest["owner"] == 0 && $tileInfoDNorthWest["terrain"] != 2 || $tileInfoDNorth["continent"] == $next_continents && $tileInfoDNorth["owner"] == 0 && $tileInfoDNorth["terrain"] != 2 || $tileInfoDNorthEast["continent"] == $next_continents && $tileInfoDNorthEast["owner"] == 0 && $tileInfoDNorthEast["terrain"] != 2 || $tileInfoDEast["continent"] == $next_continents && $tileInfoDEast["owner"] == 0 && $tileInfoDEast["terrain"] != 2 || $tileInfoDSouthEast["continent"] == $next_continents && $tileInfoDSouthEast["owner"] == 0 && $tileInfoDSouthEast["terrain"] != 2 || $tileInfoDSouth["continent"] == $next_continents && $tileInfoDSouth["owner"] == 0 && $tileInfoDSouth["terrain"] != 2 || $tileInfoDSouthWest["continent"] == $next_continents && $tileInfoDSouthWest["owner"] == 0 && $tileInfoDSouthWest["terrain"] != 2) { $availableTiles[$counter1] = $tileInfoD["id"]; $counter1++; } // if } // if if ($counter1 == 4) { $availableContinent = $next_continents; } // if } // while $stmt2->close(); } else { } // else if ($counter1 == 4) { break; } // if } // while $stmt->close(); } else { $next_continents = 0; } // else // get available tiles from newly created continent if no continent is available if ($availableContinent < 1) { $continent1 = generateContinent($getPage_connection3); $next_continents = $continent1; $availableContinent = $next_continents; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $counter1 = 0; if ($stmt = $getPage_connection3->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) { $stmt->execute(); $stmt->store_result(); $stmt->bind_result($r_result); while ($stmt->fetch()) { $next_tiles = $r_result; $tileInfoD = getTileInfoByID($getPage_connection3, $next_tiles); if ($tileInfoD["continent"] == $next_continents && $tileInfoD["owner"] == 0 && ($tileInfoD["terrain"] != 2 && $tileInfoD["terrain"] != 3)) { $tileInfoDWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"]); $tileInfoDNorthWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorth = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorthEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] - 1); $tileInfoDEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"]); $tileInfoDSouthEast = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] + 1); $tileInfoDSouth = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"] + 1); $tileInfoDSouthWest = getTileInfo($getPage_connection3, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] + 1); if ($tileInfoDWest["continent"] == $next_continents && $tileInfoDWest["owner"] == 0 && ($tileInfoDWest["terrain"] != 2 && $tileInfoDWest["terrain"] != 3) || $tileInfoDNorthWest["continent"] == $next_continents && $tileInfoDNorthWest["owner"] == 0 && ($tileInfoDNorthWest["terrain"] != 2 && $tileInfoDNorthWest["terrain"] != 3) || $tileInfoDNorth["continent"] == $next_continents && $tileInfoDNorth["owner"] == 0 && ($tileInfoDNorth["terrain"] != 2 && $tileInfoDNorth["terrain"] != 3) || $tileInfoDNorthEast["continent"] == $next_continents && $tileInfoDNorthEast["owner"] == 0 && ($tileInfoDNorthEast["terrain"] != 2 && $tileInfoDNorthEast["terrain"] != 3) || $tileInfoDEast["continent"] == $next_continents && $tileInfoDEast["owner"] == 0 && ($tileInfoDEast["terrain"] != 2 && $tileInfoDEast["terrain"] != 3) || $tileInfoDSouthEast["continent"] == $next_continents && $tileInfoDSouthEast["owner"] == 0 && ($tileInfoDSouthEast["terrain"] != 2 && $tileInfoDSouthEast["terrain"] != 3) || $tileInfoDSouth["continent"] == $next_continents && $tileInfoDSouth["owner"] == 0 && ($tileInfoDSouth["terrain"] != 2 && $tileInfoDSouth["terrain"] != 3) || $tileInfoDSouthWest["continent"] == $next_continents && $tileInfoDSouthWest["owner"] == 0 && ($tileInfoDSouthWest["terrain"] != 2 && $tileInfoDSouthWest["terrain"] != 3)) { $availableTiles[$counter1] = $tileInfoD["id"]; $counter1++; } // if } // if } // while $stmt->close(); } else { } // else } // if $sameTile = true; $randTiles = array(0 => 0, 1 => 0); while ($sameTile === true) { $randTiles[0] = mt_rand(1, count($availableTiles) - 2); $randDirection = mt_rand(1, 2); if ($randDirection == 1) { $randTiles[1] = $randTiles[0] - 1; } else { if ($randDirection == 2) { $randTiles[1] = $randTiles[0] + 1; } } // else if if ($randTiles[0] == $randTiles[1]) { $sameTile = true; } else { $sameTile = false; } // else } // while $finalTiles[0] = $availableTiles[$randTiles[0]]; $finalTiles[1] = $availableTiles[$randTiles[1]]; $claims = array(0 => 0); for ($c = 0; $c < 3; $c++) { if (isset($finalTiles[$c])) { if ($finalTiles[$c] > 0) { addClaimInfo($getPage_connection3, 10, $new_userid, $finalTiles[$c]); } // if } // if } // for for ($j = 0; $j < 3; $j++) { if (isset($finalTiles[$j])) { if ($finalTiles[$j] > 0) { $tileInfo2 = getTileInfoByID($getPage_connection3, $finalTiles[$j]); setTileInfo($getPage_connection3, $tileInfo2["id"], $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], $tileInfo2["terrain"], $tileInfo2["resources"], $tileInfo2["improvements"], $new_userid, $tileInfo2["claims"], $tileInfo2["population"]); if ($capitalBuilt === false) { addImprovementInfo($getPage_connection3, $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], 1, 1, array(0 => 0), array(0 => $new_userid), "Capital City"); // add capital addImprovementInfo($getPage_connection3, $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], 4, 1, array(0 => 0), array(0 => $new_userid), "First Farm"); // add farm $capitalBuilt = true; } // if } // if } // if } // for addNationInfo($getPage_connection3, $new_userid, $new_name, $availableContinent, $new_formal, "", 12, 5000, 0, 3, 2500, 5, 0, 5, 0, array(0 => 0), array(0 => 0), array(0 => 5, 1 => 0, 2 => 0, 3 => 5, 4 => 2, 5 => 5, 6 => 0, 7 => 5), array(0 => 5, 1 => 5, 2 => 5, 3 => 5), 2000, 0); // go through y positions for ($y = 1; $y < 21; $y++) { // go through x positions for ($x = 1; $x < 21; $x++) { $mapContentString = ""; $mapContentToken = 0; for ($qw = 0; $qw < 5; $qw++) { if ($qw == 0) { $_SESSION["overlay"] = "terrain"; } else { if ($qw == 1) { $_SESSION["overlay"] = "control"; } else { if ($qw == 2) { $_SESSION["overlay"] = "claims"; } else { if ($qw == 3) { $_SESSION["overlay"] = "units"; } else { if ($qw == 4) { $_SESSION["overlay"] = "nations"; } } } } } // else if $mapContent_generated = array("", 0); $mapContent_generated = generateMapTile($getPage_connection3, $availableContinent, $x, $y); $mapContentString = $mapContent_generated[0]; $mapContentToken = $mapContent_generated[1]; $_SESSION["terrainMapContentsTokens"] = array(0); $_SESSION["terrainMapContents"] = array(0); $_SESSION["controlMapContentsTokens"] = array(0); $_SESSION["controlMapContents"] = array(0); $_SESSION["claimsMapContentsTokens"] = array(0); $_SESSION["claimsMapContents"] = array(0); $_SESSION["unitsMapContentsTokens"] = array(0); $_SESSION["unitsMapContents"] = array(0); $_SESSION["nationsMapContentsTokens"] = array(0); $_SESSION["nationsMapContents"] = array(0); if ($_SESSION["overlay"] == "terrain") { $_SESSION["terrainMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["terrainMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "control") { $_SESSION["controlMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["controlMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "claims") { $_SESSION["claimsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["claimsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "units") { $_SESSION["unitsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["unitsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "nations") { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } else { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } } } } } // else } // for } // for } // for addMapMemoryInfo($getPage_connection3, $new_userid, $_SESSION["terrainMapContents"], $_SESSION["controlMapContents"], $_SESSION["claimsMapContents"], $_SESSION["unitsMapContents"], $_SESSION["nationsMapContents"], $_SESSION["terrainMapContentsTokens"], $_SESSION["controlMapContentsTokens"], $_SESSION["claimsMapContentsTokens"], $_SESSION["unitsMapContentsTokens"], $_SESSION["nationsMapContentsTokens"]); // $_SESSION["success_message"] = "World has been reset successfully!"; } else { $_SESSION["warning_message"] = "Cannot complete action: action is not valid."; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: action is not valid."; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: not valid admin."; } // else }
function registerUser($getPage_connection2) { if ($_SESSION["action"] == "register") { if (strlen($_SESSION["register_username"]) >= 5 && strlen($_SESSION["register_username"]) <= 35) { if (strlen($_SESSION["register_password"]) >= 8 && strlen($_SESSION["register_password"]) <= 35 && strlen($_SESSION["register_confirm_password"]) >= 8 && strlen($_SESSION["register_confirm_password"]) <= 35) { if ($_SESSION["register_confirm_password"] == $_SESSION["register_password"]) { $userInfoA = getUserInfoByName($getPage_connection2, $_SESSION["register_username"]); if ($userInfoA["id"] >= 1) { $_SESSION["warning_message"] = "Cannot complete action: Username is already in use."; } else { $new_salt = ""; $new_username = $_SESSION["register_username"]; $new_avatar = "images/users/avatar.png"; $allowed_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./'; $chars_length = 63; for ($i = 0; $i < 51; $i++) { $new_salt .= $allowed_chars[mt_rand(0, $chars_length)]; } // for $new_date = date("Y-m-d H:i:s"); $new_token = mt_rand(1000, 9999); $new_thread = mt_rand(100, 999); $final_salt = '$2y$09$' . $new_salt . '$'; $created_password = crypt($_SESSION["register_password"] . $new_salt, $final_salt); addUserInfo($getPage_connection2, $new_username, $new_avatar, $new_date, $new_date, $created_password, $new_salt, $new_token, $new_thread, 0); $new_userid = $getPage_connection2->insert_id; $new_name = $_SESSION["register_nation"]; $new_formal = $_SESSION["register_formal"]; addProductionInfo($getPage_connection2, $new_userid, 100, array(0 => 2, 1 => 2, 2 => 2, 3 => 2, 4 => 2, 5 => 2, 6 => 2, 7 => 2), array(0 => 2, 1 => 2, 2 => 2, 3 => 2, 4 => 2, 5 => 2, 6 => 2, 7 => 2)); addRankingInfo($getPage_connection2, $new_userid, 999, 999, 999, 999, 999); $new_routes = array(0 => 0); $new_worth = array(0 => 0); $new_offers = array(0 => 0); addTradeInfo($getPage_connection2, $new_userid, $new_routes, 0); $capitalBuilt = false; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $finalTiles = array(0 => 0, 1 => 0); $availableContinent = 0; if ($stmt = $getPage_connection2->prepare("SELECT id FROM continents ORDER BY id ASC")) { $stmt->execute(); $stmt->store_result(); $stmt->bind_result($r_id); while ($stmt->fetch()) { $next_continents = $r_id; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $counter1 = 0; if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) { $stmt2->execute(); $stmt2->store_result(); $stmt2->bind_result($r_id1); while ($stmt2->fetch()) { $next_tiles = $r_id1; $tileInfoD = getTileInfoByID($getPage_connection2, $next_tiles); if ($tileInfoD["continent"] == $next_continents && $tileInfoD["owner"] == 0 && $tileInfoD["terrain"] != 2) { $tileInfoDWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"]); $tileInfoDNorthWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorth = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorthEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] - 1); $tileInfoDEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"]); $tileInfoDSouthEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] + 1); $tileInfoDSouth = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"] + 1); $tileInfoDSouthWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] + 1); if ($tileInfoDWest["continent"] == $next_continents && $tileInfoDWest["owner"] == 0 && $tileInfoDWest["terrain"] != 2 || $tileInfoDNorthWest["continent"] == $next_continents && $tileInfoDNorthWest["owner"] == 0 && $tileInfoDNorthWest["terrain"] != 2 || $tileInfoDNorth["continent"] == $next_continents && $tileInfoDNorth["owner"] == 0 && $tileInfoDNorth["terrain"] != 2 || $tileInfoDNorthEast["continent"] == $next_continents && $tileInfoDNorthEast["owner"] == 0 && $tileInfoDNorthEast["terrain"] != 2 || $tileInfoDEast["continent"] == $next_continents && $tileInfoDEast["owner"] == 0 && $tileInfoDEast["terrain"] != 2 || $tileInfoDSouthEast["continent"] == $next_continents && $tileInfoDSouthEast["owner"] == 0 && $tileInfoDSouthEast["terrain"] != 2 || $tileInfoDSouth["continent"] == $next_continents && $tileInfoDSouth["owner"] == 0 && $tileInfoDSouth["terrain"] != 2 || $tileInfoDSouthWest["continent"] == $next_continents && $tileInfoDSouthWest["owner"] == 0 && $tileInfoDSouthWest["terrain"] != 2) { $availableTiles[$counter1] = $tileInfoD["id"]; $counter1++; } // if } // if if ($counter1 == 4) { $availableContinent = $next_continents; } // if } // while $stmt2->close(); } else { } // else if ($counter1 == 4) { break; } // if } // while $stmt->close(); } else { } // else // get available tiles from newly created continent if no continent is available if ($availableContinent < 1) { $continent1 = generateContinent($getPage_connection2); $next_continents = $continent1; $availableContinent = $next_continents; $availableTiles = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0); $next_tiles = 1; $counter1 = 0; if ($stmt = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) { $stmt->execute(); $stmt->store_result(); $stmt->bind_result($r_id); while ($stmt->fetch()) { $next_tiles = $r_id; $tileInfoD = getTileInfoByID($getPage_connection2, $next_tiles); if ($tileInfoD["continent"] == $next_continents && $tileInfoD["owner"] == 0 && ($tileInfoD["terrain"] != 2 && $tileInfoD["terrain"] != 3)) { $tileInfoDWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"]); $tileInfoDNorthWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorth = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] - 1); $tileInfoDNorthEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] - 1); $tileInfoDEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"]); $tileInfoDSouthEast = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] + 1, $tileInfoD["ypos"] + 1); $tileInfoDSouth = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"] + 1); $tileInfoDSouthWest = getTileInfo($getPage_connection2, $tileInfoD["continent"], $tileInfoD["xpos"] - 1, $tileInfoD["ypos"] + 1); if ($tileInfoDWest["continent"] == $next_continents && $tileInfoDWest["owner"] == 0 && ($tileInfoDWest["terrain"] != 2 && $tileInfoDWest["terrain"] != 3) || $tileInfoDNorthWest["continent"] == $next_continents && $tileInfoDNorthWest["owner"] == 0 && ($tileInfoDNorthWest["terrain"] != 2 && $tileInfoDNorthWest["terrain"] != 3) || $tileInfoDNorth["continent"] == $next_continents && $tileInfoDNorth["owner"] == 0 && ($tileInfoDNorth["terrain"] != 2 && $tileInfoDNorth["terrain"] != 3) || $tileInfoDNorthEast["continent"] == $next_continents && $tileInfoDNorthEast["owner"] == 0 && ($tileInfoDNorthEast["terrain"] != 2 && $tileInfoDNorthEast["terrain"] != 3) || $tileInfoDEast["continent"] == $next_continents && $tileInfoDEast["owner"] == 0 && ($tileInfoDEast["terrain"] != 2 && $tileInfoDEast["terrain"] != 3) || $tileInfoDSouthEast["continent"] == $next_continents && $tileInfoDSouthEast["owner"] == 0 && ($tileInfoDSouthEast["terrain"] != 2 && $tileInfoDSouthEast["terrain"] != 3) || $tileInfoDSouth["continent"] == $next_continents && $tileInfoDSouth["owner"] == 0 && ($tileInfoDSouth["terrain"] != 2 && $tileInfoDSouth["terrain"] != 3) || $tileInfoDSouthWest["continent"] == $next_continents && $tileInfoDSouthWest["owner"] == 0 && ($tileInfoDSouthWest["terrain"] != 2 && $tileInfoDSouthWest["terrain"] != 3)) { $availableTiles[$counter1] = $tileInfoD["id"]; $counter1++; } // if } // if } // while $stmt->close(); } else { } // else } // if $sameTile = true; $randTiles = array(0 => 0, 1 => 0); while ($sameTile === true) { $randTiles[0] = mt_rand(1, count($availableTiles) - 2); $randDirection = mt_rand(1, 2); if ($randDirection == 1) { $randTiles[1] = $randTiles[0] - 1; } else { if ($randDirection == 2) { $randTiles[1] = $randTiles[0] + 1; } } // else if if ($randTiles[0] == $randTiles[1]) { $sameTile = true; } else { $sameTile = false; } // else } // while $finalTiles[0] = $availableTiles[$randTiles[0]]; $finalTiles[1] = $availableTiles[$randTiles[1]]; $claims = array(0 => 0); for ($c = 0; $c < 3; $c++) { if (isset($finalTiles[$c])) { if ($finalTiles[$c] > 0) { addClaimInfo($getPage_connection2, 10, $new_userid, $finalTiles[$c]); } // if } // if } // for for ($j = 0; $j < 3; $j++) { if (isset($finalTiles[$j])) { if ($finalTiles[$j] > 0) { $tileInfo2 = getTileInfoByID($getPage_connection2, $finalTiles[$j]); setTileInfo($getPage_connection2, $tileInfo2["id"], $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], $tileInfo2["terrain"], $tileInfo2["resources"], $tileInfo2["improvements"], $new_userid, $tileInfo2["claims"], $tileInfo2["population"]); if ($capitalBuilt === false) { addImprovementInfo($getPage_connection2, $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], 1, 1, array(0 => 0), array(0 => $new_userid), "Capital City"); // add capital addImprovementInfo($getPage_connection2, $tileInfo2["continent"], $tileInfo2["xpos"], $tileInfo2["ypos"], 4, 1, array(0 => 0), array(0 => $new_userid), "First Farm"); // add farm $capitalBuilt = true; } // if } // if } // if } // for addNationInfo($getPage_connection2, $new_userid, $new_name, $availableContinent, $new_formal, "", 12, 5000, 0, 3, 2500, 5, 0, 5, 0, array(0 => 0), array(0 => 0), array(0 => 5, 1 => 0, 2 => 0, 3 => 5, 4 => 2, 5 => 5, 6 => 0, 7 => 5), array(0 => 5, 1 => 5, 2 => 5, 3 => 5), 2000, 0); // go through y positions for ($y = 1; $y < 21; $y++) { // go through x positions for ($x = 1; $x < 21; $x++) { $mapContentString = ""; $mapContentToken = 0; for ($qw = 0; $qw < 5; $qw++) { if ($qw == 0) { $_SESSION["overlay"] = "terrain"; } else { if ($qw == 1) { $_SESSION["overlay"] = "control"; } else { if ($qw == 2) { $_SESSION["overlay"] = "claims"; } else { if ($qw == 3) { $_SESSION["overlay"] = "units"; } else { if ($qw == 4) { $_SESSION["overlay"] = "nations"; } } } } } // else if $mapContent_generated = array("", 0); $mapContent_generated = generateMapTile($getPage_connection2, $availableContinent, $x, $y); $mapContentString = $mapContent_generated[0]; $mapContentToken = $mapContent_generated[1]; $_SESSION["terrainMapContentsTokens"] = array(0); $_SESSION["terrainMapContents"] = array(0); $_SESSION["controlMapContentsTokens"] = array(0); $_SESSION["controlMapContents"] = array(0); $_SESSION["claimsMapContentsTokens"] = array(0); $_SESSION["claimsMapContents"] = array(0); $_SESSION["unitsMapContentsTokens"] = array(0); $_SESSION["unitsMapContents"] = array(0); $_SESSION["nationsMapContentsTokens"] = array(0); $_SESSION["nationsMapContents"] = array(0); if ($_SESSION["overlay"] == "terrain") { $_SESSION["terrainMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["terrainMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "control") { $_SESSION["controlMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["controlMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "claims") { $_SESSION["claimsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["claimsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "units") { $_SESSION["unitsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["unitsMapContents"][$y][$x] = $mapContentString; } else { if ($_SESSION["overlay"] == "nations") { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } else { $_SESSION["nationsMapContentsTokens"][$y][$x] = $mapContentToken; $_SESSION["nationsMapContents"][$y][$x] = $mapContentString; } } } } } // else } // for } // for } // for addMapMemoryInfo($getPage_connection2, $new_userid, $_SESSION["terrainMapContents"], $_SESSION["controlMapContents"], $_SESSION["claimsMapContents"], $_SESSION["unitsMapContents"], $_SESSION["nationsMapContents"], $_SESSION["terrainMapContentsTokens"], $_SESSION["controlMapContentsTokens"], $_SESSION["claimsMapContentsTokens"], $_SESSION["unitsMapContentsTokens"], $_SESSION["nationsMapContentsTokens"]); $_SESSION["success_message"] = "User has been registered successfully!"; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: Passwords are not matching, double check your password fields."; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: Password must be 8-35 characters."; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: Username must be 8-35 characters."; } // else } else { $_SESSION["warning_message"] = "Cannot complete action: registration is invalid."; } // else }