mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-07-08 13:46:09 +00:00
big update (trade routes, less hungry troops artefact, somethings in hero table, fix peace reports...)
This commit is contained in:
+27
-10
@@ -169,6 +169,8 @@ class Automation {
|
||||
$this->demolitionComplete();
|
||||
}
|
||||
$this->updateStore();
|
||||
$this->delTradeRoute();
|
||||
$this->TradeRoute();
|
||||
if(!file_exists("GameEngine/Prevention/market.txt") or time()-filemtime("GameEngine/Prevention/market.txt")>10) {
|
||||
$this->marketComplete();
|
||||
}
|
||||
@@ -528,9 +530,28 @@ class Automation {
|
||||
$cp = $dataarray[($level+1)]['cp'];
|
||||
return array($pop,$cp);
|
||||
}
|
||||
|
||||
private function delTradeRoute() {
|
||||
global $database;
|
||||
$time = time();
|
||||
$q = "DELETE from ".TB_PREFIX."route where timeleft < $time";
|
||||
$database->query($q);
|
||||
}
|
||||
|
||||
private function TradeRoute() {
|
||||
global $database;
|
||||
$time = time();
|
||||
$q = "SELECT * FROM ".TB_PREFIX."route where timestamp < $time";
|
||||
$dataarray = $database->query_return($q);
|
||||
foreach($dataarray as $data) {
|
||||
$targettribe = $database->getUserField($database->getVillageField($data['from'],"owner"),"tribe",0);
|
||||
$this->sendResource2($data['wood'],$data['clay'],$data['iron'],$data['crop'],$data['from'],$data['wid'],$targettribe,$data['deliveries']);
|
||||
$database->editTradeRoute($data['id'],"timestamp",86400,1);
|
||||
}
|
||||
}
|
||||
|
||||
private function marketComplete() {
|
||||
global $database,$generator;
|
||||
global $database;
|
||||
$ourFileHandle = @fopen("GameEngine/Prevention/market.txt", 'w');
|
||||
@fclose($ourFileHandle);
|
||||
$time = time();
|
||||
@@ -2143,13 +2164,9 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
|
||||
}
|
||||
}else{
|
||||
//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'].'';
|
||||
$unitssend_att1 = ''.$data['t1'].','.$data['t2'].','.$data['t3'].','.$data['t4'].','.$data['t5'].','.$data['t6'].','.$data['t7'].','.$data['t8'].','.$data['t9'].','.$data['t10'].'';
|
||||
$herosend_att = $data['t11'];
|
||||
if ($herosend_att>0){
|
||||
$unitssend_att_check=$unitssend_att.','.$data['t11'];
|
||||
}else{
|
||||
$unitssend_att_check=$unitssend_att;
|
||||
}
|
||||
$unitssend_att= $unitssend_att1.','.$herosend_att;
|
||||
|
||||
$speeds = array();
|
||||
|
||||
@@ -2172,8 +2189,8 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
|
||||
$endtime = $this->procDistanceTime($from,$to,min($speeds),1) + time();
|
||||
$database->setMovementProc($data['moveid']);
|
||||
$database->addMovement(4,$to['wref'],$from['wref'],$data['ref'],time(),$endtime);
|
||||
|
||||
$data2 = ''.$from['owner'].','.$from['wref'].','.$to['owner'].','.$owntribe.','.$unitssend_att_check.'';
|
||||
$peace = PEACE;
|
||||
$data2 = ''.$from['owner'].','.$from['wref'].','.$to['owner'].','.$owntribe.','.$unitssend_att.','.$peace.'';
|
||||
$database->addNotice($from['owner'],$to['wref'],$ownally,22,''.addslashes($from['name']).' attacks '.addslashes($to['name']).'',$data2,time());
|
||||
$database->addNotice($to['owner'],$to['wref'],$targetally,22,''.addslashes($from['name']).' attacks '.addslashes($to['name']).'',$data2,time());
|
||||
}
|
||||
@@ -3049,7 +3066,7 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
|
||||
}
|
||||
$database->modifyHero("lastupdate",time(),$hdata['heroid']);
|
||||
}
|
||||
if ($hdata['experience'] > $hero_levels[$hdata['level']+1]) {
|
||||
if ($hdata['experience'] > $hero_levels[$hdata['level']+1] && $hdata['level'] < 100) {
|
||||
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']."'");
|
||||
}
|
||||
|
||||
@@ -565,13 +565,11 @@
|
||||
}
|
||||
|
||||
function populateOasisUnitsHigh() {
|
||||
$q2 = "SELECT * FROM " . TB_PREFIX . "wdata where oasistype != 0";
|
||||
$result2 = mysql_query($q2, $this->connection);
|
||||
while($row = mysql_fetch_array($result2)) {
|
||||
$wid = $row['id'];
|
||||
$basearray = $this->getMInfo($wid);
|
||||
//each Troop is a Set for oasis type like mountains have rats spiders and snakes fields tigers elphants clay wolves so on stonger one more not so less
|
||||
switch($basearray['oasistype']) {
|
||||
$q2 = "SELECT * FROM " . TB_PREFIX . "wdata where oasistype != 0";
|
||||
$result2 = mysql_query($q2, $this->connection);
|
||||
while($row = mysql_fetch_array($result2)) {
|
||||
$wid = $row['id'];
|
||||
switch($row['oasistype']) {
|
||||
case 1:
|
||||
case 2:
|
||||
//+25% lumber per hour
|
||||
@@ -1603,6 +1601,48 @@
|
||||
$result = mysql_query($q, $this->connection);
|
||||
return $this->mysql_fetch_all($result);
|
||||
}
|
||||
|
||||
function createTradeRoute($uid,$wid,$from,$r1,$r2,$r3,$r4,$start,$deliveries,$merchant,$time) {
|
||||
$x = "UPDATE " . TB_PREFIX . "users SET gold = gold - 2 WHERE id = ".$uid."";
|
||||
mysql_query($x, $this->connection);
|
||||
$timeleft = time()+604800;
|
||||
$q = "INSERT into " . TB_PREFIX . "route values (0,$uid,$wid,$from,$r1,$r2,$r3,$r4,$start,$deliveries,$merchant,$time,$timeleft)";
|
||||
return mysql_query($q, $this->connection);
|
||||
}
|
||||
|
||||
function getTradeRoute($uid) {
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "route where uid = $uid ORDER BY timestamp ASC";
|
||||
$result = mysql_query($q, $this->connection);
|
||||
return $this->mysql_fetch_all($result);
|
||||
}
|
||||
|
||||
function getTradeRoute2($id) {
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "route where id = $id";
|
||||
$result = mysql_query($q, $this->connection) or die(mysql_error());
|
||||
$dbarray = mysql_fetch_array($result);
|
||||
return $dbarray;
|
||||
}
|
||||
|
||||
function getTradeRouteUid($id) {
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "route where id = $id";
|
||||
$result = mysql_query($q, $this->connection) or die(mysql_error());
|
||||
$dbarray = mysql_fetch_array($result);
|
||||
return $dbarray['uid'];
|
||||
}
|
||||
|
||||
function editTradeRoute($id,$column,$value,$mode) {
|
||||
if(!$mode){
|
||||
$q = "UPDATE " . TB_PREFIX . "route set $column = $value where id = $id";
|
||||
}else{
|
||||
$q = "UPDATE " . TB_PREFIX . "route set $column = $column + $value where id = $id";
|
||||
}
|
||||
return mysql_query($q, $this->connection);
|
||||
}
|
||||
|
||||
function deleteTradeRoute($id) {
|
||||
$q = "DELETE FROM " . TB_PREFIX . "route where id = $id";
|
||||
return mysql_query($q, $this->connection);
|
||||
}
|
||||
|
||||
function addBuilding($wid, $field, $type, $loop, $time, $master, $level) {
|
||||
$x = "UPDATE " . TB_PREFIX . "fdata SET f" . $field . "t=" . $type . " WHERE vref=" . $wid;
|
||||
@@ -2720,7 +2760,7 @@
|
||||
}
|
||||
|
||||
function getOwnArtefactInfoByType($vref, $type) {
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "artefacts WHERE vref = $vref AND type = $type";
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "artefacts WHERE vref = $vref AND type = $type order by size";
|
||||
$result = mysql_query($q, $this->connection);
|
||||
return mysql_fetch_array($result);
|
||||
}
|
||||
@@ -2737,6 +2777,15 @@
|
||||
return mysql_fetch_array($result);
|
||||
}
|
||||
|
||||
function getOwnUniqueArtefactInfo2($id, $type, $size, $mode) {
|
||||
if(!$mode){
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "artefacts WHERE owner = $id AND type = $type AND size=$size";
|
||||
}else{
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "artefacts WHERE vref = $id AND type = $type AND size=$size";
|
||||
}
|
||||
return mysql_query($q, $this->connection);
|
||||
}
|
||||
|
||||
function getArtefactInfo() {
|
||||
$q = "SELECT * FROM " . TB_PREFIX . "artefacts WHERE id > 0";
|
||||
$result = mysql_query($q, $this->connection);
|
||||
|
||||
@@ -401,7 +401,18 @@ class Technology {
|
||||
// $unit = "hero";
|
||||
// global $$unit;
|
||||
// $dataarray = $$unit;
|
||||
$upkeep += $array['hero'] * 6;
|
||||
$upkeep += $array['hero'] * 6;
|
||||
$artefact = count($database->getOwnUniqueArtefactInfo2($session->uid,4,3,0));
|
||||
$artefact1 = count($database->getOwnUniqueArtefactInfo2($vid,4,1,1));
|
||||
$artefact2 = count($database->getOwnUniqueArtefactInfo2($session->uid,4,2,0));
|
||||
if($artefact > 0){
|
||||
$upkeep /= 2;
|
||||
}else if($artefact1 > 1){
|
||||
$upkeep /= 2;
|
||||
}else if($artefact2 > 1){
|
||||
$upkeep /= 4;
|
||||
$upkeep *= 3;
|
||||
}
|
||||
return $upkeep;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user