diff --git a/GameEngine/Session.php b/GameEngine/Session.php index abff455c..ea31e5ec 100755 --- a/GameEngine/Session.php +++ b/GameEngine/Session.php @@ -273,7 +273,36 @@ class Session { $this->CheckHeroReal(); } } - + + /** + * Creates an array with the vrefs of attacked/scouted/reinforced villages and oasis + * + */ + + public function populateAttacks(){ + global $database, $village; + + $troopsMovement = $database->getMovement(3, $village->wid, 0); + + if(count($troopsMovement) > 0){ + foreach($troopsMovement as $movement) + { + switch($movement['attack_type']){ + case 1: + $_SESSION['troops_movement']['scouts'][] = $movement['to']; + break; + case 2: + $_SESSION['troops_movement']['enforcements'][] = $movement['to']; + break; + case 3: + case 4: + $_SESSION['troops_movement']['attacks'][] = $movement['to']; + break; + } + } + } + } + private function SurfControl(){ if(SERVER_WEB_ROOT) { $page = $_SERVER['SCRIPT_NAME']; diff --git a/Templates/Ajax/mapscroll.tpl b/Templates/Ajax/mapscroll.tpl index 4285806c..1669d5b4 100644 --- a/Templates/Ajax/mapscroll.tpl +++ b/Templates/Ajax/mapscroll.tpl @@ -5,8 +5,6 @@ include_once ("GameEngine/Lang/" . LANG . ".php"); include_once("GameEngine/Generator.php"); include_once("GameEngine/Database.php"); -//include("GameEngine/Session.php"); - if($y < $yy) {$y = $y + (($yy - $y) /2);} else {$y = $yy + (($y - $yy) /2);} @@ -111,10 +109,22 @@ $image = ($donnees['map_occupied'] == 1 && $donnees['map_fieldtype'] > 0)?(($don if($donnees['ville_user']==3 && $donnees['ville_name']==PLANVILLAGE){ $image = "o99"; } + + $att = ""; + if(isset($_SESSION['troops_movement'])) { + if (isset($_SESSION['troops_movement']['attacks']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['attacks'])) { + $att = 3; + }elseif (isset($_SESSION['troops_movement']['scouts']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['scouts'])) { + $att = 6; + }elseif (isset($_SESSION['troops_movement']['enforcements']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['enforcements'])) { + $att = 9; + } + } + //Javascript map info $regcount=0; 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."\""; + $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."\",\"".$att."\""; 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"; diff --git a/Templates/Ajax/mapscroll2.tpl b/Templates/Ajax/mapscroll2.tpl index b87cd407..b8104bd6 100644 --- a/Templates/Ajax/mapscroll2.tpl +++ b/Templates/Ajax/mapscroll2.tpl @@ -6,8 +6,6 @@ include_once("GameEngine/Generator.php"); include_once("GameEngine/Database.php"); header("Content-Type: application/json;"); -//include("GameEngine/Session.php"); - if($y < $yy) {$y = $y + (($yy - $y) /2);} else {$y = $yy + (($y - $yy) /2);} @@ -128,10 +126,22 @@ $image = ($donnees['map_occupied'] == 1 && $donnees['map_fieldtype'] > 0)?(($don if($donnees['ville_user']==3 && $donnees['ville_name']==PLANVILLAGE){ $image = "o99"; } + + $att = ""; + if(isset($_SESSION['troops_movement'])) { + if (isset($_SESSION['troops_movement']['attacks']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['attacks'])) { + $att = 3; + }elseif (isset($_SESSION['troops_movement']['scouts']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['scouts'])) { + $att = 6; + }elseif (isset($_SESSION['troops_movement']['enforcements']) && in_array($donnees['map_id'], $_SESSION['troops_movement']['enforcements'])) { + $att = 9; + } + } + //Javascript map info $regcount=0; if($yrow!=13){ - $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."\""; + $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."\",\"".$att."\""; 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"; diff --git a/Templates/Map/mapview.tpl b/Templates/Map/mapview.tpl index e0a66ad9..4ebb8ced 100644 --- a/Templates/Map/mapview.tpl +++ b/Templates/Map/mapview.tpl @@ -35,6 +35,14 @@ else { $bigmid = $village->wid; } +if(isset($_SESSION['troops_movement'])){ + unset($_SESSION['troops_movement']); +} + +if($session->plus){ + $session->populateAttacks(); +} + $xm7 = ($x-7) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-6 : $x-7; $xm3 = ($x-3) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-2 : $x-3; $xm2 = ($x-2) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-1 : $x-2; @@ -154,22 +162,18 @@ if (isset($neutralarray[0])) { //echo in_array($targetalliance,$friendarray); $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']; - // Map Attacks by Shadow & MisterX - - $att = ''; - if($session->plus) { - $wref = $village->wid; - $toWref = $donnees['map_id']; - - if ($database->checkAttack($wref,$toWref) != 0) { - $att = ''; - }elseif ($database->checkEnforce($wref,$toWref) != 0) { - $att = ''; - }elseif ($database->checkScout($wref,$toWref) != 0) { - $att = ''; - } - } + // Map Attacks by Shadow & MisterX - fixed by iopietro + $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){ @@ -183,7 +187,7 @@ if (isset($neutralarray[0])) { //Javascript map info 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."\""; + $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"; diff --git a/Templates/Map/mapviewlarge.tpl b/Templates/Map/mapviewlarge.tpl index 4a261ae6..55c3c73c 100644 --- a/Templates/Map/mapviewlarge.tpl +++ b/Templates/Map/mapviewlarge.tpl @@ -31,6 +31,15 @@ else{ $x = $village->coor['x']; $bigmid = $village->wid; } + +if(isset($_SESSION['troops_movement'])){ + unset($_SESSION['troops_movement']); +} + +if($session->plus){ + $session->populateAttacks(); +} + $xm7 = ($x-7) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-6 : $x-7; $xm6 = ($x-6) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-5 : $x-6; $xm5 = ($x-5) < -WORLD_MAX? $x+WORLD_MAX+WORLD_MAX-4 : $x-5; @@ -332,22 +341,18 @@ if (isset($neutralarray[0])) { //echo in_array($targetalliance,$friendarray); $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']; - // Map Attacks by Shadow and MisterX - $att = ''; - if($session->plus) { - $wref = $village->wid; - $toWref = $donnees['map_id']; + // Map Attacks by Shadow and MisterX - Fixed by iopietro + $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 = ''; + } + } - if ($database->checkAttack($wref,$toWref) != 0) { - $att = ''; - }elseif ($database->checkEnforce($wref,$toWref) != 0) { - $att = ''; - }elseif ($database->checkScout($wref,$toWref) != 0) { - $att = ''; - } - } - - // Map content if($donnees['ville_user']==3 && $donnees['ville_name']=='WW Buildingplan'){ $map_content .= "