mud/lib/secure/obj/floodmapper.c
2020-09-06 05:43:07 -07:00

60 lines
1.1 KiB
C

#include <lib.h>
#include <daemons.h>
#include ROOMS_H
inherit LIB_FLOW;
void create() {
::create();
set_heart_beat(1);
SetDoorStopped(0);
enable_commands();
set_heart_beat(1);
SetHBOverride(1);
}
void init(){
::init();
}
void heart_beat(){
::heart_beat();
set_heart_beat(1);
}
int GetMapper(){
return 1;
}
int GetPressure(){
return 5;
}
int eventMove(mixed dest){
int ret;
string *avoids = ({ "/domains/town/virtual/space",
"/domains/town/virtual/surface",
"/domains/town/virtual/sub", "/domains/town/virtual/bottom" });
object envr = environment();
string location, sdest;
if(objectp(dest)) sdest = base_name(dest);
else sdest = dest;
foreach(mixed avoid in avoids){
if(!strsrch(sdest, avoid)){
this_object()->eventDestruct();
return 0;
}
}
if(envr){
if(clonep(envr)) location = file_name(envr);
else location = base_name(envr);
}
if(location) this_object()->SetProperty("LastLocation", location);
ret = ::eventMove(dest);
return ret;
}