blob: bf01ae921ca6c8b04ba1db07994b2aaafd33d8e7 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002RemoveFunc()
Zesstra953f9972017-02-18 15:37:36 +01003************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 int RemoveFunc(object ruest, int info, object user);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 eigenen Objekten (fuer /std/clothing/wear)
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 ruest (object)
22 Die Ruestung/Kleidung, die ausgezogen werden soll.
23 info (int)
24 Bei (info&M_SILENT) wird keine Meldung ueber das Ausziehen
25 ausgegeben.
26 Bei (info&M_NOCHECK) wird die Kleidung ausgezogen, egal was diese
27 Funktion zurueckgibt. Dies tritt insbesondere dann auf, wenn der
28 Spieler, der die Ruestung traegt, stirbt und die Ruestung in
29 die Leiche bewegt wird.
30 user (object)
31 Das Lebewesen, welches die Ruestung/Kleidung gerade traegt und sie
32 ausziehen will.
MG Mud User88f12472016-06-24 23:31:02 +020033
MG Mud User88f12472016-06-24 23:31:02 +020034
Zesstra953f9972017-02-18 15:37:36 +010035BESCHREIBUNG
36============
MG Mud User88f12472016-06-24 23:31:02 +020037
Zesstra953f9972017-02-18 15:37:36 +010038 Mit dieser Funktion kann man pruefen, ob sich das Kleidungsstueck bzw.
39 Ruestung <ruest> von this_player() ausziehen laesst oder nicht.
40 Kann die Ruestung ausgezogen werden, so muss ein Wert ungleich 0
41 zurueckgegeben werden.
MG Mud User88f12472016-06-24 23:31:02 +020042
MG Mud User88f12472016-06-24 23:31:02 +020043
MG Mud User88f12472016-06-24 23:31:02 +020044
Zesstra953f9972017-02-18 15:37:36 +010045 Diese Funktion meldet nur einen _Wunsch_ an. Dieser kann ignoriert
46 werden (z.B. bei bestimmten Bewegungen, Tod des Spielers etc.).
47 Unabhaengig vom Wert dieser Funktion kann das Ausziehen noch Scheitern
48 oder Erzwungen werden.
49 Wenn ihr sicher sein wollt, dass der Spieler ein Objekt angezogen hat,
50 benutzt bitte InformUnwear().
MG Mud User88f12472016-06-24 23:31:02 +020051
Zesstra953f9972017-02-18 15:37:36 +010052
53RUeCKGABEWERT
54=============
55
56 0, wenn sich die Ruestung nicht ausziehen laesst, ansonsten ungleich 0.
57
58
59BEMERKUNGEN
60===========
61
62 Verfluchte Ruestungen, die sich erst nach Entfernung des Fluches wieder
63 ausziehen lassen, sollte man besser mit P_CURSED realisieren (man spart
64 die RemoveFunc() ein).
65 Bitte nicht drauf verlassen, dass this_player() das ausziehende Lebewesen
66 ist.
67 Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user>
68 erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert
69 Objekte zu aendern.
70
71
72BEISPIELE
73=========
74
75 Ein Umhang, den man nur mit guter Einstellung wieder ausziehen kann:
76
77 inherit "std/armour.c";
78
79 #include <properties.h>
80 #include <moving.h>
81
82 create()
83 {
84 ::create();
85
86 SetProp(P_ARMOUR_TYPE, AT_CLOAK);
87 /* zig weitere SetProp's, um den Umhang zu konfigurieren */
88
89 /* RemoveFunc() ist im Umhang selbst zu finden */
90 SetProp(P_REMOVE_FUNC, this_object());
91 }
92
93 int RemoveFunc(object me, int info, object user)
94 {
95 if (user->QueryProp(P_ALIGN) >= 0 || (info&M_NOCHECK))
96 return 1; /* gute Charaktere koennen den Umhang ausziehen */
97
98 /* Ansonsten geben wir evtl. einen entsprechenden Hinweis aus: */
99 if (!(info&M_SILENT))
100 write( "Der Umhang wird von Deiner Bosheit so sehr "
101 +"angezogen, dass Du ihn\nnicht mehr ausziehen kannst!\n");
102 return 0;
103 }
104
105
106SIEHE AUCH
107==========
108
109 P_WEAR_MSG, P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
110 DoUnwear(), DoWear(), InformWear(), InformUnwear()
111 /std/clothing/wear.c
112
MG Mud User88f12472016-06-24 23:31:02 +020011302.07.2013, Zesstra