RemoveDefender()

FUNKTION:
	void RemoveDefender(object friend);

DEFINIERT IN:
	/std/living/combat.c

ARGUMENTE:
	friend
	  Objekt (normal Lebewesen), welches zukuenftig nicht mehr ueber
	  Angriffe informiert werden soll und diese auch nicht mehr 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. Ausserdem besteht die Einschraenkung, dass diese
	Objekte in der gleichen Umgebung sein muessen, wie das zu
	verteidigende Lebewesen.
	Die Objekte sind in Form eines Arrays in der Property P_DEFENDERS
	abgespeichert und koennen dort abgerufen werden. Natuerlich kann
	man alte Objekte direkt dort loeschen, jedoch sollte man die
	hierfuer bereitgestellte Funktionen RemoveDefender() verwenden.
	Zum Hinzufuegen von Eintraegen im Array steht ebenfalls eine
	Funktion bereit: AddDefender().

SIEHE AUCH:
	AddDefender(), InformDefend(), DefendOther(),
	P_DEFENDERS, /std/living/combat.c

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