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