blob: 8429a41b186fd6a5176428b9a1d4a56295f92bfb [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_AQUATIC_HELPERS
3*****************
4
5
6NAME
7====
8
9 P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
10
11
12DEFINIERT IN
13============
14
15 <living/helpers.h>
16
17
18BESCHREIBUNG
19============
20
21 Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
22 zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem
23 Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
24 Form zurueckgeliefert:
25 ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
26 Eine Erlaeuterung dazu findet sich in der Dokumentation zu
27 RegisterHelperObject().
28
29
30BEMERKUNGEN
31===========
32
33 Diese Property kann nur abgefragt werden.
34 Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
35 Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
36
37
38BEISPIEL
39========
40
41 Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
42 beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
43 einen Wert >0 eingetragen haben und prueft deren Anzahl:
44
45 mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
46 object* helpers = filter( aquatic, function int (object h) {
47 return (aquatic[h]>0); });
48 if ( sizeof(helpers) ) {
49 tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
50 "stellst ueberrascht fest, dass Du mit Hilfe "+
51 helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
52 }
53 else {
54 tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
55 }
56
57
58SIEHE AUCH
59==========
60
61 Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
62 Properties: P_HELPER_OBJECTS, P_AERIAL_HELPERS
63
6406.04.2016, Arathorn