blob: 5a013a242945c9246bbffa876eb2ecd1468c0c5d [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001WieldFunc()
Zesstra953f9972017-02-18 15:37:36 +01002***********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 int WieldFunc(object weapon, int silent, object user);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 eigenen Objekten (fuer /std/weapon/combat)
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 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.
MG Mud User88f12472016-06-24 23:31:02 +020026
MG Mud User88f12472016-06-24 23:31:02 +020027
Zesstra953f9972017-02-18 15:37:36 +010028BESCHREIBUNG
29============
MG Mud User88f12472016-06-24 23:31:02 +020030
Zesstra953f9972017-02-18 15:37:36 +010031 In dieser Funktion kann man zusaetzliche Abfragen vornehmen, ob sich
32 die Waffe <weapon> von <user> zuecken laesst oder nicht.
MG Mud User88f12472016-06-24 23:31:02 +020033
MG Mud User88f12472016-06-24 23:31:02 +020034
Zesstra953f9972017-02-18 15:37:36 +010035RUeCKGABEWERT
36=============
MG Mud User88f12472016-06-24 23:31:02 +020037
Zesstra953f9972017-02-18 15:37:36 +010038 0, wenn die Waffe nicht gezueckt werden kann, sonst ungleich 0.
MG Mud User88f12472016-06-24 23:31:02 +020039
MG Mud User88f12472016-06-24 23:31:02 +020040
Zesstra953f9972017-02-18 15:37:36 +010041BEMERKUNGEN
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
56
57BEISPIELE
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
92
93SIEHE AUCH
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
MG Mud User88f12472016-06-24 23:31:02 +020010102.02.2009, Zesstra