Automatische Updates
Change-Id: I0ab7d35f550c775bba908b34bdc8fc002e01c2ba
diff --git a/doc/lfun/InformDefend b/doc/lfun/InformDefend
index d6a401e..7fa975d 100644
--- a/doc/lfun/InformDefend
+++ b/doc/lfun/InformDefend
@@ -19,7 +19,7 @@
=========
enemy
- Der Feind, der ein zu verteidigendes Lebewesen angegriffen hat.
+ Der Feind, der ein zu verteidigendes Lebewesen angegriffen hat.
BESCHREIBUNG
@@ -28,15 +28,14 @@
Es ist moeglich, dass Objekte ueber Angriffe auf Lebewesen
informiert werden, sofern diese Objekte bei dem angegriffenen
Lebewesen mittels AddDefender() angemeldet wurden und sich der
- selben Umgebung befinden.
- Zumeist wird es sich bei den Objekten natuerlich ebenfalls um
- andere Lebewesen handeln, die das Lebewesen, bei dem sie angemeldet
- sind, verteidigen sollen.
- Bei einem Angriff auf das Lebewesen werden alle Objekte per Aufruf
- von InformDefend() darueber informiert, wobei der Angreifer als
- Parameter uebergeben wird.
- Standardmaessig ist diese Funktion in Lebewesen bereits definiert,
- wobei der Skill SK_INFORM_DEFEND, sofern vorhanden, aufgerufen wird.
+ selben Umgebung befinden. Zumeist wird es sich bei den Objekten
+ natuerlich ebenfalls um andere Lebewesen handeln, die das
+ Lebewesen, bei dem sie angemeldet sind, verteidigen sollen. Bei
+ einem Angriff auf das Lebewesen werden alle Objekte per Aufruf von
+ InformDefend() darueber informiert, wobei der Angreifer als
+ Parameter uebergeben wird. Standardmaessig ist diese Funktion in
+ Lebewesen bereits definiert, wobei der Skill SK_INFORM_DEFEND,
+ sofern vorhanden, aufgerufen wird.
BEISPIEL
@@ -44,28 +43,40 @@
Sehr beliebt sind in Gilden NPCs, die den Beschwoerer begleiten und
verteidigen, z.B. beschworene Daemonen:
- inherit "std/npc";
- include <properties.h>
- object owner;
- void create()
- { ::create();
- SetProp(P_NAME,"Daemon");
- ...
- }
+
+ inherit "/std/npc";
+
+ #include <properties.h>
+
+ object owner;
+
+ protected void create()
+ {
+ ::create();
+ SetProp(P_NAME,"Daemon");
+ ...
+ }
+
// nach Clonen des Daemons folgende Funktion mit Beschwoerer als
// Parameter aufrufen
- Identify(object caster)
- { if(!objectp(caster))
- call_out(#'remove,0);
- owner=caster;
- owner->AddDefender(this_object());
- }
+
+ void Identify(object caster)
+ {
+ if(!objectp(caster))
+ call_out(#'remove,0);
+ owner=caster;
+ owner->AddDefender(this_object());
+ }
+
// folgende Funktion wird automatisch aufgerufen, wenn der
// Beschwoerer angegriffen wird
- void InformDefend(object enemy)
- { if(!IsEnemy(enemy)&&enemy!=owner)
- Kill(enemy);
- }
+
+ public void InformDefend(object enemy)
+ {
+ if(!IsEnemy(enemy)&&enemy!=owner)
+ Kill(enemy);
+ }
+
Soll der Daemon sich auch in ein Team einordnen, in welchem sich der
Beschwoerer eventuell befindet, so ist zusaetzlich AssocMember() in
diesem Beschwoerer aufzurufen, wobei der Daemon als Parameter
@@ -75,7 +86,8 @@
SIEHE AUCH
==========
- AddDefender(), RemoveDefender(), DefendOther(), Kill(), IsEnemy(),
- P_DEFENDERS, /std/living/combat.c, /sys/new_skills.h
+ AddDefender(), RemoveDefender(), QueryDefenders(),
+ QueryPresentDefenders(), QueryNearDefenders(), DefendOther(),
+ *../props/P_DEFENDER*, /std/living/combat.c
-Last modified: Thu Jul 29 18:48:45 1999 by Patryn
+Letzte Aenderung: 28.10.2022, Bugfix