From fc4ae34a69e7a4ae5c3cd48e7170f206542d4f8f Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 4 Apr 2018 15:38:04 +0200 Subject: [PATCH 1/5] Fixed a bug in the map Enforcements/scouts/attacks are now tracked in the map if you've a plus account. --- karte.php | 2 +- unx.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/karte.php b/karte.php index 93a0b297..d81d8164 100644 --- a/karte.php +++ b/karte.php @@ -48,7 +48,7 @@ else{ - + diff --git a/unx.js b/unx.js index 4ffb031c..f17b1405 100644 --- a/unx.js +++ b/unx.js @@ -591,7 +591,7 @@ else{if(of.firstChild){of.removeChild(of.firstChild);} } } function te(_e,area){area.details={} -;var ch=['x','y','nr','typ','querystring','img','dname','name','ew','ally','vid','atyp','atime'];for(var i=0;i<_e.length;i++){area.details[ch[i]]=_e[i];} +;var ch=['x','y','nr','typ','querystring','img','atyp','dname','name','ew','ally','vid','atyp','atime'];for(var i=0;i<_e.length;i++){area.details[ch[i]]=_e[i];} area.details.normal_field=area.details.name===undefined&&area.details.typ==0;area.details.free_oasis=area.details.name===undefined&&area.details.typ!=0;area.details.occupied_oasis=area.details.name!==undefined&&area.details.typ!=0;area.details.village=area.details.name!==undefined&&area.details.typ==0;area.details.fresh={} ;area.details.classic_oasis=area.details.querystring==='';} function df(dh){switch(dh){case 1:return[3,3,3,9];case 2:return[3,4,5,6];case 3:return[4,4,4,6];case 4:return[4,5,3,6];case 5:return[5,3,4,6];case 6:return[1,1,1,15];case 7:return[4,4,3,7];case 8:return[3,4,4,7];case 9:return[4,3,4,7];case 10:return[3,5,4,6];case 11:return[4,3,5,6];case 12:return[5,4,3,6];default:return false;} From b1aecea8909256c84122cae86caa188cc3766de2 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 4 Apr 2018 15:39:03 +0200 Subject: [PATCH 2/5] Fixed a bug in the map Enforcements/scouts/attacks are now tracked in the map if you've a plus account. --- Templates/Map/mapview.tpl | 36 ++++++++++++++++++--------------- Templates/Map/mapviewlarge.tpl | 37 +++++++++++++++++++--------------- 2 files changed, 41 insertions(+), 32 deletions(-) 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 .= "
$att
\r"; @@ -360,7 +365,7 @@ if (isset($neutralarray[0])) { //Javascript map info 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."\",\"\""; 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"; From a6e09cf2c1983d7521d5735eb4c00f51982f5b85 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 4 Apr 2018 15:40:33 +0200 Subject: [PATCH 3/5] Fixed a bug in the map Enforcements/scouts/attacks are now tracked in the map if you've a plus account. --- Templates/Ajax/mapscroll.tpl | 16 +++++++++++++--- Templates/Ajax/mapscroll2.tpl | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) 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"; From 8aad98dbb798a7cc08d7f5fb33b4aa0ff533b183 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 4 Apr 2018 15:41:04 +0200 Subject: [PATCH 4/5] Fixed a bug in the map Enforcements/scouts/attacks are now tracked in the map if you've a plus account. --- GameEngine/Session.php | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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']; From 274b890a498ba41a4db8efe167a964b411c9250d Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 4 Apr 2018 15:48:40 +0200 Subject: [PATCH 5/5] A little forgetfulness --- unx.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unx.js b/unx.js index f17b1405..6d8f10b8 100644 --- a/unx.js +++ b/unx.js @@ -591,7 +591,7 @@ else{if(of.firstChild){of.removeChild(of.firstChild);} } } function te(_e,area){area.details={} -;var ch=['x','y','nr','typ','querystring','img','atyp','dname','name','ew','ally','vid','atyp','atime'];for(var i=0;i<_e.length;i++){area.details[ch[i]]=_e[i];} +;var ch=['x','y','nr','typ','querystring','img','atyp','dname','name','ew','ally','vid','atime'];for(var i=0;i<_e.length;i++){area.details[ch[i]]=_e[i];} area.details.normal_field=area.details.name===undefined&&area.details.typ==0;area.details.free_oasis=area.details.name===undefined&&area.details.typ!=0;area.details.occupied_oasis=area.details.name!==undefined&&area.details.typ!=0;area.details.village=area.details.name!==undefined&&area.details.typ==0;area.details.fresh={} ;area.details.classic_oasis=area.details.querystring==='';} function df(dh){switch(dh){case 1:return[3,3,3,9];case 2:return[3,4,5,6];case 3:return[4,4,4,6];case 4:return[4,5,3,6];case 5:return[5,3,4,6];case 6:return[1,1,1,15];case 7:return[4,4,3,7];case 8:return[3,4,4,7];case 9:return[4,3,4,7];case 10:return[3,5,4,6];case 11:return[4,3,5,6];case 12:return[5,4,3,6];default:return false;}