From 67b58576644b3fecc808232c3a1575cf58fb6848 Mon Sep 17 00:00:00 2001 From: Shadow Date: Sun, 24 Nov 2013 10:55:32 +0200 Subject: [PATCH] Update Automation.php --- GameEngine/Automation.php | 94 +++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 55fe206e..3cf0b6bb 100644 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -1368,17 +1368,19 @@ class Automation { }elseif($targettribe == 5){ $def_spy = $enforDefender['u54']; } - if(!$scout or $def_spy > 0){ + if(!$scout or $def_spy > 0){ + $traps2=0; $traps = $Defender['u99']-$Defender['u99o']; for($i=1;$i<=11;$i++){ $traps1 = $traps; if($data['t'.$i] < $traps1){ $traps1 = $data['t'.$i]; + $traps2+= $data['t'.$i]; } ${traped.$i}=$traps1; $traps -= $traps1; - $database->modifyUnit($data['to'],array("99o"),array($traps1),array(1)); } + $database->modifyUnit($data['to'],array("99o"),array($traps2),array(1)); for($i=$start;$i<=$end;$i++) { $j = $i-$start+1; $Attacker['u'.$i] -= ${traped.$j}; @@ -1620,41 +1622,39 @@ class Automation { $unitarray = $GLOBALS["u".$i]; $totaldead_def += $dead[''.$i.'']; - $totalheroxp_att += ($dead[''.$i.'']*$unitarray['pop']); + + $totalpoint_att += ($dead[''.$i.'']*$unitarray['pop']); } - $totalheroxp_att += ($dead['hero']*6); + $totalpoint_att += ($dead['hero']*6); + if ($Attacker['uhero'] != 0){ - $heroxp = $totalheroxp_att; + $heroxp = $totalpoint_att; $database->modifyHeroXp("experience",$heroxp,$from['owner']); } - - - if($Defender['hero'] > 0){ - for($i=1;$i<=10;$i++){ - if($unitarray) { reset($unitarray); } - $unitarray = $GLOBALS["u".(($att_tribe-1)*10+$i)]; - $totalheroxp_def += ($dead.$i*$unitarray['pop']); - } - $totalheroxp_def +=$dead11*6; + for($i=1;$i<=10;$i++){ + if($unitarray) { reset($unitarray); } + $unitarray = $GLOBALS["u".(($att_tribe-1)*10+$i)]; + $totalpoint_def += (${dead.$i}*$unitarray['pop']); + } + $totalpoint_def +=$dead11*6; + if($Defender['hero'] > 0){ //counting heroxp - $defheroxp=intval($totalheroxp_def/count($DefenderHero)); + $defheroxp=intval($totalpoint_def/count($DefenderHero)); for ($i=1;$i<=count($DefenderHero);$i++){ $reinfheroxp = $defheroxp; - $database->modifyHeroXp("experience",$reinfheroxp,$DefenderHero[$i]); - } - + $database->modifyHeroXp("experience",$reinfheroxp,$DefenderHero[$i]); + } } - $database->modifyPoints($toF['owner'],'dpall',$totaldead_att ); - $database->modifyPoints($from['owner'],'apall',$totaldead_def); - $database->modifyPoints($toF['owner'],'dp',$totaldead_att ); - $database->modifyPoints($from['owner'],'ap',$totaldead_def); - $database->modifyPointsAlly($targetally,'Adp',$totaldead_att ); - $database->modifyPointsAlly($ownally,'Aap',$totaldead_def); - $database->modifyPointsAlly($targetally,'dp',$totaldead_att ); - $database->modifyPointsAlly($ownally,'ap',$totaldead_def); - - + + $database->modifyPoints($toF['owner'],'dpall',$totalpoint_def); + $database->modifyPoints($from['owner'],'apall',$totalpoint_att); + $database->modifyPoints($toF['owner'],'dp',$totalpoint_def); + $database->modifyPoints($from['owner'],'ap',$totalpoint_att); + $database->modifyPointsAlly($targetally,'Adp',$totalpoint_def); + $database->modifyPointsAlly($ownally,'Aap',$totalpoint_att); + $database->modifyPointsAlly($targetally,'dp',$totalpoint_def); + $database->modifyPointsAlly($ownally,'ap',$totalpoint_att); if ($isoasis == 0){ // get toatal cranny value: @@ -3167,6 +3167,8 @@ $wallimg = "uid==$AttackerID || $session->uid==$DefenderID) $reload=true; //check to see if we're only sending a hero between own villages and there's a Mansion at target village + $HeroTransfer=0; + $NonHeroPresent=0; if($data['t11'] != 0) { if($database->getVillageField($data['from'],"owner") == $database->getVillageField($data['to'],"owner")) { for($i=1;$i<=10;$i++) { if($data['t'.$i]>0) { $NonHeroPresent = 1; break; } } @@ -3190,21 +3192,24 @@ $wallimg = "getEnforce($data['to'],$data['from']); - if (!isset($check['id'])){ - //no: - $database->addEnforce($data); - } else{ - //yes - $start = ($owntribe-1)*10+1; - $end = ($owntribe*10); - //add unit. - $j='1'; - for($i=$start;$i<=$end;$i++){ - $database->modifyEnforce($check['id'],$i,$data['t'.$j.''],1); $j++; - } - } + if(!$HeroTransfer){ + //check if there is defence from town in to town + $check=$database->getEnforce($data['to'],$data['from']); + if (!isset($check['id'])){ + //no: + $database->addEnforce($data); + } else{ + //yes + $start = ($owntribe-1)*10+1; + $end = ($owntribe*10); + //add unit. + $j='1'; + for($i=$start;$i<=$end;$i++){ + $database->modifyEnforce($check['id'],$i,$data['t'.$j.''],1); $j++; + } + $database->modifyEnforce($check['id'],'hero',$data['t11'],1); + } + } } //send rapport $unitssend_att = ''.$data['t1'].','.$data['t2'].','.$data['t3'].','.$data['t4'].','.$data['t5'].','.$data['t6'].','.$data['t7'].','.$data['t8'].','.$data['t9'].','.$data['t10'].','.$data['t11'].''; @@ -4220,7 +4225,8 @@ $wallimg = "getDorf2Building($master['wid']); } }else{ - $bdata = $bbdata = $bdata1 = count($database->getDorf1Building($master['wid'])) + count($database->getDorf2Building($master['wid'])); + $bdata = $bbdata = count($database->getDorf1Building($master['wid'])) + count($database->getDorf2Building($master['wid'])); + $bdata1 = $database->getDorf1Building($master['wid']); } if($database->getUserField($owner,'plus',0) > time() or $ww > 0){ if($bbdata < 2){