blob: 3dad9664b122b2b649189826998190a53ce01856 [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
MG Mud User88f12472016-06-24 23:31:02 +020010#pragma range_check
11
12inherit "/std/thing/moving";
13
14#define NEED_PROTOTYPES 1
15
16#include <thing/properties.h>
17#include <properties.h>
18#include <moving.h>
19#include <defines.h>
20#include <clothing.h>
21
22/* Bekleidung muss vor Bewegung und Zerstoerung ausgezogen werden */
23
24varargs int move(mixed dest, int method ) {
25 // ggf. Ausziehen
26 if (objectp(QueryProp(P_WORN)))
27 DoUnwear(method & (M_SILENT|M_NOCHECK));
28
bugfixaf2be4f2020-03-22 19:13:07 +010029 if ((method&M_NOCHECK) || (!QueryProp(P_WORN)))
MG Mud User88f12472016-06-24 23:31:02 +020030 return ::move(dest, method);
31
32 return ME_CANT_BE_DROPPED;
33}
34
35varargs int remove(int silent) {
36 // ggf. Ausziehen
37 if (objectp(QueryProp(P_WORN)))
38 DoUnwear(M_SILENT|M_NOCHECK);
39
bugfixaf2be4f2020-03-22 19:13:07 +010040 if (!QueryProp(P_WORN))
MG Mud User88f12472016-06-24 23:31:02 +020041 return ::remove(silent);
42 // Ausziehen hat irgendwie nicht geklappt. :-(
43 return 0;
44}
45