// Room: /d/snow/weapon_storage.c

inherit ROOM;

void create()
{
	set("short", "竟纗旅");
	set("long", @LONG
硂琌丁帮骸Α竟瘪纗旅Α猌竟常ㄌ酚贺摸
祏ㄌΩ癬揽眔剐ぃ琕纗旅玭娩
癸オも娩Τ琜(shelf)
LONG
	);
	set("exits", ([
		"south" : __DIR__"school2",
	]));
	set("objects", ([
		__DIR__"npc/obj/bamboo_sword": 1,
	]) );
	set("item_desc", ([
		"shelf": "硂琜亢亢ぐ或⊿Τ硈η剐⊿Τ\n"
	]) );

	setup();
}

void init()
{
	add_action("do_push", "push");
}

void check_trigger()
{
	object room;

	if( (int)query("left_trigger")==3
	&&	(int)query("right_trigger")==5
	&&	!query("exits/down") ) {
		message("vision", "狾┛礛祇羘遏絯絯簿笆帝臩顶辫\n",
			this_object() );
		set("exits/down", __DIR__"secrect_storage");
		if( room = find_object(__DIR__"secrect_storage") ) {
			room->set("exits/up", __FILE__);
			message("vision", "ぱ狾┛礛祇羘臩顶辫\n",
				room );
		}
		delete("left_trigger");
		delete("right_trigger");
		call_out("close_passage", 10);
	}
}

void close_passage()
{
	object room;

	if( !query("exits/down") ) return;
	message("vision", "狾┛礛祇羘遏絯絯簿笆帝盢硄笵籠\︘\n",
		this_object() );
	if( room = find_object(__DIR__"secrect_storage") ) {
		room->delete("exits/up");
		message("vision", "ぱ狾┛礛祇羘顶辫絯絯Μ\n",
			room );
	}
	delete("exits/down");
}


int do_push(string arg)
{
	string dir;

	if( !arg || arg=="" ) return 0;

	if( arg=="shelf" ) {
		write("刚帝崩笆硂琜オ菲笆....\n");
		return 1;
	}
	if( sscanf(arg, "shelf %s", dir)==1 ) {
		if( dir=="right" ) {
			message_vision("$N盢琜┕崩...┛礛池羘琜簿︗\n", this_player());
			add("right_trigger", 1);
			check_trigger();
			return 1;
		} else if( dir=="left" ) {
			message_vision("$N盢琜┕オ崩...┛礛池羘琜簿︗\n", this_player());
			add("left_trigger", 1);
			check_trigger();
			return 1;
		} else {
			write("璶盢琜崩êよ\n");
			return 1;
		}
	}
}


void reset()
{
	::reset();
	delete("left_trigger");
	delete("right_trigger");
}
