Commits

bender  committed a083073 Merge

repair commit

  • Participants
  • Parent commits 026b01d, 6abd7bb

Comments (0)

Files changed (23)

File brain/clear-wars.php

 $dblink=mysql_pconnect ('localhost', DB_USER, DB_PASS);
 mysql_select_db (DB_NAME);
 
-$query = 'select distinct B.aid1,B.aid2 from allyactions A, wars B where A.aid1=B.aid1 and A.aid2=B.aid2 and A.type in (20,21,22,23,24,25,26) and B.over>0 and date_add(B.end_of_war, interval 7 day)<now();';
+$query = 'select distinct B.aid1,B.aid2 from allyactions A, wars B where A.aid1=B.aid1 and A.aid2=B.aid2 and A.type in (20,21,22,23,24,25,26) and B.over>0 and date_add(B.end_of_war, interval ' . WAR_COOLDOWN . ' hour)<now();';
 
 if (!($res = mysql_query ($query)))
   echo "bah: ".$query.", ".mysql_error ();

File brain/newworld.php

 $cwd = getcwd ();
 ini_set("include_path", "".$cwd."/../php:".$cwd."/../php/base:".$cwd."/../var/php:.");
 
-require_once ("config.inc.php");
-require_once ("user.inc.php");
+require_once ("../php/base/config.inc.php");
+require_once ("../php/base/user.inc.php");
 require_once ("newmap_handling.php");
 
 ignore_user_abort (false);

File brain/settle.php

 $cwd = getcwd ();
 ini_set("include_path", "".$cwd."/../php:".$cwd."/../php/base:".$cwd."/../var/php:.");
 
-require_once ("user.inc.php");
+require_once ("../php/base/user.inc.php");
 
 define ("MINDIST", 6);
 

File einheiten-schicken.php

 				$type = GROUPATTACK_PART;
 				$what = "Teilnahme an Gruppenangriff";
 				$commander_needed = true;
-				$setup_time = 3600;
+				$setup_time = SETUP_GROUP_PART;
 				$hostile = true;
 				$allflag = 1;
 				break;
 				$type = GROUPATTACK;
 				$what = "Gruppenangriff";
 				$commander_needed = true;
-				$setup_time = 7200;
-				$hostile = true;
-				$allflag = 1;
-				break;
-			case PLUNDER:
-				$type = PLUNDER;
-				$what = "Pl&uuml;ndern";
-				$commander_needed = true;
-				$setup_time = 1800;
+				$setup_time = SETUP_GROUP_LEAD;
 				$hostile = true;
 				$allflag = 1;
 				break;
 				$type = ATTACK;
 				$what = "Angreifen";
 				$commander_needed = true;
-				$setup_time = 3600;
+				$setup_time = SETUP_ATTACK;
 				$hostile = true;
 				$allflag = 1;
 				break;
 				$type = RAID;
 				$what = "Raubzug";
 				$commander_needed = true;
-				$setup_time = 2700;
+				$setup_time = SETUP_RAID;
 				$hostile = true;
 				$allflag = 1;
 				break;
                     $what = "Erobern";
                     $type = SIEGE;
                     $commander_needed = true;
-                    $setup_time = 43200;
+                    $setup_time = SETUP_SIEGE;
                     $hostile = true;
                     $allflag = 1;
 
 				$type = SUPPORT;
 				$what = "Unterst&uuml;tzen";
 				$commander_needed = true;
-				$setup_time = 300;
+				$setup_time = SETUP_SUPPORT;
 				$hostile = false;
 				$cost_fac = 4;
 				$allflag = 0;
 				$type = SPY;
 				$what = "Spionieren";
 				$commander_needed = false;
-				$setup_time = 0;
+				$setup_time = SETUP_SPY;
 				$hostile = true;
 				$allflag = 1;
 				break;
 				$type = MOVE;
 				$what = "Stationieren";
 				$commander_needed = false;
-				$setup_time = 300;
+				$setup_time = SETUP_MOVE;
 				$cost_fac = 1;
 				$hostile = false;
 				$allflag = 0;
 				$type = RETURNING;
 				$what = "Heimsenden";
 				$commander_needed = false;
-				$setup_time = 300;
+				$setup_time = SETUP_RETURN;
 				$cost_fac = 0;
 				$hostile = 0;
 				break;
 		if ($me->sat_by && $hostile)
 			$send_err = "Sitter können keine Angriffe ausführen";
 
-		$setup_time = $setup_time / WORLD_SPEED;
         if (!isset ($dist))//dist is already calculated for returning troops
 		    $dist = (($x - $me->activevillage->x) * ($x - $me->activevillage->x)) - (($y - $me->activevillage->y) * ($y - $me->activevillage->y));
 
 <hr/><h1>Angriff</h1><hr/>
 <p>
 Du kannst deine Mitspieler angreifen, um ihre Ressourcen zu pl&uuml;ndern oder um ihnen zu schaden. Bei einem Angriff muss immer der <a href="hilfe.php?Page=550">Held</a> oder ein <a href="hilfe.php?Page=552">Heerf&uuml;hrer</a> mitgehen.  Die <a href="hilfe.php?Page=551">Setup-Time</a> betr&auml;gt
-<?php echo round (3600/WORLD_SPEED/60); ?> 
+<?php echo ( SETUP_ATTACK / 60); ?> 
 Minuten.
 </p>
 <p>
 <hr/><h1>Setup-Time</h1><hr/>
 <p>
 Mit Setup-Time ist die Zeit gemeint, die die Einheiten zus&auml;tzlich zur eigentlichen Laufdauer ben&ouml;tigen, um an einen anderen Ort zu gelangen. <br>
-Bei einem <a href="hilfe.php?Page=545">Angriff</a> betr&auml;gt diese <?php echo round (3600/WORLD_SPEED/60); ?> Minuten, bei einem <a href="hilfe.php?Page=555">Raubzug</a> muss man <?php echo round (2700/WORLD_SPEED/60); ?> Minuten auf die eigentliche Dauer aufaddieren. 
-<a href="hilfe.php?Page=553">Unterst&uuml;tzen</a>.und <a href="hilfe.php?Page=783">Stationieren</a> ben&ouml;tigen jeweils zus&auml;tzliche <?php echo round (300/WORLD_SPEED/60); ?> Minuten. <br>
-F&uuml;r <a href="hilfe.php?Page=554">Spionage</a> gibt es keine Setup-Time, hier berechnet sich die Dauer f&uuml;r einen Weg rein aus der Geschwindigkeit der Truppen. Werden unterst&uuml;tzende Truppen aus einer anderen Stadt wieder abgezogen, ben&ouml;tigen sie keine Setup-Time. Ein Gruppenangriff ben&ouml;tigt
-<?php echo round (7200/WORLD_SPEED/60); ?> Minuten, eine Eroberung <?php echo round (43200/WORLD_SPEED/60); ?> Minuten.
-</p>
+In der aktuellen Welt gelten folgende Setupzeiten:
+</p>
+<p>
+<table>
+<tr>
+    <td>Aktion</td><td>Setup Zeit (Minuten)</td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=790">Gruppenangriff</a></td><td> <?php echo ( SETUP_GROUP_LEAD / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=791">Eroberung</a></td><td> <?php echo ( SETUP_SIEGE / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=545">Angriff</a></td><td> <?php echo ( SETUP_ATTACK / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=555">Raubzug</a></td><td> <?php echo ( SETUP_RAID / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=554">Spionage</a></td><td> <?php echo ( SETUP_SPY / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=553">Unterst&uuml;tzen</a></td><td> <?php echo ( SETUP_SUPPORT / 60); ?></td>
+</tr>
+<tr>
+    <td><a href="hilfe.php?Page=783">Stationieren</a></td><td> <?php echo ( SETUP_MOVE / 60); ?></td>
+</tr>
+<tr>
+    <td>Heimschicken</td><td> <?php echo ( SETUP_RETURN / 60); ?></td>
+</tr>
+</table>
+</p>
 <hr><h1>Unterst&uuml;tzung</h1><hr>
 Um einem Mitspieler gegen einen Angreifer zu helfen, kann man seine Truppen zur Unterst&uuml;tzung zu ihm schicken. Sie k&auml;mpfen dann automatisch auf der Seite des Verteidigers. <br>
-F&uuml;r eine Unterst&uuml;tzung muss kein <a href="hilfe.php?Page=552">Heerf&uuml;hrer</a> mitgehen. Es werden 
-<?php echo round (300/WORLD_SPEED/60); ?>
+F&uuml;r eine Unterst&uuml;tzung muss ein <a href="hilfe.php?Page=552">Heerf&uuml;hrer</a> mitgehen. Es werden 
+<?php echo ( SETUP_SUPPORT / 60); ?>
  Minuten <a href="hilfe.php?Page=551">Setup-Time</a> ben&ouml;tigt. 
 <hr><h1>Spionage</h1><hr>
 Um sich vor einem Angriff auf einen gegnerischen Spieler einen &Uuml;berblick &uuml;ber seine St&auml;rke zu verschaffen, empfiehlt es sich, ihn vorher zu spionieren. Die daf&uuml;r ben&ouml;tigten Einheiten hei&szlig;en bei beiden V&ouml;lkern - Orks und Menschen - Kundschafter. <br>
-Mit etwas Gl&uuml;ck kann man die vorhandenen Rohstoffe, die im Dorf stehenden Einheiten, die Geb&auml;ude und die Forschungen des Gegners in Erfahrung bringen. Beim Spionieren siehst du immer nur diejenigen Rohstoffe, die du auch bei einem Angriff mitnehmen kannst. Die versteckten Rohstoffe siehst du also nicht. Die Rohstoffe, die sich au&szlig;erhalb des Lagers befinden, siehst du auch nicht - also wenn derjenige Angebote auf dem Marktplatz hat, kannst du diese noch drauf addieren. <br>Doch die Spione k&ouml;nnen dabei auch gefangen genommen werden. Je mehr Spione man schickt, <a href="hilfe.php?Page=561">desto mehr sieht man</a>, aber die Wahrscheinlichkeit, <a href="hilfe.php?Page=560">gefangen genommen zu werden</a>, steigt. <br> Wenn deine Spione beim Sp&auml;hen erwischt werden, erf&auml;hrst du nichts &uuml;ber deinen Gegner, er jedoch &uuml;ber dich, da er deine Sp&auml;her befragt. Also aufpassen, immer so wenig Sp&auml;her wie n&ouml;tig schicken!
+Mit etwas Gl&uuml;ck kann man die vorhandenen Rohstoffe, die im Dorf stehenden Einheiten, die Geb&auml;ude und die Forschungen des Gegners in Erfahrung bringen. Beim Spionieren siehst du immer nur diejenigen Rohstoffe, die du auch bei einem Angriff mitnehmen kannst. Die versteckten Rohstoffe siehst du also nicht. Die Rohstoffe, die sich au&szlig;erhalb des Lagers befinden, siehst du auch nicht - also wenn derjenige Angebote auf dem Marktplatz hat, kannst du diese noch drauf addieren. <br>Doch die Spione k&ouml;nnen dabei auch gefangen genommen werden. Je mehr Spione man schickt, <a href="hilfe.php?Page=561">desto mehr sieht man</a>, aber die Wahrscheinlichkeit, <a href="hilfe.php?Page=560">gefangen genommen zu werden</a>, steigt. <br> Wenn deine Spione beim Sp&auml;hen erwischt werden, erf&auml;hrst du nichts &uuml;ber deinen Gegner, er jedoch &uuml;ber dich, da er deine Sp&auml;her befragt. Also aufpassen, immer so wenig Sp&auml;her wie n&ouml;tig schicken!<br>
+Es werden <?php echo ( SETUP_SPY / 60); ?> Minuten <a href="hilfe.php?Page=551">Setup-Time</a> ben&ouml;tigt. 
 <hr/><h1>Raubzug</h1><hr/>
 <p>
 Du kannst deine Mitspieler angreifen, um ihre Ressourcen zu pl&uuml;ndern oder um ihnen zu schaden. Bei einem Raubzug muss immer der <a href="hilfe.php?Page=550">Held</a> oder ein <a href="hilfe.php?Page=552">Heerf&uuml;hrer</a> mitgehen.  Die <a href="hilfe.php?Page=551">Setup-Time</a> betr&auml;gt 
-<?php echo round (2700/WORLD_SPEED/60); ?> Minuten. <br>
+<?php echo ( SETUP_RAID / 60); ?> Minuten. <br>
 Bei einem Raubzug haben im Normalfall beide Seiten - Angreifer und Verteidiger - weniger Verluste als bei einem <a href="hilfe.php?Page=545">Angriff</a>, da nur 3 Runden lang gek&auml;mpft wird. <br>
 Raubz&uuml;ge k&ouml;nnen bis 10 Minuten vor ihrem Eintreffen beim Ziel noch abgebrochen werden.<br>
 
 N&auml;heres zum Kampfsystem erf&auml;hrst du <a href="hilfe.php?Page=537">hier</a>.<br>
-</p>
+</p>
 <hr><h1>Stationieren</h1><hr>
 Du kannst deine Einheiten in anderen St&auml;dten stationieren. Im Gegensatz zur <a href="hilfe.php?Page=553">Unterst&uuml;tzung</a> ist dies aber nur in deinen eigenen St&auml;dten m&ouml;glich, nicht in denen von anderen Spielern. Ein weiterer Unterschied ist, dass du die Einheiten, die du in einer anderen Stadt stationierst, von dieser Stadt aus weiter verschicken kannst, was bei der Unterst&uuml;tzung nicht m&ouml;glich ist. Vorraussetzung f&uuml;r das Stationieren von Einheiten ist, dass in der betroffenen Stadt gen&uuml;gend <a href="hilfe.php?Page=541">Nahrungsreserven</a> vorhanden sein m&uuml;ssen.<br> F&uuml;r eine Stationierung muss kein <a href="hilfe.php?Page=552">Heerf&uuml;hrer</a>  mitgehen. Es werden 
-<?php echo round (300/WORLD_SPEED/60); ?> Minuten <a href="hilfe.php?Page=551">Setup-Time</a> ben&ouml;tigt. 
+<?php echo ( SETUP_MOVE / 60); ?> Minuten <a href="hilfe.php?Page=551">Setup-Time</a> ben&ouml;tigt. 
 
 Sind all diese Bedingungen erf&uuml;llt, kannst du im "Allianz"-Dialog im Men&uuml; "Diplomatie" der anderen Allianz den Krieg erkl&auml;ren.<br>
 Wurde eine Kriegserkl&auml;rung ausgesprochen, so gelten die unten beschriebenen Regeln. Befindet sich eine Allianz im Krieg, so wird dies durch ein Axtsymbol auf der Webseite angezeigt. Klickt man auf dieses Symbol, gelangt man automatisch auf eine &Uuml;bersichtsseite, auf der der aktuelle Kriegsverlauf nachvollzogen werden kann.
 </p>
-<h3>Die ersten 12 Stunden eines Krieges</h3>
+<h3>Die ersten <?php echo WAR_WARMUP / 60; ?> Stunden eines Krieges</h3>
 <ul>
 <li>
-Innerhalb der ersten 12 Stunden, nachdem die Kriegserkl&auml;rung ausgesprochen wurde, kann diejenige Allianz, die den Krieg erkl&auml;rt hat, die Drohung noch zur&uuml;ckziehen
+Innerhalb der ersten <?php echo WAR_WARMUP / 60; ?> Stunden, nachdem die Kriegserkl&auml;rung ausgesprochen wurde, kann diejenige Allianz, die den Krieg erkl&auml;rt hat, die Drohung noch zur&uuml;ckziehen
 </li>
 <li>
-Innerhalb der ersten 12 Stunden,  nachdem die Kriegserkl&auml;rung ausgesprochen wurde, muss jede der beiden beteilgten Allianzen drei F&auml;hnchen platzieren - mehr dazu weiter unten.
+Innerhalb der ersten <?php echo WAR_WARMUP / 60; ?> Stunden,  nachdem die Kriegserkl&auml;rung ausgesprochen wurde, muss jede der beiden beteilgten Allianzen drei F&auml;hnchen platzieren - mehr dazu weiter unten.
 </li>
 </ul>
 <h3>Platzieren der F&auml;hnchen</h3>
 In jedem Dorf darf nur maximal ein F&auml;hnchen pro Krieg stehen. Ein Spieler darf aber auch zwei oder gar drei F&auml;hnchen haben. F&auml;hnchen aus verschiedenen Kriegen d&uuml;rfen auch in einem Dorf gemeinsam platziert werden.
 </li>
 <li>
-Jede Allianz hat nach der Kriegserkl&auml;rung 12 Stunden Zeit die F&auml;hnchen zu platzieren. Wurden nach Ablauf der Frist nicht alle F&auml;hnchen gesetzt, so werden sie vom System automatisch im jeweils gr&ouml;&szlig;ten Dorf der drei gr&ouml;&szlig;ten Spieler der Allianz platziert.
+Jede Allianz hat nach der Kriegserkl&auml;rung <?php echo WAR_WARMUP / 60; ?> Stunden Zeit die F&auml;hnchen zu platzieren. Wurden nach Ablauf der Frist nicht alle F&auml;hnchen gesetzt, so werden sie vom System automatisch im jeweils gr&ouml;&szlig;ten Dorf der drei gr&ouml;&szlig;ten Spieler der Allianz platziert.
 </li>	
 </ul>
 <h3>W&auml;hrend des Krieges:</h3>
 <ul>
 <li>Jede beteiligte Allianz kann jederzeit aufgeben. Der Krieg wird dann sofort beendet. </li>
 <li>Gelingt es einer der Allianzen, alle drei F&auml;hnchen des Gegners zu rauben, wird der Krieg beendet. </li>
-<li> Trifft keiner der beiden F&auml;lle zu, wird der Krieg nach 7 Tagen autmatisch beendet. </li>
+<li> Trifft keiner der beiden F&auml;lle zu, wird der Krieg nach <?php echo WAR_DURATION / 24; ?> Tagen autmatisch beendet. </li>
 </ul>
 <h3>Punkte und Gewinner</h3>
 Zum Abschluss des Krieges werden alle  k&auml;mpferischen Handlungen w&auml;hrend des Krieges gewertet. 
 </li>
 	<li>Jedes vom Gegner erbeutete F&auml;hnchen gibt zus&auml;tzlich Punkte, und zwar 0,5 % der Punkte, die die gegnerische Allianz zum Zeitpunkt der Kriegserkl&auml;rung hatte. Diese Punkte werden erst nach Ende des Krieges berechnet und nicht zum Zeitpunkt des Fahnenraubes. </li>
 	<li>f&uuml;r jeden Tag, den die Allianz den Krieg fr&uuml;her beenden konnte (durch das Rauben der F&auml;hnchen) gibt es zus&auml;tzliche Punkte:
-	<div><span class="formula"> (eigene Punkte des Krieges + (eigene Punkte des Krieges *  eigentlich verbleibendeTage / 7 ) * 0,5)</span></div></li>
-	<li>Wurde die Kriegserkl&auml;rung innerhalb der ersten 12 Stunden noch zur&uuml;ckgezogen, so gibt es f&uuml;r keine der Allianzen Punkte, der Krieg wird nicht gewertet</li>
+	<div><span class="formula"> (eigene Punkte des Krieges + (eigene Punkte des Krieges *  eigentlich verbleibendeTage / <?php echo WAR_DURATION / 24; ?>) * 0,5)</span></div></li>
+	<li>Wurde die Kriegserkl&auml;rung innerhalb der ersten <?php echo WAR_WARMUP / 60; ?> Stunden noch zur&uuml;ckgezogen, so gibt es f&uuml;r keine der Allianzen Punkte, der Krieg wird nicht gewertet</li>
 	<li>Hat eine der Allianzen aufgegeben, so werden der anderen Allianz automatisch soviele Punkte gut geschrieben, wie ihre drei F&auml;hnchen wert w&auml;ren. Die Allianz, die aufgegeben hat, bekommt 0 Punkte - egal, wieviele Punkte sie während des Krieges bekommen hat. </li>
 	<li>Diejenige Allianz, die nach allen Berechnungen mehr Punkte hat, gilt als der Gewinner des Krieges</li>
 </ul>
 <h3>Nach dem Krieg</h3>
 <p>
-Nach dem Krieg gibt es eine 7-t&auml;gige Phase des Waffenstillstands. In dieser Zeit k&ouml;nnen die beiden Allianzen sich einander keinen Krieg erkl&auml;ren.
+Nach dem Krieg gibt es eine <?php echo WAR_COOLDOWN / 24; ?>-t&auml;gige Phase des Waffenstillstands. In dieser Zeit k&ouml;nnen die beiden Allianzen sich einander keinen Krieg erkl&auml;ren.
 </p>
 </p>
 <h3>Gruppenangriff starten</h3>
 <p>
-Einer der Spieler (der, der am l&auml;ngsten zum Ziel braucht) muss den Gruppenangriff anf&uuml;hren. W&auml;hle dazu in der Landansicht (auf das gegnerische dorf zentriert) die Option "Gruppenangriff", oder klicke im "Einheiten schicken"-Dialog auf "Gruppenangriff". W&auml;hle dann wie gewohnt deine Einheiten aus, die mitgehen sollen, und klicke auf "Absenden".
+Einer der Spieler (der, der am l&auml;ngsten zum Ziel braucht) muss den Gruppenangriff anf&uuml;hren. W&auml;hle dazu in der Landansicht (auf das gegnerische dorf zentriert) die Option "Gruppenangriff", oder klicke im "Einheiten schicken"-Dialog auf "Gruppenangriff". W&auml;hle dann wie gewohnt deine Einheiten aus, die mitgehen sollen, und klicke auf "Absenden".<br>
+Die <a href="hilfe.php?Page=551">Setup-Time</a> betr&auml;gt <?php echo ( SETUP_GROUP_LEAD / 60); ?> Minuten.
 </p>
 <h3>Andere Spieler einladen</h3>
 <p>
 	<li>... dass immer die Forschungen von jedem einzelnen Spieler gelten, nicht die vom Anf&uuml;hrer des Angriffs</li>
 	<li>... dass immer derjenige den Angriff anf&uuml;hren muss, der am l&auml;ngsten zu dem Ziel braucht</li>
 </ul>
-</div>
+</div>
 </p>
 <h3>Die Eroberung selbst</h3>
 <p>
-Eine Eroberung dauert sehr viel l&auml;nger als ein normaler Angriff (die Setuptime betr&auml;gt <?php echo round (43200/WORLD_SPEED/60); ?> Minuten) und ist dementsprechend auch teurer. <br>
+Eine Eroberung dauert sehr viel l&auml;nger als ein normaler Angriff (die <a href="hilfe.php?Page=551">Setup-Time</a> betr&auml;gt <?php echo (SETUP_SIEGE / 60); ?> Minuten) und ist dementsprechend auch teurer. <br>
 Sobald die Einheiten am Au&szlig;enposten ankommen, findest ein normaler Kampf statt. Wenn alle verteidigenden Einheiten vernichtet werden k&ouml;nnen, geh&ouml;rt der Au&szlig;enposten dir. Beachte aber, dass deine angreifenden Einheiten wieder zur&uuml;ckkehren - sinnvoll ist es, Einheiten als Unterst&uuml;tzung hinterherzuschicken, damit der neue Au&szlig;enposten verteidigt wird. <br><br>
 Der Au&szlig;enposten wird dann der Stadt zugewiesen, aus der der Angriff ausgef&uuml;hrt wurde. Das Rohstoffeinkommen dieser Stadt erh&ouml;hrt sich dann entsprechend.
 </p>

File merchant/merchant_functions.php

 
 function calcDuration ($dist, $me)
 {
-	$time = $dist /($me->merchant_speed * WORLD_SPEED);
+	$time = $dist /($me->merchant_speed * WORLD_MERCH_SPEED);
 
 	$hours = (int) $time;
 	$rest = $time - $hours;
 	$merchants_here = $me->activevillage->merchants - $merchants_gone;
 }
 
-?>
+?>

File merchant/merchant_info.php

 	</tr>
 	<tr>
 		<td class="iterate">
-			H&auml;ndlergeschwindigkeit: <?php echo prettynumber((int)($me->merchant_speed * WORLD_SPEED)) ?> Felder pro Stunde
+			H&auml;ndlergeschwindigkeit: <?php echo prettynumber((int)($me->merchant_speed * WORLD_MERCH_SPEED)) ?> Felder pro Stunde
 		</td>
 	</tr>
 </table>
 			}
 		}
 		echo "</table>";
-	}
+	}

File merchant/merchants_calculations.php

                     $distance = sqrt ($distance_a + $distance_b);
 
                     //calculate duration
-                    $time = $distance / ($me->merchant_speed * WORLD_SPEED);
+                    $time = $distance / ($me->merchant_speed * WORLD_MERCH_SPEED);
 
                     $timestring = calcDuration($distance, $me);
                 }
                             $distance = sqrt ($distance_a + $distance_b);
 
                                 //calculate duration
-                            $time = $distance /($me->merchant_speed) / WORLD_SPEED;
+                            $time = $distance /($me->merchant_speed) / WORLD_MERCH_SPEED;
 
 
                         //CHECKME is this really necessary?

File osdependencies.php

+<?php
+
+/* osdependencies.php - code for os interoperability 
+ *
+ * Copyright (C) 2010 Simone Schaefer
+ *
+ * This file is part of Selador, a browser-based fantasy strategy game
+ *
+ * This program is distributed under the terms of the GNU Affero General Public License.
+ *
+ *
+ *   Selador is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU Affero General Public License as published by
+ *   the Free Software Foundation, either version 3 of the License, or
+ *   any later version.
+ *
+ *   Selador is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Affero General Public License for more details.
+ *
+ *   You should have received a copy of the GNU Affero General Public License
+ *   along with Selador.  If not, see <http://www.gnu.org/licenses/>.
+ **/
+
+define ("SEPARATOR", ";");
+$cwd = getcwd ();
+//mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
+$cwd = str_replace("\\", "/", $cwd); 
+
+ini_set("include_path", $cwd."/php".SEPARATOR.$cwd."/php/base".SEPARATOR.$cwd."/var/php".SEPARATOR.".");
+?>

File php/base/Krieg.php

 		//type 0 = berechne Ablauf der Frist
 		//type 1 = berechne Ende des Krieges
 		if ($type == 0)
-			return external_calcdur (max (0, ((12*60*60) / WAR_SPEED- $this->remainingTime))); //remainingTime = die Anzahl der Sekunden seit Kriegsbeginn
+			return external_calcdur (max (0, (WAR_WARMUP * 60) - $this->remainingTime)); //remainingTime = die Anzahl der Sekunden seit Kriegsbeginn
 		else
-			return external_calcdur (max (0, (24*60*60*7) / WAR_SPEED - $this->remainingTime));
-	}
-
-	//berechnet, wann die 12-Stunden-Frist am Anfang vorbei ist
-	function getEndOfLimitTime()
-	{
-		$time_end = $this->begin + mktime(12 / WAR_SPEED);
-		return ($time_end);
+			return external_calcdur (max (0, (WAR_DURATION * 60 * 60) - $this->remainingTime));
 	}
 
 	//berechnet, ob der Krieg vorbei ist. (7Tage)
 	function getEndOfWar()
 	{
 		global $gamedb;
-		if ($this->remainingTime>= ((24*60*60*7) / WAR_SPEED) && ($this->over == 0)) // Krieg vorbei?
+		if ($this->remainingTime >= (WAR_DURATION * 60 * 60) && ($this->over == 0)) // Krieg vorbei?
 		{
 			$query = "update wars set over=1,end_of_war=now() where aid1=".$this->aid1. " and  aid2=".$this->aid2;
 			if (!mysql_query ($query) )
 	function setLimit()
 	{
 		//if ($this->remainingTime >= 0)
-		if ($this->remainingTime  >= ((12*60*60) / WAR_SPEED)) // FähncehnFrist vorbei?
+		if ($this->remainingTime  >= (WAR_WARMUP * 60)) // FähncehnFrist vorbei?
 			$this->limit = false;
 		else
 			$this->limit = true;
 		echo '<tr><th>Frist&nbsp;&nbsp;</th><td>';
 		if  (($this->limit) == false)
 		{
-			echo 'Die '.round((12 / WAR_SPEED)).'-Stunden-Frist ist abgelaufen, ';
+			echo 'Die ' . WAR_WARMUP . '-Stunden-Frist ist abgelaufen, ';
 			if ($this->over > 0)
 			{
 				echo "der Krieg ist beendet. ";

File php/base/config.inc.sample.php

 define ("WORLD_SPEED", 1.5);
 // Sets the speed for troop movement
 define ("WORLD_UNIT_SPEED", 4);
+// Sets the speed for merchant movement
+define ("WORLD_MERCH_SPEED", 4);
 // This is in _addition_ to WORLD_SPEED (as in WORLD_SPEED*BUILD_SPEED)
 // for land and city building duration
 define ("BUILD_SPEED", 2.0);
-// A factor in all war-related things - untested, do not change yet!
-define ("WAR_SPEED", 1.0);
+
+//Various setup types
+define ("SETUP_GROUP_LEAD", 7200);
+define ("SETUP_GROUP_PART", 3600);
+define ("SETUP_SIEGE", 43200);
+define ("SETUP_ATTACK", 3600);
+define ("SETUP_RAID", 2700);
+define ("SETUP_SPY", 0);
+define ("SETUP_SUPPORT", 300);
+define ("SETUP_MOVE", 300);
+define ("SETUP_RETURN", 0);
+
+// How long is the 'warmup'-period in a war (Minutes)
+define ("WAR_WARMUP", 720);
+// How long is the  war (Hours)
+define ("WAR_DURATION", 168);
+// How long is the  war (Hours)
+define ("WAR_COOLDOWN", 168);
 
 // Are group attacks possible in this world?
 define ("GROUP_ATTACK_POSSIBLE", false);

File php/event.php

 define ("MOVE", 12);
 define ("SIEGE", 13);
 define ("SIEGE_END", 14);
-define ("PLUNDER", 15);
 define ("GROUPATTACK", 18);
 define ("GROUPATTACK_PART", 19);
 define ("GROUPATTACK_INV", 20);

File php/war_functions.php

 function calctimeDiff ($aid1, $aid2, $causer_aid)
 {
 	//berechnet, wieviele tage der krieg "zu früh" beendet wurde
-	$query = "SELECT time_to_sec(TIMEDIFF(adddate(A.begin, interval 7 day),now()))/3600/24 as diff FROM wars A WHERE aid1=".$aid1." AND aid2=".$aid2;
+	$query = "SELECT time_to_sec(TIMEDIFF(adddate(A.begin, interval " . WAR_DURATION . " hour),now()))/3600/24 as diff FROM wars A WHERE aid1=".$aid1." AND aid2=".$aid2;
 	if (!$res = mysql_query($query))
 		log_err  ("war_functions.php: could not check time from now to end of war: ".$query);
 	else

File units/units_send.php

 				$type = GROUPATTACK_PART;
 				$what = "Teilnahme an Gruppenangriff";
 				$commander_needed = true;
-				$setup_time = 3600;
+				$setup_time = SETUP_GROUP_PART;
 				$allflag = 1;
 				$cost_fac = 2;
 				break;
 				$type = GROUPATTACK;
 				$what = "Gruppenangriff";
 				$commander_needed = true;
-				$setup_time = 7200;
+				$setup_time = SETUP_GROUP_LEAD;
 				$allflag = 1;
 				$cost_fac = 2;
 				break;
 				$what = "Heimschicken zu ";
 				$commander_needed = true;
 				$allflag = 0;
-				$setup_time = 0;
+				$setup_time = SETUP_RETURN;
 				$cost_fac = 0;
 				break;
 			case SIEGE:
 				  $type = SIEGE;
 				  $what = "Erobern von ";
 				  $commander_needed = true;
-				  $setup_time = 43200;
+				  $setup_time = SETUP_SIEGE;
 				  $allflag = 1;
                 }
                 else
 				  $type = ATTACK;
 				  $what = "Angriff auf ";
 				  $commander_needed = true;
-				  $setup_time = 3600;
+				  $setup_time = SETUP_ATTACK;
 				  $allflag = 1;
 				break;
 			case RAID:
 				  $type = RAID;
 				  $what = "Raubzug auf ";
 				  $commander_needed = true;
-				  $setup_time = 2700;
+				  $setup_time = SETUP_RAID;
 				  $allflag = 1;
 				  break;
 			case SUPPORT:
 				  $type = SUPPORT;
 				  $what = "Unterst&uuml;tzung für ";
 				  $commander_needed = true;
-				  $setup_time = 300;
+				  $setup_time = SETUP_SUPPORT;
 				  $cost_fac = 4;
 				  $allflag = 0;
 				  break;
 				  $type = SPY;
 				  $what = "Aussp&auml;hen von ";
 				  $commander_needed = false;
-				  $setup_time = 0;
+				  $setup_time = SETUP_SPY;
 				  $allflag = 1;
 				  if ((int)$u[$spy_byrace[$me->race]] == 0)
 				    $send_err = "Keine Sp&auml;her angewählt";
 				$type = MOVE;
 				$what = "Stationieren in ";
 				$commander_needed = false;
-				$setup_time = 300;
+				$setup_time = SETUP_MOVE;
 				$cost_fac = 1;
 				$allflag = 0;
 				break;
 
 														$dist = sqrt ( (($x - $me->activevillage->x) * ($x - $me->activevillage->x)) + (($y - $me->activevillage->y) * ($y - $me->activevillage->y)));
 														$dur = (int)(($dist/$slowest_speed)*3600 / WORLD_UNIT_SPEED);
-														// If not supporting or spying, add setup time
-														$dur += (int)($setup_time / WORLD_UNIT_SPEED);
+														// Add setup time
+														$dur += $setup_time;
 
 														// For participation in group attacks we need some additional checks
 														if ($type == GROUPATTACK_PART)
 				if ($f == 0)
 					$output = "Deine Allianz befindet sich derzeit nicht im Krieg";
 				else
-					$output = "Deine Allianz hat in den letzten 7 Tagen keine Kriege beendet";
+					$output = "Deine Allianz hat in den letzten " . WAR_COOLDOWN . " Tagen keine Kriege beendet";
 				echo "<span id=\"bug\">".$output."</span>";
 			}
 			else