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