more big update (sorry about all of them, but i not remember exactly all fixes that i did)

This commit is contained in:
unknown
2012-05-19 12:29:56 +03:00
parent 0ef7620da6
commit 3bcc09d110
29 changed files with 1960 additions and 1221 deletions
+264 -130
View File
@@ -146,6 +146,9 @@ class Automation {
if(!file_exists("GameEngine/Prevention/training.txt") or time()-filemtime("GameEngine/Prevention/training.txt")>10) {
$this->trainingComplete();
}
if(!file_exists("GameEngine/Prevention/starvation.txt") or time()-filemtime("GameEngine/Prevention/starvation.txt")>10) {
$this->starvation();
}
if(!file_exists("GameEngine/Prevention/celebration.txt") or time()-filemtime("GameEngine/Prevention/celebration.txt")>10) {
$this->celebrationComplete();
}
@@ -167,117 +170,6 @@ class Automation {
$this->updateStore();
}
function activeCropDead(){
global $session,$village,$database,$_SESSION, $allcrop;
// var_dump($session);
// var_dump($village);
// echo"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";'
//echo $session->villages;
$this->updateRes($_SESSION['wid'],$session->uid);
$allcrop=$this->bountyproduction['crop'];
$allUnitInTown=$database->getUnit($_SESSION['wid']);
$allEnforceInTown=$database->getEnforceVillage($_SESSION['wid'],0);
$checkcrop=$database->getVillageField($_SESSION['wid'],'crop');
$cropProd=$this->bountyGetCropProd();
// $time = time();
// var_dump($session);
// echo $checkcrop;
// echo $allcrop;
if ($allcrop<0&&$checkcrop<0){
$loops=0;
while ($loops<1){
if ($checkcrop < 0){
// array_shift($allUnitInTown);
// rsort($allUnitInTown);
//rsort($allEnforceIntown);
// echo $numEnforce=count($allEnforceInTown);
if (!empty($allEnforceInTown)){
arsort($allEnforceInTown);
$unitarr=array();
foreach ($allEnforceInTown as $enforceInTown){
//var_dump($enforceInTown);
// array_shift($enforceInTown);array_pop($enforceInTown);array_pop($enforceInTown);
// array_splice($enforceInTown,count($enforceInTown)+1,2);
// $enforceInTown=rsort($enforceInTown);
for ($i=1;$i<51;$i++){
$unitarr['u'.$i]=$enforceInTown['u'.$i];
}
$unitarr['hero']=$enforceInTown['hero'];
//var_dump($enforceInTown);
if (array_sum($unitarr)>0){
arsort($unitarr);
$keydel=key($unitarr);
$keydel2=substr($keydel,1);
// echo $keydel."|||".$keydel2."|||";
global ${$keydel};
// echo ${$keydel}['crop'];
// $newtroop=$unitarr[$keydel]-1;
$database->modifyEnforce($enforceInTown['id'],$keydel2,1,0);
// $cropupdate=$checkcrop+${$keydel}['crop'];
$q = "UPDATE ".TB_PREFIX."vdata set `crop` = `crop` +".${$keydel}['crop']." WHERE wref =".$_SESSION['wid'];
$database->query($q);
// echo$q;
}else{
$database->deleteReinf($enforceInTown["id"]);
}
// var_dump($enforceInTown);
// var_dump($unitarr);
/* $allkey=array_keys($enforceInTown));
$checkar=array();
foreach ($allkey as $value){
if ($enforceInTown[$value]>0){
$checkar[]=$value;
}
}*/
}
}else{
$unitarr=array();
for ($i=1;$i<51;$i++){
$unitarr['u'.$i]=$allUnitInTown['u'.$i];
}
$unitarr['hero']=$allUnitInTown['hero'];
arsort($unitarr);
if (array_sum($unitarr)>0){
$keydel=key($unitarr);
$keydel2=substr($keydel,1);
global ${$keydel};
$database->modifyUnit($allUnitInTown['vref'],$keydel2,1,0);
$q = "UPDATE ".TB_PREFIX."vdata set `crop` = `crop`+".${$keydel}['crop']." WHERE wref =".$_SESSION['wid'];
$database->query($q);
// echo$q;
}
}
$this->updateRes($_SESSION['wid'],$session->uid);
$allcrop=$this->bountyproduction['crop'];
$allUnitInTown=$database->getUnit($_SESSION['wid']);
$allEnforceInTown=$database->getEnforceVillage($_SESSION['wid'],0);
$checkcrop=$database->getVillageField($_SESSION['wid'],'crop');
//echo $allcrop."|||".$checkcrop;
if ($allcrop>=0){
$q = "UPDATE ".TB_PREFIX."vdata set `crop` = 0 WHERE wref =".$_SESSION['wid'];
$database->query($q);
$loops++;
}elseif ($checkcrop>0){
$loops++;
}
}
}
// var_dump($allUnitInTown);
//var_dump($allEnforceIntown);
// echo $allcrop;
}
}
private function loyaltyRegeneration() {
global $database;
$array = array();
@@ -656,7 +548,8 @@ if (array_sum($unitarr)>0){
if ($isoasis == 0){
$Attacker['id'] = $database->getUserField($database->getVillageField($data['from'],"owner"),"id",0);
$Defender['id'] = $database->getUserField($database->getVillageField($data['to'],"owner"),"id",0);
$AttackerID = $database->getUserField($database->getVillageField($data['from'],"owner"),"id",0);
$DefenderID = $database->getUserField($database->getVillageField($data['to'],"owner"),"id",0);
$owntribe = $database->getUserField($database->getVillageField($data['from'],"owner"),"tribe",0);
$targettribe = $database->getUserField($database->getVillageField($data['to'],"owner"),"tribe",0);
$ownally = $database->getUserField($database->getVillageField($data['from'],"owner"),"alliance",0);
@@ -693,6 +586,7 @@ if (array_sum($unitarr)>0){
for($i=1;$i<=50;$i++) {
$Defender['u'.$i] += $enforce['u'.$i];
}
$Defender['hero'] += $enforce['hero'];
}
}
for($i=1;$i<=50;$i++){
@@ -710,6 +604,13 @@ if (array_sum($unitarr)>0){
}
}
}
if(!isset($Defender['hero'])){
$Defender['hero'] = '0';
} else {
if($Defender['hero']=='' or $Defender['hero']<='0'){
$Defender['hero'] = '0';
}
}
//get attack units
$Attacker = array();
$start = ($owntribe-1)*10+1;
@@ -864,9 +765,10 @@ if (array_sum($unitarr)>0){
}else{
$Attacker['id'] = $database->getUserField($database->getVillageField($data['from'],"owner"),"id",0);
$Defender['id'] = $database->getUserField($database->getOasisField($data['to'],"owner"),"id",0);
$AttackerID = $database->getUserField($database->getVillageField($data['from'],"owner"),"id",0);
$DefenderID = $database->getUserField($database->getOasisField($data['to'],"owner"),"id",0);
$owntribe = $database->getUserField($database->getVillageField($data['from'],"owner"),"tribe",0);
$targettribe = 4;
$targettribe = $database->getUserField($database->getOasisField($data['to'],"owner"),"tribe",0);;
$ownally = $database->getUserField($database->getVillageField($data['from'],"owner"),"alliance",0);
$targetally = $database->getUserField($database->getOasisField($data['to'],"owner"),"alliance",0);
$to = $database->getOMInfo($data['to']);
@@ -884,6 +786,7 @@ if (array_sum($unitarr)>0){
for($i=1;$i<=50;$i++) {
$Defender['u'.$i] += $enforce['u'.$i];
}
$Defender['hero'] += $enforce['hero'];
}
}
for($i=1;$i<=50;$i++){
@@ -901,6 +804,13 @@ if (array_sum($unitarr)>0){
}
}
}
if(!isset($Defender['hero'])){
$Defender['hero'] = '0';
} else {
if($Defender['hero']=='' or $Defender['hero']<='0'){
$Defender['hero'] = '0';
}
}
//get attack units
$Attacker = array();
$start = ($owntribe-1)*10+1;
@@ -983,7 +893,7 @@ if (array_sum($unitarr)>0){
$stonemason = "1";
}
$battlepart = $battle->calculateBattle($Attacker,$Defender,$def_wall,$att_tribe,$def_tribe,$residence,$attpop,$defpop,$type,$def_ab,$att_ab,$tblevel,$stonemason,$walllevel);
$battlepart = $battle->calculateBattle($Attacker,$Defender,$def_wall,$att_tribe,$def_tribe,$residence,$attpop,$defpop,$type,$def_ab,$att_ab,$tblevel,$stonemason,$walllevel,$AttackerID,$DefenderID);
//units attack string for battleraport
$unitssend_att = ''.$data['t1'].','.$data['t2'].','.$data['t3'].','.$data['t4'].','.$data['t5'].','.$data['t6'].','.$data['t7'].','.$data['t8'].','.$data['t9'].','.$data['t10'].'';
@@ -999,14 +909,14 @@ if (array_sum($unitarr)>0){
$unitssend_def[3] = ''.$Defender['u21'].','.$Defender['u22'].','.$Defender['u23'].','.$Defender['u24'].','.$Defender['u25'].','.$Defender['u26'].','.$Defender['u27'].','.$Defender['u28'].','.$Defender['u29'].','.$Defender['u30'].'';
$unitssend_def[4] = ''.$Defender['u31'].','.$Defender['u32'].','.$Defender['u33'].','.$Defender['u34'].','.$Defender['u35'].','.$Defender['u36'].','.$Defender['u37'].','.$Defender['u38'].','.$Defender['u39'].','.$Defender['u40'].'';
$unitssend_def[5] = ''.$Defender['u41'].','.$Defender['u42'].','.$Defender['u43'].','.$Defender['u44'].','.$Defender['u45'].','.$Defender['u46'].','.$Defender['u47'].','.$Defender['u48'].','.$Defender['u49'].','.$Defender['u50'].'';
$herosend_def = $Defender['hero'];
$totalsend_alldef[1] = $Defender['u1']+$Defender['u2']+$Defender['u3']+$Defender['u4']+$Defender['u5']+$Defender['u6']+$Defender['u7']+$Defender['u8']+$Defender['u9']+$Defender['u10'];
$totalsend_alldef[2] = $Defender['u11']+$Defender['u12']+$Defender['u13']+$Defender['u14']+$Defender['u15']+$Defender['u16']+$Defender['u17']+$Defender['u18']+$Defender['u19']+$Defender['u20'];
$totalsend_alldef[3] = $Defender['u21']+$Defender['u22']+$Defender['u23']+$Defender['u24']+$Defender['u25']+$Defender['u26']+$Defender['u27']+$Defender['u28']+$Defender['u29']+$Defender['u30'];
$totalsend_alldef[4] = $Defender['u31']+$Defender['u32']+$Defender['u33']+$Defender['u34']+$Defender['u35']+$Defender['u36']+$Defender['u37']+$Defender['u38']+$Defender['u39']+$Defender['u40'];
$totalsend_alldef[5] = $Defender['u41']+$Defender['u42']+$Defender['u43']+$Defender['u44']+$Defender['u45']+$Defender['u46']+$Defender['u47']+$Defender['u48']+$Defender['u49']+$Defender['u50'];
$totalsend_alldef = $totalsend_alldef[1]+$totalsend_alldef[2]+$totalsend_alldef[3]+$totalsend_alldef[4]+$totalsend_alldef[5];
$totalsend_alldef = $totalsend_alldef[1]+$totalsend_alldef[2]+$totalsend_alldef[3]+$totalsend_alldef[4]+$totalsend_alldef[5]+$herosend_def;
$unitssend_deff[1] = '?,?,?,?,?,?,?,?,?,?,';
$unitssend_deff[2] = '?,?,?,?,?,?,?,?,?,?,';
@@ -1014,12 +924,12 @@ if (array_sum($unitarr)>0){
$unitssend_deff[4] = '?,?,?,?,?,?,?,?,?,?,';
$unitssend_deff[5] = '?,?,?,?,?,?,?,?,?,?,';
//how many troops died? for battleraport
for($i=1;$i<=11;$i++){
if($battlepart['casualties_attacker'][$i] <= 0) { ${dead.$i} = 0; }elseif($battlepart['casualties_attacker'][$i] > $data['t'.$i]){
${dead.$i}=$data['t'.$i];
}else { ${dead.$i} = $battlepart['casualties_attacker'][$i]; }
}
$heroAttackDead=$dead11;
for($i=1;$i<=11;$i++){
if($battlepart['casualties_attacker'][$i] <= 0) { ${dead.$i} = 0; }elseif($battlepart['casualties_attacker'][$i] > $data['t'.$i]){
${dead.$i}=$data['t'.$i];
}else { ${dead.$i} = $battlepart['casualties_attacker'][$i]; }
}
$heroAttackDead=$dead11;
//kill own defence
$q = "SELECT * FROM ".TB_PREFIX."units WHERE vref='".$data['to']."'";
$unitlist = $database->query_return($q);
@@ -1033,6 +943,11 @@ ${dead.$i}=$data['t'.$i];
$database->modifyUnit($data['to'],array($i),array(round($battlepart[2]*$unitlist[0]['u'.$i])),array(0));
}
}
$dead['hero']='0';
if($unitlist){
$dead['hero']+=round($battlepart[2]*$unitlist[0]['hero']);
$database->modifyUnit($data['to'],array("hero"),array(round($battlepart[2]*$unitlist[0]['hero'])),array(0));
}
//kill other defence in village
if(count($database->getEnforceVillage($data['to'],0)) > 0) {
foreach($database->getEnforceVillage($data['to'],0) as $enforce) {
@@ -1051,6 +966,13 @@ ${dead.$i}=$data['t'.$i];
} else {
$dead[$i]='0';
}
if($enforce['hero']>'0'){
$database->modifyEnforce($enforce['id'],"hero",round($battlepart[2]*$enforce['hero']),0);
$dead['hero']+=round($battlepart[2]*$enforce['hero']);
if($dead['hero']!=$enforce['hero']){
$wrong='1';
}
}
}
$notlife= ''.$dead[$start].','.$dead[$start+1].','.$dead[$start+2].','.$dead[$start+3].','.$dead[$start+4].','.$dead[$start+5].','.$dead[$start+6].','.$dead[$start+7].','.$dead[$start+8].','.$dead[$start+9].'';
$notlife1 = $dead[$start]+$dead[$start+1]+$dead[$start+2]+$dead[$start+3]+$dead[$start+4]+$dead[$start+5]+$dead[$start+6]+$dead[$start+7]+$dead[$start+8]+$dead[$start+9];
@@ -1092,6 +1014,7 @@ ${dead.$i}=$data['t'.$i];
$unitsdead_deff[3] = '?,?,?,?,?,?,?,?,?,?,';
$unitsdead_deff[4] = '?,?,?,?,?,?,?,?,?,?,';
$unitsdead_deff[5] = '?,?,?,?,?,?,?,?,?,?,';
$deadhero = $dead['hero'];
$totaldead_alldef[1] = $dead['1']+$dead['2']+$dead['3']+$dead['4']+$dead['5']+$dead['6']+$dead['7']+$dead['8']+$dead['9']+$dead['10'];
$totaldead_alldef[2] = $dead['11']+$dead['12']+$dead['13']+$dead['14']+$dead['15']+$dead['16']+$dead['17']+$dead['18']+$dead['19']+$dead['20'];
@@ -1099,7 +1022,7 @@ ${dead.$i}=$data['t'.$i];
$totaldead_alldef[4] = $dead['31']+$dead['32']+$dead['33']+$dead['34']+$dead['35']+$dead['36']+$dead['37']+$dead['38']+$dead['39']+$dead['40'];
$totaldead_alldef[5] = $dead['41']+$dead['42']+$dead['43']+$dead['44']+$dead['45']+$dead['46']+$dead['47']+$dead['48']+$dead['49']+$dead['50'];
$totaldead_alldef = $totaldead_alldef[1]+$totaldead_alldef[2]+$totaldead_alldef[3]+$totaldead_alldef[4]+$totaldead_alldef[5];
$totaldead_alldef = $totaldead_alldef[1]+$totaldead_alldef[2]+$totaldead_alldef[3]+$totaldead_alldef[4]+$totaldead_alldef[5]+$deadhero;
/*
if($battlepart['casualties_defender'][1] == 0) { $dead11 = 0; } else { $dead11 = $battlepart['casualties_defender'][1]; }
if($battlepart['casualties_defender'][2] == 0) { $dead12 = 0; } else { $dead12 = $battlepart['casualties_defender'][2]; }
@@ -1982,10 +1905,10 @@ $crannyimg = "<img src=\"gpack/travian_default/img/g/g23.gif\" height=\"30\" wid
}
$data2 = ''.$from['owner'].','.$from['wref'].','.$owntribe.','.$unitssend_att.','.$unitsdead_att.',0,0,0,0,0,'.$to['owner'].','.$to['wref'].','.addslashes($to['name']).','.$targettribe.',,,'.$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].','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.',,'.$data['t11'].','.$dead11.',,';
$data2 = ''.$from['owner'].','.$from['wref'].','.$owntribe.','.$unitssend_att.','.$unitsdead_att.',0,0,0,0,0,'.$to['owner'].','.$to['wref'].','.addslashes($to['name']).','.$targettribe.',,,'.$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].','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.',,'.$data['t11'].','.$dead11.','.$herosend_def.','.$deadhero.',,';
}
else{
$data2 = ''.$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.',,,'.$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].','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.',,'.$data['t11'].','.$dead11.',,';
$data2 = ''.$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.',,,'.$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].','.$info_ram.','.$info_cat.','.$info_chief.','.$info_spy.',,'.$data['t11'].','.$dead11.','.$herosend_def.','.$deadhero.',,';
}
@@ -2111,6 +2034,11 @@ $crannyimg = "<img src=\"gpack/travian_default/img/g/g23.gif\" height=\"30\" wid
unset($data_fail);
unset($owntribe);
unset($unitsdead_att);
unset($dead11);
unset($herosend_def);
unset($deadhero);
unset($AttackerID);
unset($DefenderID);
}
if(file_exists("GameEngine/Prevention/sendunits.txt")) {
@unlink("GameEngine/Prevention/sendunits.txt");
@@ -2834,10 +2762,6 @@ private function demolitionComplete() {
if ($hdata['experience'] > $hero_levels[$hdata['level']+1]) {
mysql_query("UPDATE " . TB_PREFIX ."hero SET level = level + 1 WHERE heroid = '".$hdata['heroid']."'");
mysql_query("UPDATE " . TB_PREFIX ."hero SET points = points + 5 WHERE heroid = '".$hdata['heroid']."'");
}
if($hdata['health']==0) {
mysql_query("UPDATE " . TB_PREFIX ."hero SET dead = '1' WHERE heroid = '".$hdata['heroid']."'");
mysql_query("UPDATE " . TB_PREFIX ."units SET hero = '0' WHERE vref = '".$hdata['wref']."'");
}
}
}
@@ -2965,6 +2889,216 @@ private function demolitionComplete() {
}
}
}
private function starvation() {
global $database;
$ourFileHandle = @fopen("GameEngine/Prevention/starvation.txt", 'w');
@fclose($ourFileHandle);
$starvcost = array(
'1'=>30,
'2'=>70,
'3'=>80,
'4'=>40,
'5'=>100,
'6'=>180,
'7'=>70,
'8'=>90,
'9'=>37500,
'10'=>5500,
'11'=>40,
'12'=>40,
'13'=>70,
'14'=>50,
'15'=>75,
'16'=>80,
'17'=>70,
'18'=>60,
'19'=>27200,
'20'=>6500,
'21'=>30,
'22'=>60,
'23'=>40,
'24'=>60,
'25'=>120,
'26'=>170,
'27'=>75,
'28'=>90,
'29'=>37500,
'30'=>4900,
'31'=>100,
'32'=>100,
'33'=>100,
'34'=>100,
'35'=>100,
'36'=>100,
'37'=>100,
'38'=>100,
'39'=>100,
'40'=>100,
'41'=>100,
'42'=>100,
'43'=>100,
'44'=>100,
'45'=>100,
'46'=>100,
'47'=>100,
'48'=>100,
'49'=>100,
'50'=>100
);
$starvupkeep = array(
'1'=>1,
'2'=>1,
'3'=>1,
'4'=>2,
'5'=>3,
'6'=>4,
'7'=>3,
'8'=>6,
'9'=>5,
'10'=>1,
'11'=>1,
'12'=>1,
'13'=>1,
'14'=>1,
'15'=>2,
'16'=>3,
'17'=>6,
'18'=>4,
'19'=>1,
'20'=>1,
'21'=>1,
'22'=>1,
'23'=>2,
'24'=>2,
'25'=>2,
'26'=>3,
'27'=>3,
'28'=>6,
'29'=>4,
'30'=>1,
'31'=>1,
'32'=>1,
'33'=>1,
'34'=>2,
'35'=>2,
'36'=>3,
'37'=>3,
'38'=>3,
'39'=>3,
'40'=>5,
'41'=>1,
'42'=>1,
'43'=>1,
'44'=>1,
'45'=>2,
'46'=>3,
'47'=>6,
'48'=>5,
'49'=>1,
'50'=>1
);
$time = time();
// load villages with minus prod
$starvarray = array();
$starvarray = $database->getStarvation();
foreach ($starvarray as $starv){
if (($starv['starvupdate']+60) < $time){
// get enforce
$enforcearray = $database->getEnforceVillage($starv['wref'],0);
$maxcount = 0;
if(count($enforcearray)==0){
// get units
$unitarray = $database->getUnit($starv['wref']);
for($i = 0 ; $i <= 50 ; $i++){
$units = $unitarray['u'.$i];
if($unitarray['u'.$i] > $maxcount){
$maxcount = $unitarray['u'.$i];
$maxtype = $i;
}
}
}else{
foreach ($enforcearray as $enforce){
for($i = 0 ; $i <= 50 ; $i++){
$units = $enforce['u'.$i];
if($enforce['u'.$i] > $maxcount){
$maxcount = $enforce['u'.$i];
$maxtype = $i;
$enf = $enforce['id'];
}
}
}
}
// counting
$timedif = $time-$starv['starvupdate'];
$starvsec = ($starv['starv']/3600);
$difcrop = ($timedif*$starvsec);
$newcrop = 0;
$oldcrop = $database->getVillageField($starv['wref'], 'crop');
if ($oldcrop > 100){
$difcrop = $difcrop-$oldcrop;
if($difcrop < 0){
$difcrop = 0;
$newcrop = $oldcrop-$difcrop;
}else{
$newcrop = $starvcost[$maxtype];
}
}
if($difcrop > 0){
$killunits = round(($difcrop/$starvcost[$maxtype]));
if (isset($enf)){
if($killunits < $maxcount){
$database->modifyEnforce($enf, $maxtype, $killunits, 0);
}else{
$database->deleteReinf($enf);
}
}else{
if($killunits < $maxcount){
$database->modifyUnit($starv['wref'], $maxtype, $killunits, 0);
}elseif($killunits > $maxcount){
$killunits = $maxcount;
$database->modifyUnit($starv['wref'], $maxtype, $killunits, 0);
}
}
}
$upkeep = $starv['starv']-($killunits*$starvupkeep[$maxtype]);
$time = time();
$crop = $database->getCropProdstarv($starv['wref']);
$unitarrays = $this->getAllUnits($starv['wref']);
$upkeep = $this->getUpkeep($unitarrays, 0) ;
if ($crop < $upkeep){
// add starv data
$database->setVillageField($starv['wref'], 'starv', $upkeep);
$database->setVillageField($starv['wref'], 'starvupdate', $time);
$database->setVillageField($starv['wref'], 'crop', $newcrop);
}else{
$database->setVillageField($starv['wref'], 'starv', 0);
$database->setVillageField($starv['wref'], 'starvupdate', 0);
$database->setVillageField($starv['wref'], 'crop', $newcrop);
}
}
unset ($starv);
unset ($unitarray);
unset ($enforcearray);
unset ($enforce);
unset ($starvarray);
}
if(file_exists("GameEngine/Prevention/starvation.txt")) {
@unlink("GameEngine/Prevention/starvation.txt");
}
}
}
$automation = new Automation;