SelectFarEnemy()
****************


FUNKTION
========

   varargs object SelectFarEnemy(object *here, int min, int max,
                                 int forcefrom)


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

   /std/living/team.c


ARGUMENTE
=========

   here       - Rueckgabewert von PresentEnemies()
   min        - minimale Kampfreihe
   max        - maximale Kampfreihe
   forcefrom  - Gegner MUSS aus uebergebenem Array ausgewaehlt werden


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

   Waehlt einen Feind aus Reihe <min> bis <max> aus.


RUECKGABEWERT
=============

   Der Auserwaehlte :-)


BEMERKUNGEN
===========

   1. Wenn in den angegeben Reihen kein Feind ist oder <max> kleiner
      als <min> ist, wird auch keiner zurueckgegeben.
   2. Aus Effizienzgruenden sollte forcefrom nur benutzt werden, wenn
      es wirklich noetig ist (s. hierzu auch SelectNearEnemy()).
   3. 0 <= <min> <= <max> < MAX_TEAMROWS


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

   Uebersicht: teamkampf
   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
               P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
               P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
   Bewegung:   IsTeamMove, TeamFlee
   Mitglieder: IsTeamLeader, TeamMembers
   Kampf:      AssocMember, DeAssocMember, InsertEnemyTeam,
               SelectNearEnemy
   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
               PresentTeamPosition, SwapRows
   Sonstiges:  TeamPrefix, teamkampf_intern

Last modified: 16-08-2010, Gabylon
