From b12f4d4497c9fed42fbe61f2ee1becd9af19c843 Mon Sep 17 00:00:00 2001 From: iopietro Date: Thu, 31 May 2018 15:23:48 +0200 Subject: [PATCH] General fixes +Fixed a bug that didn't permit to see a defender hero in a spy report +Fixed a bug that only permitted to revive the last hero on the hero list --- GameEngine/Automation.php | 7 +-- Templates/Build/37_revive.tpl | 112 ++++++++++++---------------------- 2 files changed, 43 insertions(+), 76 deletions(-) diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 95a70bfd..6c4f7de3 100755 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -2223,9 +2223,8 @@ class Automation { else $info_spy = "".$spy_pic.", There are no informations to show"; } - $data2 = ''.$from['owner'].','.$from['wref'].','.$owntribe.','.$unitssend_att.','.$unitsdead_att.',0,0,0,0,0,'.$to['owner'].','.$to['wref'].','.addslashes($to['name']).',,,,'.$targettribe.','.$unitssend_def[0].','.$unitsdead_def[0].','.$rom.','.$unitssend_def[1].','.$unitsdead_def[1].','.$ger.','.$unitssend_def[2].','.$unitsdead_def[2].','.$gal.','.$unitssend_def[3].','.$unitsdead_def[3].','.$nat.','.$unitssend_def[4].','.$unitsdead_def[4].','.$natar.','.$unitssend_def[5].','.$unitsdead_def[5].','.$DefenderHeroesTot.','.$DefenderHeroesDead.','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.',,'.$data['t11'].','.$dead11.','.$herosend_def.','.$deadhero.','.$unitstraped_att; - } - else{ + $data2 = ''.$from['owner'].','.$from['wref'].','.$owntribe.','.$unitssend_att.','.$unitsdead_att.',0,0,0,0,0,'.$to['owner'].','.$to['wref'].','.addslashes($to['name']).',,,,'.$targettribe.','.$unitssend_def[0].','.$unitsdead_def[0].','.$rom.','.$unitssend_def[1].','.$unitsdead_def[1].','.$ger.','.$unitssend_def[2].','.$unitsdead_def[2].','.$gal.','.$unitssend_def[3].','.$unitsdead_def[3].','.$nat.','.$unitssend_def[4].','.$unitsdead_def[4].','.$natar.','.$unitssend_def[5].','.$unitsdead_def[5].','.$DefenderHeroesTot.','.$DefenderHeroesDead.','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.','.$data['t11'].','.$dead11.','.$herosend_def.','.$deadhero.',,'.$unitstraped_att; + }else{ if(isset($village_destroyed) && $village_destroyed == 1 && $can_destroy==1){ //check if village pop=0 and no info destroy if (strpos($info_cat,"The village has") === false) { @@ -2237,7 +2236,7 @@ class Automation { } // When all troops die, sends no info...send info - $info_troop= "None of your soldiers have returned"; + $info_troop = "None of your soldiers have returned"; $data_fail = ''.$from['owner'].','.$from['wref'].','.$owntribe.','.$unitssend_att.','.$unitsdead_att.','.$steal[0].','.$steal[1].','.$steal[2].','.$steal[3].','.$battlepart['bounty'].','.$to['owner'].','.$to['wref'].','.addslashes($to['name']).',,,,'.$targettribe.','.$unitssend_deff[0].','.$unitsdead_deff[0].','.$rom.','.$unitssend_deff[1].','.$unitsdead_deff[1].','.$ger.','.$unitssend_deff[2].','.$unitsdead_deff[2].','.$gal.','.$unitssend_deff[3].','.$unitsdead_deff[3].','.$nat.','.$unitssend_deff[4].','.$unitsdead_deff[4].','.$natar.','.$unitssend_deff[5].','.$unitsdead_deff[5].','.$DefenderHeroesTot.','.$DefenderHeroesDead.',,,'.$data['t11'].','.$dead11.','.$unitstraped_att.',,'.$info_ram.','.$info_cat.','.$info_chief.','.$info_troop.','.$info_hero; //Undetected and detected in here. diff --git a/Templates/Build/37_revive.tpl b/Templates/Build/37_revive.tpl index 26e5dd00..ed2e4b5b 100644 --- a/Templates/Build/37_revive.tpl +++ b/Templates/Build/37_revive.tpl @@ -16,67 +16,35 @@ // check if there is a hero in revive already $reviving = $training = false; - - foreach ($heroes as $hero_datarow) { - if ($hero_datarow['inrevive']) $reviving = true; - if ($hero_datarow['intraining']) $training = true; - } - - foreach ($heroes as $hero_datarow) { - if($hero_datarow['unit'] == 1){ - $name = U1; - }else if($hero_datarow['unit'] == 2){ - $name = U2; - }else if($hero_datarow['unit'] == 3){ - $name = U3; - }else if($hero_datarow['unit'] == 5){ - $name = U5; - }else if($hero_datarow['unit'] == 6){ - $name = U6; - }else if($hero_datarow['unit'] == 11){ - $name = U11; - }else if($hero_datarow['unit'] == 12){ - $name = U12; - }else if($hero_datarow['unit'] == 13){ - $name = U13; - }else if($hero_datarow['unit'] == 15){ - $name = U15; - }else if($hero_datarow['unit'] == 16){ - $name = U16; - }else if($hero_datarow['unit'] == 21){ - $name = U21; - }else if($hero_datarow['unit'] == 22){ - $name = U22; - }else if($hero_datarow['unit'] == 24){ - $name = U24; - }else if($hero_datarow['unit'] == 25){ - $name = U25; - }else if($hero_datarow['unit'] == 26){ - $name = U26; - } - if($hero_datarow['level'] <= 60){ - $wood = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['wood']); - $clay = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['clay']); - $iron = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['iron']); - $crop = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['crop']); - $timeToTrain = $database->getArtifactsValueInfluence($session->uid, $village->wid, 5, (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['time']) / SPEED); - $training_time = $generator->getTimeFormat($timeToTrain); - $training_time2 = time() + $timeToTrain; - }else{ - $wood = (${'h'.$hero_datarow['unit'].'_full'}[60]['wood']); - $clay = (${'h'.$hero_datarow['unit'].'_full'}[60]['clay']); - $iron = (${'h'.$hero_datarow['unit'].'_full'}[60]['iron']); - $crop = (${'h'.$hero_datarow['unit'].'_full'}[60]['crop']); - $timeToTrain = $database->getArtifactsValueInfluence($session->uid, $village->wid, 5, (${'h'.$hero_datarow['unit'].'_full'}[60]['time']) / SPEED); - $training_time = $generator->getTimeFormat($timeToTrain); - $training_time2 = time() + $timeToTrain; - } - - if($hero_datarow['inrevive'] == 1) { - $timeleft = $generator->getTimeFormat($hero_datarow['trainingtime'] - time()); -?> - + foreach ($heroes as $hero_datarow) { + if ($hero_datarow['inrevive']) $reviving = true; + if ($hero_datarow['intraining']) $training = true; + + $name = $technology->getUnitName($hero_datarow['unit']); + + if($hero_datarow['level'] <= 60){ + $wood = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['wood']); + $clay = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['clay']); + $iron = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['iron']); + $crop = (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['crop']); + $timeToTrain = $database->getArtifactsValueInfluence($session->uid, $village->wid, 5, (${'h'.$hero_datarow['unit'].'_full'}[$hero_datarow['level']]['time']) / SPEED); + $training_time = $generator->getTimeFormat($timeToTrain); + $training_time2 = time() + $timeToTrain; + }else{ + $wood = (${'h'.$hero_datarow['unit'].'_full'}[60]['wood']); + $clay = (${'h'.$hero_datarow['unit'].'_full'}[60]['clay']); + $iron = (${'h'.$hero_datarow['unit'].'_full'}[60]['iron']); + $crop = (${'h'.$hero_datarow['unit'].'_full'}[60]['crop']); + $timeToTrain = $database->getArtifactsValueInfluence($session->uid, $village->wid, 5, (${'h'.$hero_datarow['unit'].'_full'}[60]['time']) / SPEED); + $training_time = $generator->getTimeFormat($timeToTrain); + $training_time2 = time() + $timeToTrain; + } + + if($hero_datarow['inrevive'] == 1) { + $timeleft = $generator->getTimeFormat($hero_datarow['trainingtime'] - time()); + ?> +
"; ?> @@ -171,18 +139,18 @@ access != BANNED){ - mysqli_query($database->dblink,"UPDATE ".TB_PREFIX."hero SET `inrevive` = '1', `trainingtime` = '".(int) $training_time2."', `wref` = '".(int) $village->wid."' WHERE `heroid` = ".(int) $_GET['hid']." AND `uid` = '".(int) $session->uid."'"); - $database->modifyResource($village->wid, $wood, $clay, $iron, $crop, 0); - header("Location: build.php?id=".$id.""); - exit; - } else { - header("Location: banned.php"); - exit; - } + + if(isset($_GET['revive']) && $_GET['revive'] == 1 && isset($_GET['hid']) && $_GET['hid'] == $hero_datarow['heroid'] && $hero_datarow['inrevive'] == 0 && $hero_datarow['intraining'] == 0 && $hero_datarow['dead'] == 1){ + if($session->access != BANNED){ + mysqli_query($database->dblink,"UPDATE ".TB_PREFIX."hero SET `inrevive` = '1', `trainingtime` = '".(int) $training_time2."', `wref` = '".(int) $village->wid."' WHERE `heroid` = ".(int) $_GET['hid']." AND `uid` = '".(int) $session->uid."'"); + $database->modifyResource($village->wid, $wood, $clay, $iron, $crop, 0); + header("Location: build.php?id=".$id.""); + exit; + } else { + header("Location: banned.php"); + exit; + } + } } ?>
".HERO_READY." timer.">".$timeleft."