blob: 400f960cb4f3133fb96dabc80e6723200560384b [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001StopHuntText()
2==============
3
4FUNKTION
5--------
6::
7
8 void StopHuntText(object arg);
9
10DEFINIERT IN
11------------
12::
13
14 /std/living/combat.c
15
16ARGUMENTE
17---------
18::
19
20 arg
21 Der Gegner, welcher nicht mehr bekaempft wird.
22
23BESCHREIBUNG
24------------
25::
26
27 Mit der Funktion StopHuntFor() kann man ein Lebewesen als Gegner
28 austragen. Dabei erhalten sowohl der Gegner, als auch das Lebewesen,
29 welches (einseitig!) Frieden schliesst, jeweils eine Meldung, sofern
30 man dies nicht mittels eines Flags unterbindet.
31 Es ist nun moeglich, auf diese Meldung Einfluss zu nehmen, indem
32 man die Funktion StopHuntText() ueberschreibt, welche dafuer
33 verantwortlich ist.
34
35BEISPIEL
36--------
37::
38
39 Ein Lebewesen moechte einen Kampf sofort abbrechen, wenn es von
40 einem Frosch angegriffen wird:
41 int Defend(int dam,mixed dam_type,mixed spell,object enemy)
42 { if(enemy&&enemy->QueryProp(P_FROG))
43 { if(StopHuntFor(enemy))
44 { // wenn Frosch angreifen will, der noch kein Gegner war
45 tell_object(arg,
46 this_object()->Name(WER)+" kaempft nicht mit Dir.\n"
47 +"Wahrscheinlich werden Froesche verschont.\n");
48 tell_object(this_object(),
49 "Der bloede Frosch wollte Dich doch tatsaechlich angreifen.\n");
50 }
51 enemy->StopHuntFor(this_object(),1);
52 return 0;
53 }
54 return::Defend(dam,dam_type,spell,enemy);
55 }
56 // wird nur aufgerufen, wenn der Gegner irgendwann Frosch wurde
57 void StopHuntText(object arg)
58 { tell_object(arg,
59 this_object()->Name(WER)+" jagd Dich nicht mehr.\n"
60 +"Wahrscheinlich werden Froesche verschont.\n");
61 tell_object(this_object(),
62 "Dein Gegner ist doch tatsaechlich ploetzlich Frosch geworden!\n");
63 }
64 Warum braucht man nun das erste StopHuntFor(), wenn doch Gegner erst
65 in ::Defend() eingetragen werden, welches doch gar nicht ausgefuehrt
66 wird, wenn der Gegner ein Frosch ist? Man beachte hierbei, dass der
67 Gegner ja auch waehrend des Kampfes oder waehrend der Feindschaft
68 irgendwann Frosch werden koennte und dann schon Gegner war.
69
70SIEHE AUCH
71----------
72::
73
74 StopHuntFor(), SelectEnemy(), QueryEnemies(), IsEnemy()
75
76
77Last modified: Wed May 26 16:47:51 1999 by Patryn
78