示例#1
0
void set_floor(int x) {
   destination = x;

   tell_room(this_object(), "The elevator starts moving.\n");

   switch (location) {
      case 0:
         open = "closed";
         remove_exit("east");
         break;
      case 1:
         open = "open";
         remove_exit("east");
         add_exit("east", DIR + "/rooms/wiz_hall.c");
         break;
      case 2:
         open = "open";
         remove_exit("east");
         add_exit("east", DIR + "/rooms/church.c");
         break;
      case 3:
         remove_exit("east");
         add_exit("east", DIR + "/rooms/attic.c");
         open = "open";
         break;
   }
}
示例#2
0
void set_floor(int x) {
   destination = x;
   switch (location) {
      case 0:
         open = "closed";
         remove_exit("east");
         break;
      case 1:
         open = "open";
         remove_exit("east");
         add_exit("east", DIR + "/rooms/wiz_hall.c");
         break;
      case 2:
         open = "open";
         remove_exit("east");
         add_exit("east", DIR + "/rooms/church.c");
         break;
      case 3:
         remove_exit("east");
         add_exit("east", DIR + "/rooms/attic.c");
         open = "open";
         break;
   }
}
示例#3
0
文件: move.c 项目: Shea690901/cdlib
/*
 * Function name: load_room
 * Description  : Finds a room object for a given array index.
 * Arguments    : int index - of the file name entry in the room_exits array.
 * Returns      : object - pointer to the room corresponding to the argument
 *                         or 0 if not found.
 */
object
load_room(int index)
{
    mixed droom;
    string err;
    object ob;

    droom = check_call(room_exits[index]);
    if (objectp(droom))
    {
	return droom;
    }

    /* Handle linkrooms that get destructed, bad wizard... baa-aad wizard. */
    if (!stringp(droom))
    {
	remove_exit(room_exits[index + 1]);
	this_player()->move_living("X", query_link_master());
	return 0;
    }

    ob = find_object(droom);
    if (objectp(ob))
    {
	return ob;
    }

    if (err = LOAD_ERR(droom))
    {
	SECURITY->log_loaderr(droom, environment(this_object()),
			      room_exits[index + 1], this_object(), err);
	write("Err in load:" + err + " <" + droom +
	    ">\nPlease make a bugreport about this.\n");
	return 0;
    }
    return find_object(droom);
}
示例#4
0
void reset() {
 ::reset();
remove_exit("out");
}