From ac2744c90e083186f2d23043243438e543206cb7 Mon Sep 17 00:00:00 2001
From: unknown Your currently have 0 traps, 0 of which are occupied.
= $train['amt']) {
$trained = $train['amt'];
}
- $database->modifyUnit($train['vref'],array(($train['unit']>60?$train['unit']-60:$train['unit'])),array($trained),array(1));
+ if($train['unit']>60 && $train['unit']!=99){
+ $database->modifyUnit($train['vref'],array($train['unit']-60),array($trained),array(1));
+ }else{
+ $database->modifyUnit($train['vref'],array($train['unit']),array($trained),array(1));
+ }
if($train['amt']-$trained <= 0) {
$database->trainUnit($train['id'],0,0,0,0,1,1);
}
diff --git a/GameEngine/Data/unitdata.php b/GameEngine/Data/unitdata.php
index 30886694..7f97ffba 100644
--- a/GameEngine/Data/unitdata.php
+++ b/GameEngine/Data/unitdata.php
@@ -71,6 +71,7 @@ $u57=array('atk'=>250,'di'=>140,'dc'=>200,'wood'=>250,'clay'=>220,'iron'=>135,'c
$u58=array('atk'=>450,'di'=>380,'dc'=>240,'wood'=>125,'clay'=>250,'iron'=>300,'crop'=>65,'speed'=>3,'pop'=>3,'time'=>2000,'cap'=>0);
$u59=array('atk'=>200,'di'=>170,'dc'=>250,'wood'=>350,'clay'=>350,'iron'=>125,'crop'=>80,'speed'=>5,'pop'=>3,'time'=>70500,'cap'=>0);
$u60=array('atk'=>600,'di'=>440,'dc'=>520,'wood'=>350,'clay'=>250,'iron'=>135,'crop'=>100,'speed'=>5,'pop'=>5,'time'=>31000,'cap'=>3000);
+$u99=array('atk'=>0,'di'=>0,'dc'=>0,'wood'=>20,'clay'=>30,'iron'=>10,'crop'=>20,'speed'=>0,'pop'=>0,'time'=>600,'cap'=>0);
// Hero data base values and increase per point
$h1=array('atk'=>50,'atkp'=>54,'di'=>60,'dip'=>49,'dc'=>85,'dcp'=>62.5);
$h2=array('atk'=>40,'atkp'=>46.5,'di'=>100,'dip'=>75.5,'dc'=>60,'dcp'=>47.5);
diff --git a/GameEngine/Database/db_MYSQL.php b/GameEngine/Database/db_MYSQL.php
index 8b9bfcda..062e29b7 100644
--- a/GameEngine/Database/db_MYSQL.php
+++ b/GameEngine/Database/db_MYSQL.php
@@ -2000,10 +2000,11 @@
$stables = array(4, 5, 6, 15, 16, 23, 24, 25, 26, 35, 36, 45, 46);
$workshop = array(7, 8, 17, 18, 27, 28, 37, 38, 47, 48);
$residence = array(9, 10, 19, 20, 29, 30, 39, 40, 49, 50);
- $greatstables = array(64,65,66,75,76,83,84,85,86,95,96,105,106,);
- $greatbarracks = array(61,62,63,71,72,73,84,81,82,91,92,93,94,101,102,103,104,111,112,113,114);
- $greatworkshop = array(67,68,77,78,87,88,97,98,107,108);
-
+ $greatstables = array(64,65,66,75,76,83,84,85,86,95,96,105,106,);
+ $greatbarracks = array(61,62,63,71,72,73,84,81,82,91,92,93,94,101,102,103,104,111,112,113,114);
+ $greatworkshop = array(67,68,77,78,87,88,97,98,107,108);
+ $trapper = array(99);
+
if(in_array($unit, $barracks)) {
$queued = $technology->getTrainingList(1);
} elseif(in_array($unit, $stables)) {
@@ -2013,12 +2014,14 @@
} elseif(in_array($unit, $residence)) {
$queued = $technology->getTrainingList(4);
} elseif(in_array($unit, $greatstables)) {
- $queued = $technology->getTrainingList(6);
- } elseif(in_array($unit, $greatbarracks)) {
- $queued = $technology->getTrainingList(5);
- } elseif(in_array($unit, $greatworkshop)) {
- $queued = $technology->getTrainingList(7);
- }
+ $queued = $technology->getTrainingList(6);
+ } elseif(in_array($unit, $greatbarracks)) {
+ $queued = $technology->getTrainingList(5);
+ } elseif(in_array($unit, $greatworkshop)) {
+ $queued = $technology->getTrainingList(7);
+ } elseif(in_array($unit, $trapper)) {
+ $queued = $technology->getTrainingList(8);
+ }
if(count($queued) > 0) {
$time = $queued[count($queued) - 1]['commence'] + $queued[count($queued) - 1]['eachtime'] * $queued[count($queued) - 1]['amt'];
}
diff --git a/GameEngine/Lang/en.php b/GameEngine/Lang/en.php
index 09709d31..35a62b9b 100644
--- a/GameEngine/Lang/en.php
+++ b/GameEngine/Lang/en.php
@@ -192,6 +192,7 @@ define("U27","Ram");
define("U28","Trebuchet");
define("U29","Chieftain");
define("U30","Settler");
+define("U99","Trap");
//NATURE UNITS
define("U31","Rat");
diff --git a/GameEngine/Technology.php b/GameEngine/Technology.php
index b37c251b..608ff06b 100644
--- a/GameEngine/Technology.php
+++ b/GameEngine/Technology.php
@@ -12,7 +12,7 @@
class Technology {
- public $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,U0);
+ public $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);
public function grabAcademyRes() {
global $village;
@@ -97,6 +97,7 @@ class Technology {
$workshop = array(7,8,17,18,27,28,37,38,47,48);
$greatworkshop = array(67,68,77,78,87,88,97,98,107,108);
$residence = array(9,10,19,20,29,30,39,40,49,50);
+ $trapper = array(99);
if(count($trainingarray) > 0) {
foreach($trainingarray as $train) {
if($type == 1 && in_array($train['unit'],$barracks)) {
@@ -130,6 +131,10 @@ class Technology {
$train['unit'] -= 60;
array_push($listarray,$train);
}
+ if($type == 8 && in_array($train['unit'],$trapper)) {
+ $train['name'] = $this->unarray[$train['unit']];
+ array_push($listarray,$train);
+ }
}
}
return $listarray;
@@ -210,6 +215,8 @@ class Technology {
function getAllUnits($base,$InVillageOnly=False) {
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) {
@@ -330,6 +337,14 @@ class Technology {
$this->trainUnit($i,$amt,$great);
}
}
+ if($session->tribe == 3){
+ if(isset($post['t99']) && $post['t99'] != 0) {
+ $amt = $post['t99'];
+ $amt = intval($amt);
+ if ($amt < 0) $amt = 1;
+ $this->trainUnit(99,$amt,$great);
+ }
+ }
header("Location: build.php?id=".$post['id']);
}else{
header("Location: banned.php");
@@ -391,13 +406,14 @@ class Technology {
}
private function trainUnit($unit,$amt,$great=false) {
- global $session,$database,${'u'.$unit},$building,$village,$bid19,$bid20,$bid21,$bid25,$bid26,$bid29,$bid30,$bid41,$bid42;
+ global $session,$database,${'u'.$unit},$building,$village,$bid19,$bid20,$bid21,$bid25,$bid26,$bid29,$bid30,$bid36,$bid41,$bid42;
- if($this->getTech($unit) || $unit%10 <= 1) {
+ if($this->getTech($unit) || $unit%10 <= 1 || $unit == 99) {
$footies = array(1,2,3,11,12,13,14,21,22,31,32,33,34,41,42,43,44);
$calvary = array(4,5,6,15,16,23,24,25,26,35,36,45,46);
$workshop = array(7,8,17,18,27,28,37,38,47,48);
$special = array(9,10,19,20,29,30,39,40,49,50);
+ $trapper = array(99);
if(in_array($unit,$footies)) {
if($great) {
$each = round(($bid29[$building->getTypeLevel(29)]['attri'] / 100) * ${'u'.$unit}['time'] / SPEED);
@@ -426,14 +442,24 @@ private function trainUnit($unit,$amt,$great=false) {
$each = round(($bid26[$building->getTypeLevel(26)]['attri'] / 100) * ${'u'.$unit}['time'] / SPEED);
}
}
- if($unit%10 == 0 || $unit%10 == 9) {
+ if(in_array($unit,$trapper)) {
+ $each = round(($bid19[$building->getTypeLevel(36)]['attri'] / 100) * ${'u'.$unit}['time'] / SPEED);
+ }
+ if($unit%10 == 0 || $unit%10 == 9 && $unit != 99) {
$slots = $database->getAvailableExpansionTraining();
if($unit%10 == 0 && $slots['settlers'] <= $amt) { $amt = $slots['settlers']; }
if($unit%10 == 9 && $slots['chiefs'] <= $amt) { $amt = $slots['chiefs']; }
} else {
+ if($unit != 99){
if($this->maxUnit($unit,$great) <= $amt) {
- $amt = $this->maxUnit($unit,$great);
+ $amt = 0;
}
+ }else{
+ $max = $bid36[$building->getTypeLevel(36)]['attri'] - $village->unitarray['u99'];
+ if($max <= $amt) {
+ $amt = 0;
+ }
+ }
}
$wood = ${'u'.$unit}['wood'] * $amt * ($great?3:1);
$clay = ${'u'.$unit}['clay'] * $amt * ($great?3:1);
@@ -441,7 +467,7 @@ private function trainUnit($unit,$amt,$great=false) {
$crop = ${'u'.$unit}['crop'] * $amt * ($great?3:1);
$each = ($each == 0) ? 1 : $each;
- if($database->modifyResource($village->wid,$wood,$clay,$iron,$crop,0)) {
+ if($database->modifyResource($village->wid,$wood,$clay,$iron,$crop,0) && $amt > 0) {
$database->trainUnit($village->wid,$unit+($great?60:0),$amt,${'u'.$unit}['pop'],$each,time(),0);
}
}
diff --git a/Templates/Build/36.tpl b/Templates/Build/36.tpl
index cd3b3646..09888bad 100644
--- a/Templates/Build/36.tpl
+++ b/Templates/Build/36.tpl
@@ -37,12 +37,11 @@
-
| Training | +Duration | +Finished | +
";
+ echo " ";
+ echo $train['amt']." ".U99." | "; + if ($TrainCount == 1 ) { + $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); + echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + } else { + echo $generator->getTimeFormat($train['eachtime']*$train['amt']); + } + echo " | "; + $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + if($time[0] != "today") { + echo "on ".$time[0]." at "; + } + echo $time[1]; + } ?> + |
| The next unit will be finished in | ||