Update Automation.php

This commit is contained in:
Shadow
2013-11-22 19:26:29 +02:00
parent 34356f74a1
commit 450df14541
+88 -61
View File
@@ -1246,7 +1246,7 @@ class Automation {
$enforDefender = array(); $enforDefender = array();
$rom = $ger = $gal = $nat = $natar = 0; $rom = $ger = $gal = $nat = $natar = 0;
$Defender = $database->getUnit($data['to']); $Defender = $database->getUnit($data['to']);
$enforcementarray = $database->getOasisEnforce($data['to'],1); $enforcementarray = $database->getEnforceVillage($data['to'],0);
if(count($enforcementarray) > 0) { if(count($enforcementarray) > 0) {
foreach($enforcementarray as $enforce) { foreach($enforcementarray as $enforce) {
@@ -1406,11 +1406,24 @@ class Automation {
}else{ }else{
$unitssend_att_check=$unitssend_att; $unitssend_att_check=$unitssend_att;
} }
//units defence string for battleraport //units defence string for battleraport
$DefenderHero=array();
$i=0;
if (isset($Defender['hero'])) {
if ($Defender['hero']>0) {
$i=1;
$DefenderHero[$i]=$DefenderID;
}
}
$enforcementarray2 = $database->getEnforceVillage($data['to'],0); $enforcementarray2 = $database->getEnforceVillage($data['to'],0);
if(count($enforcementarray2) > 0) { if(count($enforcementarray2) > 0) {
foreach($enforcementarray2 as $enforce2) { foreach($enforcementarray2 as $enforce2) {
$Defender['hero'] += $enforce2['hero']; $Defender['hero'] += $enforce2['hero'];
if ($enforce2['hero']>0) {
$i++;
$DefenderHero[$i] = $database->getVillageField($enforce2['from'],"owner");
}
for ($i=1;$i<=50;$i++) { for ($i=1;$i<=50;$i++) {
$Defender['u'.$i]+= $enforce2['u'.$i]; $Defender['u'.$i]+= $enforce2['u'.$i];
} }
@@ -1602,28 +1615,36 @@ class Automation {
$troopsdead9 = $dead9+1; $troopsdead9 = $dead9+1;
$troopsdead10 = $dead10; $troopsdead10 = $dead10;
$troopsdead11 = $dead11; $troopsdead11 = $dead11;
for($i=1;$i<=50;$i++) { for($i=1;$i<=50;$i++) {
$totaldead_def += $dead[''.$i.'']; if($unitarray) { reset($unitarray); }
} $unitarray = $GLOBALS["u".$i];
$totaldead_def += $dead['hero'];
if ($Attacker['uhero'] != 0){ $totaldead_def += $dead[''.$i.''];
$heroxp = $totaldead_def; $totalheroxp_att += ($dead[''.$i.'']*$unitarray['pop']);
$database->modifyHeroXp("experience",$heroxp,$from['owner']); }
} $totalheroxp_att += ($dead['hero']*6);
if($Defender['hero'] > 0){ if ($Attacker['uhero'] != 0){
$defheroxp = $totaldead_att; $heroxp = $totalheroxp_att;
$database->modifyHeroXp("experience",$defheroxp,$toF['owner']); $database->modifyHeroXp("experience",$heroxp,$from['owner']);
} }
$enforcementarray1 = $database->getEnforceVillage($to['wref'],0);
if(count($enforcementarray1) > 0) {
foreach($enforcementarray1 as $enforce1) { if($Defender['hero'] > 0){
if($enforce1['hero'] > 0){
$enforceowner = $database->getVillageField($enforce1['from'],"owner"); for($i=1;$i<=10;$i++){
$reinfheroxp = $totaldead_att; if($unitarray) { reset($unitarray); }
$database->modifyHeroXp("experience",$reinfheroxp,$enforceowner); $unitarray = $GLOBALS["u".(($att_tribe-1)*10+$i)];
} $totalheroxp_def += ($dead.$i*$unitarray['pop']);
} }
} $totalheroxp_def +=$dead11*6;
//counting heroxp
$defheroxp=intval($totalheroxp_def/count($DefenderHero));
for ($i=1;$i<=count($DefenderHero);$i++){
$reinfheroxp = $totalheroxp_def;
$database->modifyHeroXp("experience",$reinfheroxp,$DefenderHero[$i]);
}
}
$database->modifyPoints($toF['owner'],'dpall',$totaldead_att ); $database->modifyPoints($toF['owner'],'dpall',$totaldead_att );
$database->modifyPoints($from['owner'],'apall',$totaldead_def); $database->modifyPoints($from['owner'],'apall',$totaldead_def);
$database->modifyPoints($toF['owner'],'dp',$totaldead_att ); $database->modifyPoints($toF['owner'],'dp',$totaldead_att );
@@ -2256,9 +2277,10 @@ class Automation {
} }
} }
//chiefing village //chiefing village
//there are senators //there are senators
if(($data['t9']-$dead9-$traped9)>0){ if(($data['t9']-$dead9-$traped9)>0){
if ($type=='3') {
$palacelevel = $database->getResourceLevel($from['wref']); $palacelevel = $database->getResourceLevel($from['wref']);
for($i=1;$i<=40;$i++) { for($i=1;$i<=40;$i++) {
@@ -2422,38 +2444,40 @@ class Automation {
} else { } else {
$info_chief = "".$chief_pic.",Not enough culture points."; $info_chief = "".$chief_pic.",Not enough culture points.";
} }
unset($plevel); unset($plevel);
} }else{
$info_chief = "".$chief_pic.",Could not reduce cultural points during raid";
if($data['t11'] > 0){ }
if ($isoasis != 0) {
if ($database->canConquerOasis($data['from'],$data['to'])) {
$troopcount = $database->countOasisTroops($data['to']);
//if($unitssend_def[1] == '0,0,0,0,0,0,0,0,0,0' and $unitssend_def[2] == '0,0,0,0,0,0,0,0,0,0' and $unitssend_def[3] == '0,0,0,0,0,0,0,0,0,0' and $unitssend_def[4] == '0,0,0,0,0,0,0,0,0,0' and $unitssend_def[5] == '0,0,0,0,0,0,0,0,0,0'){
if ($troopcount==0) {
$database->conquerOasis($data['from'],$data['to']);
$info_chief = $hero_pic.",Your hero has conquered this oasis";
} }
elseif ($heroxp == 0) {
$info_chief = $hero_pic.",Your hero had nothing to kill therfore gains no XP at all"; if($data['t11'] > 0){ //hero
} else $info_chief = $hero_pic.",Your hero gained ".$heroxp." XP"; if ($heroxp == 0) {
} else { $xp="";
$OasisInfo = $database->getOasisInfo($data['to']); } else {
if ($OasisInfo['conqured'] != 0) { $xp=" and gained ".$heroxp." XP from the battle";
$Oloyaltybefore = intval($OasisInfo['loyalty']); }
$database->modifyOasisLoyalty($data['to']); if ($isoasis != 0) { //oasis
$OasisInfo = $database->getOasisInfo($data['to']); $OasisInfo = $database->getOasisInfo($data['to']);
$Oloyaltynow = intval($OasisInfo['loyalty']); $troopcount = $database->countOasisTroops($data['to']);
$info_chief = $hero_pic.",Your hero has reduced oasis loyalty to ".$Oloyaltynow." from ".$Oloyaltybefore." and gained ".$heroxp." XP"; if ($database->canConquerOasis($data['from'],$data['to']) && $troopcount==0) {
} else { $database->conquerOasis($data['from'],$data['to']);
if ($heroxp == 0) { $info_chief = $hero_pic.",Your hero has conquered this oasis".$xp;
$info_chief = $hero_pic.",Your hero had nothing to kill therfore gains no XP at all"; }else{
} else { if ($OasisInfo['conqured'] != 0 && $troopcount==0) {
$info_chief = $hero_pic.",Your hero gained ".$heroxp." XP"; $Oloyaltybefore = intval($OasisInfo['loyalty']);
} $database->modifyOasisLoyalty($data['to']);
} $OasisInfo = $database->getOasisInfo($data['to']);
} $Oloyaltynow = intval($OasisInfo['loyalty']);
} else { $info_chief = $hero_pic.",Your hero has reduced oasis loyalty to ".$Oloyaltynow." from ".$Oloyaltybefore." and gained ".$heroxp." XP";
}else{
if ($heroxp == 0) {
$info_chief = $hero_pic.",Your hero had nothing to kill therfore gains no XP at all";
} else {
$info_chief = $hero_pic.",Your hero gained ".$heroxp." XP";
}
}
}
} else {
global $form; global $form;
if ($heroxp == 0) { if ($heroxp == 0) {
$xp=" no XP from the battle"; $xp=" no XP from the battle";
@@ -2925,9 +2949,11 @@ $wallimg = "<img src=\"".GP_LOCATE."img/g/g3".$targettribe."Icon.gif\" height=\"
$database->query($q); $database->query($q);
$q = "DELETE FROM ".TB_PREFIX."raidlist where towref = $wref"; $q = "DELETE FROM ".TB_PREFIX."raidlist where towref = $wref";
$database->query($q); $database->query($q);
$q = "DELETE FROM ".TB_PREFIX."ndata WHERE toWref=$wref";
$database->query($q);
$q = "DELETE FROM ".TB_PREFIX."movement where proc = 0 AND ((`from` = $wref AND `to` = $wref) OR (`from` = $wref AND sort_type=3))"; $q = "DELETE FROM ".TB_PREFIX."movement where proc = 0 AND ((`from` = $wref AND `to` = $wref) OR (`from` = $wref AND sort_type=3))";
$database->query($q, $this->connection); $database->query($q);
$getmovement = $database->getMovement(3,$wref,1); $getmovement = $database->getMovement(3,$wref,1);
foreach($getmovement as $movedata) { foreach($getmovement as $movedata) {
@@ -2935,9 +2961,10 @@ $wallimg = "<img src=\"".GP_LOCATE."img/g/g3".$targettribe."Icon.gif\" height=\"
$time2 = $time - $movedata['starttime']; $time2 = $time - $movedata['starttime'];
$database->setMovementProc($movedata['moveid']); $database->setMovementProc($movedata['moveid']);
$database->addMovement(4,$movedata['to'],$movedata['from'],$movedata['ref'],$time,$time+$time2); $database->addMovement(4,$movedata['to'],$movedata['from'],$movedata['ref'],$time,$time+$time2);
//$database->setMovementProc($movedata['moveid']);
} }
$q = "DELETE FROM ".TB_PREFIX."enforcement WHERE `from` = $wref";
$database->query($q);
//check return enforcement from del village //check return enforcement from del village
$units->returnTroops($wref); $units->returnTroops($wref);