SetEnemies()
************


FUNKTION
========

   mapping SetEnemies(object *myenemies);


DEFINIERT IN
============

   /std/living/combat.c


ARGUMENTE
=========

   myenemies
        Array: ({Gegnerarray, Zeitenarray})


RUeCKGABEWERT
=============

   Internes Mapping mit bekannten Gegnern und Zeiten.


BESCHREIBUNG
============

   Normalerweise fuegt man einzelne Gegner mittels InsertEnemy() ein und
   loescht alte Feinde mittels StopHuntFor().

   Um jedoch mit einem Schlag viele Veraenderungen vorzunehmen, kann man
   die Funktion SetEnemies() nutzen.

   Ihr uebergibt man ein Array mit einem Array mit den gewuenschten Gegnern
   als und einem zweiten, gleichgrossen Array mit den Zeiten, wie lange
   diese Gegner aktuell sein sollen, als Eintraege.

   Die Funktion traegt diese Werte als Gegner mit entsprechender
   Feindeszeit ein.


SIEHE AUCH
==========

   InsertEnemy(), StopHuntFor(), SelectEnemy(), PresentEnemies()

10.Feb 2005 Gloinson
