//swiped from the Thieves' Guild room with modifications - Rue
/*combat classroom*/
/*
 * This is the central combat room. Newbies enter here and are then escorted
 * to a training room to practice on the dummy.  Greg controls who gets
 * put in which room. To add more rooms, just create them and then add them to
 * gregs arrays of available rooms.
 */
#include "path.h"
#define MAX 100;
inherit "/std/room/basic_room";
inherit PATH+"common";
object instructor;
object sign;
void setup() {
  set_zone( "Newbie" );
  set_short("Combat Training Room");
  add_property("determinate", "");
  set_light( 75 );
  add_property("no teleport", 1);
  
  set_long("This is a small training room, designed to help the new "
           "adventurer get off to a good start on Discworld.  The air is "
           "stale with the combined stench of sweat, beer, and old "
           "warriors.  There is a small sign attached to the wall.\n");
  add_item( "floor", "The floor is made of flagstones, cemented together "
            "with centuries of accumulated muck.\n");
  add_item( "wall", "The walls are marked with mysterious stains that may or "
            "may not be blood.  But surely training dummies don't bleed.\n");
  add_item( "ceiling", "The ceiling appears to be dingy patches of plaster "
            "stuck between old oak rafters that have turned black with "
            "age.\n");
  /* Make it so you cannot godmother out of here */
  add_property("no godmother", 1);
  add_exit( "foyer", PATH + "foyer", "door" );
  add_alias( "southwest", "foyer");
  add_exit("one", PATH + "combat_room1", "door");
  add_exit("two", PATH+"combat_room2", "door");
  add_exit("three", PATH+"combat_room3", "door");
  modify_exit("one", ({"function", "check_room", "closed", 1,
                         "look", "It is the door to training room one.\n"}));
  modify_exit("two", ({"function", "check_room", "closed", 1,
                         "look", "It is the door to training room two.\n"}));
  modify_exit("three", ({"function", "check_room", "closed", 1,
                         "look", "It is the door to training room three.\n"}));
  
}
void reset() {
  if(!sign) {
    sign=add_sign("This is a sign stuck to the wall.  It contains "
                  "instructions on how to use this room.\n",
                  "Welcome to the newbie combat area!  If you would like "
                  "to practice your combat skills just ask Greg.  To do "
                  "this say \"can I practice please\".\n",
                  0, "sign");
  }
}
void dest_me() {
  if(sign)
    sign->dest_me();
  
  if(instructor)
    instructor->dest_me();
  ::dest_me();
}
void init() {
  call_out("get_instructor", 0);
}
void get_instructor() {
  if(!instructor)
    instructor = load_object(PATH +"greg");
  
  if(instructor && environment(instructor) != this_object()) {
    instructor->move( this_object(), "$N marches in from another room.");
  }
}/*get_instructor*/
int check_room(string str, object ob, string special_mess) {
  int room;
  switch(str) {
  case "one":
    room = 0;
    break;
  case "two":
    room = 1;
    break;
  case "three":
    room = 2;
  }
  if(ob == instructor)
    return 1;
  
  if(!instructor || instructor->query_using(room) != ob) {
    tell_object(ob, "The door slams closed in your face.\n");
    modify_exit("one", ({ "closed", 1}));
    return notify_fail("");
  }
  return 1;
}