
AddDefender()
*************


FUNKTION
========

   void AddDefender(object friend);


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

   /std/living/combat.c


ARGUMENTE
=========

   friend
     Objekt (normal Lebewesen), welches zukuenftig ueber Angriffe
     informiert werden soll oder diese sogar abwehrt.


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

   Ein Lebewesen, welches angegriffen wird, kann andere Objekte ueber
   einen solchen Angriff per InformDefend() informieren oder ihnen
   sogar die Moeglichkeit geben, per DefendOther() direkt in den
   laufenden Angriff einzugreifen (Schaeden abwehren oder umwandeln).
   Im Normalfall handelt es sich hierbei um andere Lebewesen, welche
   als Verteidiger des angegriffenen Lebewesens auftreten: Daher der
   Name der Funktion.
   Die Objekte sind in Form eines Arrays in der Property P_DEFENDERS
   abgespeichert und koennen dort abgerufen werden. Natuerlich kann
   man weitere Objekte direkt dort eintragen, jedoch sollte man die
   hierfuer bereitgestellte Funktionen AddDefender() verwenden.
   Zum Loeschen von Eintraegen im Array steht ebenfalls eine Funktion
   bereit: RemoveDefender().


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

   RemoveDefender(), InformDefend(), DefendOther(),
   P_DEFENDERS, /std/living/combat.c

Last modified: Thu Jul 29 18:48:45 1999 by Patryn
