string namen, ret; int reload_room(object ob) { string name; object *stuff; name=base_name(ob); stuff = deep_inventory(ob); foreach(object item in stuff){ if(!interactive(item) && !interactive(environment(item)) && !interactive(environment(environment(item))) ) item->eventDestruct(); } ob->eventDestruct(); load_object(name); return 1; } int query_night_light(object ob){ string file; string filename = base_name(ob)+".c"; namen = filename; if(file_size(filename) < 1) return -1; file = unguarded( (: read_file(namen) :) ); if(strsrch(file,"SetNightLight") != -1) return 1; else return 0; } int query_day_light(object ob){ string filename = base_name(ob)+".c"; if(file_size(filename) < 1) return -1; if(strsrch(read_file(filename),"SetDayLight") != -1) return 1; else return 0; } int query_ambient_light(object ob){ string filename = base_name(ob)+".c"; if(file_size(filename) < 1) return -1; if(strsrch(read_file(filename),"SetAmbientLight") != -1) return 1; else return 0; } string opposite_dir(string str){ switch(str){ case "north" : ret = "south";break; case "south" : ret = "north";break; case "east" : ret = "west";break; case "west" : ret = "east";break; case "northeast" : ret = "southwest";break; case "northwest" : ret = "southeast";break; case "southeast" : ret = "northwest";break; case "southwest" : ret = "northeast";break; case "up" : ret = "down";break; case "down" : ret = "up";break; default : ret = "";break; } return ret; }