//
#pragma strict_types

#include "../ostwick.h"

/*
 * TODO, maybe
 */
//inherit STD + "gate_room";

inherit "/std/room";

object gate; 

void
create_room()
{
  ::create_room();

  set_short("West city gate in Ostwick");
  set_long("You're standing next to a city gate embedded into " +
	   "famous double wall of city of Ostwick.\n");

  // See: sman clone_here
  gate = clone_object(OBJ + "ost_west_gate_obj");

  /* why gate -> move_object(this_object()); doesn't work?
   * move_object() is an efun and it's use is discouraged
   * use lfun move() instead.
   */
  // gate -> move_object(this_object()); // DO NOT USE DIRECTLY
  gate -> move(this_object());

  /*
   * We use one gate for two locations.
   */
  //gate->set_other_room("ost_outer_west_gate");
  gate->set_pass_command(({"w", "west"}));
}

void init()
{
  ::init();
  add_action("knock_on_gate", "knock");
}

int knock_on_gate(string cmd)
{
  return 1;
}
