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
