blob: ba2e05fc89287b311ed48f3a2155fe9cf15e68f3 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// armour/moving.c -- armour moving object
4//
5// $Id: moving.c,v 3.3 1998/03/02 08:34:57 Paracelsus Exp $
6
7#pragma strict_types
8#pragma save_types
9#pragma no_clone
10#pragma pedantic
11#pragma range_check
12
13inherit "/std/thing/moving";
14
15#define NEED_PROTOTYPES 1
16
17#include <thing/properties.h>
18#include <properties.h>
19#include <moving.h>
20#include <defines.h>
21#include <clothing.h>
22
23/* Bekleidung muss vor Bewegung und Zerstoerung ausgezogen werden */
24
25varargs int move(mixed dest, int method ) {
26 // ggf. Ausziehen
27 if (objectp(QueryProp(P_WORN)))
28 DoUnwear(method & (M_SILENT|M_NOCHECK));
29
30 if ((method&M_NOCHECK) || (!(object)QueryProp(P_WORN)))
31 return ::move(dest, method);
32
33 return ME_CANT_BE_DROPPED;
34}
35
36varargs int remove(int silent) {
37 // ggf. Ausziehen
38 if (objectp(QueryProp(P_WORN)))
39 DoUnwear(M_SILENT|M_NOCHECK);
40
41 if (!(object)QueryProp(P_WORN))
42 return ::remove(silent);
43 // Ausziehen hat irgendwie nicht geklappt. :-(
44 return 0;
45}
46