blob: f06e0da04159c961d887f2a085e8a7a8a1fe6454 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// living/moving.c -- moving of living objects
4//
5// $Id$
6#pragma strong_types
7#pragma save_types
8#pragma range_check
9#pragma no_clone
10#pragma pedantic
11
12inherit "/std/living/moving";
13
14#include <hook.h>
15#define NEED_PROTOTYPES
16#include <moving.h>
17
18//<int|<string|closure>* >* GuardExit(object room, int hookid,
19// <string|closure>* hdata)
20//{
21//}
22
23protected int _reg_exit_hook(object dest, object oldenv)
24{
25 closure cl = symbol_function("GuardExit", this_object());
26 if (cl)
27 {
28 if (oldenv)
29 oldenv->HUnregisterFromHook(H_HOOK_EXIT_USE, cl);
30 return dest->HRegisterModifier(H_HOOK_EXIT_USE, cl);
31 }
32 return 0;
33}
34// Krams nach dem Move machen und nebenbei zum Ueberschreiben.
35protected void NotifyMove(object dest, object oldenv, int method)
36{
37 _reg_exit_hook(dest, oldenv);
38 return ::NotifyMove(dest, oldenv, method);
39}