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
