GetEnemies()

FUNKTION:
	mapping GetEnemies();

DEFINIERT IN:
	/std/living/combat.c

ARGUMENTE:
	keine

RUeCKGABEWERT:
	Mapping mit bekannten Gegnern als Schluessel und Zeiten als
	Eintraegen.

BESCHREIBUNG:
	Diese Funktion liefert das interne Mapping zurueck, in dem alle
	Gegner abgespeichert sind. Diese Gegner stellen die Schluessel in
	dem Mapping dar. Als Eintraege sind die Zeiten vermerkt, nach
	welcher Zeit ein Gegner automatisch wieder vergessen werden soll.
	Mehr Informationen dazu sind in der Dokumentation zur aehnlich
	gearteten Funktion QueryEnemies() zu finden, die jedoch zwei Arrays
	getrennte zurueckliefert.
	Achtung: Es wird keine Kopie des Mappings erstellt. Saemtliche
	Veraenderungen in dem Mapping wirken sich unmittelbar auf die
	interne Gegnerliste aus. Die Funktion sollte deshalb nicht genutzt
	werden. Gegner ein- und austragen sollte man nur mittels
	InsertEnemy() und StopHuntFor().

SIEHE AUCH:
	QueryEnemies(), SetEnemies(), InsertEnemy(), StopHuntFor()

----------------------------------------------------------------------------
Last modified: Wed May 26 16:47:51 1999 by Patryn
