
QueryPreferedEnemy()
********************


FUNKTION
========

   object QueryPreferedEnemy();


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

   /std/living/combat.c


ARGUMENTE
=========

   keine


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

   bevorzugter Gegner


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

   Diese Funktion liefert unter folgenden Bedingungen zufaellig eines
   der Lebewesen als bevorzugten Gegner zurueck, welche in der
   Property P_PREFERED_ENEMY in einem Array eingetragen sind:
     (1) Der erste Eintrag des erwaehnten Propertyarrays enthaelt
         einen Wert zwischen 0 und 100, der die Wahrscheinlichkeit
         dafuer angibt, dass ein Lebewesen als Gegner bevorzugt werden
         soll. Es wird also nicht immer bevorzugt, wenn dort ein Wert
         kleiner 100 steht! In diesem Fall wird eine 0 zurueckgegeben.
     (2) Das per Zufall aus den Arrayelementen ab Element 2 gewaehlte
         Lebewesen muss auch wirklich existieren. Ist dies nicht der
         Fall, wird das nunmehr leere Element aus dem Array entfernt
         und eine 0 zurueckgeliefert.
     (3) Das Lebewesen muss derzeit auch wirklich Feind sein! Ist dies
         nicht der Fall, wird eine 0 zurueckgegeben.
   Will man eine andere Bevorzugung von Gegnern erreichen,
   ueberschreibt man am besten diese Funktion.


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

   SelectEnemy(), IsEnemy(), P_PREFERED_ENEMY

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