From 19767cf6a656a192fd605bffee492137622b167b Mon Sep 17 00:00:00 2001 From: Shadow Date: Tue, 4 Mar 2014 12:44:25 +0200 Subject: [PATCH] update admin panel --- Admin/Templates/addABTroops.tpl | 61 +++ Admin/Templates/addTroops.tpl | 305 ++------------ Admin/Templates/editResources.tpl | 23 +- Admin/Templates/map.tpl | 2 +- Admin/Templates/player.tpl | 14 +- Admin/Templates/search2.tpl | 30 +- Admin/Templates/troopUpgrades.tpl | 25 +- Admin/Templates/troops.tpl | 4 +- Admin/Templates/village.tpl | 185 +++------ Admin/admin.php | 5 +- GameEngine/Admin/Mods/addABTroops.php | 32 ++ GameEngine/Admin/Mods/addTroops.php | 108 +---- GameEngine/Admin/Mods/addUsers.php | 51 ++- GameEngine/Admin/database.php | 561 ++++++++++++++++++++++++-- 14 files changed, 804 insertions(+), 602 deletions(-) create mode 100644 Admin/Templates/addABTroops.tpl create mode 100644 GameEngine/Admin/Mods/addABTroops.php diff --git a/Admin/Templates/addABTroops.tpl b/Admin/Templates/addABTroops.tpl new file mode 100644 index 00000000..507fbcc5 --- /dev/null +++ b/Admin/Templates/addABTroops.tpl @@ -0,0 +1,61 @@ +U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U99,U0); +if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN); +$id = $_GET['did']; +if(isset($id)) +{ + $village = $database->getVillage($id); + $user = $database->getUserArray($village['owner'],1); + $abtech = $database->getABTech($id); // Armory/blacksmith level + $units = $database->getUnit($village['wref']); + $coor = $database->getCoor($village['wref']); + + $tribe = $user['tribe']; + if($tribe ==1){ $img = 0;} + if($tribe ==2){ $img = 10;} + if($tribe ==3){ $img = 20;} + if($tribe ==4){ $img = 30;} + if($tribe ==5){ $img = 40;} + if($tribe ==6){ $img = 50;} + include("search2.tpl"); +?> + +
+ + + + + + + + + + + + + + + + '; + } ?> +
Upgrades AB Tech troops
Troop TypeArmourBlackmith
'.$unarray[$img+$i].'
+
+ + + + +
<< back
+
+ \ No newline at end of file diff --git a/Admin/Templates/addTroops.tpl b/Admin/Templates/addTroops.tpl index 954c0d12..7cce1cbd 100644 --- a/Admin/Templates/addTroops.tpl +++ b/Admin/Templates/addTroops.tpl @@ -4,297 +4,52 @@ ## --------------------------------------------------------------------------- ## ## Filename addTroops.tpl ## ## Developed by: Dzoki & Advocatie ## -## License: TravianX Project ## -## Thanks to: Dzoki & itay2277(Edit troops) ## -## Copyright: TravianX (c) 2010-2011. All rights reserved. ## +## License: TravianZ Project ## +## Reworks by: ronix ## +## Copyright: TravianZ (c) 2010-2014. All rights reserved. ## ## ## ################################################################################# - -include("../GameEngine/Lang/".LANG.".php"); - -if($_SESSION['access'] < ADMIN) die("Access Denied: You are not Admin!"); +$unarray = array(1=>U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U99,U0); +if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN); $id = $_GET['did']; if(isset($id)) { $village = $database->getVillage($id); $user = $database->getUserArray($village['owner'],1); + $units = $database->getUnit($village['wref']); $coor = $database->getCoor($village['wref']); - $varray = $database->getProfileVillages($village['owner']); - $type = $database->getVillageType($village['wref']); - $fdata = $database->getResourceLevel($village['wref']); - $units = $database->getUnit($village['wref']); ?> + $tribe = $user['tribe']; + if($tribe ==1){ $img = 0;} + if($tribe ==2){ $img = 10;} + if($tribe ==3){ $img = 20;} + if($tribe ==4){ $img = 30;} + if($tribe ==5){ $img = 40;} + if($tribe ==6){ $img = 50;} + include("search2.tpl"); +?>
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + '; + } ?>
Edit troops
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
   Currently:
'.$unarray[$img+$i].' +    Currently: '.$units["u".($img+$i)].'

-
+ + + + +
<< back
- -

Troops edited'; + \ No newline at end of file diff --git a/Admin/Templates/editResources.tpl b/Admin/Templates/editResources.tpl index c51e60a5..f71c1522 100644 --- a/Admin/Templates/editResources.tpl +++ b/Admin/Templates/editResources.tpl @@ -10,16 +10,16 @@ ################################################################################# $id = $_GET['did']; -$village = $database->getVillage($id); -$user = $database->getUserArray($village['owner'],1); -$coor = $database->getCoor($village['wref']); -$varray = $database->getProfileVillages($village['owner']); -$type = $database->getVillageType($village['wref']); -$fdata = $database->getResourceLevel($village['wref']); if(isset($id)) { + $village = $database->getVillage($id); + $user = $database->getUserArray($village['owner'],1); + $coor = $database->getCoor($village['wref']); + //$varray = $database->getProfileVillages($village['owner']); + //$type = $database->getVillageType($village['wref']); + //$fdata = $database->getResourceLevel($village['wref']); + include("search2.tpl"); ?> -
@@ -68,9 +68,12 @@ if(isset($id)) - -

-
+
+ + + + +
<< back
5"; } -if ($check1=="" && $check2=="") {$criteria="WHERE tribe NOT IN(1,2,3,4,5)";} +if ($check1=="" && $check2=="") {$criteria="WHERE tribe=0)";} ?>
diff --git a/Admin/Templates/player.tpl b/Admin/Templates/player.tpl index a5627d9c..9e4550e4 100644 --- a/Admin/Templates/player.tpl +++ b/Admin/Templates/player.tpl @@ -12,14 +12,14 @@ $id = $_GET['uid']; if(isset($id)) { - include("../GameEngine/Ranking.php"); + include_once("../GameEngine/Ranking.php"); $varmedal = $database->getProfileMedal($id); - $displayarray = $database->getUserArray($id,1); - $user=$displayarray; - $profiel="".$user['desc1']."".md5('skJkev3')."".$user['desc2'].""; - $separator="../"; - require("../Templates/Profile/medal.php"); - $profiel=explode("".md5('skJkev3')."", $profiel); + $displayarray = $database->getUserArray($id,1); + $user=$displayarray; + $profiel="".$user['desc1']."".md5('skJkev3')."".$user['desc2'].""; + $separator="../"; + require("../Templates/Profile/medal.php"); + $profiel=explode("".md5('skJkev3')."", $profiel); $varray = $database->getProfileVillages($id); $refreshicon = "search_player($user['username']); $numsimplayers = count($searchresults); $id = $user['id']; @@ -55,7 +37,7 @@ foreach($varray as $vil)
Village: (did: )
diff --git a/Admin/Templates/troopUpgrades.tpl b/Admin/Templates/troopUpgrades.tpl index 8bb8b385..48967188 100644 --- a/Admin/Templates/troopUpgrades.tpl +++ b/Admin/Templates/troopUpgrades.tpl @@ -1,3 +1,6 @@ + @@ -15,6 +18,10 @@ if($tribe ==1){ $img = ""; } if($tribe ==2){ $img = "1";} if($tribe ==3){ $img = "2";} + if($tribe ==4){ $img = "3";} + if($tribe ==5){ $img = "4";} + if($tribe ==6){ $img = "5";} + for($i=1; $i<9; $i++) { echo ''; @@ -32,14 +39,26 @@ ##A for($i=1; $i<9; $i++) { - echo ''; + if($tribe==5) { $abtech['a'.$i]="?"; $abtech['b'.$i]="?";} + echo ''; } ##B for($i=1; $i<9; $i++) { - echo ''; + echo ''; } ?>
'.$aupgrades['$i.'].'
'.$abtech['a'.$i].'
'.$bupgrades['$i'].'
'.$abtech['b'.$i].'
-Edit Troop Upgrades \ No newline at end of file + Upgrades Troops';} + else { echo 'Upgrades Troops';} + } + if(isset($_GET['ab'])){ + echo '
AB Tech Troops upgrades
'; + } + ?> + + \ No newline at end of file diff --git a/Admin/Templates/troops.tpl b/Admin/Templates/troops.tpl index 17d1db4e..8533977d 100644 --- a/Admin/Templates/troops.tpl +++ b/Admin/Templates/troops.tpl @@ -271,6 +271,8 @@ if($_SESSION['access'] == ADMIN) { echo 'Edit Troops'; + if(isset($_GET['d'])){ + echo '
Troops edited
'; + } } - ?> \ No newline at end of file diff --git a/Admin/Templates/village.tpl b/Admin/Templates/village.tpl index 8646b4ee..fb28ff62 100644 --- a/Admin/Templates/village.tpl +++ b/Admin/Templates/village.tpl @@ -6,10 +6,11 @@ ## Developed by: Dzoki & Advocatie ## ## License: TravianX Project ## ## Thanks to: Dzoki & itay2277(Edit some additions) ## -## Copyright: TravianX (c) 2010-2011. All rights reserved. ## +## Fix by: ronix (some additions) ## +## Copyright: TravianZ (c) 2010-2014. All rights reserved. ## ## Improved: aggenkeech ## ################################################################################# -error_reporting(0); +if($_SESSION['access'] < 9) die("Access Denied: You are not Admin!"); $id = $_GET['did']; if(isset($id)) { @@ -20,6 +21,7 @@ if(isset($id)) $type = $database->getVillageType($village['wref']); $fdata = $database->getResourceLevel($village['wref']); $units = $database->getUnit($village['wref']); + $abtech = $database->getABTech($id); // Armory/blacksmith level if($type == 1){ $typ = array(3,3,3,9); } elseif($type == 2){ $typ = array(3,4,5,6); } elseif($type == 3){ $typ = array(4,4,4,6); } @@ -32,14 +34,31 @@ if(isset($id)) elseif($type == 10){ $typ = array(3,5,4,6); } elseif($type == 11){ $typ = array(4,5,3,6); } elseif($type == 12){ $typ = array(5,4,3,6); } - $refreshicon = ""; + $ocounter = array(); + $wood = $clay = $iron =$crop = 0; + $q = "SELECT o.*, w.x, w.y FROM ".TB_PREFIX."odata AS o LEFT JOIN ".TB_PREFIX."wdata AS w ON o.wref=w.id WHERE conqured = ".$village['wref']; + $result = $database->query_return($q); + if(count($result) >0) + { + foreach($result as $row) + { + $type = $row['type']; + if($type==1) { $type = ' + 25%'; $wood+=1;} + elseif($type==2) { $type = ' + 25%'; $wood+=1;} + elseif($type==3) { $type = ' + 25%
+ 25%'; $wood+=1; $crop+=1;} + elseif($type==4) { $type = ' + 25%'; $clay+=1;} + elseif($type==5) { $type = ' + 25%'; $clay+=1;} + elseif($type==6) { $type = ' + 25%
+ 25%'; $clay+=1;$crop+=1;} + elseif($type==7) { $type = ' + 25%'; $iron+=1;} + elseif($type==8) { $type = ' + 25%'; $iron+=1;} + elseif($type==9) { $type = ' + 25%
+ 25%'; $iron+=1; $crop+=1;} + elseif($type==10){ $type = ' + 25%'; $crop+=1;} + elseif($type==11){ $type = ' + 25%'; $crop+=1;} + elseif($type==12){ $type = ' + 50%'; $crop+=2;} + } + } + $ocounter = array($wood,$clay,$iron,$crop); + $production=$admin->calculateProduction($id,$user['id'],$user['b1'],$user['b2'],$user['b3'],$user['b4'],$fdata, $ocounter, $village['pop']); $refreshiconfrm = "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAkAAAAKCAIAAADpZ+PpAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEQSURBVChTY/gPBkevHfRrtjMsU9bJ05+5eylE @@ -48,6 +67,8 @@ if(isset($id)) 91l+gRNDLzw6f+nepcsPrl14cPXW8wcMWqVaEYdtPdZYubUHww0AMs5cusygU68UtVUr87CPWbdd 9Ly83TcO7Lq2I7ozoXfZTAalCjWZemnlaYo2u0wVFkoJdwoyZDOZNDi//vqRwbkjac+dC827p2h3 Gyh3S6m0a0Qszrnz6RnQWAAxV5tT/VAiNQAAAABJRU5ErkJggg=="; + $refreshicon = ""; + class Generator { public function getMapCheck($wref) @@ -56,6 +77,7 @@ if(isset($id)) } }; $generator = new Generator; + if($village and $user) { include("search2.tpl"); ?> @@ -98,7 +120,7 @@ if(isset($id)) Coordinates: - (|) + () Village ID @@ -129,22 +151,12 @@ if(isset($id)) - + - - - - - + - @@ -152,28 +164,24 @@ if(isset($id)) - - + - - + - - + - - +
ResourcesResources
Resource
Warehouse Warehouse Production
Lumber
???
Clay
???
Iron
???
Crop
???
@@ -225,7 +233,7 @@ if(isset($id)) - + @@ -237,72 +245,21 @@ if(isset($id)) getOasis($id); - $oases = count($oasisarray); - for($o=0; $o<$oases; $o++) + if(count($result) >0) { - $oasiscoor = $database->getCoor($oasisarray['$o']['wref']); - $type = $oasisarray['type']; - if($type==1) { $type = ' + 25%'; } - elseif($type==2) { $type = ' + 25%'; } - elseif($type==3) { $type = ' + 25%
+ 25%'; } - elseif($type==4) { $type = ' + 25%'; } - elseif($type==5) { $type = ' + 25%'; } - elseif($type==6) { $type = ' + 25%
+ 25%'; } - elseif($type==7) { $type = ' + 25%'; } - elseif($type==8) { $type = ' + 25%'; } - elseif($type==9) { $type = ' + 25%
+ 25%'; } - elseif($type==10){ $type = ' + 25%'; } - elseif($type==11){ $type = ' + 25%'; } - elseif($type==12){ $type = ' + 50%'; } - echo ' - - - - - - - '; - } */ - ?> - getOasis($village['wref']); - $isthere = count($oasisarray); - if($isthere >0) - { - $query = "SELECT * FROM ".TB_PREFIX."odata WHERE conqured = ".$village['wref'].""; - $result = mysql_query($query); - while($row = mysql_fetch_assoc($result)) + foreach($result as $row) { - $oasiswref = $row['wref']; - $oasisx = mysql_result(mysql_query("SELECT x FROM ".TB_PREFIX."wdata WHERE id = ".$oasiswref.""), 0); - $oasisy = mysql_result(mysql_query("SELECT y FROM ".TB_PREFIX."wdata WHERE id = ".$oasiswref.""), 0); - - $type = $row['type']; - if($type==1) { $type = ' + 25%'; } - elseif($type==2) { $type = ' + 25%'; } - elseif($type==3) { $type = ' + 25%
+ 25%'; } - elseif($type==4) { $type = ' + 25%'; } - elseif($type==5) { $type = ' + 25%'; } - elseif($type==6) { $type = ' + 25%
+ 25%'; } - elseif($type==7) { $type = ' + 25%'; } - elseif($type==8) { $type = ' + 25%'; } - elseif($type==9) { $type = ' + 25%
+ 25%'; } - elseif($type==10){ $type = ' + 25%'; } - elseif($type==11){ $type = ' + 25%'; } - elseif($type==12){ $type = ' + 50%'; } echo " - + - + "; - } ## + } } - elseif($isthere ==0) + elseif($result ==0) { echo ''; } @@ -315,7 +272,7 @@ if(isset($id)) ?> @@ -332,7 +289,7 @@ if(isset($id)) ?>
- -
+

@@ -408,48 +365,6 @@ if(isset($id))
- - - - - - - - - - -
OasesOasis
'.$oasisarray['name'].'('.$oasiscoor['x'].'|'.$oasiscoor['y'].')'.$oasisarray['loyalty'].''.$type.'
".$row['name']."getMapCheck($row['wref'])."\" target=\"blank\">(".$oasisx."|".$oasisy.")getMapCheck($row['wref'])."\" target=\"blank\">(".$row['x']."|".$row['y'].") ".$row['loyalty']."% $type
".$row['wood']."
".$row['clay']."
".$row['iron']."
".$row['crop']."
This village has no oases
@@ -500,4 +415,4 @@ else include("404.tpl"); } } -?> +?> \ No newline at end of file diff --git a/Admin/admin.php b/Admin/admin.php index 49a94e09..4a29c2f2 100644 --- a/Admin/admin.php +++ b/Admin/admin.php @@ -11,11 +11,10 @@ ################################################################################# session_start(); - include_once("../GameEngine/Database.php"); +include_once ("../GameEngine/Lang/" . LANG . ".php"); include_once("../GameEngine/Admin/database.php"); -include_once("../GameEngine/Data/buidata.php"); -include_once ("../GameEngine/Lang/" . LANG . ".php"); +include_once("../GameEngine/Data/buidata.php"); class timeFormatGenerator { diff --git a/GameEngine/Admin/Mods/addABTroops.php b/GameEngine/Admin/Mods/addABTroops.php new file mode 100644 index 00000000..ba592bf5 --- /dev/null +++ b/GameEngine/Admin/Mods/addABTroops.php @@ -0,0 +1,32 @@ +getVillage($id); +$user = $database->getUserArray($village['owner'],1); +$atech=""; +$btech=""; +for($i=1; $i<9; $i++) { + $atech.="a".$i."=".$_POST['a'.$i].", "; + $btech.="b".$i."=".$_POST['b'.$i].(($i > 7) ? "" : ", "); +} + +$q = "UPDATE ".TB_PREFIX."abdata SET ".$atech.$btech." WHERE vref = $id"; +$database->query($q); +$database->query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Changed troop anmount in village $id ',".time().")"); + +header("Location: ../../../Admin/admin.php?p=village&did=".$id."&ab"); + +?> \ No newline at end of file diff --git a/GameEngine/Admin/Mods/addTroops.php b/GameEngine/Admin/Mods/addTroops.php index 21f14b1e..a04a19fc 100644 --- a/GameEngine/Admin/Mods/addTroops.php +++ b/GameEngine/Admin/Mods/addTroops.php @@ -1,105 +1,37 @@ getVillage($id); $user = $database->getUserArray($village['owner'],1); -$coor = $database->getCoor($village['wref']); -$varray = $database->getProfileVillages($village['owner']); -$type = $database->getVillageType($village['wref']); -$fdata = $database->getResourceLevel($village['wref']); -$units = $database->getUnit($village['wref']); +$units=""; + $tribe = $user['tribe']; + if($tribe ==1){ $u = 0;} + if($tribe ==2){ $u = 10;} + if($tribe ==3){ $u = 20;} + if($tribe ==4){ $u = 30;} + if($tribe ==5){ $u = 40;} + if($tribe ==6){ $u = 50;} -$u1 = $_POST['u1']; -$u2 = $_POST['u2']; -$u3 = $_POST['u3']; -$u4 = $_POST['u4']; -$u5 = $_POST['u5']; -$u6 = $_POST['u6']; -$u7 = $_POST['u7']; -$u8 = $_POST['u8']; -$u9 = $_POST['u9']; -$u10 = $_POST['u10']; -//////////////////// -$u11 = $_POST['u11']; -$u12 = $_POST['u12']; -$u13 = $_POST['u13']; -$u14 = $_POST['u14']; -$u15 = $_POST['u15']; -$u16 = $_POST['u16']; -$u17 = $_POST['u17']; -$u18 = $_POST['u18']; -$u19 = $_POST['u19']; -$u20 = $_POST['u20']; -//////////////////// -$u21 = $_POST['u21']; -$u22 = $_POST['u22']; -$u23 = $_POST['u23']; -$u24 = $_POST['u24']; -$u25 = $_POST['u25']; -$u26 = $_POST['u26']; -$u27 = $_POST['u27']; -$u28 = $_POST['u28']; -$u29 = $_POST['u29']; -$u30 = $_POST['u30']; -//////////////////// -$u31 = $_POST['u31']; -$u32 = $_POST['u32']; -$u33 = $_POST['u33']; -$u34 = $_POST['u34']; -$u35 = $_POST['u35']; -$u36 = $_POST['u36']; -$u37 = $_POST['u37']; -$u38 = $_POST['u38']; -$u39 = $_POST['u39']; -$u40 = $_POST['u40']; -//////////////////// -$u41 = $_POST['u41']; -$u42 = $_POST['u42']; -$u43 = $_POST['u43']; -$u44 = $_POST['u44']; -$u45 = $_POST['u45']; -$u46 = $_POST['u46']; -$u47 = $_POST['u47']; -$u48 = $_POST['u48']; -$u49 = $_POST['u49']; -$u50 = $_POST['u50']; - -if($user['tribe'] == 1){ -$q = "UPDATE ".TB_PREFIX."units SET u1 = $u1, u2 = $u2, u3 = $u3, u4 = $u4, u5 = $u5, u6 = $u6, u7 = $u7, u8 = $u8, u9 = $u9, u10 = $u10 WHERE vref = $id"; -mysql_query($q); -} else if($user['tribe'] == 2){ -$q = "UPDATE ".TB_PREFIX."units SET u11 = '$u11', u12 = '$u12', u13 = '$u13', u14 = '$u14', u15 = '$u15', u16 = '$u16', u17 = '$u17', u18 = '$u18', u19 = '$u19', u20 = '$u20' WHERE vref = $id"; -mysql_query($q); -} else if($user['tribe'] == 3){ -$q = "UPDATE ".TB_PREFIX."units SET u21 = '$u21', u22 = '$u22', u23 = '$u23', u24 = '$u24', u25 = '$u25', u26 = '$u26', u27 = '$u27', u28 = '$u28', u29 = '$u29', u30 = '$u30' WHERE vref = $id"; -mysql_query($q); -} else if($user['tribe'] == 4){ -$q = "UPDATE ".TB_PREFIX."units SET u31 = '$u31', u32 = '$u32', u33 = '$u33', u34 = '$u34', u35 = '$u35', u36 = '$u36', u37 = '$u37', u38 = '$u38', u39 = '$u39', u40 = '$u40' WHERE vref = $id"; -mysql_query($q); -} else if($user['tribe'] == 5){ -$q = "UPDATE ".TB_PREFIX."units SET u41 = '$u41', u42 = '$u42', u43 = '$u43', u44 = '$u44', u45 = '$u45', u46 = '$u46', u47 = '$u47', u48 = '$u48', u49 = '$u49', u50 = '$u50' WHERE vref = $id"; -mysql_query($q); +for($i=1; $i<11; $i++) { + $units.="u".($u+$i)."=".$_POST['u'.($u+$i)].(($i < 10) ? ", " : ""); } +$q = "UPDATE ".TB_PREFIX."units SET ".$units." WHERE vref = $id"; +$database->query($q); +$database->query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Changed troop anmount in village $id ',".time().")"); -mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Changed troop anmount in village $id ',".time().")"); - -header("Location: ../../../Admin/admin.php?p=addTroops&did=".$id."&d"); - +header("Location: ../../../Admin/admin.php?p=village&did=".$id."&d"); ?> \ No newline at end of file diff --git a/GameEngine/Admin/Mods/addUsers.php b/GameEngine/Admin/Mods/addUsers.php index e5fdda85..bc6996ad 100644 --- a/GameEngine/Admin/Mods/addUsers.php +++ b/GameEngine/Admin/Mods/addUsers.php @@ -1,14 +1,13 @@ generateRandStr(20); - // Leaving the line below but commented out - could be used to + // Leaving the line below but commented out - could be used to // allow admin to log in to the generated accounts and play them // Easily guessed by players so should only be used for testing //$password = $baseName . $i . 'PASS'; @@ -72,7 +71,7 @@ else $act = ""; // Check username not already registered - if($database->checkExist($userName,0)) + if($database->checkExist($userName,0)) { // Name already used, do nothing except update $skipped $skipped ++; @@ -81,24 +80,24 @@ else { // Register them and build the village $uid = $database->register($userName, md5($password), $email, $tribe ,$act); - if($uid) + if($uid) { /* - * @TODO - * - * Allow option to create (random) bigger villages, - * upgrade fields, granary, warehouse, wall etc - * - * Allow option to create (random) troops in some villages - * - * Don't directly access the DB, create a $database function - * where required - */ +* @TODO +* +* Allow option to create (random) bigger villages, +* upgrade fields, granary, warehouse, wall etc +* +* Allow option to create (random) troops in some villages +* +* Don't directly access the DB, create a $database function +* where required +*/ // Show the dove in User Profile - will show this even if // beginners protection is not checked - // Need a $database function for this - // (assuming we don't already have one as creating Natars also updates this way) + // Need a $database function for this + // (assuming we don't already have one as creating Natars also updates this way) $q = "UPDATE " . TB_PREFIX . "users SET desc2 = '[#0]' WHERE id = $uid"; mysql_query($q) or die(mysql_error()); @@ -109,9 +108,9 @@ else // also used in editProtection.php so assuming no function // already exists $protection = time(); - mysql_query("UPDATE ".TB_PREFIX."users SET - protect = '".$protection."' - WHERE id = $uid") or die(mysql_error()); + mysql_query("UPDATE ".TB_PREFIX."users SET +protect = '".$protection."' +WHERE id = $uid") or die(mysql_error()); } $database->updateUserField($uid,"act","",1); @@ -133,4 +132,4 @@ else } header("Location: ../../../Admin/admin.php?p=addUsers&g=OK&bn=$baseName&am=$created&sk=$skipped&bp=$beginnersProtection&tr=$postTribe"); } -?> +?> \ No newline at end of file diff --git a/GameEngine/Admin/database.php b/GameEngine/Admin/database.php index e5ee7b24..3604562b 100644 --- a/GameEngine/Admin/database.php +++ b/GameEngine/Admin/database.php @@ -16,12 +16,12 @@ ## Source code: http://www.github.com/ZZJHONS/ZravianX ## ## ## ################################################################################# -if($gameinstall == 1){ -include("../../GameEngine/config.php"); -include("../../GameEngine/Data/buidata.php"); +if(isset($gameinstall) && $gameinstall == 1){ +include_once("../../GameEngine/config.php"); +include_once("../../GameEngine/Data/buidata.php"); }else{ -include("../GameEngine/config.php"); -include("../GameEngine/Data/buidata.php"); +include_once("../GameEngine/Data/unitdata.php"); +include_once("../GameEngine/Technology.php"); } class adm_DB { var $connection; @@ -201,6 +201,9 @@ class adm_DB { for ($i = 0; $i <= count($villages)-1; $i++) { $this->DelVillage($villages[$i]['wref'], 1); } + $q = "DELETE FROM ".TB_PREFIX."hero where uid = $uid"; + mysql_query($q, $this->connection); + $name = $database->getUserField($uid,"username",0); mysql_query("Insert into ".TB_PREFIX."admin_log values (0,$ID,'Deleted user $name',".time().")"); $q = "DELETE FROM ".TB_PREFIX."users WHERE `id` = $uid;"; @@ -227,33 +230,85 @@ class adm_DB { } function DelVillage($wref, $mode=0){ - if($mode==0){ - $q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref and capital = 0"; + global $database; + if($mode==0){ + $q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref and capital = 0"; }else{ - $q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref"; + $q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref"; } - $result = mysql_query($q, $this->connection); - if(mysql_num_rows($result) > 0){ - mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Deleted village $wref',".time().")"); - $q = "DELETE FROM ".TB_PREFIX."vdata WHERE `wref` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."units WHERE `vref` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."bdata WHERE `wid` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."abdata WHERE `wid` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."fdata WHERE `vref` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."training WHERE `vref` = $wref"; - mysql_query($q, $this->connection); - $q = "DELETE FROM ".TB_PREFIX."movement WHERE `from` = $wref"; - mysql_query($q, $this->connection); - $q = "UPDATE ".TB_PREFIX."wdata SET `occupied` = '0' WHERE `id` = $wref"; - mysql_query($q, $this->connection); - } - } + $result = mysql_query($q, $this->connection); + if(mysql_num_rows($result) > 0){ + mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Deleted village $wref',".time().")"); + $database->clearExpansionSlot($wref); + + $q = "DELETE FROM ".TB_PREFIX."abdata where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."bdata where wid = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."market where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."odata where wref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."research where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."tdata where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."fdata where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."training where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."units where vref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."farmlist where wref = $wref"; + mysql_query($q, $this->connection); + $q = "DELETE FROM ".TB_PREFIX."raidlist where towref = $wref"; + mysql_query($q, $this->connection); + + $q = "DELETE FROM ".TB_PREFIX."movement where `from` = $wref and proc=0"; + mysql_query($q, $this->connection); + + $getmovement = $database->getMovement(3,$wref,1); + foreach($getmovement as $movedata) { + $time = microtime(true); + $time2 = $time - $movedata['starttime']; + $database->setMovementProc($movedata['moveid']); + $database->addMovement(4,$movedata['to'],$movedata['from'],$movedata['ref'],$time,$time+$time2); + //$database->setMovementProc($movedata['moveid']); + } + + //check return enforcement from del village + $this->returnTroops($wref); + + $q = "DELETE FROM ".TB_PREFIX."vdata WHERE `wref` = $wref"; + mysql_query($q, $this->connection); + + if (mysql_affected_rows()>0) { + $q = "UPDATE ".TB_PREFIX."wdata set occupied = 0 where id = $wref"; + mysql_query($q, $this->connection); + + $getprisoners = $database->getPrisoners($wref); + foreach($getprisoners as $pris) { + $troops = 0; + for($i=1;$i<12;$i++){ + $troops += $pris['t'.$i]; + } + $database->modifyUnit($pris['wref'],array("99o"),array($troops),array(0)); + $database->deletePrisoners($pris['id']); + } + $getprisoners = $database->getPrisoners3($wref); + foreach($getprisoners as $pris) { + $troops = 0; + for($i=1;$i<12;$i++){ + $troops += $pris['t'.$i]; + } + $database->modifyUnit($pris['wref'],array("99o"),array($troops),array(0)); + $database->deletePrisoners($pris['id']); + } + } + } + } + function DelBan($uid,$id){ global $database; $name = addslashes($database->getUserField($uid,"username",0)); @@ -344,7 +399,455 @@ class adm_DB { return mysql_query($query, $this->connection); } + public function getTypeLevel($tid,$vid) { + global $village,$database; + $keyholder = array(); + + if($vid == 0) { + $resourcearray = $village->resarray; + } else { + $resourcearray = $database->getResourceLevel($vid); + } + foreach(array_keys($resourcearray,$tid) as $key) { + if(strpos($key,'t')) { + $key = preg_replace("/[^0-9]/", '', $key); + array_push($keyholder, $key); + } + } + $element = count($keyholder); + if($element >= 2) { + if($tid <= 4) { + $temparray = array(); + for($i=0;$i<=$element-1;$i++) { + array_push($temparray,$resourcearray['f'.$keyholder[$i]]); + } + foreach ($temparray as $key => $val) { + if ($val == max($temparray)) + $target = $key; + } + } + else { + $target = 0; + for($i=1;$i<=$element-1;$i++) { + if($resourcearray['f'.$keyholder[$i]] > $resourcearray['f'.$keyholder[$target]]) { + $target = $i; + } + } + } + } + else if($element == 1) { + $target = 0; + } + else { + return 0; + } + if($keyholder[$target] != "") { + return $resourcearray['f'.$keyholder[$target]]; + } + else { + return 0; + } + } + public function procDistanceTime($coor,$thiscoor,$ref,$vid) { + global $bid28,$bid14; + + $xdistance = ABS($thiscoor['x'] - $coor['x']); + if($xdistance > WORLD_MAX) { + $xdistance = (2 * WORLD_MAX + 1) - $xdistance; + } + $ydistance = ABS($thiscoor['y'] - $coor['y']); + if($ydistance > WORLD_MAX) { + $ydistance = (2 * WORLD_MAX + 1) - $ydistance; + } + $distance = SQRT(POW($xdistance,2)+POW($ydistance,2)); + $speed = $ref; + if($this->getTypeLevel(14,$vid) != 0 && $distance >= TS_THRESHOLD) { + $speed = $speed * ($bid14[$this->getTypeLevel(14,$vid)]['attri']/100) ; + } + + if($speed!=0){ + return round(($distance/$speed) * 3600 / INCREASE_SPEED); + }else{ + return round($distance * 3600 / INCREASE_SPEED); + } + } + public function returnTroops($wref) { + global $database; + + $getenforce=$database->getEnforceVillage($wref,0); + + //if(($enforce['from']==$village->wid) || ($enforce['vref']==$village->wid)){ + foreach($getenforce as $enforce) { + + $to = $database->getVillage($enforce['from']); + $Gtribe = ""; + if ($database->getUserField($to['owner'],'tribe',0) == '2'){ $Gtribe = "1"; } + else if ($database->getUserField($to['owner'],'tribe',0) == '3'){ $Gtribe = "2"; } + else if ($database->getUserField($to['owner'],'tribe',0) == '4'){ $Gtribe = "3"; } + else if ($database->getUserField($to['owner'],'tribe',0) == '5'){ $Gtribe = "4"; } + + $start = ($database->getUserField($to['owner'],'tribe',0)-1)*10+1; + $end = ($database->getUserField($to['owner'],'tribe',0)*10); + + $from = $database->getVillage($enforce['from']); + $fromcoor = $database->getCoor($enforce['from']); + $tocoor = $database->getCoor($enforce['vref']); + $fromCor = array('x'=>$tocoor['x'], 'y'=>$tocoor['y']); + $toCor = array('x'=>$fromcoor['x'], 'y'=>$fromcoor['y']); + + $speeds = array(); + + //find slowest unit. + for($i=$start;$i<=$end;$i++){ + + if(intval($enforce['u'.$i]) > 0){ + if($unitarray) { reset($unitarray); } + $unitarray = $GLOBALS["u".$i]; + $speeds[] = $unitarray['speed']; + //echo print_r(array_keys($speeds))."unitspd\n".$i."trib\n"; + + + } else { + $enforce['u'.$i]='0'; + } + + } + + if( intval($enforce['hero']) > 0){ + $q = "SELECT * FROM ".TB_PREFIX."hero WHERE uid = ".$from['owner'].""; + $result = mysql_query($q); + $hero_f=mysql_fetch_array($result); + $hero_unit=$hero_f['unit']; + $speeds[] = $GLOBALS['u'.$hero_unit]['speed']; + } else { + $enforce['hero']='0'; + } + + $artefact = count($database->getOwnUniqueArtefactInfo2($from['owner'],2,3,0)); + $artefact1 = count($database->getOwnUniqueArtefactInfo2($enforce['from'],2,1,1)); + $artefact2 = count($database->getOwnUniqueArtefactInfo2($from['owner'],2,2,0)); + if($artefact > 0){ + $fastertroops = 3; + }else if($artefact1 > 0){ + $fastertroops = 2; + }else if($artefact2 > 0){ + $fastertroops = 1.5; + }else{ + $fastertroops = 1; + } + $time = round($this->procDistanceTime($fromCor,$toCor,min($speeds),$enforce['from'])/$fastertroops); + + $foolartefact2 = $database->getFoolArtefactInfo(2,$enforce['from'],$from['owner']); + if(count($foolartefact2) > 0){ + foreach($foolartefact2 as $arte){ + if($arte['bad_effect'] == 1){ + $time *= $arte['effect2']; + }else{ + $time /= $arte['effect2']; + $time = round($time); + } + } + } + $reference = $database->addAttack($enforce['from'],$enforce['u'.$start],$enforce['u'.($start+1)],$enforce['u'.($start+2)],$enforce['u'.($start+3)],$enforce['u'.($start+4)],$enforce['u'.($start+5)],$enforce['u'.($start+6)],$enforce['u'.($start+7)],$enforce['u'.($start+8)],$enforce['u'.($start+9)],$enforce['hero'],2,0,0,0,0); + $database->addMovement(4,$wref,$enforce['from'],$reference,time(),($time+time())); + $database->deleteReinf($enforce['id']); + } + } + + + public function calculateProduction($wid,$uid,$b1,$b2,$b3,$b4,$fdata,$ocounter,$pop) { + global $technology,$database; + $normalA = $database->getOwnArtefactInfoByType($wid,4); + $largeA = $database->getOwnUniqueArtefactInfo($uid,4,2); + $uniqueA = $database->getOwnUniqueArtefactInfo($uid,4,3); + $upkeep = $this->getUpkeep($this->getAllUnits($wid),0,$wid,$uid); + + + $production=array(); + $production['wood'] = $this->getWoodProd($fdata, $ocounter,$b1); + $production['clay'] = $this->getClayProd($fdata, $ocounter,$b2); + $production['iron'] = $this->getIronProd($fdata, $ocounter,$b3); + if ($uniqueA['size']==3 && $uniqueA['owner']==$uid){ + $production['crop'] = $this->getCropProd($fdata, $ocounter,$b4)-$pop-(($upkeep)-round($upkeep*0.50)); + }elseif ($normalA['type']==4 && $normalA['size']==1 && $normalA['owner']==$uid){ + $production['crop'] = $this->getCropProd($fdata, $ocounter,$b4)-$pop-(($upkeep)-round($upkeep*0.25)); + }else if ($largeA['size']==2 && $largeA['owner']==$uid){ + $production['crop'] = $this->getCropProd($fdata, $ocounter,$b4)-$pop-(($upkeep)-round($upkeep*0.25)); + }else{ + $production['crop'] = $this->getCropProd($fdata, $ocounter,$b4)-$pop-$upkeep; + } + return $production; + } + + private function getWoodProd($fdata,$ocounter,$b1) { + global $bid1,$bid5; + $basewood = $sawmill = 0; + $woodholder = array(); + for($i=1;$i<=38;$i++) { + if($fdata['f'.$i.'t'] == 1) { + array_push($woodholder,'f'.$i); + } + if($fdata['f'.$i.'t'] == 5) { + $sawmill = $fdata['f'.$i]; + } + } + for($i=0;$i<=count($woodholder)-1;$i++) { $basewood+= $bid1[$fdata[$woodholder[$i]]]['prod']; } + $wood = $basewood + $basewood * 0.25 * $ocounter[0]; + if($sawmill >= 1) { + $wood += $basewood / 100 * $bid5[$sawmill]['attri']; + } + if($b1 > time()) { + $wood *= 1.25; + } + $wood *= SPEED; + return round($wood); + } + + private function getClayProd($fdata,$ocounter,$b2) { + global $bid2,$bid6,$session; + $baseclay = $clay = $brick = 0; + $clayholder = array(); + for($i=1;$i<=38;$i++) { + if($fdata['f'.$i.'t'] == 2) { + array_push($clayholder,'f'.$i); + } + if($fdata['f'.$i.'t'] == 6) { + $brick = $fdata['f'.$i]; + } + } + for($i=0;$i<=count($clayholder)-1;$i++) { $baseclay+= $bid2[$fdata[$clayholder[$i]]]['prod']; } + $clay = $baseclay + $baseclay * 0.25 * $ocounter[1]; + if($brick >= 1) { + $clay += $baseclay / 100 * $bid6[$brick]['attri']; + } + if($b2 > time()) { + $clay *= 1.25; + } + $clay *= SPEED; + return round($clay); + } + + private function getIronProd($fdata,$ocounter,$b3) { + global $bid3,$bid7; + $baseiron = $foundry = 0; + $ironholder = array(); + for($i=1;$i<=38;$i++) { + if($fdata['f'.$i.'t'] == 3) { + array_push($ironholder,'f'.$i); + } + if($fdata['f'.$i.'t'] == 7) { + $foundry = $fdata['f'.$i]; + } + } + for($i=0;$i<=count($ironholder)-1;$i++) { $baseiron+= $bid3[$fdata[$ironholder[$i]]]['prod']; } + $iron = $baseiron + $baseiron * 0.25 * $ocounter[2]; + if($foundry >= 1) { + $iron += $baseiron / 100 * $bid7[$foundry]['attri']; + } + if($b3 > time()) { + $iron *= 1.25; + } + $iron *= SPEED; + return round($iron); + } + + private function getCropProd($fdata,$ocounter,$b4) { + global $bid4,$bid8,$bid9; + $basecrop = $grainmill = $bakery = 0; + $cropholder = array(); + for($i=1;$i<=38;$i++) { + if($fdata['f'.$i.'t'] == 4) { + array_push($cropholder,'f'.$i); + } + if($fdata['f'.$i.'t'] == 8) { + $grainmill = $fdata['f'.$i]; + } + if($fdata['f'.$i.'t'] == 9) { + $bakery = $fdata['f'.$i]; + } + } + for($i=0;$i<=count($cropholder)-1;$i++) { $basecrop+= $bid4[$fdata[$cropholder[$i]]]['prod']; } + $crop = $basecrop + $basecrop * 0.25 * $ocounter[3]; + $jcrop=0; + if($grainmill >= 1) $jcrop=$bid8[$grainmill]['attri']; + if($bakery >= 1) $jcrop+=$bid9[$bakery]['attri']; + $crop += $basecrop /100 * $jcrop; + if($b4 > time()) { + $crop *= 1.25; + } + $crop *= SPEED; + return round($crop); + } + + function getAllUnits($base,$InVillageOnly=False,$mode=0) { + global $database; + $ownunit = $database->getUnit($base); + $ownunit['u99'] -= $ownunit['u99']; + $ownunit['u99o'] -= $ownunit['u99o']; + $enforcementarray = $database->getEnforceVillage($base,0); + if(count($enforcementarray) > 0) { + foreach($enforcementarray as $enforce) { + for($i=1;$i<=50;$i++) { + $ownunit['u'.$i] += $enforce['u'.$i]; + } + $ownunit['hero'] += $enforce['hero']; + } + } + if ($mode==0) { + $enforceoasis=$database->getOasisEnforce($base,0); + if(count($enforceoasis) > 0) { + foreach($enforceoasis as $enforce) { + for($i=1;$i<=50;$i++) { + $ownunit['u'.$i] += $enforce['u'.$i]; + } + $ownunit['hero'] += $enforce['hero']; + } + } + //$enforcementarray = $database->getEnforceVillage($base,1); + $enforceoasis1=$database->getOasisEnforce($base,1); + if(count($enforceoasis1) > 0) { + foreach($enforceoasis1 as $enforce) { + for($i=1;$i<=50;$i++) { + $ownunit['u'.$i] += $enforce['u'.$i]; + } + $ownunit['hero'] += $enforce['hero']; + } + } + + + $prisoners = $database->getPrisoners($base,1); + if(!empty($prisoners)) { + foreach($prisoners as $prisoner){ + $owner = $database->getVillageField($base,"owner"); + $ownertribe = $database->getUserField($owner,"tribe",0); + $start = ($ownertribe-1)*10+1; + $end = ($ownertribe*10); + for($i=$start;$i<=$end;$i++) { + $j = $i-$start+1; + $ownunit['u'.$i] += $prisoner['t'.$j]; + } + $ownunit['hero'] += $prisoner['t11']; + } + } + } + + if(!$InVillageOnly) { + $movement = $database->getVillageMovement($base); + if(!empty($movement)) { + for($i=1;$i<=50;$i++) { + if (isset($movement['u'.$i])) { + $ownunit['u'.$i] += $movement['u'.$i]; + } + } + $ownunit['hero'] += $movement['hero']; + } + } + return $ownunit; + } + + public function getUpkeep($array,$type,$vid,$uid,$prisoners=0) { + global $database; + $buildarray = array(); + $buildarray = $database->getResourceLevel($vid); + $upkeep = 0; + switch($type) { + case 0: + $start = 1; + $end = 50; + break; + case 1: + $start = 1; + $end = 10; + break; + case 2: + $start = 11; + $end = 20; + break; + case 3: + $start = 21; + $end = 30; + break; + case 4: + $start = 31; + $end = 40; + break; + case 5: + $start = 41; + $end = 50; + break; + } + for($i=$start;$i<=$end;$i++) { + $k = $i-$start+1; + $unit = "u".$i; + $unit2 = "t".$k; + global $$unit; + $dataarray = $$unit; + for($j=19;$j<=38;$j++) { + if($buildarray['f'.$j.'t'] == 41) { + $horsedrinking = $j; + } + } + if($prisoners == 0){ + if(isset($horsedrinking)){ + if(($i==4 && $buildarray['f'.$horsedrinking] >= 10) + || ($i==5 && $buildarray['f'.$horsedrinking] >= 15) + || ($i==6 && $buildarray['f'.$horsedrinking] == 20)) { + $upkeep += ($dataarray['pop']-1) * $array[$unit]; + } else { + $upkeep += $dataarray['pop'] * $array[$unit]; + }}else{ + $upkeep += $dataarray['pop'] * $array[$unit]; + } + }else{ + if(isset($horsedrinking)){ + if(($i==4 && $buildarray['f'.$horsedrinking] >= 10) + || ($i==5 && $buildarray['f'.$horsedrinking] >= 15) + || ($i==6 && $buildarray['f'.$horsedrinking] == 20)) { + $upkeep += ($dataarray['pop']-1) * $array[$unit2]; + } else { + $upkeep += $dataarray['pop'] * $array[$unit2]; + }}else{ + $upkeep += $dataarray['pop'] * $array[$unit2]; + } + } + } + // $unit = "hero"; + // global $$unit; + // $dataarray = $$unit; + if($prisoners == 0){ + $upkeep += (isset($array['hero'])? $array['hero'] * 6:0); + }else{ + $upkeep += (isset($array['t11'])? $array['t11'] * 6:0); + } + $artefact = count($database->getOwnUniqueArtefactInfo2($uid,4,3,0)); + $artefact1 = count($database->getOwnUniqueArtefactInfo2($vid,4,1,1)); + $artefact2 = count($database->getOwnUniqueArtefactInfo2($uid,4,2,0)); + if($artefact > 0){ + $upkeep /= 2; + $upkeep = round($upkeep); + }else if($artefact1 > 0){ + $upkeep /= 2; + $upkeep = round($upkeep); + }else if($artefact2 > 0){ + $upkeep /= 4; + $upkeep = round($upkeep); + $upkeep *= 3; + } + $foolartefact = $database->getFoolArtefactInfo(4,$vid,$uid); + if(count($foolartefact) > 0){ + foreach($foolartefact as $arte){ + if($arte['bad_effect'] == 1){ + $upkeep *= $arte['effect2']; + }else{ + $upkeep /= $arte['effect2']; + $upkeep = round($upkeep); + } + } + } + return $upkeep; + } + }; $admin = new adm_DB;