Source

Selador / php / base / Krieg.php

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
<?php

/* Krieg.php - a class for war tracking and resolution
 *
 * Copyright (C) 2006, 2007, 2008 Kevin Read, 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/>.
 **/

// TODO: kread: This should probably be rewritten to use unique war IDs instead of the
// approach we use now.

require_once("php/war_functions.php");
class Krieg
{
	public $aid1;
	public $aid2;
	public $beginner;
	public $tag1;
	public $tag2;
	public $begin;
	public $limit;
	public $endOfWar;
	public $remainingTime;
	public $niceRemainingTime;
	public $over;
	public $causer;
	public $flag_score1;
	public $flag_score2;
	public $winner;
	public $score1;
	public $score2;

	function Krieg($aid1, $aid2, $beginner, $tag1, $tag2, $begin, $remainingTime, $over, $causer, $niceRemainingTime, $flag_score1, $flag_score2, $own_aid,$score1,$score2 )
	{
		$this->flag_score1 = $flag_score1;
		$this->flag_score2 = $flag_score2;
		$this->aid1 = $aid1;
		$this->aid2 = $aid2;
		$this->own_aid = $own_aid;
		$this->beginner = $beginner; // welche aid hat den krieg gestartet?
		$this->tag1 = $tag1;
		$this->tag2 = $tag2;
		$this->begin = $begin; //Kriegsanfang
		$this->remainingTime = $remainingTime; // enthält die Zeit in Sekunden, die seit kriegsbeginn abgelaufne ist
		$this->over = $over;
		$this->limit = $this->setLimit(); // ist die Frist schon abgelaufen?(1->frist läuft noch, 0->Frist vorbei)
		if ($this->over == 0)
			$this->endOfWar = $this->getEndOfWar(); // ist der Krieg vorbei? (1-> Krieg ist vorbei, 0->Krieg läuft noch)
		$this->own_flags = array();
		$this->foreign_flags = array();
		$this->niceRemainingTime = $niceRemainingTime;
		$this->causer = $causer; //wer ist fuer das ende des Krieges verantwortlich?
		if ($this->causer == $this->aid1 )
			$this->causer_tag = $this->tag1;
		else
			$this-> causer_tag = $this->tag2;
		$this->score1 = $score1;
		$this->score2 = $score2;

		/*
		over-werte:
			* 0: der Krieg läuft noch
			* 1: der Krieg ist zeitlich bedingt vorbei
			* 10:  der Krieg ist vorbei, weil eine der Allianzen alle F&auml;hnchen geklaut hat
			* 20: der Krieg ist vorbei, weil einer der Allianzen aufgegeben hat
			*30: der Krieg ist vorbei, weil aid1 abgesagt gat
		*/
	}

	//diese funktion liest uns alle fähnchen ein
	function getFlags($own_aid)
	{
		global $world;
		$query = "SELECT A.*, B.name, B.x,B.y, C.user, C.uid, C.aid, D.name as current_name, D.x as current_x, D.y as current_y, E.user as curr_user, E.uid as current_uid, E.aid as current_aid FROM war_flags AS A , village AS B, user AS C, village AS D, user as E WHERE  (aid1=".$this->aid1." AND aid2=".$this->aid2.") AND A.villageid=B.villageid AND B.uid=C.uid and A.current_villageid=D.villageid AND D.uid=E.uid";
		if (!$res=mysql_query($query))
		{
			echo "<span id=\"bug\">Datenbankfehler beim Auslesen der F&auml;hnchen!</span>";
			return false;
		}
		else
		{
			while ($row = mysql_fetch_array($res))
			{
			//alle folgenden daten beziehen sich darauf, wo das fähnchen ursprünglich war
				$villageid = $row['villageid'];
				$name = $row['name'];
				$user = $row['user'];
				$uid = $row['uid'];
				$aid = $row['aid'];
			//alle folgenden Daten beziehen sich darauf, wo sich das Fähnchen JETZT befindet
				$z = ($world->sizex * $row['y']) + $row['x'];
				$current_villageid = $row['current_villageid'];
				$current_name = $row['current_name'];
				$curr_user = $row['curr_user'];
				$current_uid = $row['current_uid'];
				$current_aid = $row['current_aid'];
				$current_troopid = $row['current_troopid'];
				$current_z = ($world->sizex * $row['current_y']) + $row['current_x'];


			//Fähnchenobjekte setzen
				if ($own_aid == $aid)
					$this->own_flags[] = new Flag($villageid, $z, $name, $user, $uid, $aid, $current_villageid, $current_z, $current_name, $curr_user, $current_uid, $current_aid, $current_troopid);
				else
					$this->foreign_flags[] = new Flag($villageid, $z, $name, $user, $uid, $aid, $current_villageid, $current_z, $current_name, $curr_user, $current_uid, $current_aid, $current_troopid);
			}
		}
	}

	//berechnet, wieviel Zeit noch bis zum Ende des Ablaufs der 12-Stunden-Frist bleibt
	function getRemainingTime($type)
	{
		//type 0 = berechne Ablauf der Frist
		//type 1 = berechne Ende des Krieges
		if ($type == 0)
			return external_calcdur (max (0, (WAR_WARMUP * 60) - $this->remainingTime)); //remainingTime = die Anzahl der Sekunden seit Kriegsbeginn
		else
			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 >= (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) )
				log_err ("Krieg.php: Cannot set war end:".$query);
			$this->over = 1;
			log_debug("Could not set war end: ".$query.mysql_error());
			//allynews speichern
			$query = "insert into allyactions (aid1,aid2,uid1,uid2,stamp,type) values (".$this->aid1.", ".$this->aid2.", NULL, NULL, now(), 23), (".$this->aid2.", ".$this->aid1.", NULL, NULL, now(), 23)";
			if (!mysql_query($query))
			{
				log_err("war.php: couldnot insert allynews when cancelling war: ".$query);
			}
			//temporaere statistik updaten
			$query="SELECT A.*, B.name, C.user, C.uid, C.aid, D.name as current_name, E.user as curr_user, E.uid as current_uid, E.aid as current_aid FROM war_flags AS A , village AS B, user AS C, village AS D, user as E WHERE  (aid1=".$this->aid1." AND aid2=".$this->aid2.") AND A.villageid=B.villageid AND B.uid=C.uid and A.current_villageid=D.villageid AND D.uid=E.uid";
			if (!$res=mysql_query($query))
			{
				log_err ("Krieg.php:  cannot check end of war???.. ".$query);
			}
			else
			{
				while ($row = mysql_fetch_array($res))
				{
					if ($row['aid1'] == $row['aid'])
					{
						if ($row['aid'] != $row['current_aid'])
						{
							$stolen_flags1[] = $row['current_villageid'];
						}
					}
					else
					{
						if ($row['aid'] != $row['current_aid'])
						{
							$stolen_flags2[] = $row['current_villageid'];
						}
					}
				}
				$query = "update war_stats_tmp set score1=score1+(".$this->flag_score2."*".count($stolen_flags2).") where aid1=".$this->aid1;
				if (!mysql_query($query))
					log_err ("Krieg.php: Could not update warstats! ".$query);
				$query = "update war_stats_tmp set score2=score2+(".$this->flag_score1."*".count($stolen_flags1).") where aid2=".$this->aid2;
				if (!mysql_query($query))
					log_err ("Krieg.php: Could not update warstats! ".$query);

				// Add ally reload diplomacy event
				$query = "update user set changed=changed,flags=flags|4 where aid in (".$this->aid1.",".$this->aid2.")";

				if (!$gamedb->query ($query))
					log_err ("Cannot add ally reload diplomacy flags after war ends. Query: ".$query.", ".$gamedb->error ());

			}
			calcStats($this->aid1, $this->aid2);
		}
	}

	//setzt ggf den boolean limit auf false, sobald die 12-Stunden-Frist abgelaufen ist.
	function setLimit()
	{
		//if ($this->remainingTime >= 0)
		if ($this->remainingTime  >= (WAR_WARMUP * 60)) // FähncehnFrist vorbei?
			$this->limit = false;
		else
			$this->limit = true;
	}

	/* automatisches platzieren der flaggen*/
	function placeFlags($own_aid, $who)
	{

		//who sagt, ob eigene fähnchen platziert werden müpssen oder fremde. 2 = fremde flags, 1 = eigene

		if ($who == 1)
			$aid_slept = $own_aid;
		else
		{
			if ($own_aid == $this->aid1)
				$aid_slept = $this->aid2;
			else
				$aid_slept = $this->aid1;
		}
		//zunächst die drei besten spieler aus der allianz raussuchen
		$query = "select uid from user where aid=".$aid_slept." order by score DESC limit 3";
		if (!$res = mysql_query($query))
		{
			log_err("Krieg.php: Placing of flags did not work. ".$query);
			echo "Fehler beim automatischen Setzen der F&auml;hnchen".$query;
		}
		else
		{
			$query_anfang = "select villageid,uid,name,max(score) from (select villageid,uid,name,score from village as A where uid in (";
			while ($row = mysql_fetch_array($res))
			{
				if (isset ($query_mitte))
					$query_mitte .= " , ";
				$query_mitte .= $row['uid'];
			}
			$query = $query_anfang.$query_mitte.") AND outpost_of=0 order by uid, score desc) as V group by uid ";
			if (!$res = mysql_query($query))
			{
				echo "fehler beim Automatischen Setzen der F&auml;hnchen (Schritt2)".$query;
				log_err("Krieg.php. Fehler bim autmatischen Setzen der.. Query. ".$query);
			}
			else
			{
				//echo $query;
				unset($query_mitte);
				if ($who == 1)
					$flag_array = $this->own_flags;
				else
					$flag_array = $this->foreign_flags;
				$flags_placed = count ($flag_array); // anzahl der bereits gesetzten fähnchen
				$query_anfang = "insert into war_flags (aid1,aid2,villageid,current_villageid) values ";
				$to_delete = array();
				while ($row = mysql_fetch_array($res))
				{
					for ($j=0;$j <= 3; $j++)
					{
						if (count($flag_array) > 0)
						{
							foreach ($flag_array as $current_flag)
							{
								/*if ($current_flag->uid == $row['uid']) // wenn dieser spieler  schon ein fähnchen bekommen hat, bekommt er nicht noch eins
									continue;
								else
								{
									$to_delete[] = $row['villageid'];
								}*/
								if ($current_flag->uid == $row['uid'])
									$to_delete[] = $row['villageid'];

							}
						}
					}
					$village_array[] = $row['villageid'];
				}
				$i = 0;
				foreach ($village_array as  $key=>$village)
				{
					if (($flags_placed  + $i) == 3) //wenn schon 3 fähnchen gesetzt wurden, hören wir auf
						break;
					if (in_array($village, $to_delete))
						continue;
					if (isset($query_mitte))
						$query_mitte .= ", ";
					$query_mitte .= "(".$this->aid1.", ".$this->aid2.", ".$village.",".$village.")";
					$i++;
				}
				$query = $query_anfang . $query_mitte;
				if (!mysql_query($query))
				{
					log_err("Krieg.php: Somethin strange happened when placing flags: ".$query);
					echo "<span id=\"bug\">Etwas ungl&uuml;ckliches ist beim Platzieren der F&auml;hnchen passiert!</span>";
				}
				else
					echo "<span id=\"plus\">...Erfolg!</span>";
			}
		}
	}

/***********************************************************
 Interface-Funktionen fuer die HTML-Ausgabe
***********************************************************/
//setzt eine simple Linie
	function setLine()
	{
		//echo '<tr><td colspan="2"><img src="styles/'.$_SESSION['theme'].'/line_thin.gif" width="100%" height=\"1px\"></td></tr>';

	}

	function getAllyLink($aid, $tag)
	{
		if ($tag == NULL)
			return ("gel&ouml;scht");
		else
			return ('<a href="allianz.php?a='.$aid.'">'.$tag.'</a>');
	}
//setzt den Titel
	function setTitle()
	{
		echo '<table width="98%"><tr><td colspan="2">
				<h3><img src="styles/'.$_SESSION['theme'].'/kriege.gif">'.$this->getAllyLink($this->aid1, $this->tag1).' vs. '.$this->getAllyLink($this->aid2, $this->tag2).'</h3>
			</td></tr>
		';
	}

//Gibt aus, wann wer den Krieg erklärt hat
	function setBegin()
	{
		echo '<tr><th width="220px">So ging\'s los...</th>
				<td><a href="allianz.php?a='.$this->aid1.'">'.$this->tag1.'</a> erkl&auml;rt <a href="allianz.php?a='.$this->aid2.'">'.$this->tag2.'</a>
					am '.$this->niceRemainingTime.' den Krieg</td>
			</tr>';
	}

//Gibt aus, ob die 12-Stunden-Frist abgelaufen ist oder nicht
	function setLimitInfo($perms, $aid, $id)
	{
		echo '<tr><th>Frist&nbsp;&nbsp;</th><td>';
		if  (($this->limit) == false)
		{
			echo 'Die ' . WAR_WARMUP / 60 . '-Stunden-Frist ist abgelaufen, ';
			if ($this->over > 0)
			{
				echo "der Krieg ist beendet. ";
			}
			else
			{
				echo 'der Krieg ist in vollem Gange! <br>Voraussichtliches Kriegsende: In <span id="timer'.$id.'">'.$this->getRemainingTime(1).'</span> Stunden.';
			}
		}
		else
		{
			if ($this->over != 0)
			{
				echo "Die Frist ist zwar noch nicht vorbei- der Krieg aber schon. ";
			}
			else
			{
				echo "Die Kriegserkl&auml;rung kann noch zur&uuml;ckgezogen werden. ";
				if ($this->beginner == true)
				{
					if ($perms & 16)
					{
						$this->setCancelForm($perms);
					}
					else
						echo "... aber nur von einem, der was zu sagen hat! <br>";
				}
				else
				{
					echo "... aber nur von der Allianz, die ihn erkl&auml;rt hat! <br>Am besten trefft ihr euch mal auf ein Bier und redet &uuml;ber alles!";
				}
				echo "<br>Verbleibende Zeit: <span id=\"timer".$id."\">".$this->getRemainingTime(0)."</span>";
			}
		}
		echo "</td></tr>";
	}


//generiert das Formular zum Krieg-Absagen
	function setCancelForm($perms)
	{
		if (($perms & 16 )&&($this->limit) && ($this->over==0))
		{
			echo ' Wenn du die Kriegserkl&auml;rung zur&uuml;ckziehen m&ouml;chtest, klicke hier: <br><input type="radio" value="'.$this->aid1 .'_'.$this->aid2 .'" name="cancel_really">Ja, ich wei&szlig;, was ich tue!
			<input type="submit" name="cancel_war" value="Zur&uuml;ckziehen">
				';
		}
	}
//gibt eine Select-Liste aller Allianzmitglieder aus. Value = uid
	function generateMemberList($own_aid)
	{
		$query = "select U.uid, U.user, U.aid from user as U where U.aid=".$own_aid;
		echo "<select name=\"allyMembers['".$this->aid1."_".$this->aid2."']\" class=\"inhalt\">";
			//<optgroup label="Spieler ausw&auml;hlen.."></optgroup>';

		if (!$res=mysql_query($query))
			echo "<span id=\"bug\">Fehler beim Auslesen der Allianzmitglieder</span>";
		else
		{
			while ($row = mysql_fetch_array($res))
			{
				$ally_members[$row['uid']] = $row['user'];
			}
			foreach ($ally_members as $uid => $ally_member)
			{
				echo '
					<option value="'.$uid.'">'.$ally_member.'</option>';
			}
		}
		echo '
			</select>';
	}
//genereiert das Formular um Fähnchen zu setzen
	function setPlaceFlagForm($perms, $own_aid)
	{
		if (($perms & 16) && ($this->limit))
		{
			echo '<br>
				<input type="radio" name="setFlags" value="'.$this->aid1."_".$this->aid2.'"> Jetzt setzen<br>
				';
			$this->generateMemberList($own_aid);
			echo " Dorfnamen eingeben: <input type=\"text\" name=\"village['".$this->aid1."_".$this->aid2."']\" size=\"8\">
				<input type=\"submit\" name=\"place\" value=\"Setzen\">";
		}
	}

//diese Funktion erstellt das Formular um Aufzugeben
	function setAssignmentForm($perms,$own_aid)
	{
		 echo '<tr><th> Aufgeben</th><td>';
		if (($perms & 16) && ($this->over == 0))
		{
			echo '
			<input type="radio" name="assign_what" value="'.$this->aid1."_".$this->aid2.'">
			Genug! Es reicht!
			<input type="submit" value="Aufgeben" name="assign">
		';
		}
		else
		{
			echo 'Aufgabe nicht m&ouml;glich - ';
			if ($this->over >0)
				echo 'Der Krieg ist vorbei!';
			else
				echo ' Du hast nicht die Rechte dazu';
		}
		echo '</td></tr>';

	}

//Gibt aus, welche  von den eigenenFähnchen schon gesetzt wurden
	function setOwnFlagInfo($perms, $own_aid)
	{
		echo '<tr><th>Eigene F&auml;hnchen <br>(je ';
		if ($own_aid == $this->aid1)
			echo $this->flag_score1;
		else
			echo $this->flag_score2;
		echo ' Punkte)</th><td>';
		if (count($this->own_flags) > 0)
		{
			$i = 0;
			foreach ($this->own_flags as $flag)
			{
				echo '
				<img src="map/overland/da.gif" height="16px">
				<a href="land.php?z='.$flag->z.'">'.$flag->name.'</a>
				(<a href="profile.php?u='.$flag->uid.'">'.$flag->user.'</a>)';
				if ($flag->villageid != $flag->current_villageid)
				{
					echo '. <br>Zur Zeit in  ';
					if ($flag->aid != $flag->current_aid)
					{
						//echo '<br><span id="bug">=> Sie haben uns unser F&auml;hnchen geklaut!</span>';
						echo '<img src="map/overland/da5.gif" height="16px">';
					}
					else
					{
						echo '<img src="map/overland/da.gif" height="16px">';
					}
					echo '<a href="land.php?z='.$flag->current_z.'">'.$flag->current_name."</a> ( <a href=\"profile.php?u=".$flag->current_uid."\">".$flag->curr_user."</a>)";
				}

				if ($flag->current_troopid)
					echo ', derzeit noch unterwegs.';
				//echo '<br>';
				if ($i < 2)
					echo '<hr>';

				$i++;
			}
		}
		if (($i < 3)&&($this->limit) && ($this->over==0))
		{
			//echo 'Noch nichts gesetzt<br>
			//';
			if ($perms & 16)
				$this->setPlaceFlagForm($perms, $own_aid);
		}
		if (($i < 3)&&(!$this->limit) && ($this->over == 0))
		{
			echo "Die Frist zum F&auml;hnchensetzen ist vorbei. Die F&auml;hnchen, die noch nicht platziert wurden, werden automatisch platziert.";
			$this->placeFlags($own_aid, 1);
		}
		echo '</td></tr>';
	}
//Gibt aus, welche  von den fremden Fähnchen schon gesetzt wurden

	function setForeignFlagInfo($own_aid)
	{
		echo '<tr><th>Gegnerische F&auml;hnchen:<br> (je ';
		if ($own_aid == $this->aid1)
			echo $this->flag_score2;
		else
			echo $this->flag_score1;
		echo ' Punkte)</th><td>';
		if (count($this->foreign_flags) > 0)
		{
			$i = 0;
			foreach ($this->foreign_flags as $flag)
			{
				echo '
				<img src="map/overland/da5.gif" height="16px">
				<a href="land.php?z='.$flag->z.'">'.$flag->name.'</a> (<a href="profile.php?u='.$flag->uid.'">'.$flag->user.'</a> )';
				if ($flag->villageid != $flag->current_villageid)
				{
					echo '. <br>Zur Zeit in  ';
					if ($flag->aid != $flag->current_aid)
					{
						echo  '<img src="map/overland/da.gif" height="16px">';
					}
					else
					{
						echo  '<img src="map/overland/da5.gif" height="16px">';
					}
					echo '<a href="land.php?z='.$flag->current_z.'">'.$flag->current_name."</a> (<a href=\"profile.php?u=".$flag->current_uid."\">".$flag->curr_user."</a>)";
				}
				if ($flag->aid != $flag->current_aid)
				{
					//echo '<br><span id="plus">=> Wir haben ihr F&auml;hnchen! Hurra!</span>';
				}
				if ($flag->current_troopid)
					echo ', derzeit noch unterwegs.';
				if ($i < 2)
				 {
					echo '<hr>';
				}
				$i++;
			}
		}
		if (($i < 1) && ($this->limit) && ($this->over == 0))
		{
			echo 'Noch nichts gesetzt!<br>
			';
		}
		if (($i < 3)&&(!$this->limit) && ($this->over== 0))
		{
			echo "Die Frist zum F&auml;hnchensetzen ist vorbei. Die F&auml;hnchen, die noch nicht platziert wurden, werden automatisch platziert.<br>";
			$this->placeFlags($own_aid, 2);
		}

		echo '</td></tr>';
	}

//Gibt den Kriegsstatus aus (vorbei, warum vorbei,...)
	function setWarState()
	{
		echo '<tr><th>Kriegsstatus</th><td>';
		if ($this->over == 0)
			echo "Der Krieg l&auml;uft noch.";
		else
		{
			echo 'Der Krieg ist beendet<br>
			';
			$causer_clickable = '<a href="allianz.php?a='.$this->causer.'">'.$this->causer_tag.'</a>';
			switch ($this->over)
			{
				case 1: echo " Die Zeit ist vorbei."; break;
				case 10: echo $causer_clickable.' hat es geschafft, alle F&auml;hnchen zu rauben. Ihr seid die Gr&ouml;&szlig;ten.';break;
				case 20: echo $causer_clickable.' hat aufgegeben. ' ;break;
				case 30: echo $causer_clickable.' hat gerade noch einmal die Kurve gekriegt und abgesagt.';	break;
			}
			echo '</td></tr>';
		}
	}
	function setScoreForm()
	{
		echo '
			<tr><th>Bisherige Punkte: </th>
			<td>
				<table>
					<tr>
						<td>'.$this->tag1.':</td>
						<td>'.$this->score1.' Punkte</td>
					</tr>
					<tr>
						<td>'.$this->tag2.':</td>
						<td>'.$this->score2.' Punkte</td>
					</tr>
				</table>
			</td>
			</tr>
					';
	}


}
?>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.