diff --git a/Admin/Templates/addUsers.tpl b/Admin/Templates/addUsers.tpl index 9ec415bf..408a9f64 100644 --- a/Admin/Templates/addUsers.tpl +++ b/Admin/Templates/addUsers.tpl @@ -74,6 +74,26 @@ $baseName = ($_GET['bn']); $amount = ($_GET['am']); $skipped = ($_GET['sk']); + $beginnersProtection = ($_GET['bp']); + switch ($_GET['tr']) + { + case '0': + $tribe = RANDOM; + break; + case '1': + $tribe = ROMANS; + break; + case '2': + $tribe = TEUTONS; + break; + case '3': + $tribe = GAULS; + break; + default: + // Should never reach here + $tribe = 'Unknown'; + } + echo '

' . $amount . @@ -82,6 +102,33 @@ ' . $baseName . '
'; + + // Say if Beginners Protection was set for any Users created + if ($amount > 0) + { + // Plural or Singular for User(s) + // TODO: Add options for these to lang files + if ($amount > 1) + { + $usersMessage = 'these Users'; + } + else + { + $usersMessage = 'this User'; + } + $begMessage = 'Beginners Protection was '; + if (!$beginnersProtection) + { + $begMessage .= 'NOT '; + } + $begMessage .= 'set for ' . $usersMessage . '
'; + echo $begMessage; + + // Say Tribes chosen + $tribeMessage = 'Tribe for ' . $usersMessage . ' was '; + $tribeMessage .= $tribe . '
'; + echo $tribeMessage; + } if ($skipped > 0) { echo '' @@ -90,7 +137,7 @@ Users not created as the user name already exists
'; } - echo 'Now would be a good time to ' + echo '
Now would be a good time to ' . 'Return to the server' . ' this will update rankings etc but will take a while!
' . ' Make sure max_execution_time is set to a high enough value in php.ini

' @@ -101,10 +148,18 @@ } ?>
- Base Name   -

- How Many    -

- +Base Name   +

+How Many    +

+Beginners Protection    +

+Tribe:
+
+
+
+
+

+ diff --git a/Admin/admin.php b/Admin/admin.php index a5072e1e..127b539b 100644 --- a/Admin/admin.php +++ b/Admin/admin.php @@ -11,10 +11,19 @@ ################################################################################# session_start(); +<<<<<<< HEAD include_once("../GameEngine/Database.php"); include_once("../GameEngine/Admin/database.php"); include_once("../GameEngine/Data/buidata.php"); include_once ("../GameEngine/Lang/" . LANG . ".php"); +======= +include("../GameEngine/Database.php"); +include("../GameEngine/Admin/database.php"); +include("../GameEngine/config.php"); +include("../GameEngine/Data/buidata.php"); +// TODO: Should we including Session.php here instead? +include_once ("../GameEngine/Lang/" . LANG . ".php"); +>>>>>>> c9cc7c1f0a714bc65502dce1fd28edb31c59e092 class timeFormatGenerator { diff --git a/GameEngine/Admin/Mods/addUsers.php b/GameEngine/Admin/Mods/addUsers.php index bb94697b..aa50db13 100644 --- a/GameEngine/Admin/Mods/addUsers.php +++ b/GameEngine/Admin/Mods/addUsers.php @@ -17,6 +17,8 @@ mysql_select_db(SQL_DB); $id = $_POST['id']; $baseName = $_POST['users_base_name']; $amount = (int) $_POST['users_amount']; +$beginnersProtection = $_POST['users_protection']; +$postTribe = $_POST['tribe']; // Some basic error checking if (strlen($baseName) < 4) @@ -53,7 +55,16 @@ else //$password = $baseName . $i . 'PASS'; $email = $baseName . $i . '@example.com'; - $tribe = rand(1, 3); + if ($postTribe == 0) + { + // Random Tribe + $tribe = rand(1, 3); + } + else + { + // No error checking here but should be set to 1-3 from form + $tribe = $postTribe; + } // Create in a random quad $kid = rand(1,4); // Dont need to activate, not 100% sure we need to initialise $act @@ -74,8 +85,6 @@ else /* * @TODO * - * Make beginners protection optional for Users created - * * Allow option to create (random) bigger villages, * upgrade fields, granary, warehouse, wall etc * @@ -85,11 +94,24 @@ else * where required */ - // Show beginners protection in User Profile - see TODOs + // 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) $q = "UPDATE " . TB_PREFIX . "users SET desc2 = '[#0]' WHERE id = $uid"; mysql_query($q) or die(mysql_error()); + + if (!$beginnersProtection) + { + // No beginners protection so set it to current time + // TODO create a $database function for this + // 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()); + } $database->updateUserField($uid,"act","",1); $wid = $database->generateBase($kid,0); @@ -108,6 +130,6 @@ else } } } - header("Location: ../../../Admin/admin.php?p=addUsers&g=OK&bn=$baseName&am=$created&sk=$skipped"); + header("Location: ../../../Admin/admin.php?p=addUsers&g=OK&bn=$baseName&am=$created&sk=$skipped&bp=$beginnersProtection&tr=$postTribe"); } ?> diff --git a/GameEngine/Admin/Mods/natarbuildingplan.php b/GameEngine/Admin/Mods/natarbuildingplan.php index 23d775f9..5836ed1b 100644 --- a/GameEngine/Admin/Mods/natarbuildingplan.php +++ b/GameEngine/Admin/Mods/natarbuildingplan.php @@ -24,7 +24,7 @@ for($i=1;$i<=$amt;$i++) { $wid = $database->generateBase($kid); $database->setFieldTaken($wid); $time = time(); - $q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`) values ('$wid','3','WW Buildingplan',0,0,0,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,1314968914)"; + $q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`) values ('$wid','3','".PLANVILLAGE."',0,0,0,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,1314968914)"; mysql_query($q) or die(mysql_error()); $q = "insert into ".TB_PREFIX."fdata (`vref`,`f1`,`f1t`,`f2`,`f2t`,`f3`,`f3t`,`f4`,`f4t`,`f5`,`f5t`,`f6`,`f6t`,`f7`,`f7t`,`f8`,`f8t`,`f9`,`f9t`,`f10`,`f10t`,`f11`,`f11t`,`f12`,`f12t`,`f13`,`f13t`,`f14`,`f14t`,`f15`,`f15t`,`f16`,`f16t`,`f17`,`f17t`,`f18`,`f18t`,`f19`,`f19t`,`f20`,`f20t`,`f21`,`f21t`,`f22`,`f22t`,`f23`,`f23t`,`f24`,`f24t`,`f25`,`f25t`,`f26`,`f26t`,`f27`,`f27t`,`f28`,`f28t`,`f29`,`f29t`,`f30`,`f30t`,`f31`,`f31t`,`f32`,`f32t`,`f33`,`f33t`,`f34`,`f34t`,`f35`,`f35t`,`f36`,`f36t`,`f37`,`f37t`,`f38`,`f38t`,`f39`,`f39t`,`f40`,`f40t`,`f99`,`f99t`,`wwname`) values ($wid,0,1,0,4,0,1,0,3,0,2,0,2,0,3,0,4,0,4,0,3,0,3,0,4,0,4,0,1,0,4,0,2,0,1,0,2,20,17,20,11,10,27,20,10,10,22,10,25,0,0,20,15,10,19,0,0,0,0,0,0,10,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,0,'World Wonder')"; mysql_query($q); @@ -36,40 +36,13 @@ for($i=1;$i<=$amt;$i++) { $speed = NATARS_UNITS; $q = "UPDATE ".TB_PREFIX."units SET u41 = u41 + " . (1500 * $speed) . ", u42 = u42 + " . (1500 * $speed) . ", u43 = u43 + " . (1500 * $speed) . ", u44 = u44 + " . (1500 * $speed) . ", u45 = u45 + " . (1500 * $speed) . ", u46 = u46 + " . (1500 * $speed) . ", u47 = u47 + " . (1500 * $speed) . ", u48 = u48 + " . (1500 * $speed) . " , u49 = u49 + " . (1500 * $speed) . ", u50 = u50 + " . (1500 * $speed) . " WHERE vref = '".$wid."'"; mysql_query($q); - $desc = 'With this ancient construction plan you will able to build World Wonder to level 50. to build further, your alliance must hold at least two plans.'; - $database->addArtefact($wid, 3, 11, 1, 'Ancient Construction Plan', $desc, '', 'typeww.gif'); + $desc = PLAN_DESC; + $database->addArtefact($wid, 3, 11, 1, PLAN, $desc, '', 'typeww.gif'); } $myFile = "../../../Templates/text.tpl"; $fh = fopen($myFile, 'w') or die("


Can't open file: templates/text.tpl"); $text = file_get_contents("../../../Templates/text_format.tpl"); - $text = preg_replace("'%TEKST%'","World Wonder Construction Plans - - -Many moons ago the tribes of Travian were surprised by the unforeseen return of the Natars. This tribe from immemorial times surpassing all in wisdom, might and glory was about to trouble the free ones again. Thus they put all their efforts in preparing a last war against the Natars and vanquishing them forever. Many thought about the so-called 'Wonders of the World', a construction of many legends, as the only solution. It was told that it would render anyone invincible once completed. Ultimately making the constructors the rulers and conquerors of all known Travian. - -However, it was also told that one would need construction plans to construct such a building. Due to this fact, the architects devised cunning plans about how to store these safely. After a while, one could see temple-like buildings in many a city and metropolis - the Treasure Chambers (Treasuries). - -Sadly, no one - not even the wise and well versed - knew where to find these construction plans. The harder people tried to locate them, the more it seemed as if they where only legends. - -Today, however, this last secret will be revealed. Deprivations and endeavors of the past will not have been in vain, as today scouts of several tribes have successfully obtained the whereabouts of the construction plans. Well guarded by the Natars, they lie hidden in several oases to be found all over Travian. Only the most valiant heroes will be able to secure such a plan and bring it home safely so that the construction can begin. - -In the end, we will see whether the free tribes of Travian can once again outwit the Natars and vanquish them once and for all. Do not be so foolish as to assume that the Natars will leave without a fight, though! - - - -To steal a set of Construction Plans from the Natars, the following things must happen: -- You must Attack the village (NOT Raid!) -- You must WIN the Attack -- You must DESTROY the Treasure Chamber (Treasury) -- Your Hero MUST be in that attack, as he is the only one who may carry the Construction Plans -- An empty level 10 Treasure Chamber (Treasury) MUST be in the village where that attack came from -NOTE: If the above criteria is not met during the attack, the next attack on that village which does meet the above criteria will take the Construction Plans. - - - -To build a Treasure Chamber (Treasury), you will need a Main Building level 10 and the village MUST NOT contain a World Wonder. - -To build a World Wonder, you must own the Construction Plans yourself (you = the World Wonder Village Owner) from level 0 to 50, and then from level 51 to 100 you will need an additional set of Construction Plans in your Alliance! Two sets of Construction Plans in the World Wonder Village Account will not work!" ,$text); + $text = preg_replace("'%TEKST%'",PLAN_INFO ,$text); fwrite($fh, $text); $query="SELECT * FROM ".TB_PREFIX."users ORDER BY id + 0 DESC"; diff --git a/GameEngine/Admin/Mods/natarend.php b/GameEngine/Admin/Mods/natarend.php index f83f70b0..f89db0fd 100644 --- a/GameEngine/Admin/Mods/natarend.php +++ b/GameEngine/Admin/Mods/natarend.php @@ -25,7 +25,7 @@ for($i=1;$i<=$amt;$i++) { $wid = $database->generateBase($kid); $database->setFieldTaken($wid); $time = time(); - $q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`,`natar`) values ('$wid','3','WW village',0,0,0,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,$time,1)"; + $q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`,`natar`) values ('$wid','3','".WWVILLAGE."',0,0,0,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,$time,1)"; mysql_query($q) or die(mysql_error()); $q = "insert into ".TB_PREFIX."fdata (`vref`,`f1`,`f1t`,`f2`,`f2t`,`f3`,`f3t`,`f4`,`f4t`,`f5`,`f5t`,`f6`,`f6t`,`f7`,`f7t`,`f8`,`f8t`,`f9`,`f9t`,`f10`,`f10t`,`f11`,`f11t`,`f12`,`f12t`,`f13`,`f13t`,`f14`,`f14t`,`f15`,`f15t`,`f16`,`f16t`,`f17`,`f17t`,`f18`,`f18t`,`f19`,`f19t`,`f20`,`f20t`,`f21`,`f21t`,`f22`,`f22t`,`f23`,`f23t`,`f24`,`f24t`,`f25`,`f25t`,`f26`,`f26t`,`f27`,`f27t`,`f28`,`f28t`,`f29`,`f29t`,`f30`,`f30t`,`f31`,`f31t`,`f32`,`f32t`,`f33`,`f33t`,`f34`,`f34t`,`f35`,`f35t`,`f36`,`f36t`,`f37`,`f37t`,`f38`,`f38t`,`f39`,`f39t`,`f40`,`f40t`,`f99`,`f99t`,`wwname`) values ($wid,0,1,0,4,0,1,0,3,0,2,0,2,0,3,0,4,0,4,0,3,0,3,0,4,0,4,0,1,0,4,0,2,0,1,0,2,20,17,20,11,20,15,20,10,10,22,10,25,0,0,0,0,10,19,0,0,0,0,0,0,10,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,40,'World Wonder')"; mysql_query($q); diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 0d39f1dc..db4afea0 100644 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -387,7 +387,7 @@ class Automation { $database->addMovement(4,$movedata['to'],$movedata['from'],$movedata['ref'],$time,$time+$time2); $database->setMovementProc($movedata['moveid']); } - $q = "DELETE FROM ".TB_PREFIX."movement where `from` = ".$village; + $q = "DELETE FROM ".TB_PREFIX."movement where proc = 0 AND ((`to` = $village AND sort_type=4) OR (`from` = $village AND sort_type=3))"; $database->query($q); $getprisoners = $database->getPrisoners($village); foreach($getprisoners as $pris) { @@ -642,7 +642,12 @@ class Automation { $q = "SELECT * FROM ".TB_PREFIX."bdata where timestamp < $time and master = 0"; $array = $database->query_return($q); foreach($array as $indi) { + $level = $database->getFieldLevel($indi['wid'],$indi['field']); + if (($level+1) == $indi['level']){ $q = "UPDATE ".TB_PREFIX."fdata set f".$indi['field']." = ".$indi['level'].", f".$indi['field']."t = ".$indi['type']." where vref = ".$indi['wid']; + }else{ $indi['level']=($level+1); + $q = "UPDATE ".TB_PREFIX."fdata set f".$indi['field']." = ".$indi['level'].", f".$indi['field']."t = ".$indi['type']." where vref = ".$indi['wid']; + } if($database->query($q)) { $level = $database->getFieldLevel($indi['wid'],$indi['field']); $this->recountPop($indi['wid']); @@ -1454,7 +1459,25 @@ class Automation { ${dead.$i}=$data['t'.$i]; }else { ${dead.$i} = $battlepart['casualties_attacker'][$i]; } } - + //if the defender does not have spies, the attacker will not die spies. FIXED BY Armando + if($scout){ + $spy_def_Detect=0; + for($i=1;$i<=(50);$i++) { + if($i == 4 || $i == 14 || $i == 23 || $i == 34 || $i == 44){ + if($Defender['u'.$i]>0) { + $spy_def_Detect=$i; + break; + } + } + } + if($spy_def_Detect==0) { + $dead3=0; + $dead4=0; + $battlepart['casualties_attacker'][3]=0; + $battlepart['casualties_attacker'][4]=0; + } + } + ################################################# $dead=array(); @@ -2975,7 +2998,7 @@ $wallimg = "query($q); $q = "DELETE FROM ".TB_PREFIX."raidlist 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 ((`to` = $wref AND sort_type=4) OR (`from` = $wref AND sort_type=3))"; $database->query($q); $getmovement = $database->getMovement(3,$wref,1); diff --git a/GameEngine/Battle.php b/GameEngine/Battle.php index 48a9fab3..ae64f079 100644 --- a/GameEngine/Battle.php +++ b/GameEngine/Battle.php @@ -151,13 +151,19 @@ class Battle { } $walllevel=$post['walllevel']; $wall = $walllevel; + $Pala = $post['palast']; + if($scout ==1 && $defscout==0) { + $walllevel=0; + $wall = 0; + $Pala = 0; + } if(!$scout) - return $this->calculateBattle($attacker,$defender,$wall,$post['a1_v'],$deftribe,$post['palast'],$post['ew1'],$post['ew2'],$post['ktyp']+3,$def_ab,$att_ab1,$att_ab2,$att_ab3,$att_ab4,$att_ab5,$att_ab6,$att_ab7,$att_ab8,$post['kata'],$post['stonemason'],$walllevel,$offhero,$post['h_off'],0,0,0,0,0); + return $this->calculateBattle($attacker,$defender,$wall,$post['a1_v'],$deftribe,$Pala,$post['ew1'],$post['ew2'],$post['ktyp']+3,$def_ab,$att_ab1,$att_ab2,$att_ab3,$att_ab4,$att_ab5,$att_ab6,$att_ab7,$att_ab8,$post['kata'],$post['stonemason'],$walllevel,$offhero,$post['h_off'],0,0,0,0,0); else - return $this->calculateBattle($attacker,$defender,$wall,$post['a1_v'],$deftribe,$post['palast'],$post['ew1'],$post['ew2'],1,$def_ab,$att_ab1,$att_ab2,$att_ab3,$att_ab4,$att_ab5,$att_ab6,$att_ab7,$att_ab8,$post['kata'],$post['stonemason'],$walllevel,0,0,0,0,0,0,0); + return $this->calculateBattle($attacker,$defender,$wall,$post['a1_v'],$deftribe,$Pala,$post['ew1'],$post['ew2'],1,$def_ab,$att_ab1,$att_ab2,$att_ab3,$att_ab4,$att_ab5,$att_ab6,$att_ab7,$att_ab8,$post['kata'],$post['stonemason'],$walllevel,0,0,0,0,0,0,0); } public function getTypeLevel($tid,$vid) { diff --git a/GameEngine/Database/db_MYSQL.php b/GameEngine/Database/db_MYSQL.php index bd1cda64..ff07e1b1 100644 --- a/GameEngine/Database/db_MYSQL.php +++ b/GameEngine/Database/db_MYSQL.php @@ -593,7 +593,7 @@ class MYSQL_DB { case 1: case 2: //+25% lumber per hour - $q = "UPDATE " . TB_PREFIX . "units SET u35 = u35 + '".rand(0,5)."', u36 = u36 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u36 <= ".$max." OR u37 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u35 = u35 + '".rand(0,5)."', u36 = u36 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u35 <= ".$max." OR u36 <= ".$max." OR u37 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 3: @@ -604,29 +604,29 @@ class MYSQL_DB { case 4: case 5: //+25% clay per hour - $q = "UPDATE " . TB_PREFIX . "units SET u36 = u36 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u36 <= ".$max." OR u37 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u35 = u35 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max." OR u35 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 6: //+25% clay and +25% crop per hour - $q = "UPDATE " . TB_PREFIX . "units SET u36 = u36 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."', u38 = u38 + '".rand(0,5)."', u40 = u40 + '".rand(0,$max2)."' WHERE vref = '" . $wid . "' AND (u36 <= ".$max." OR u37 <= ".$max." OR u38 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u35 = u35 + '".rand(0,5)."', u40 = u40 + '".rand(0,$max2)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max." OR u35 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 7: case 8: //+25% iron per hour - $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u34 = u34 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u34 = u34 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max." OR u34 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 9: //+25% iron and +25% crop - $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u34 = u34 + '".rand(0,5)."', u40 = u40 + '".rand(0,$max2)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max." OR u34 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u31 = u31 + '".rand(0,5)."', u32 = u32 + '".rand(0,5)."', u34 = u34 + '".rand(0,5)."', u39 = u39 + '".rand(0,$max2)."' WHERE vref = '" . $wid . "' AND (u31 <= ".$max." OR u32 <= ".$max." OR u34 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 10: case 11: //+25% crop per hour - $q = "UPDATE " . TB_PREFIX . "units SET u33 = u33 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."', u38 = u38 + '".rand(0,5)."' WHERE vref = '" . $wid . "' AND (u33 <= ".$max." OR u37 <= ".$max." OR u38 <= ".$max.")"; + $q = "UPDATE " . TB_PREFIX . "units SET u33 = u33 + '".rand(0,5)."', u37 = u37 + '".rand(0,5)."', u38 = u38 + '".rand(0,5)."', u39 = u39 + '".rand(0,$max2)."' WHERE vref = '" . $wid . "' AND (u33 <= ".$max." OR u37 <= ".$max." OR u38 <= ".$max.")"; $result = mysql_query($q, $this->connection); break; case 12: @@ -3089,8 +3089,15 @@ class MYSQL_DB { while($row = mysql_fetch_array($result2)) { $wid = $row['id']; $basearray = $this->getOMInfo($wid); + if($basearray['oasistype'] < 4) { + $high = 1; + } else if ($basearray['oasistype'] < 10){ + $high = 2; + }else { + $high = 0; + } //We switch type of oasis and instert record with apropriate infomation. - $q = "INSERT into " . TB_PREFIX . "odata VALUES ('" . $basearray['id'] . "'," . $basearray['oasistype'] . ",0,800,800,800,800,800,800," . time() . "," . time() . ",100,2,'Unoccupied Oasis',".rand(0,2).")"; + $q = "INSERT into " . TB_PREFIX . "odata VALUES ('" . $basearray['id'] . "'," . $basearray['oasistype'] . ",0,800,800,800,800,800,800," . time() . "," . time() . ",100,2,'Unoccupied Oasis',".$high.")"; $result = mysql_query($q, $this->connection); } } diff --git a/GameEngine/Lang/en.php b/GameEngine/Lang/en.php index a33f8d2f..3c71dcbf 100644 --- a/GameEngine/Lang/en.php +++ b/GameEngine/Lang/en.php @@ -6,7 +6,7 @@ // Made by: Dzoki & Dixie (TravianX) // // - TravianX = Travian Clone Project - // // DO NOT REMOVE COPYRIGHT NOTICE! // -// Adding tasks and constructions by: Armando // +// Adding tasks, constructions and artefact by: Armando // ////////////////////////////////////////////////////////////////////////////////////////////////////// // // // ENGLISH // @@ -146,7 +146,7 @@ define("Q3_ORDER","Order:<\/p>Change your village's name to something nice."); define("Q3_RESP","Wow, a great name for their village. It could have been the name of my village!..."); define("Q4","Task 4: Other Players"); -define("Q4_DESC","In ". SERVER_NAME ." you play along with billions of other players. Click 'statistics' in the top menu to look up your rank and enter it here."); +define("Q4_DESC","In ". SERVER_NAME ." you play along with thousands of other players. Click 'statistics' in the top menu to look up your rank and enter it here."); define("Q4_ORDER","Order:<\/p>Look for your rank in the statistics and enter it here."); define("Q4_BUTN","complete task"); define("Q4_RESP","Exactly! That's your rank."); @@ -154,21 +154,21 @@ define("Q4_RESP","Exactly! That's your rank."); define("Q5","Task 5: Two Building Orders"); define("Q5_DESC","Build an iron mine and a clay pit. Of iron and clay one can never have enough."); define("Q5_ORDER","Order:<\/p>
  • Extend one iron mine.<\/li>
  • Extend one clay pit.<\/li><\/ul>"); -define("Q5_RESP","As you noticed, building orders take rather long. The world of ". SERVER_NAME ." will continue to spin even if you are offline. Even in a few months there will be many new things for you to discover.

    The best thing to do is occasionally checking your village and giving you subjects new tasks to do."); +define("Q5_RESP","As you noticed, building orders take rather long. The world of ". SERVER_NAME ." will continue to spin even if you are offline. Even in a few months there will be many new things for you to discover.

    The best thing to do is occasionally checking your village and giving you subjects new tasks to do."); define("Q6","Task 6: Messages"); define("Q6_DESC","You can talk to other players using the messaging system. I sent a message to you. Read it and come back here.

    P.S. Don't forget: on the left the reports, on the right the messages."); define("Q6_ORDER","Order:<\/p>Read your new message."); -define("Q6_RESP","You received it? Very good.

    Here is some Gold. With Gold you can do several things, e.g. extend your in the left hand menu."); -define("Q6_RESP1","-Account or increase your resource production.To do so click "); +define("Q6_RESP","You received it? Very good.

    Here is some Gold. With Gold you can do several things, e.g. extend your "); +define("Q6_RESP1"," Account or increase your resource production.To do so click "); define("Q6_RESP2","in the left hand menu."); define("Q6_SUBJECT","Message From The Taskmaster"); define("Q6_MESSAGE","You are to be informed that a nice reward is waiting for you at the taskmaster.

    Hint: The message has been generated automatically. An answer is not necessary."); -define("Q7","Task 7: One Each!"); +define("Q7","Task 7: Four More!"); define("Q7_DESC","Now we should increase your resource production a bit. Build an additional woodcutter, clay pit, iron mine and cropland to level 1."); define("Q7_ORDER","Order:<\/p>Extend one more of each resource tile to level 1."); -define("Q7_RESP","Very good, great develop of resources production."); +define("Q7_RESP","Very good, great development of resource production."); define("Q8","Task 8: Huge Army!"); define("Q8_DESC","Now I've got a very special quest for you. I am hungry. Give me 200 crop!

    In return I will try to organize a huge army to protect your village."); @@ -177,12 +177,12 @@ define("Q8_BUTN","Send crop"); define("Q8_NOCROP","No Enough Crop!"); define("Q9","Task 9: Everything to 1."); -define("Q9_DESC","In Travian there is always something to do! While you are waiting for incoming the huge army, Now we should increase your resource production a bit. Extend all your resource tiles to level 1."); +define("Q9_DESC","In " . SERVER_NAME . " there is always something to do! While you are waiting for the huge incoming army you should increase your resource production a bit."); define("Q9_ORDER","Order:<\/p>Extend all resource tiles to level 1."); define("Q9_RESP","Very good, your resource production just thrives.

    Soon we can start with constructing buildings in the village."); define("Q10","Task 10: Dove of Peace"); -define("Q10_DESC","The first days after signing up you are protected against attacks by your fellow players. You can see how long this protection lasts by adding the code [#0]<\/b> to your profile."); +define("Q10_DESC","After signing up you are protected against attacks by your fellow players. You can see how long this protection lasts by adding the code [#0]<\/b> to your profile."); define("Q10_ORDER","Order:<\/p>Write the code [#0]<\/b> into your profile by adding it to one of the two description fields."); define("Q10_RESP","Well done! Now everyone can see what a great warrior the world is approached by."); define("Q10_REWARD","Your reward:<\/p>2 day Travian"); @@ -192,30 +192,30 @@ define("Q11_DESC","Around you, there are many different villages. One of them is define("Q11_DESC1"," Click on 'map' in the header menu and look for that village. The name of your neighbours' villages can be seen when hovering your mouse over any of them."); define("Q11_ORDER","Order:

    Look for the coordinates of "); define("Q11_ORDER1","and enter them here."); -define("Q11_RESP","Exactly, there "); -define("Q11_RESP1"," Village! As many resources as you reach this village. Well, almost as much ..."); -define("Q11_BUTN","completar misión"); +define("Q11_RESP","Exactly, that is where "); +define("Q11_RESP1"," is! Your reward is how many resources this village has. Well, almost as many ..."); +define("Q11_BUTN","complete task"); define("Q12","Task 12: Cranny"); -define("Q12_DESC","It's getting time to erect a cranny. The world of is dangerous.

    Many players live by stealing other players' resources. Build a cranny to hide some of your resources from enemies."); +define("Q12_DESC","It's getting time to erect a cranny. The world of " . SERVER_NAME. " is dangerous.

    Many players live by stealing other players' resources. Build a cranny to hide some of your resources from enemies."); define("Q12_ORDER","Order:<\/p>Construct a Cranny."); define("Q12_RESP","Well done, now it's way harder for your mean fellow players to plunder your village.

    If under attack, your villagers will hide the resources in the Cranny all on their own."); define("Q13","Task 13: To Two."); -define("Q13_DESC","In there is always something to do! Extend one woodcutter, one clay pit, one iron mine and one cropland to level 2 each."); +define("Q13_DESC","In " . SERVER_NAME . " there is always something to do! Extend one woodcutter, one clay pit, one iron mine and one cropland to level 2 each."); define("Q13_ORDER","Order:<\/p>Extend one of each resource tile to level 2."); define("Q13_RESP","Very good, your village grows and thrives!"); define("Q14","Task 14: Instructions"); define("Q14_DESC","In the ingame instructions you can find short information texts about different buildings and types of units.

    Click on 'instructions' at the left to find out how much lumber is required for the barracks."); -define("Q14_ORDER","Order:<\/p>Enter how much lumber barracks cost"); -define("Q14_BUTN","Send"); +define("Q14_ORDER","Order:<\/p>Enter how much lumber the barracks cost"); +define("Q14_BUTN","complete task"); define("Q14_RESP","Exactly! Barracks cost 210 lumber."); define("Q15","Task 15: Main Building"); define("Q15_DESC","Your master builders need a main building level 3 to erect important buildings such as the marketplace or barracks."); define("Q15_ORDER","Order:<\/p>Extend your main building to level 3."); -define("Q15_RESP","Well done. The main building level 3 has been completed.

    With this upgrade your master builders cannot only construct more types of buildings but also do so faster."); +define("Q15_RESP","Well done. The main building level 3 has been completed.

    With this upgrade your master builders can construct more types of buildings and also do so faster."); define("Q16","Task 16: Advanced!"); define("Q16_DESC","Look up your rank in the player statistics again and enjoy your progress."); @@ -229,7 +229,8 @@ define("Q17_BUTN1","Military"); define("Q18","Task 18: Military"); define("Q18_DESC","A brave decision. To be able to send troops you need a rally point.

    The rally point must be built on a specific building site. The "); -define("Q18_DESC1"," is located on the right side of the main building, slightly below it. The building site itself is curved."); +define("Q18_DESC1"," building site."); +define("Q18_DESC2"," is located on the right side of the main building, slightly below it. The building site itself is curved."); define("Q18_ORDER","Order:<\/p>Construct a rally point."); define("Q18_RESP","Your rally point has been erected! A good move towards world domination!"); @@ -241,8 +242,9 @@ define("Q19_RESP","Well done... The best instructors from the whole country have define("Q20","Task 20: Train."); define("Q20_DESC","Now that you have barracks you can start training troops. Train two "); define("Q20_ORDER","Please train 2 "); -define("Q20_RESP","The foundation for your glorious army has been laid.

    Before sending your army off to plunder you should check with the."); -define("Q20_RESP1","to see how many troops you need to successfully fight one rat without losses."); +define("Q20_RESP","The foundation for your glorious army has been laid.

    Before sending your army off to plunder you should check with the "); +define("Q20_RESP1","Combat Simulator"); +define("Q20_RESP2"," to see how many troops you need to successfully fight one rat without losses."); define("Q21","Task 18: Economy"); define("Q21_DESC","Trade & Economy was your choice. Golden times await you for sure!"); @@ -260,15 +262,15 @@ define("Q23_ORDER","Order:<\/p>Please build a Marketplace."); define("Q23_RESP",";The Marketplace has been completed. Now you can make offers of your own and accept foreign offers! When creating your own offers, you should think about offering what other players need most to get more profit."); define("Q24","Task 21: Everything to 2."); -define("Q24_DESC","Now we should increase your resource production a bit. Build an additional woodcutter, clay pit, iron mine and cropland to level 1."); +define("Q24_DESC","Now we should increase our resource production a bit more."); define("Q24_ORDER","Order:<\/p>Extend all resource tiles to level 2."); define("Q24_RESP","Congratulations! Your village grows and thrives..."); define("Q28","Task 22: Alliance."); define("Q28_DESC","Teamwork is important in Travian. Players who work together organise themselves in alliances. Get an invitation from an alliance in your region and join this alliance. Alternatively, you can found your own alliance. To do this, you need a level 3 embassy."); define("Q28_ORDER","Order:<\/p>Join an alliance or found one on your own."); -define("Q28_RESP","Is good! Now you're in a union called"); -define("Q28_RESP1",", and you're a member of their alliance with the faster you'll progress..."); +define("Q28_RESP","Well done! Now you're in a union called"); +define("Q28_RESP1",", and you're a member of their alliance.
    Working together you will all progress faster..."); define("Q29","Task 23: Main Building to Level 5"); define("Q29_DESC","To be able to build a palace or residence, you will need a main building at level 5."); @@ -276,14 +278,14 @@ define("Q29_ORDER","Order:<\/p>Upgrade your main building to level 5."); define("Q29_RESP","The main building is level 5 now and you can build palace or residence..."); define("Q30","Task 24: Granary to Level 3."); -define("Q30_DESC","That you do not lose crop, you should upgrade your granary."); +define("Q30_DESC","To avoid losing crop, you should upgrade your granary."); define("Q30_ORDER","Order:<\/p>Upgrade your granary to level 3."); define("Q30_RESP","Granary is level 3 now..."); define("Q31","Task 25: Warehouse to Level 7"); define("Q31_DESC"," To make sure your resources won't overflow, you should upgrade your warehouse."); define("Q31_ORDER","Order:<\/p>Upgrade your warehouse to level 7."); -define("Q31_RESP","Warehouse has upgraded to level 7..."); +define("Q31_RESP","Warehouse has been upgraded to level 7..."); define("Q32","Task 26: All to five!"); define("Q32_DESC","You will always need more resources. Resource tiles are quite expensive but will always pay out in the long term."); @@ -560,6 +562,124 @@ define("WONDER","Wonder of the World"); define("HORSEDRINKING","Horse Drinking Trough"); define("GREATWORKSHOP","Great Workshop"); +//artefact +define("ARCHITECTS_DESC","All buildings in the area of effect are stronger. This means that you will need more catapults to damage buildings protected by this artifacts powers."); +define("ARCHITECTS_SMALL","The architects slight secret"); +define("ARCHITECTS_SMALLVILLAGE","Diamond Chisel"); +define("ARCHITECTS_LARGE","The architects great secret"); +define("ARCHITECTS_LARGEVILLAGE","Giant Marble Hammer"); +define("ARCHITECTS_UNIQUE","The architects unique secret"); +define("ARCHITECTS_UNIQUEVILLAGE","Hemons Scrolls"); +define("HASTE_DESC","All troops in the area of effect move faster."); +define("HASTE_SMALL","The slight titan boots"); +define("HASTE_SMALLVILLAGE","Opal Horseshoe"); +define("HASTE_LARGE","The great titan boots"); +define("HASTE_LARGEVILLAGE","Golden Chariot"); +define("HASTE_UNIQUE","The unique titan boots"); +define("HASTE_UNIQUEVILLAGE","Pheidippides Sandals"); +define("EYESIGHT_DESC","All spies (Scouts, Pathfinders, and Equites Legati) increase their spying ability. In addition, with all versions of this artifact you can see the incoming TYPE of troops but not how many there are."); +define("EYESIGHT_SMALL","The eagles slight eyes"); +define("EYESIGHT_SMALLVILLAGE","Tale of a Rat"); +define("EYESIGHT_LARGE","The eagles great eyes"); +define("EYESIGHT_LARGEVILLAGE","Generals Letter"); +define("EYESIGHT_UNIQUE","The eagles unique eyes"); +define("EYESIGHT_UNIQUEVILLAGE","Diary of Sun Tzu"); +define("DIET_DESC","All troops in the artifacts range consume less wheat, making it possible to maintain a larger army."); +define("DIET_SMALL","Slight diet control"); +define("DIET_SMALLVILLAGE","Silver Platter"); +define("DIET_LARGE","Great diet control"); +define("DIET_LARGEVILLAGE","Sacred Hunting Bow"); +define("DIET_UNIQUE","Unique diet control"); +define("DIET_UNIQUEVILLAGE","King Arthurs Chalice"); +define("ACADEMIC_DESC","Troops are built a certain percentage faster within the scope of the artifact."); +define("ACADEMIC_SMALL","The trainers slight talent"); +define("ACADEMIC_SMALLVILLAGE","Scribed Soldiers Oath"); +define("ACADEMIC_LARGE","The trainers great talent"); +define("ACADEMIC_LARGEVILLAGE","Declaration of War"); +define("ACADEMIC_UNIQUE","The trainers unique talent"); +define("ACADEMIC_UNIQUEVILLAGE","Memoirs of Alexander the Great"); +define("STORAGE_DESC","With this building plan you are able to build the Great Granary or Great Warehouse in the Village with the artifact, or the whole account depending on the artifact. As long as you posses that artifact you are able to build and enlarge those buildings."); +define("STORAGE_SMALL","Slight storage masterplan"); +define("STORAGE_SMALLVILLAGE","Builders Sketch"); +define("STORAGE_LARGE","Great storage masterplan"); +define("STORAGE_LARGEVILLAGE","Babylonian Tablet"); +define("CONFUSION_DESC","Cranny capacity is increased by a certain amount for each type of artifact. Catapults can only shoot random on villages within this artifacts power. Exceptions are the WW which can always be targeted and the treasure chamber which can always be targeted, except with the unique artifact. When aiming at a resource field only random resource fields can be hit, when aiming at a building only random buildings can be hit."); +define("CONFUSION_SMALL","Rivals slight confusion"); +define("CONFUSION_SMALLVILLAGE","Map of the Hidden Caverns"); +define("CONFUSION_LARGE","Rivals great confusion"); +define("CONFUSION_LARGEVILLAGE","Bottomless Satchel"); +define("CONFUSION_UNIQUE","Rivals unique confusion"); +define("CONFUSION_UNIQUEVILLAGE","Trojan Horse"); +define("FOOL_DESC","Every 24 hours it gets a random effect, bonus, or penalty (all are possible with the exception of great warehouse, great granary and WW building plans). They change effect AND scope every 24 hours. The unique artifact will always take positive bonuses."); +define("FOOL_SMALL","Artefact of the slight fool"); +define("FOOL_SMALLVILLAGE","Pendant of Mischief"); +define("FOOL_UNIQUE","Artefact of the unique fool"); +define("FOOL_UNIQUEVILLAGE","Forbidden Manuscript"); +define("ARTEFACT","Construction plans + + + +Countless days have passed since the first battles upon the walls of the cursed villages of the Dread Natars, many armies of both the free ones and the Natarian empire struggled and died before the walls of the many strongholds from which the Natars had once ruled all creation. Now with the dust settled and a relative calm having settled in, armies began to count their losses and collect their dead, the stench of combat still lingering in the night air, a smell of a slaughter unforgettable in its extent and brutality yet soon to be dwarfed by yet others. The largest armies of the free ones and the Dread Natars were marshalling for yet another renewed assault upon the coveted former strongholds of the Natarian Empire. + +Soon scouts arrived telling of a most awesome sight and a chilling reminder, a dread army of an unfathomable size had been spotted marshalling at the end of the world, the Natarian capital, a force so great and unstoppable that the dust from their march would choke off all light, a force so brutal and ruthless that it would crush all hope. The free people knew that they had to race now, race against time and the endless hordes of the Natarian Empire to raise a Wonder of the World to restore the world to peace and vanquish the Natarian threat. + +But to raise such a great Wonder would be no easy task, one would need construction plans created in the distant past, plans of such an arcane nature that even the very wisest of sages knew not their contents or locations. + +Tens of thousands of scouts roamed across all existence searching in vain for these mystical plans, looking in all places but the dreaded Natarian Capital, yet could not find them. Today however, they return bearing good news, they return baring the locations of the plans, hidden by the armies of the Natars inside secret strongholds constructed to be hidden from the eyes of man. + +Now begins the final stretch, when the greatest armies of the Free people and the Natars will clash across the world for the fate of all that lies under heaven. This is the war that will echo across the eons, this is your war, and here you shall etch your name across history, here you shall become legend. + + +Facts: +To steal one, the following things must happen: +You must attack the village (NO Raid!) +WIN the Attack +Destroy the treasury +An empty treasury lvl 10 MUST be in the village where that attack came from +Have a hero in an attack + +If not, the next attack on that village, winning with a hero and empty treasury will take the building plan. + +To build a WW, you must own a plan yourself (you = the WW village owner) from lvl 0 to 49, from 50 to 100 you need an additional plan in your alliance! Two plans in the WW village account would not work! + +The construction plans are conquerable immediately when they appear to the server. + +There will be a countdown in game, showing the exact time of the release, 5 days prior to the launch. "); + + +//planos +define("PLAN","Ancient Construction Plan"); +define("PLANVILLAGE","WW Buildingplan"); +define("PLAN_DESC","With this ancient construction plan you will able to build World Wonder to level 50. to build further, your alliance must hold at least two plans."); +define("PLAN_INFO","World Wonder Construction Plans + + +Many moons ago the tribes of Travian were surprised by the unforeseen return of the Natars. This tribe from immemorial times surpassing all in wisdom, might and glory was about to trouble the free ones again. Thus they put all their efforts in preparing a last war against the Natars and vanquishing them forever. Many thought about the so-called 'Wonders of the World', a construction of many legends, as the only solution. It was told that it would render anyone invincible once completed. Ultimately making the constructors the rulers and conquerors of all known Travian. + +However, it was also told that one would need construction plans to construct such a building. Due to this fact, the architects devised cunning plans about how to store these safely. After a while, one could see temple-like buildings in many a city and metropolis - the Treasure Chambers (Treasuries). + +Sadly, no one - not even the wise and well versed - knew where to find these construction plans. The harder people tried to locate them, the more it seemed as if they where only legends. + +Today, however, this last secret will be revealed. Deprivations and endeavors of the past will not have been in vain, as today scouts of several tribes have successfully obtained the whereabouts of the construction plans. Well guarded by the Natars, they lie hidden in several oases to be found all over Travian. Only the most valiant heroes will be able to secure such a plan and bring it home safely so that the construction can begin. + +In the end, we will see whether the free tribes of Travian can once again outwit the Natars and vanquish them once and for all. Do not be so foolish as to assume that the Natars will leave without a fight, though! + + + +To steal a set of Construction Plans from the Natars, the following things must happen: +- You must Attack the village (NOT Raid!) +- You must WIN the Attack +- You must DESTROY the Treasure Chamber (Treasury) +- Your Hero MUST be in that attack, as he is the only one who may carry the Construction Plans +- An empty level 10 Treasure Chamber (Treasury) MUST be in the village where that attack came from +NOTE: If the above criteria is not met during the attack, the next attack on that village which does meet the above criteria will take the Construction Plans. + + + +To build a Treasure Chamber (Treasury), you will need a Main Building level 10 and the village MUST NOT be a Capital or contain a World Wonder. + +To build a World Wonder, you must own the Construction Plans yourself (you = the World Wonder Village Owner) from level 0 to 50, and then from level 51 to 100 you will need an additional set of Construction Plans in your Alliance! Two sets of Construction Plans in the World Wonder Village Account will not work!"); +define("WWVILLAGE","WW village"); /* |-------------------------------------------------------------------------- | Index diff --git a/GameEngine/Lang/es.php b/GameEngine/Lang/es.php index 131160b5..0dd54bcb 100644 --- a/GameEngine/Lang/es.php +++ b/GameEngine/Lang/es.php @@ -516,6 +516,110 @@ define("WONDER","Maravilla del Mundo"); define("HORSEDRINKING","Bebedero Equino"); define("GREATWORKSHOP","Gran Taller"); +//artefact +define("ARCHITECTS_DESC","Los edificios son más resistentes a los ataques de las catapultas y arietes."); +define("ARCHITECTS_SMALL","Pequeños secretos de la arquitectura"); +define("ARCHITECTS_SMALLVILLAGE","Diamante Cincel"); +define("ARCHITECTS_LARGE","Grandes secretos de la arquitectura"); +define("ARCHITECTS_LARGEVILLAGE","Martillo de Mármol Gigante"); +define("ARCHITECTS_UNIQUE","El gran secreto único de los arquitectos"); +define("ARCHITECTS_UNIQUEVILLAGE","Pergaminos de Hemon"); +define("HASTE_DESC","Las tropas recorrerán las distancias en menor tiempo."); +define("HASTE_SMALL","Las botas ligeras de Titan"); +define("HASTE_SMALLVILLAGE","Opalo de herradura"); +define("HASTE_LARGE","Las grandes botas de Titan"); +define("HASTE_LARGEVILLAGE","Carroza de Oro"); +define("HASTE_UNIQUE","Las botas única de Titan "); +define("HASTE_UNIQUEVILLAGE","Sandalias Filípides"); +define("EYESIGHT_DESC","Los emisarios, Equites Legati y Batidores son más efectivos espiando, y defendiendo contra ataques de espionaje. Todas las unidades espías en la aldea/cuenta así como los espías enviados a realizar espionaje desde la aldea/cuenta se verán beneficiados. Adicionalmente, podrás ver los diferentes tipos de tropas atacando a tu aldea/cuenta, pero no la cantidad de las mismas."); +define("EYESIGHT_SMALL","Pequeños ojos de águila"); +define("EYESIGHT_SMALLVILLAGE","Historia de una rata"); +define("EYESIGHT_LARGE","Grandes ojos de águila"); +define("EYESIGHT_LARGEVILLAGE","Carta de Generales"); +define("EYESIGHT_UNIQUE","Ojos únicos de la águila"); +define("EYESIGHT_UNIQUEVILLAGE","Diario de Sun Tzu"); +define("DIET_DESC","Las tropas consumen menos cereal."); +define("DIET_SMALL","ligero Control de la dieta"); +define("DIET_SMALLVILLAGE","Plato de Plata"); +define("DIET_LARGE","Gran control de la dieta"); +define("DIET_LARGEVILLAGE","Arco de Caza Sagrado"); +define("DIET_UNIQUE","Control de la dieta única"); +define("DIET_UNIQUEVILLAGE","Cáliz del Rey Arthurs"); +define("ACADEMIC_DESC","Las tropas son entrenadas más rápido."); +define("ACADEMIC_SMALL","Entrenadores con ligero talento"); +define("ACADEMIC_SMALLVILLAGE","Soldados de Sagrado Juramento"); +define("ACADEMIC_LARGE","Entrenadores con gran talento"); +define("ACADEMIC_LARGEVILLAGE","Declaración de Guerra"); +define("ACADEMIC_UNIQUE","Entrenadores con talento único"); +define("ACADEMIC_UNIQUEVILLAGE","Memorias de Alejandro Magno"); +define("STORAGE_DESC","Estos planos te Concede la habilidad para construir el almacén grande y el granero grande"); +define("STORAGE_SMALL","Pequeño Plano de construcción para Gran Almacén y Gran Granero"); +define("STORAGE_SMALLVILLAGE","Bosquejo de Constructores"); +define("STORAGE_LARGE","Gran Plano de construcción para Gran Almacén y Gran Granero"); +define("STORAGE_LARGEVILLAGE","Tableta de de Babilonia"); +define("CONFUSION_DESC","El artefacto multiplica la capacidad del escondite y fuerza a las catapultas enemigas disparar a casualidad. El edificio de la maravilla podrá ser siempre seleccionado."); +define("CONFUSION_SMALL","Pequeña Confusión de los Rivales"); +define("CONFUSION_SMALLVILLAGE","Mapa de las Cavernas Ocultas"); +define("CONFUSION_LARGE","Gran Confusión de los Rivales"); +define("CONFUSION_LARGEVILLAGE","Taleguilla del Abismo"); +define("CONFUSION_UNIQUE","Gran Confusión única de los Rivales"); +define("CONFUSION_UNIQUEVILLAGE","Caballo de Troya"); +define("FOOL_DESC","Este artefacto cambia el efecto cada 24 horas, y puede obtener el efecto de cualquier otro artefacto. El rango de acción del efecto también es determinado cada 24 horas. La versión normal de este artefacto puede garantizar también efectos negativos, como por ejemplo que las tropas sean más lentas, o que consuman más cereal. La versión única de este artefacto sólo proporciona efectos positivos, pero el alcance de los efectos sigue siendo aleatorio. Puede garantizar un incremento de velocidad de 1% en las tropas, por ejemplo."); +define("FOOL_SMALL","Artefacto del Loco"); +define("FOOL_SMALLVILLAGE","Colgante de la Travesura"); +define("FOOL_UNIQUE","Artefacto único del Loco"); +define("FOOL_UNIQUEVILLAGE","Manuscritos Prohibidos"); +define("ARTEFACT","Misteriosas Reliquias +Mi señor, han aparecido misteriosas aldeas donde se dice que existen unos artefactos de gran poder, los ancianos del consejo las llaman reliquias. + +Completamente resguardadas por la poderosa raza Natares y su temido ejército, pero no será impedimento para vos valeroso emperador, O sí. + +Vuestros generales me han comentado que su ejército crece y crece más, pronto podremos apoderarnos de esas reliquias, los talleres fabrican vuestras catapultas para destruir el tesoro que guarda la reliquia y vuestro mejor soldado nuestro héroe se entrena cada vez más fuerte para poder traerle esta reliquia. + +Pero las tropas y los aldeanos necesitan de motivación, usted mi señor debe de generar esa fuerza necesaria para llevarnos a todos al triunfo y a la gloria. + +La mitad del camino ha llegado, la victoria está en sus manos mi señor. "); + + +//planos +define("PLAN","Planos de construcción antigua"); +define("PLANVILLAGE","Planos de Construcción MM"); +define("PLAN_DESC","Con este plano de construcción antigua usted será capaz de construir una Maravilla del Mundo a nivel 50. para construir un mayor nivel, su alianza debe tener por lo menos dos planos."); +define("PLAN_INFO","El tiempo ha llegado. + +Ahora que los días son más cortos y las noches más frías, la gente de Travian se da cuenta que el final de esta era se acerca. La leyenda de gloriosas batallas y lujosos edificios de eras pasadas... parecía ser todo lo que queda de aquel entonces. Pero las masas decidieron que este no sería el modo como esta era terminaría. + +Una maravilla debería ser construida, un edificio de infinita grandeza y poder. Esta maravilla debería unir a todos los habitantes de Travian. + +Tristemente, el conocimiento de las gloriosas maravillas se había perdido, llevado a la tumba por sus ya desaparecidos antepasados. Justo antes de que la gente perdiera toda esperanza, el destino guió su atención hacia la ancestral tribu de los Natares. Esa tribu ancestral, superviviente a muchas eras y sangrientas batallas, puede poseer aún algunos de los planos de construcción necesarios para las maravillas, pero una sensación extraña parece emanar de ellos... + +La Leyenda de los Natares. + +Una vez, antes de que los Romanos invadieran Travian, las ahora libres razas Galas y Germanas estaban esclavizadas por los Natares. Los Natares eran una raza muy especial, que habría sido olvidada en el tiempo de no ser por las historias aún contadas por ancianas, nodrizas y vagabundos. + +Ellos dominaban todo Travian y entre todo su poder y crueldad poseían un conocimiento completo acerca de las fuerzas elementales que nunca sería superado. Muy poco se sabe de esta raza, sólo quedan los informes de un testigo que vivió el poder Natare, y sobrevivió el paso de las eras. + +Quien lea este informe, encontrará la descripción de una Ciudad de Oro con un templo situado en el centro de la ciudad, una maravilla de indescriptible grandeza y poder. También habla de secretos y arcaicos lugares donde estos templos pueden ser erguidos. Lugares donde toda la sabiduría y conocimiento de los Natares puede ser encontrado para, una vez más, esclavizar Travian. + +Los planes de los Natares. + +Los Natares tienes planes propios y quieren esclavizar las razas libres para construir una maravilla. Sin embargo, quien sea que construya una maravilla en su lugar conseguirá la última gesta de convertir Travian en un mundo de paz y unidad. Al final de esta era, podremos ver si la gente libre de Travian consigue llevar a cabo esta intrépida y gloriosa hazaña, si las futuras historias, serán acerca de valientes alianzas o de los odiados Natares. + + +Para robar un conjunto de Planes de la construcción de los Natares , las siguientes cosas deben suceder : +- Usted debe atacar la aldea ( NO en Asalto !) +- Usted debe ganar el ataque +- Debes destruir a la Cámara del Tesoro (Hacienda) +- Tu héroe debe ser en ese ataque , ya que es el único que puede llevar a los planes de construcción +- Un nivel de vacío 10 Cámara del Tesoro ( Tesoro ) DEBE estar en el pueblo donde el ataque provino de +NOTA : Si no se cumplen los criterios mencionados en el ataque , el próximo ataque a ese pueblo que no cumple con los criterios anteriores se llevará a los planes de construcción. + + +Construir una Cámara del Tesoro (Hacienda) , se necesita un nivel de Edificio Principal 10 y el pueblo no debe ser una capital o contener una Maravilla del Mundo . + +Para construir una Maravilla del Mundo , debe poseer los Planes de construcción a ti mismo ( que = la Maravilla del Mundo Village propietario ) desde el nivel 0 a 49, y luego desde el nivel de 50 a 100 se necesita un conjunto adicional de Planes de la construcción en su Alianza ! Dos juegos de planos de construcción en la Cuenta de World Village Wonder no funcionan !"); +define("WWVILLAGE","Aldea MM"); + /* |-------------------------------------------------------------------------- | Index diff --git a/GameEngine/Lang/ru.php b/GameEngine/Lang/ru.php index 9ba4e64d..73071e58 100644 --- a/GameEngine/Lang/ru.php +++ b/GameEngine/Lang/ru.php @@ -541,6 +541,125 @@ define("WONDER","Wonder of the World"); define("HORSEDRINKING","Horse Drinking Trough"); define("GREATWORKSHOP","Great Workshop"); +//artefact +define("ARCHITECTS_DESC","All buildings in the area of effect are stronger. This means that you will need more catapults to damage buildings protected by this artifacts powers."); +define("ARCHITECTS_SMALL","The architects slight secret"); +define("ARCHITECTS_SMALLVILLAGE","Diamond Chisel"); +define("ARCHITECTS_LARGE","The architects great secret"); +define("ARCHITECTS_LARGEVILLAGE","Giant Marble Hammer"); +define("ARCHITECTS_UNIQUE","The architects unique secret"); +define("ARCHITECTS_UNIQUEVILLAGE","Hemons Scrolls"); +define("HASTE_DESC","All troops in the area of effect move faster."); +define("HASTE_SMALL","The slight titan boots"); +define("HASTE_SMALLVILLAGE","Opal Horseshoe"); +define("HASTE_LARGE","The great titan boots"); +define("HASTE_LARGEVILLAGE","Golden Chariot"); +define("HASTE_UNIQUE","The unique titan boots"); +define("HASTE_UNIQUEVILLAGE","Pheidippides Sandals"); +define("EYESIGHT_DESC","All spies (Scouts, Pathfinders, and Equites Legati) increase their spying ability. In addition, with all versions of this artifact you can see the incoming TYPE of troops but not how many there are."); +define("EYESIGHT_SMALL","The eagles slight eyes"); +define("EYESIGHT_SMALLVILLAGE","Tale of a Rat"); +define("EYESIGHT_LARGE","The eagles great eyes"); +define("EYESIGHT_LARGEVILLAGE","Generals Letter"); +define("EYESIGHT_UNIQUE","The eagles unique eyes"); +define("EYESIGHT_UNIQUEVILLAGE","Diary of Sun Tzu"); +define("DIET_DESC","All troops in the artifacts range consume less wheat, making it possible to maintain a larger army."); +define("DIET_SMALL","Slight diet control"); +define("DIET_SMALLVILLAGE","Silver Platter"); +define("DIET_LARGE","Great diet control"); +define("DIET_LARGEVILLAGE","Sacred Hunting Bow"); +define("DIET_UNIQUE","Unique diet control"); +define("DIET_UNIQUEVILLAGE","King Arthurs Chalice"); +define("ACADEMIC_DESC","Troops are built a certain percentage faster within the scope of the artifact."); +define("ACADEMIC_SMALL","The trainers slight talent"); +define("ACADEMIC_SMALLVILLAGE","Scribed Soldiers Oath"); +define("ACADEMIC_LARGE","The trainers great talent"); +define("ACADEMIC_LARGEVILLAGE","Declaration of War"); +define("ACADEMIC_UNIQUE","The trainers unique talent"); +define("ACADEMIC_UNIQUEVILLAGE","Memoirs of Alexander the Great"); +define("STORAGE_DESC","With this building plan you are able to build the Great Granary or Great Warehouse in the Village with the artifact, or the whole account depending on the artifact. As long as you posses that artifact you are able to build and enlarge those buildings."); +define("STORAGE_SMALL","Slight storage masterplan"); +define("STORAGE_SMALLVILLAGE","Builders Sketch"); +define("STORAGE_LARGE","Great storage masterplan"); +define("STORAGE_LARGEVILLAGE","Babylonian Tablet"); +define("CONFUSION_DESC","Cranny capacity is increased by a certain amount for each type of artifact. Catapults can only shoot random on villages within this artifacts power. Exceptions are the WW which can always be targeted and the treasure chamber which can always be targeted, except with the unique artifact. When aiming at a resource field only random resource fields can be hit, when aiming at a building only random buildings can be hit."); +define("CONFUSION_SMALL","Rivals slight confusion"); +define("CONFUSION_SMALLVILLAGE","Map of the Hidden Caverns"); +define("CONFUSION_LARGE","Rivals great confusion"); +define("CONFUSION_LARGEVILLAGE","Bottomless Satchel"); +define("CONFUSION_UNIQUE","Rivals unique confusion"); +define("CONFUSION_UNIQUEVILLAGE","Trojan Horse"); +define("FOOL_DESC","Every 24 hours it gets a random effect, bonus, or penalty (all are possible with the exception of great warehouse, great granary and WW building plans). They change effect AND scope every 24 hours. The unique artifact will always take positive bonuses."); +define("FOOL_SMALL","Artefact of the slight fool"); +define("FOOL_SMALLVILLAGE","Pendant of Mischief"); +define("FOOL_UNIQUE","Artefact of the unique fool"); +define("FOOL_UNIQUEVILLAGE","Forbidden Manuscript"); +define("ARTEFACT","Construction plans + + + +Countless days have passed since the first battles upon the walls of the cursed villages of the Dread Natars, many armies of both the free ones and the Natarian empire struggled and died before the walls of the many strongholds from which the Natars had once ruled all creation. Now with the dust settled and a relative calm having settled in, armies began to count their losses and collect their dead, the stench of combat still lingering in the night air, a smell of a slaughter unforgettable in its extent and brutality yet soon to be dwarfed by yet others. The largest armies of the free ones and the Dread Natars were marshalling for yet another renewed assault upon the coveted former strongholds of the Natarian Empire. + +Soon scouts arrived telling of a most awesome sight and a chilling reminder, a dread army of an unfathomable size had been spotted marshalling at the end of the world, the Natarian capital, a force so great and unstoppable that the dust from their march would choke off all light, a force so brutal and ruthless that it would crush all hope. The free people knew that they had to race now, race against time and the endless hordes of the Natarian Empire to raise a Wonder of the World to restore the world to peace and vanquish the Natarian threat. + +But to raise such a great Wonder would be no easy task, one would need construction plans created in the distant past, plans of such an arcane nature that even the very wisest of sages knew not their contents or locations. + +Tens of thousands of scouts roamed across all existence searching in vain for these mystical plans, looking in all places but the dreaded Natarian Capital, yet could not find them. Today however, they return bearing good news, they return baring the locations of the plans, hidden by the armies of the Natars inside secret strongholds constructed to be hidden from the eyes of man. + +Now begins the final stretch, when the greatest armies of the Free people and the Natars will clash across the world for the fate of all that lies under heaven. This is the war that will echo across the eons, this is your war, and here you shall etch your name across history, here you shall become legend. + + +Facts: +To steal one, the following things must happen: +You must attack the village (NO Raid!) +WIN the Attack +Destroy the treasury +An empty treasury lvl 10 MUST be in the village where that attack came from +Have a hero in an attack + +If not, the next attack on that village, winning with a hero and empty treasury will take the building plan. + +To build a WW, you must own a plan yourself (you = the WW village owner) from lvl 0 to 49, from 50 to 100 you need an additional plan in your alliance! Two plans in the WW village account would not work! + +The construction plans are conquerable immediately when they appear to the server. + +There will be a countdown in game, showing the exact time of the release, 5 days prior to the launch. "); + + +//planos +define("PLAN","Ancient Construction Plan"); +define("PLANVILLAGE","WW Buildingplan"); +define("PLAN_DESC","With this ancient construction plan you will able to build World Wonder to level 50. to build further, your alliance must hold at least two plans."); +define("PLAN_INFO","World Wonder Construction Plans + + +Many moons ago the tribes of Travian were surprised by the unforeseen return of the Natars. This tribe from immemorial times surpassing all in wisdom, might and glory was about to trouble the free ones again. Thus they put all their efforts in preparing a last war against the Natars and vanquishing them forever. Many thought about the so-called 'Wonders of the World', a construction of many legends, as the only solution. It was told that it would render anyone invincible once completed. Ultimately making the constructors the rulers and conquerors of all known Travian. + +However, it was also told that one would need construction plans to construct such a building. Due to this fact, the architects devised cunning plans about how to store these safely. After a while, one could see temple-like buildings in many a city and metropolis - the Treasure Chambers (Treasuries). + +Sadly, no one - not even the wise and well versed - knew where to find these construction plans. The harder people tried to locate them, the more it seemed as if they where only legends. + +Today, however, this last secret will be revealed. Deprivations and endeavors of the past will not have been in vain, as today scouts of several tribes have successfully obtained the whereabouts of the construction plans. Well guarded by the Natars, they lie hidden in several oases to be found all over Travian. Only the most valiant heroes will be able to secure such a plan and bring it home safely so that the construction can begin. + +In the end, we will see whether the free tribes of Travian can once again outwit the Natars and vanquish them once and for all. Do not be so foolish as to assume that the Natars will leave without a fight, though! + + + +To steal a set of Construction Plans from the Natars, the following things must happen: +- You must Attack the village (NOT Raid!) +- You must WIN the Attack +- You must DESTROY the Treasure Chamber (Treasury) +- Your Hero MUST be in that attack, as he is the only one who may carry the Construction Plans +- An empty level 10 Treasure Chamber (Treasury) MUST be in the village where that attack came from +NOTE: If the above criteria is not met during the attack, the next attack on that village which does meet the above criteria will take the Construction Plans. + + + +To build a Treasure Chamber (Treasury), you will need a Main Building level 10 and the village MUST NOT be a Capital or contain a World Wonder. + +To build a World Wonder, you must own the Construction Plans yourself (you = the World Wonder Village Owner) from level 0 to 50, and then from level 51 to 100 you will need an additional set of Construction Plans in your Alliance! Two sets of Construction Plans in the World Wonder Village Account will not work!"); +define("WWVILLAGE","WW village"); + /* |-------------------------------------------------------------------------- | Index diff --git a/GameEngine/Lang/zh_tw.php b/GameEngine/Lang/zh_tw.php index 1c43ab11..eba63329 100644 --- a/GameEngine/Lang/zh_tw.php +++ b/GameEngine/Lang/zh_tw.php @@ -550,6 +550,124 @@ define("WONDER","Wonder of the World"); define("HORSEDRINKING","Horse Drinking Trough"); define("GREATWORKSHOP","Great Workshop"); +//artefact +define("ARCHITECTS_DESC","All buildings in the area of effect are stronger. This means that you will need more catapults to damage buildings protected by this artifacts powers."); +define("ARCHITECTS_SMALL","The architects slight secret"); +define("ARCHITECTS_SMALLVILLAGE","Diamond Chisel"); +define("ARCHITECTS_LARGE","The architects great secret"); +define("ARCHITECTS_LARGEVILLAGE","Giant Marble Hammer"); +define("ARCHITECTS_UNIQUE","The architects unique secret"); +define("ARCHITECTS_UNIQUEVILLAGE","Hemons Scrolls"); +define("HASTE_DESC","All troops in the area of effect move faster."); +define("HASTE_SMALL","The slight titan boots"); +define("HASTE_SMALLVILLAGE","Opal Horseshoe"); +define("HASTE_LARGE","The great titan boots"); +define("HASTE_LARGEVILLAGE","Golden Chariot"); +define("HASTE_UNIQUE","The unique titan boots"); +define("HASTE_UNIQUEVILLAGE","Pheidippides Sandals"); +define("EYESIGHT_DESC","All spies (Scouts, Pathfinders, and Equites Legati) increase their spying ability. In addition, with all versions of this artifact you can see the incoming TYPE of troops but not how many there are."); +define("EYESIGHT_SMALL","The eagles slight eyes"); +define("EYESIGHT_SMALLVILLAGE","Tale of a Rat"); +define("EYESIGHT_LARGE","The eagles great eyes"); +define("EYESIGHT_LARGEVILLAGE","Generals Letter"); +define("EYESIGHT_UNIQUE","The eagles unique eyes"); +define("EYESIGHT_UNIQUEVILLAGE","Diary of Sun Tzu"); +define("DIET_DESC","All troops in the artifacts range consume less wheat, making it possible to maintain a larger army."); +define("DIET_SMALL","Slight diet control"); +define("DIET_SMALLVILLAGE","Silver Platter"); +define("DIET_LARGE","Great diet control"); +define("DIET_LARGEVILLAGE","Sacred Hunting Bow"); +define("DIET_UNIQUE","Unique diet control"); +define("DIET_UNIQUEVILLAGE","King Arthurs Chalice"); +define("ACADEMIC_DESC","Troops are built a certain percentage faster within the scope of the artifact."); +define("ACADEMIC_SMALL","The trainers slight talent"); +define("ACADEMIC_SMALLVILLAGE","Scribed Soldiers Oath"); +define("ACADEMIC_LARGE","The trainers great talent"); +define("ACADEMIC_LARGEVILLAGE","Declaration of War"); +define("ACADEMIC_UNIQUE","The trainers unique talent"); +define("ACADEMIC_UNIQUEVILLAGE","Memoirs of Alexander the Great"); +define("STORAGE_DESC","With this building plan you are able to build the Great Granary or Great Warehouse in the Village with the artifact, or the whole account depending on the artifact. As long as you posses that artifact you are able to build and enlarge those buildings."); +define("STORAGE_SMALL","Slight storage masterplan"); +define("STORAGE_SMALLVILLAGE","Builders Sketch"); +define("STORAGE_LARGE","Great storage masterplan"); +define("STORAGE_LARGEVILLAGE","Babylonian Tablet"); +define("CONFUSION_DESC","Cranny capacity is increased by a certain amount for each type of artifact. Catapults can only shoot random on villages within this artifacts power. Exceptions are the WW which can always be targeted and the treasure chamber which can always be targeted, except with the unique artifact. When aiming at a resource field only random resource fields can be hit, when aiming at a building only random buildings can be hit."); +define("CONFUSION_SMALL","Rivals slight confusion"); +define("CONFUSION_SMALLVILLAGE","Map of the Hidden Caverns"); +define("CONFUSION_LARGE","Rivals great confusion"); +define("CONFUSION_LARGEVILLAGE","Bottomless Satchel"); +define("CONFUSION_UNIQUE","Rivals unique confusion"); +define("CONFUSION_UNIQUEVILLAGE","Trojan Horse"); +define("FOOL_DESC","Every 24 hours it gets a random effect, bonus, or penalty (all are possible with the exception of great warehouse, great granary and WW building plans). They change effect AND scope every 24 hours. The unique artifact will always take positive bonuses."); +define("FOOL_SMALL","Artefact of the slight fool"); +define("FOOL_SMALLVILLAGE","Pendant of Mischief"); +define("FOOL_UNIQUE","Artefact of the unique fool"); +define("FOOL_UNIQUEVILLAGE","Forbidden Manuscript"); +define("ARTEFACT","Construction plans + + + +Countless days have passed since the first battles upon the walls of the cursed villages of the Dread Natars, many armies of both the free ones and the Natarian empire struggled and died before the walls of the many strongholds from which the Natars had once ruled all creation. Now with the dust settled and a relative calm having settled in, armies began to count their losses and collect their dead, the stench of combat still lingering in the night air, a smell of a slaughter unforgettable in its extent and brutality yet soon to be dwarfed by yet others. The largest armies of the free ones and the Dread Natars were marshalling for yet another renewed assault upon the coveted former strongholds of the Natarian Empire. + +Soon scouts arrived telling of a most awesome sight and a chilling reminder, a dread army of an unfathomable size had been spotted marshalling at the end of the world, the Natarian capital, a force so great and unstoppable that the dust from their march would choke off all light, a force so brutal and ruthless that it would crush all hope. The free people knew that they had to race now, race against time and the endless hordes of the Natarian Empire to raise a Wonder of the World to restore the world to peace and vanquish the Natarian threat. + +But to raise such a great Wonder would be no easy task, one would need construction plans created in the distant past, plans of such an arcane nature that even the very wisest of sages knew not their contents or locations. + +Tens of thousands of scouts roamed across all existence searching in vain for these mystical plans, looking in all places but the dreaded Natarian Capital, yet could not find them. Today however, they return bearing good news, they return baring the locations of the plans, hidden by the armies of the Natars inside secret strongholds constructed to be hidden from the eyes of man. + +Now begins the final stretch, when the greatest armies of the Free people and the Natars will clash across the world for the fate of all that lies under heaven. This is the war that will echo across the eons, this is your war, and here you shall etch your name across history, here you shall become legend. + + +Facts: +To steal one, the following things must happen: +You must attack the village (NO Raid!) +WIN the Attack +Destroy the treasury +An empty treasury lvl 10 MUST be in the village where that attack came from +Have a hero in an attack + +If not, the next attack on that village, winning with a hero and empty treasury will take the building plan. + +To build a WW, you must own a plan yourself (you = the WW village owner) from lvl 0 to 49, from 50 to 100 you need an additional plan in your alliance! Two plans in the WW village account would not work! + +The construction plans are conquerable immediately when they appear to the server. + +There will be a countdown in game, showing the exact time of the release, 5 days prior to the launch. "); + + +//planos +define("PLAN","Ancient Construction Plan"); +define("PLANVILLAGE","WW Buildingplan"); +define("PLAN_DESC","With this ancient construction plan you will able to build World Wonder to level 50. to build further, your alliance must hold at least two plans."); +define("PLAN_INFO","World Wonder Construction Plans + + +Many moons ago the tribes of Travian were surprised by the unforeseen return of the Natars. This tribe from immemorial times surpassing all in wisdom, might and glory was about to trouble the free ones again. Thus they put all their efforts in preparing a last war against the Natars and vanquishing them forever. Many thought about the so-called 'Wonders of the World', a construction of many legends, as the only solution. It was told that it would render anyone invincible once completed. Ultimately making the constructors the rulers and conquerors of all known Travian. + +However, it was also told that one would need construction plans to construct such a building. Due to this fact, the architects devised cunning plans about how to store these safely. After a while, one could see temple-like buildings in many a city and metropolis - the Treasure Chambers (Treasuries). + +Sadly, no one - not even the wise and well versed - knew where to find these construction plans. The harder people tried to locate them, the more it seemed as if they where only legends. + +Today, however, this last secret will be revealed. Deprivations and endeavors of the past will not have been in vain, as today scouts of several tribes have successfully obtained the whereabouts of the construction plans. Well guarded by the Natars, they lie hidden in several oases to be found all over Travian. Only the most valiant heroes will be able to secure such a plan and bring it home safely so that the construction can begin. + +In the end, we will see whether the free tribes of Travian can once again outwit the Natars and vanquish them once and for all. Do not be so foolish as to assume that the Natars will leave without a fight, though! + + + +To steal a set of Construction Plans from the Natars, the following things must happen: +- You must Attack the village (NOT Raid!) +- You must WIN the Attack +- You must DESTROY the Treasure Chamber (Treasury) +- Your Hero MUST be in that attack, as he is the only one who may carry the Construction Plans +- An empty level 10 Treasure Chamber (Treasury) MUST be in the village where that attack came from +NOTE: If the above criteria is not met during the attack, the next attack on that village which does meet the above criteria will take the Construction Plans. + + + +To build a Treasure Chamber (Treasury), you will need a Main Building level 10 and the village MUST NOT be a Capital or contain a World Wonder. + +To build a World Wonder, you must own the Construction Plans yourself (you = the World Wonder Village Owner) from level 0 to 50, and then from level 51 to 100 you will need an additional set of Construction Plans in your Alliance! Two sets of Construction Plans in the World Wonder Village Account will not work!"); +define("WWVILLAGE","WW village"); /* |-------------------------------------------------------------------------- | Index diff --git a/GameEngine/Ranking.php b/GameEngine/Ranking.php index d2a98c47..b5cd3ad2 100644 --- a/GameEngine/Ranking.php +++ b/GameEngine/Ranking.php @@ -531,7 +531,7 @@ array_push($holder, $value); } - $holder = $multisort->sorte($holder, "'totalap'", false, 2); + $holder = $multisort->sorte($holder, "'Aap'", false, 2); $newholder = array("pad"); foreach($holder as $key) { array_push($newholder, $key); @@ -559,7 +559,7 @@ array_push($holder, $value); } - $holder = $multisort->sorte($holder, "'totaldp'", false, 2); + $holder = $multisort->sorte($holder, "'Adp'", false, 2); $newholder = array("pad"); foreach($holder as $key) { array_push($newholder, $key); diff --git a/Templates/Map/vilview.tpl b/Templates/Map/vilview.tpl index 487cf641..71873457 100644 --- a/Templates/Map/vilview.tpl +++ b/Templates/Map/vilview.tpl @@ -1,5 +1,21 @@
    getMInfo($_GET['d']); $uinfo = $database->getVillage($basearray['id']); $oasis1 = mysql_query('SELECT * FROM `' . TB_PREFIX . 'odata` WHERE `wref` = ' . mysql_real_escape_string($_GET['d'])); diff --git a/Templates/Notice/19.tpl b/Templates/Notice/19.tpl index 456531ab..22408de5 100644 --- a/Templates/Notice/19.tpl +++ b/Templates/Notice/19.tpl @@ -5,6 +5,7 @@ ## TRAVIANZ ## ############################################################ $dataarray = explode(",",$message->readingNotice['data']); +$colspan="10"; $colspan2="10"; //attacker if ($database->getUserField($dataarray[0],'username',0)!="??") { @@ -298,4 +299,4 @@ for($i=129;$i<=138;$i++) { - \ No newline at end of file + diff --git a/Templates/Ranking/alliance_attack.tpl b/Templates/Ranking/alliance_attack.tpl index 9af9ee68..f029cadf 100644 --- a/Templates/Ranking/alliance_attack.tpl +++ b/Templates/Ranking/alliance_attack.tpl @@ -42,7 +42,7 @@ $search = $_SESSION['search']; echo ""; } echo $i.".".$ranking[$i]['tag'].""; - echo $ranking[$i]['players']."".$ranking[$i]['totalap'].""; + echo $ranking[$i]['players']."".$ranking[$i]['Aap'].""; } } } @@ -54,4 +54,4 @@ $search = $_SESSION['search']; \ No newline at end of file +?> diff --git a/Templates/Ranking/alliance_defend.tpl b/Templates/Ranking/alliance_defend.tpl index 8551bc94..4972b113 100644 --- a/Templates/Ranking/alliance_defend.tpl +++ b/Templates/Ranking/alliance_defend.tpl @@ -42,7 +42,7 @@ $search = $_SESSION['search']; echo ""; } echo $i.".".$ranking[$i]['tag'].""; - echo $ranking[$i]['players']."".$ranking[$i]['totaldp'].""; + echo $ranking[$i]['players']."".$ranking[$i]['Adp'].""; } } } @@ -54,4 +54,4 @@ $search = $_SESSION['search']; \ No newline at end of file +?> diff --git a/Templates/menu.tpl b/Templates/menu.tpl index 529130b4..a1120800 100644 --- a/Templates/menu.tpl +++ b/Templates/menu.tpl @@ -45,10 +45,12 @@ div.c1 {text-align: center} echo "".SYSTEM_MESSAGE.""; echo "Create Natars"; } ?>

    - - -

    Travian Plus - +

    + Plus +

    +

    + +

    isDeleting($session->uid); @@ -69,13 +71,13 @@ div.c1 {text-align: center} ?>
    -

    Announcement

    +


    Hi username; ?>,

    diff --git a/create_account.php b/create_account.php index 3e5dec37..357c298b 100644 --- a/create_account.php +++ b/create_account.php @@ -223,31 +223,31 @@ if($_POST['password'] != ""){ * THE ARCHITECTS */ - $desc = 'All buildings in the area of effect are stronger. This means that you will need more catapults to damage buildings protected by this artifacts powers.'; + $desc = ARCHITECTS_DESC; - $vname = 'Diamond Chisel'; + $vname = ARCHITECTS_SMALLVILLAGE; $effect = '(4x)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 1, 1, 'The architects slight secret', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); + Artefact($uid, 1, 1, ARCHITECTS_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Giant Marble Hammer'; + $vname = ARCHITECTS_LARGEVILLAGE; $effect = '(3x)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 1, 2, 'The architects great secret', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); + Artefact($uid, 1, 2, ARCHITECTS_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Hemons Scrolls'; + $vname = ARCHITECTS_UNIQUEVILLAGE; $effect = '(5x)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 1, 3, 'The architects unique secret', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); + Artefact($uid, 1, 3, ARCHITECTS_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type1.gif'); } /** @@ -255,33 +255,33 @@ if($_POST['password'] != ""){ */ - $desc = 'All troops in the area of effect move faster.'; + $desc = HASTE_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Opal Horseshoe'; + $vname = HASTE_SMALLVILLAGE; $effect = '(2x)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 2, 1, 'The slight titan boots', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); + Artefact($uid, 2, 1, HASTE_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Golden Chariot'; + $vname = HASTE_LARGEVILLAGE; $effect = '(1.5x)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 2, 2, 'The great titan boots', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); + Artefact($uid, 2, 2, HASTE_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Pheidippides Sandals'; + $vname = HASTE_UNIQUEVILLAGE; $effect = '(3x)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 2, 3, 'The unique titan boots', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); + Artefact($uid, 2, 3, HASTE_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type2.gif'); } /** @@ -289,33 +289,33 @@ if($_POST['password'] != ""){ */ - $desc = 'All spies (Scouts, Pathfinders, and Equites Legati) increase their spying ability. In addition, with all versions of this artifact you can see the incoming TYPE of troops but not how many there are.'; + $desc = EYESIGHT_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Tale of a Rat'; + $vname = EYESIGHT_SMALLVILLAGE; $effect = '(5x)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 3, 1, 'The eagles slight eyes', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); + Artefact($uid, 3, 1, EYESIGHT_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Generals Letter'; + $vname = EYESIGHT_LARGEVILLAGE; $effect = '(3x)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 3, 2, 'The eagles great eyes', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); + Artefact($uid, 3, 2, EYESIGHT_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Diary of Sun Tzu'; + $vname = EYESIGHT_UNIQUEVILLAGE; $effect = '(10x)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 3, 3, 'The eagles unique eyes', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); + Artefact($uid, 3, 3, EYESIGHT_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type3.gif'); } /** @@ -323,33 +323,33 @@ if($_POST['password'] != ""){ */ - $desc = 'All troops in the artifacts range consume less wheat, making it possible to maintain a larger army.'; + $desc = DIET_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Silver Platter'; + $vname = DIET_SMALLVILLAGE; $effect = '(50%)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 4, 1, 'Slight diet control', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); + Artefact($uid, 4, 1, DIET_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Sacred Hunting Bow'; + $vname = DIET_LARGEVILLAGE; $effect = '(25%)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 4, 2, 'Great diet control', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); + Artefact($uid, 4, 2, DIET_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'King Arthurs Chalice'; + $vname = DIET_UNIQUEVILLAGE; $effect = '(50%)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 4, 3, 'Unique diet control', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); + Artefact($uid, 4, 3, DIET_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type4.gif'); } @@ -358,33 +358,33 @@ if($_POST['password'] != ""){ */ - $desc = 'Troops are built a certain percentage faster within the scope of the artifact.'; + $desc = ACADEMIC_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Scribed Soldiers Oath'; + $vname = ACADEMIC_SMALLVILLAGE; $effect = '(50%)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 5, 1, 'The trainers slight talent', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); + Artefact($uid, 5, 1, ACADEMIC_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Declaration of War'; + $vname = ACADEMIC_LARGEVILLAGE; $effect = '(25%)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 5, 2, 'The trainers great talent', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); + Artefact($uid, 5, 2, ACADEMIC_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Memoirs of Alexander the Great'; + $vname = ACADEMIC_UNIQUEVILLAGE; $effect = '(50%)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 5, 3, 'The trainers unique talent', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); + Artefact($uid, 5, 3, ACADEMIC_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type5.gif'); } @@ -393,24 +393,24 @@ if($_POST['password'] != ""){ */ - $desc = 'With this building plan you are able to build the Great Granary or Great Warehouse in the Village with the artifact, or the whole account depending on the artifact. As long as you posses that artifact you are able to build and enlarge those buildings.'; + $desc = STORAGE_DESC; unset($i); unset($vname); unset($effect);; - $vname = 'Builders Sketch'; + $vname = STORAGE_SMALLVILLAGE; $effect = '(GG&GW)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 6, 1, 'Slight storage masterplan', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type6.gif'); + Artefact($uid, 6, 1, STORAGE_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type6.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Babylonian Tablet'; + $vname = STORAGE_LARGEVILLAGE; $effect = '(GG&GW)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 6, 2, 'Great storage masterplan', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type6.gif'); + Artefact($uid, 6, 2, STORAGE_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type6.gif'); } @@ -419,33 +419,33 @@ if($_POST['password'] != ""){ */ - $desc = 'Cranny capacity is increased by a certain amount for each type of artifact. Catapults can only shoot random on villages within this artifacts power. Exceptions are the WW which can always be targeted and the treasure chamber which can always be targeted, except with the unique artifact. When aiming at a resource field only random resource fields can be hit, when aiming at a building only random buildings can be hit.'; + $desc = CONFUSION_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Map of the Hidden Caverns'; + $vname = CONFUSION_SMALLVILLAGE; $effect = '(200)'; for($i > 1; $i < 6; $i++) { - Artefact($uid, 7, 1, 'Rivals slight confusion', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); + Artefact($uid, 7, 1, CONFUSION_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Bottomless Satchel'; + $vname = CONFUSION_LARGEVILLAGE; $effect = '(100)'; for($i > 1; $i < 4; $i++) { - Artefact($uid, 7, 2, 'Rivals great confusion', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); + Artefact($uid, 7, 2, CONFUSION_LARGE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Trojan Horse'; + $vname = CONFUSION_UNIQUEVILLAGE; $effect = '(500)'; for($i > 1; $i < 1; $i++) { - Artefact($uid, 7, 3, 'Rivals unique confusion', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); + Artefact($uid, 7, 3, CONFUSION_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type7.gif'); } @@ -454,64 +454,35 @@ if($_POST['password'] != ""){ */ - $desc = 'Every 24 hours it gets a random effect, bonus, or penalty (all are possible with the exception of great warehouse, great granary and WW building plans). They change effect AND scope every 24 hours. The unique artifact will always take positive bonuses.'; + $desc = FOOL_DESC; unset($i); unset($vname); unset($effect); - $vname = 'Pendant of Mischief'; + $vname = FOOL_SMALLVILLAGE; for($i > 1; $i < 5; $i++) { - Artefact($uid, 8, 1, 'Artefact of the slight fool', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); + Artefact($uid, 8, 1, FOOL_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Pendant of Mischief'; + $vname = FOOL_SMALLVILLAGE; for($i > 1; $i < 5; $i++) { - Artefact($uid, 8, 2, 'Artefact of the slight fool', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); + Artefact($uid, 8, 2, FOOL_SMALL, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); } unset($i); unset($vname); unset($effect); - $vname = 'Forbidden Manuscript'; + $vname = FOOL_UNIQUEVILLAGE; for($i > 1; $i < 1; $i++) { - Artefact($uid, 8, 3, 'Artefact of the unique fool', '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); + Artefact($uid, 8, 3, FOOL_UNIQUE, '' . $vname . '', '' . $desc . '', '' . $effect . '', 'type8.gif'); } $myFile = "Templates/text.tpl"; $fh = fopen($myFile, 'w') or die("


    Can't open file: templates/text.tpl"); $text = file_get_contents("Templates/text_format.tpl"); - $text = preg_replace("'%TEKST%'","Construction plans - - - -Countless days have passed since the first battles upon the walls of the cursed villages of the Dread Natars, many armies of both the free ones and the Natarian empire struggled and died before the walls of the many strongholds from which the Natars had once ruled all creation. Now with the dust settled and a relative calm having settled in, armies began to count their losses and collect their dead, the stench of combat still lingering in the night air, a smell of a slaughter unforgettable in its extent and brutality yet soon to be dwarfed by yet others. The largest armies of the free ones and the Dread Natars were marshalling for yet another renewed assault upon the coveted former strongholds of the Natarian Empire. - -Soon scouts arrived telling of a most awesome sight and a chilling reminder, a dread army of an unfathomable size had been spotted marshalling at the end of the world, the Natarian capital, a force so great and unstoppable that the dust from their march would choke off all light, a force so brutal and ruthless that it would crush all hope. The free people knew that they had to race now, race against time and the endless hordes of the Natarian Empire to raise a Wonder of the World to restore the world to peace and vanquish the Natarian threat. - -But to raise such a great Wonder would be no easy task, one would need construction plans created in the distant past, plans of such an arcane nature that even the very wisest of sages knew not their contents or locations. - -Tens of thousands of scouts roamed across all existence searching in vain for these mystical plans, looking in all places but the dreaded Natarian Capital, yet could not find them. Today however, they return bearing good news, they return baring the locations of the plans, hidden by the armies of the Natars inside secret strongholds constructed to be hidden from the eyes of man. - -Now begins the final stretch, when the greatest armies of the Free people and the Natars will clash across the world for the fate of all that lies under heaven. This is the war that will echo across the eons, this is your war, and here you shall etch your name across history, here you shall become legend. - - -Facts: -To steal one, the following things must happen: -You must attack the village (NO Raid!) -WIN the Attack -Destroy the treasury -An empty treasury lvl 10 MUST be in the village where that attack came from -Have a hero in an attack - -If not, the next attack on that village, winning with a hero and empty treasury will take the building plan. - -To build a WW, you must own a plan yourself (you = the WW village owner) from lvl 0 to 49, from 50 to 100 you need an additional plan in your alliance! Two plans in the WW village account would not work! - -The construction plans are conquerable immediately when they appear to the server. - -There will be a countdown in game, showing the exact time of the release, 5 days prior to the launch." ,$text); + $text = preg_replace("'%TEKST%'",ARTEFACT ,$text); fwrite($fh, $text); $query="SELECT * FROM ".TB_PREFIX."users ORDER BY id + 0 DESC"; diff --git a/install/templates/config.tpl b/install/templates/config.tpl index cc7d1342..45271d3c 100644 --- a/install/templates/config.tpl +++ b/install/templates/config.tpl @@ -59,6 +59,7 @@ echo "
    Error creating constant.php Language: Beginners protection length: