
FindDistantGroups()
*******************


FUNKTION
========

   varargs mixed FindDistantGroups(object pl, int dist, int dy, int dx)


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

   /std/spellbook.c


ARGUMENTE
=========

   pl   - Caster
   dist - Entfernung
   dy   - Tiefe      (default 100)
   dx   - Breite     (default 100*MAX_TEAM_ROWLEN)


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

   Ermitteld feindliche (bei Spielern NPCs, bei NPCs Spieler) und
   freundliche (bei Spielern Spieler, bei NPCs NPCs) Lebewesen,
   die sich in Entfernung <dist> in einem Bereich der Breite <dx>
   und Tiefe <dy> befinden.


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

   Array mit zwei Arrays als Inhalt:
   ({ feindliche Lebewesen, freundliche Lebewesen })


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

   Die Entfernungsangaben sind als cm. zu verstehen.
   Jedes Lebewesen belegt 50cm x 50cm mit Abstand 50cm
   zum naechsten Lebewesen in jeder Richtung.
   Die Breitenangabe wirkt sich nur in der Anzahl der
   Lebewesen aus, die zufaellig pro Reihe ausgewaehlt werden.
   Die Skillattribute SA_RANGE und SA_EXTENSION werden beruecksichtigt.


BEISPIEL
========

   dist=200, dy=200, dx=200, ein Punkt = 50cm x 50cm
      . . . . . . . . . . . . .
   3. . . . . . . G . . . . . .
      . . . . . . . . . . . . .
   2. . . . . . G . G . . . . .dist+dy/2-+
      . . . . . . . . . . . . .          |
   1. . . . . G . G . G . . . .     dist +-+ (Gegner G)
   ---.-.-.-.-.-.-.-.-.-.-.-.-.          | |
   1. . . . . F . F . F . . . .dist-dy/2-+ | (Freunde F)
      . . . . . . . . . . . . .            |
   2. . . . . . F . S . . . . .------------+ (Reihe des Spielers S)
      . . . . . . . . . . . . .
   3. . . . . . . F . . . . . .
      . . . . . . . . . . . . .
   Abgedeckter Bereich:           100cm  bis  300cm
           Reihe 3:  375cm..425cm         375>300 -> nicht erwischt
           Reihe 2:  275cm..325cm         275<300 -> erwischt
   Gegner  Reihe 1:  175cm..225cm 100<175,225<300 -> erwischt
   Freunde Reihe 1:   75cm..125cm 100<125         -> erwischt
           Reihe 2:  -25cm...25cm 100> 25         -> nicht erwischt
           Reihe 3: -125cm..-75cm 100>-75         -> nicht erwischt
   Ergebnis: ({({G,G,G,G}),({F,F})})
   (Maximal 2 Lebewesen pro Reihe bei Breite 200).


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

   teams, FindDistantGroup
