
PreventFollow()
***************


FUNKTION
========

   int PreventFollow(object dest)


ARGUMENTE
=========

   dest:
      Zielobjekt, in das der Verfolgte bewegt werden soll.


FUNKTION
========

   In jedem Verfolger, der mit AddPursuer in die Liste der Verfolger
   eingetragen wurde, wird vor dem Bewegen in das Zielobjekt die
   Funktion PreventFollow mit dem Zielobjekt als Argument aufgerufen.


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

   0:
      Verfolger darf in das Zielobjekt folgen

   1:
      Verfolger darf in dieses Zielobjekt nicht folgen (Verfolgung
      bleibt weiterhin aktiv)

   2:
      Verfolger darf in dieses Zielobjekt nicht folgen (Verfolgung
      wird abgebrochen und Verfolger aus der Verfolgerliste
      ausgetragen)


BEISPIELE
=========

   Man moechte, dass nur dann verfolgt wird, wenn das Ziel im gleichen
   Gebiet liegt, wie man selber (wenn __PATH__(1) das
   Gebietsverzeichnis ist):

   int PreventFollow(object ziel) {

      if (strstr(load_name(ziel), __PATH__(1)) != 0)
         return 1;

   }


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

   * AddPursuer(), RemovePursuer()
