blob: f6e2a37c1d6d829deb64b611e85f47691f797798 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001WieldFunc()
2===========
3
4FUNKTION
5--------
6::
7
8 int WieldFunc(object weapon, int silent, object user);
9
10DEFINIERT IN
11------------
12::
13
14 eigenen Objekten (fuer /std/weapon/combat)
15
16ARGUMENTE
17---------
18::
19
20 weapon (object)
21 Die Waffe, die gezueckt werden soll.
22 silent (int)
23 Ob dabei eine Meldung ausgegeben werden soll.
24 user (object)
25 Das Lebewesen, welches die Waffe zuecken will.
26
27BESCHREIBUNG
28------------
29::
30
31 In dieser Funktion kann man zusaetzliche Abfragen vornehmen, ob sich
32 die Waffe <weapon> von <user> zuecken laesst oder nicht.
33
34RUeCKGABEWERT
35-------------
36::
37
38 0, wenn die Waffe nicht gezueckt werden kann, sonst ungleich 0.
39
40BEMERKUNGEN
41-----------
42::
43
44 Selbst wenn man einen Wert ungleich Null zurueckgibt, ist das noch
45 keine Garantie, dass sich die Waffe auch wirklich zuecken laesst! Der
46 Spieler koennte zum Beispiel noch eine Waffe gezueckt haben, die sich
47 nicht wegstecken laesst, etc.
48 Wenn ihr sicher sein wollt, dass der Spieler ein Objekt gezueckt hat,
49 benutzt bitte InformWield().
50 Bitte nicht drauf verlassen, dass this_player() das Lebewesen ist,
51 welches die Waffe zuecke will.
52 Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user>
53 erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert
54 Objekte zu aendern.
55
56BEISPIELE
57---------
58::
59
60 Eine Waffe, die sich nicht von Zwergen zuecken laesst:
61
62 inherit "std/weapon";
63
64 #include <properties.h>
65 #include <combat.h>
66
67 create()
68 {
69 ::create();
70
71 ... /* zig SetProp's, um die Waffe zu konfigurieren */
72
73 /* WieldFunc() ist in der Waffe selbst zu finden */
74 SetProp(P_WIELD_FUNC, this_object());
75 }
76
77 int WieldFunc(object weapon, int silent, object user)
78 {
79 /* Nicht-Zwerge duerfen die Waffe zuecken */
80 if (user->QueryProp(P_RACE) != "Zwerg")
81 return 1;
82
83 /* Ansonsten sagen wir evtl., warum das Zuecken nicht klappt... */
84 if (!silent)
85 write( "Deine kleinen Haendchen koennen den Griff nicht "+
86 "umklammern.\n");
87
88 /* ...und brechen das Zuecken ab. */
89 return 0;
90 }
91
92SIEHE AUCH
93----------
94::
95
96 P_WIELD_MSG, P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
97 DoWield(), DoUnwield(), InformUnwield(), InformWield()
98 UnwieldFunc, WieldFunc
99 /std/weapon/combat.c
100
101
10202.02.2009, Zesstra
103