getCoor($_GET['z']); $y = $currentcoor['y']; $x = $currentcoor['x']; $bigmid = $_GET['z']; } else if(isset($_POST['xp']) && isset($_POST['yp'])) { $x = $_POST['xp']; $y = $_POST['yp']; $bigmid = $generator->getBaseID($x, $y); } else { $y = $village->coor['y']; $x = $village->coor['x']; $bigmid = $village->wid; } /* ========================= RESET MOVEMENTS CACHE ========================= */ if (isset($_SESSION['troops_movement'])) { unset($_SESSION['troops_movement']); } /* ========================= PLUS ACCOUNT ATTACK DATA ========================= */ if ($session->plus) { $session->populateAttacks(); } /* ========================= MAP COORDINATES CALCULATION (kept behavior identical) ========================= */ $xm7 = ($x - 7) < -$W ? $x + $W + $W - 6 : $x - 7; $xm3 = ($x - 3) < -$W ? $x + $W + $W - 2 : $x - 3; $xm2 = ($x - 2) < -$W ? $x + $W + $W - 1 : $x - 2; $xm1 = ($x - 1) < -$W ? $x + $W + $W : $x - 1; $xp1 = ($x + 1) > $W ? $x - $W - $W : $x + 1; $xp2 = ($x + 2) > $W ? $x - $W - $W + 1 : $x + 2; $xp3 = ($x + 3) > $W ? $x - $W - $W + 2 : $x + 3; $xp7 = ($x + 7) > $W ? $x - $W - $W + 6 : $x + 7; $ym7 = ($y - 7) < -$W ? $y + $W + $W - 6 : $y - 7; $ym3 = ($y - 3) < -$W ? $y + $W + $W - 2 : $y - 3; $ym2 = ($y - 2) < -$W ? $y + $W + $W - 1 : $y - 2; $ym1 = ($y - 1) < -$W ? $y + $W + $W : $y - 1; $yp1 = ($y + 1) > $W ? $y - $W - $W : $y + 1; $yp2 = ($y + 2) > $W ? $y - $W - $W + 1 : $y + 2; $yp3 = ($y + 3) > $W ? $y - $W - $W + 2 : $y + 3; $yp7 = ($y + 7) > $W ? $y - $W - $W + 6 : $y + 7; /* ========================= MAP GRID ARRAYS ========================= */ $xarray = array($xm3, $xm2, $xm1, $x, $xp1, $xp2, $xp3); $yarray = array($ym3, $ym2, $ym1, $y, $yp1, $yp2, $yp3); $maparray = ''; $maparray2 = ''; $xcount = 0; for ($i = 0; $i <= 6; $i++) { if ($xcount != 7) { $id = $generator->getBaseID($xarray[$xcount], $yarray[$i]); $maparray .= "'" . $id . "',"; $maparray2 .= $id . ","; if ($i == 6) { $i = -1; $xcount++; } } } $maparray = substr($maparray, 0, -1); /* ========================= MAIN MAP QUERY (formatted only, same logic) ========================= */ $query2 = " SELECT " . TB_PREFIX . "wdata.id AS map_id, " . TB_PREFIX . "wdata.fieldtype AS map_fieldtype, " . TB_PREFIX . "wdata.oasistype AS map_oasis, " . TB_PREFIX . "wdata.x AS map_x, " . TB_PREFIX . "wdata.y AS map_y, " . TB_PREFIX . "wdata.occupied AS map_occupied, " . TB_PREFIX . "wdata.image AS map_image, " . TB_PREFIX . "odata.conqured AS oasis_conqured, info_user_oasis.username AS oasis_user, info_user_oasis.tribe AS oasis_tribe, info_alliance_oasis.tag AS oasis_alli_name, " . TB_PREFIX . "vdata.wref AS ville_id, " . TB_PREFIX . "vdata.owner AS ville_user, " . TB_PREFIX . "vdata.name AS ville_name, " . TB_PREFIX . "vdata.capital AS ville_capital, " . TB_PREFIX . "vdata.pop AS ville_pop, " . TB_PREFIX . "users.id AS user_id, " . TB_PREFIX . "users.username AS user_username, " . TB_PREFIX . "users.tribe AS user_tribe, " . TB_PREFIX . "users.alliance AS user_alliance, " . TB_PREFIX . "alidata.id AS aliance_id, " . TB_PREFIX . "alidata.tag AS aliance_name FROM ((((((" . TB_PREFIX . "wdata LEFT JOIN " . TB_PREFIX . "vdata ON " . TB_PREFIX . "vdata.wref = " . TB_PREFIX . "wdata.id) LEFT JOIN " . TB_PREFIX . "odata ON " . TB_PREFIX . "odata.wref = " . TB_PREFIX . "wdata.id) LEFT JOIN " . TB_PREFIX . "users AS info_user_oasis ON info_user_oasis.id = " . TB_PREFIX . "odata.owner) LEFT JOIN " . TB_PREFIX . "alidata AS info_alliance_oasis ON info_alliance_oasis.id = info_user_oasis.alliance) LEFT JOIN " . TB_PREFIX . "users ON " . TB_PREFIX . "users.id = " . TB_PREFIX . "vdata.owner) LEFT JOIN " . TB_PREFIX . "alidata ON " . TB_PREFIX . "alidata.id = " . TB_PREFIX . "users.alliance) WHERE " . TB_PREFIX . "wdata.id IN ($maparray) ORDER BY FIND_IN_SET(" . TB_PREFIX . "wdata.id,'$maparray2') "; $result2 = mysqli_query($database->dblink, $query2) or die(mysqli_error($database->dblink)); /* ========================= OUTPUT PREPARATION ========================= */ $targetalliance = array(); $neutralarray = array(); $friendarray = array(); $enemyarray = array(); $i = 0; $i2 = 0; /* ========================= COORD ARRAY (STATIC CACHE SAFE) ========================= */ static $coorarray = null; if ($coorarray === null) { $coorarray = array( "53, 137, 90, 157, 53, 177, 16, 157", "89, 117, 126, 137, 89, 157, 52, 137", "125, 97, 162, 117, 125, 137, 88, 117", "161, 77, 198, 97, 161, 117, 124, 97", "197, 57, 234, 77, 197, 97, 160, 77", "233, 37, 270, 57, 233, 77, 196, 57", "269, 17, 306, 37, 269, 57, 232, 37", "90, 157, 127, 177, 90, 197, 53, 177", "126, 137, 163, 157, 126, 177, 89, 157", "162, 117, 199, 137, 162, 157, 125, 137", "198, 97, 235, 117, 198, 137, 161, 117", "234, 77, 271, 97, 234, 117, 197, 97", "270, 57, 307, 77, 270, 97, 233, 77", "306, 37, 343, 57, 306, 77, 269, 57", "127, 177, 164, 197, 127, 217, 90, 197", "163, 157, 200, 177, 163, 197, 126, 177", "199, 137, 236, 157, 199, 177, 162, 157", "235, 117, 272, 137, 235, 157, 198, 137", "271, 97, 308, 117, 271, 137, 234, 117", "307, 77, 344, 97, 307, 117, 270, 97", "343, 57, 380, 77, 343, 97, 306, 77", "164, 197, 201, 217, 164, 237, 127, 217", "200, 177, 237, 197, 200, 217, 163, 197", "236, 157, 273, 177, 236, 197, 199, 177", "272, 137, 309, 157, 272, 177, 235, 157", "308, 117, 345, 137, 308, 157, 271, 137", "344, 97, 381, 117, 344, 137, 307, 117", "380, 77, 417, 97, 380, 117, 343, 97", "201, 217, 238, 237, 201, 257, 164, 237", "237, 197, 274, 217, 237, 237, 200, 217", "273, 177, 310, 197, 273, 217, 236, 197", "309, 157, 346, 177, 309, 197, 272, 177", "345, 137, 382, 157, 345, 177, 308, 157", "381, 117, 418, 137, 381, 157, 344, 137", "417, 97, 454, 117, 417, 137, 380, 117", "238, 237, 275, 257, 238, 277, 201, 257", "274, 217, 311, 237, 274, 257, 237, 237", "310, 197, 347, 217, 310, 237, 273, 217", "346, 177, 383, 197, 346, 217, 309, 197", "382, 157, 419, 177, 382, 197, 345, 177", "418, 137, 455, 157, 418, 177, 381, 157", "454, 117, 491, 137, 454, 157, 417, 137", "275, 257, 312, 277, 275, 297, 238, 277", "311, 237, 348, 257, 311, 277, 274, 257", "347, 217, 384, 237, 347, 257, 310, 237", "383, 197, 420, 217, 383, 237, 346, 217", "419, 177, 456, 197, 419, 217, 382, 197", "455, 157, 492, 177, 455, 197, 418, 177", "491, 137, 528, 157, 491, 177, 454, 157" ); } /* ========================= OUTPUT VARS ========================= */ $yrow = 0; $row = 0; $coorindex = 0; $map_js = ''; $map_gen = ''; $map_content = ''; /* ========================= MAIN LOOP (UNCHANGED LOGIC) ========================= */ while ($donnees = mysqli_fetch_assoc($result2)) { $targetalliance = $donnees["aliance_id"]; $sessionAlliance = (int)$session->alliance; $allyCache = $database->getAllianceAlly($sessionAlliance, 1)?: []; $warCache = $database->getAllianceWar2($sessionAlliance)?: []; $neutralCache = $database->getAllianceAlly($sessionAlliance, 2)?: []; $target = (int)$donnees["aliance_id"]; /* ========================= RELATION STATUS ========================= */ $friend = $war = $neutral = 0; if ($target && $sessionAlliance) { foreach ($allyCache as $ac) { if ((($ac['alli1']?? 0) == $target) || (($ac['alli2']?? 0) == $target)) { $friend = 1; break; } } foreach ($warCache as $wc) { if ((($wc['alli1']?? 0) == $target) || (($wc['alli2']?? 0) == $target)) { $war = 1; break; } } foreach ($neutralCache as $nc) { if ((($nc['alli1']?? 0) == $target) || (($nc['alli2']?? 0) == $target)) { $neutral = 1; break; } } } /* ========================= IMAGE DECISION (UNCHANGED) ========================= */ $image = ($donnees['map_occupied'] == 1 && $donnees['map_fieldtype'] > 0) ? (($donnees['ville_user'] == $session->uid) ? ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b30' : 'b20') : 'b10') : 'b00') : (($targetalliance != 0) ? ($friend == 1 ? ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b31' : 'b21') : 'b11') : 'b01') : ($war == 1 ? ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b32' : 'b22') : 'b12') : 'b02') : ($neutral == 1 ? ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b35' : 'b25') : 'b15') : 'b05') : ($targetalliance == $session->alliance ? ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b33' : 'b23') : 'b13') : 'b03') : ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b34' : 'b24') : 'b14') : 'b04'))))) : ($donnees['ville_pop'] >= 100 ? ($donnees['ville_pop'] >= 250 ? ($donnees['ville_pop'] >= 500 ? 'b34' : 'b24') : 'b14') : 'b04'))) : $donnees['map_image']; /* ========================= ATTACK MARKERS ========================= */ $att = ""; if (isset($_SESSION['troops_movement'])) { if (isset($_SESSION['troops_movement']['attacks']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['attacks'])) { $att = ''; } elseif (isset($_SESSION['troops_movement']['scouts']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['scouts'])) { $att = ''; } elseif (isset($_SESSION['troops_movement']['enforcements']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['enforcements'])) { $att = ''; } } /* ========================= MAP CONTENT ========================= */ if ($donnees['ville_user'] == 3 && $donnees['ville_name'] == PLANVILLAGE) { $map_content .= "
$att
\r"; } else { $map_content .= "
$att
\r"; } /* ========================= AREA GENERATION ========================= */ $map_gen .= "\n"; /* ========================= JS MAP DATA ========================= */ if ($yrow != 7) { $map_js .= "[" . $donnees['map_x'] . "," . $donnees['map_y'] . "," . $donnees['map_fieldtype'] . "," . ((!empty($donnees['map_oasis'])) ? $donnees['map_oasis'] : 0) . ",\"d=" . $donnees['map_id'] . "&c=" . $generator->getMapCheck($donnees['map_id']) . "\",\"" . $image . "\",\"\""; if ($donnees['map_occupied']) { if ($donnees['map_fieldtype'] != 0) { $map_js .= ",\"" . $donnees['ville_name'] . "\",\"" . $donnees['user_username'] . "\",\"" . $donnees['ville_pop'] . "\",\"" . $donnees['aliance_name'] . "\",\"" . $donnees['user_tribe'] . "\"]\n"; } } elseif ($donnees['map_oasis'] != 0) { if ($donnees['oasis_conqured'] != 0) { $map_js .= ",\"\",\"" . $donnees['oasis_user'] . "\",\"-\",\"" . $donnees['oasis_alli_name'] . "\",\"" . $donnees['oasis_tribe'] . "\"]"; } else { $map_js .= "]"; } } else { $map_js .= "]\n"; } if ($i2 == 6 && $yrow != 6) { $i2 = -1; $yrow++; $map_js .= "],\n["; } else { $map_js .= ($yrow == 6 && $i2 == 6) ? "]\n" : ","; } } else { $map_js .= "]"; } /* ========================= LOOP CONTROL ========================= */ if ($i == 6 && $row <= 5) { $row++; $i = -1; } $i++; $i2++; $coorindex++; } ?>

(|)

".$xarray[$i]."
\n"; echo "
".$yarray[$i]."
\n"; }?>
plus){ if(!empty($session->userinfo['map'])){ // Preference "Show the large map in an extra window" (#198): // open the large map (karte2.php) in a separate browser window // instead of the in-page iframe overlay. echo ''.LARGE_MAP.''; } else { echo ''.LARGE_MAP.''; } }?>
x y

goldclub != 0){echo " ".CROPFINDER."";}?>
-
-