-- $Name:Escape The Toilet$
-- $Version:1.1$
game.codepage="UTF-8";
-- game.forcedsc = 'true';
set_music('snd/noise.ogg');

main = room {
	nam = 'На унитазе',
	pic = function(s)
		if look1._state == 0 then
			return 'gfx/intro/ontop.png'
		elseif look1._state < 4 then
			return 'gfx/intro/paper.png'
		elseif look1._state == 4 then
			return 'gfx/intro/dark.png'
		elseif seen 'flush1' then
			return 'gfx/intro/button.png'
		elseif seen 'basin1' then
			if taken 'soap1' then
				return 'gfx/stage1/wash.png'
			end
			return 'gfx/intro/wash.png'
		end
		return 'gfx/intro/stand.png'
	end,
	dsc = [[ Вы не помните, как Вы сюда попали. Вы ещё толком не 
	проснулись. Единственное, что Вы в данный момент способны осознать, что Вы 
	находитесь в своём родном туалете (в своём ли?) и сидите на своём
	любимом унитазе.^^Параноидальные мысли не покидают Вас. 
	Но Вы стараетесь их гнать подальше. Вы вообще в последнее время изо
	всех сил стараететсь быть вменяемым человеком, что (по Вашему мнению)
	у Вас неплохо получается. ...С переменным успехом.
	^^Вы смутно припоминаете, что сюда Вас привело желание непреодолимой
	силы, которое к данному моменту Вы уже успешно удовлетворили, будучи
	в полусознательном сонном состоянии.
	^^Но перед Вами встал логичный вопрос "Что делать дальше?", который 
	собственно и разбудил Ваш (нездоровый?) мозг окончательно.]],
	obj = { 'fake1', 'go1', 'stand1', 'look1', 'tpaper1', 'pants1', 'flush1',
		'basin1', 'soap1'  },

};

fake1 = obj {
	nam = 'Данный момент';
	dsc = [[ На данный момент Вы смогли додуматься только 
	до следующих действий:^]];
};

stand1 = obj {
	nam = 'Встать';
	dsc = [[^{Встать}]];
	act = function(s) 
		if tpaper1._state == 0 then
			return 'Интуиция Вам подсказывает, что Вы чего-то не сделали, что должны были сделать.';
		else
			s:disable();
			look1._state = 4;
			go1:enable();
			main.nam = 'Около унитаза';
			return [[Превозмогая боль в затёкших от долгого сидения ногах, Вы
			всё-таки встали. На минуту у Вас потемнело в глазах]];
		end
	end,

};

look1 = obj {
	nam = 'Осмотреться';
	dsc = '^{Осмотреться}';
	_state = 0;
	act = function(s)
		if s._state == 0 then
			s._state = 1;
			tpaper1:enable();
			p 'Вы увидели, что прямо у Вас под носом висит туалетная бумага';
		elseif s._state == 1 then
			s._state = 2;
			p [[В данный момент всё Ваше внимание привлёк к себе рулон
			туалетной бумаги. Вас беспокоит тот факт, что бумаги на нём уже 
			практически не осталось. Вы так озадачены этой мыслью, что ни на
			что больше смотреть не хотите.]];
		elseif s._state == 2 then
			p [[Ничего кроме туалетной бумаги Вас в данный момент не
			интересует.]];
		elseif s._state == 3 then
			p [[Зачем куда-то смотреть, когда и так хорошо сидится. Вы
			находитесь в самодостаточном состоянии. Но так ли это на самом деле?
			Нормальна ли эта самодостаточность?
			В любом случае можно ещё посидеть. Никто не торопит.]];
		elseif s._state == 4 then
			p [[ В глазах у Вас темно от того, что Вы резко встали
			после долгого сидения. Ничего, сейчас пройдёт. Самое трудное -
			сделать первый шаг.]];
		elseif s._state == 5 then
			pants1:enable();
			p [[ Вы наконец-то увидели, что Ваши неодетые трусы путаются у Вас
			под ногами и мешают Вам ходить.]];
		elseif s._state == 6 or s._state == 8 or s._state == 10 then
			p [[ Вы стоите в трусах посередине туалета. Что тут ещё можно 
			сказать...]];
		elseif s._state == 7 then
			flush1:enable();
			p [[ Оглянувшись назад, Вы замечаете кнопку слива на унитазе.]];
		elseif s._state == 9 then
			basin1:enable();
			soap1:enable();
			p [[ Только необходимость помыть руки заставила Вас разглядеть 
			умывальник, на который Вы раньше не обращали никакого внимания. 
			Впрочем, Вам это простительно, учитывая текущее Ваше состояние.]];
		end
	end,
};

tpaper1 = obj {
	nam = img('gfx/inv/paper.png')..' Бумага';
	dsc = [[^{Взять туалетную бумагу}]];
	tak = 'У Вас появился первый необходимый Вам предмет';
	inv = function(s)
		look1._state = 3;
		s._state = 1;
		s:disable();
		return [[Вы использовали всю бумагу с рулона, коей оставалось чрезывычайно
			мало. Тем не менее Вы остались довольны результатом.]];
	end,
	_state = 0;
}:disable();

flush1 = obj {
	nam = 'Cлив';
	dsc = [[^Нажать {кнопку слива} на унитазе]];
	_state = 0;
	act = function(s)
		s:disable();
		look1._state = 8;
		set_sound('snd/flush.ogg');
		return [[Вы успешно устранили причину запаха]];
	end;
}:disable();


go1 = obj {
	nam = 'Идти';
	dsc = '^{Идти}';
	act = function()
		if look1._state == 4 or look1._state == 5 then
			look1._state = 5;
			return [[Вы чуть не упали. Первый шаг - самый сложный. Что-то
			мешает Вам его сделать.]];
		elseif look1._state == 6 or look1._state == 7 then
			look1._state = 7;
			return [[Вы действительно уже хотите поскорее уйти отсюда.
				Но Вас останавливает неприятный запах и ощущение того, что
				Вы чего-то не сделали, чтобы этого запаха не было.]];
		elseif look1._state == 8 or look1._state == 9 then
			look1._state = 9;
			return [[Внутренний голос Вашего больного разума подсказывает Вам
			помыть руки. Надо всё-таки оставаться культурным человеком. Несмотря
			ни на что.]];
		elseif look1._state == 10 then
			return goto('noexit1');
		end
	end;
}:disable();

pants1 = obj {
	nam = 'Трусы';
	dsc = '^{Одеться}';
	act = function(s)
		s:disable();
		look1._state = 6;
		return [[Вы одели трусы.]];
	end;
}:disable();

basin1 = obj {
	nam = 'Раковина';
	dsc = '^Задействовать {умывальник}';
	act = function(s)
		if have('soap1') then
			remove('soap1', me());
			s:disable();
			look1._state = 10;
			set_sound('snd/wash.ogg');
			return [[Руки успешно вымыты. Вы поняли, что Вы успели вовремя, 
			так как труба загудела, и поток воды начал стремительно
			уменьшаться. С некоторых пор Ваше домоуправление стало экономить
			воду по ночам.]];
		end
		return 'Без мыла наверно это будет неэффективно.'
	end;
}:disable();

soap1 = obj {
	nam = img('gfx/inv/soap.png')..' Мыло';
	dsc = '^Взять {мыло}';
	tak = 'Теперь Вы обладаете мылом.';
	inv = 'Что бы такое намылить?..';
}:disable();




noexit1 = room {
	nam = '...';
	pic = 'gfx/intro/door.png';
	dsc = [[ Вы не можете открыть дверь!..^^Вы заперты!...^^НА ПОМОЩЬ!!!... ]];
	obj = { vway('Далее', '{Далее}', 'intro'); };
	enter = function(s)
		set_music('snd/followme.s3m');
	end;
};


intro = room {
	nam = 'Escape the Toilet';
	pic = 'gfx/intro/title.png';
	dsc = function(s)
		 pn (txtc "Игра^")
		 pn (txtc (txtb([[ "Побег из туалета" ]])))
		 pn (txtc "(теперь в 3D)")
--		 pn (img('gfx/intro/title.png'));
	end;
	obj = { vway('Далее', txtc("^{Удачного Вам прохождения!}^"),  
		'stoilet2'); };
	enter = function(s)
		lifeon('valvecheck2');
	end;
	exit = function(s)
		set_music('snd/nuke-emo.xm');
	end;
		
};

stoilet2 = room {
	nam = 'Туалет - юг';
	dsc = 'Вы стоите посередине туалета лицом к унитазу.';
	pic = function(s)
		local p = 'gfx/stage1/south.png'
		if closetvalve2._s == 0 then
			p = p .. ';gfx/stage1/tvclose.png@200,272';
		end
		return p
	end;
	obj = { 'towel2', 'lwc2' };
	way = { 'ntoilet2', 'ceil2', 'door2'};
};

lwc2 = obj {
	nam = 'Унитаз';
	dsc = 'Вдали виднеется {унитаз}.';
	act = function()
		return goto('wc2');
	end
}

lbasin2 = obj {
	nam = 'Раковина';
	dsc = 'Рядом находится {раковина}.';
	act = function()
		goto('llbasin2');
		return true;
	end;
};

towel2 = obj {
	nam = 'Полотенцедержатель';
	dsc = 'Недалеко от себя Вы наблюдаете {полотенцедержатель}.';
	act = [[Полотенцедержатель... Без полотенца... Вы давно хотели повесить сюда полотенце,
	но из-за Вашей врождённой природной лени он до сих пор пустой. Бесполезная вещь... 
	Хотя никогда не знаешь, когда что может пригодиться.]];
};


ntoilet2 = room {
	nam = 'Туалет - север';
	pic = 'gfx/stage1/north.png';
	dsc = 'Вы повернулись лицом к северной стене.';
	obj = { 'hooks2', 'shelf2', 'lbasin2' };
	way = { 'stoilet2', 'ceil2', 'door2' };
};

wc2 = room {
	nam = 'Унитаз';
	dsc = 'Вы приблизились к унитазу.';
	pic = function(s)
		local p = 'gfx/stage1/toilet.png'
		if closetvalve2._s == 0 then
			p = p .. ';gfx/stage1/ttvclose.png@183,208';
		end
		return p
	end;
	obj = { 'closet2', 'flush2', 'tpaper2'};
	way = { 'ntoilet2', 'stoilet2', 'beyondwc2', 'luk2', 'ceil2'};
};

closet2 = obj {
	nam = 'Унитаз';
	dsc = 'Вы наблюдаете унитаз с закрытой {крышкой}.';
	act = [[Вы открыли крышку унитаза, но ничего интересного внутри не обнаружили.
	В гигиенических и эстетических целях Вы её закрыли.]];
};

flush2 = obj {
	nam = 'Слив';
	dsc = 'На бачке находится {кнопка слива} - в том месте, где ей и положено находиться.';
	act = function()
		if valvecheck2._newthing == 0 then
			return [[Вы нажали кнопку слива, но ничего не произошло. Наверно воду отключили.
			Хорошо, что Вы успели сделать все свои дела.
			^^Несмотря на бесполезность Вашего нажимания, Вы всё-таки верите и надеетесь,
			что эта кнопка может Вам как-то помочь.]];
		else
			return goto('thingfromcloset2');
		end
	end;
};

tpaper_hints = {
	[1] = [["0xB0BA"... Интересно, а как будет выглядеть это число в двоичном
			виде?]];
	[2] = [["0xB0BA"... Помнится, одна 16-ричная цифра - это 4 бита...]];
	[3] = [["0xB0BA"... Вы припоминаете, что 16-ричных цифр всего 16. 
		От 0 до 9, а дальше от A до F.]]; 
	[4] = [["0xB0BA"... Вы смутно помните, что цифра E (то бишь 14) в двоичном
		виде будет 1110.]];
	[5] = [["0xB0BA"... Обычно биты нумеруют от старшего к младшему -
		3,2,1,0.]];
	[6] = [["0xB0BA"... Ноль - он везде ноль - в любой системе. 
		16-ричный 0 - это вроде как 4 двоичных нуля - 0000.]];
};

tpaper2 = obj {
	nam = 'Туалетная бумага';
	dsc = [[Рядом висят {остатки туалетной бумаги}.]];
	_s = 0;
	act = function(s)
		local r = rnd(6);
		if s._s == 0 then
			s._s = 1;
			return [[Покрутив остатки рулона, Вы нашли надпись "0xB0BA". 
			В связи с Вашими
			шизофреническими наклонностями Вы любите записывать своё имя в 
			16-ричном виде.]];
		elseif s._s < 4 then
			s._s = s._s + 1;
			return [[Надпись "0xB0BA" наводит Вас на мысль... Вот на какую
			именно? Вот в чём вопрос!]];
		elseif s._s < 7 then
			s._s = s._s + 1;
			return [["0xB0BA". Явно здесь не обошлось без программистов.
			Жуткий народ!]];
		end
		return tpaper_hints[r];
	end;
};

ceil2 = room {
	nam = 'Потолок';
	dsc = 'Вы смотрите на потолок. Вряд ли через него можно сбежать.';
	pic = 'gfx/stage1/ceil.png';
	obj = { 'lamps2' };
	way = { 'ntoilet2', 'stoilet2' };
};

lamps2 = obj {
	nam = 'Лампочки';
	dsc = 'На потолке горят три {лампочки}. Пусть горят.';
	act = [[Лампочки мирно себе горят. Может быть пусть дальше горят?
	Воды уже нет. Если не будет света - будет совсем тоскливо.]];
};

llbasin2 = room {
	nam = 'У раковины';
	pic = function(s)
		local p = 'gfx/stage1/wash.png';
		if coldvalve2._s == 1 then
			p = p .. ';gfx/stage1/lvalve.png@126,150';
		end
		if hotvalve2._s == 1 then
			p = p .. ';gfx/stage1/rvalve.png@233,146';
		end
		return p
	end;
	obj = {'basin2', 'coldvalve2', 'hotvalve2', 'soap2'};
	way = { 'ntoilet2', 'stoilet2', 'ceil2' };
};

basin2 = obj {
	nam = 'Раковина';
	dsc = [[Вы находитесь у {раковины}.]];
	act = 'Злые сантехники отключили воду. Поэтому раковину Вы можете только созерцать.';
};

hotvalve2 = obj {
	nam = 'Горячий кран';
	dsc = 'и {горячей} воды.';
	_s = 0;
	_look = 0;
	act = function(s)
		if s._s == 0 then
			s._s = 1;
			p [[Вы открыли кран горячей воды. 
			Воды нет - наверно перекрыли нехорошие люди. ]];
		else
			s._s = 0;
			p [[Вы закрыли кран горячей воды. ]];
		end
		if s._look == 0 then
			s._look = 1;
			p [[На кране Вы случайно заметили цифру 2. Вы чувствуете, что Вы продолжате сходить с ума.]];
		else
			p [[На кране написана цифра 2.]];
		end
	end
};

coldvalve2 = obj {
	nam = 'Холодный кран';
	dsc = 'Перед Вами краны {холодной}';
	_s = 0;
	_look = 0;
	act = function(s)
		if s._s == 0 then
			s._s = 1;
			p [[Вы открыли кран холодной воды. 
			Воды нет - наверно перекрыли нехорошие люди. ]];
		else
			s._s = 0;
			p [[Вы закрыли кран холодной воды. ]];
		end
		if s._look == 0 then
			s._look = 1;
			p [[На кране Вы случайно заметили цифру 3. Кто бы её мог написать?
			Ваши ментальные сдвиги продолжаются.]];
		else
			p [[На кране написана цифра 3.]];
		end
	end
};

soap2 = obj {
	nam = 'Мыльница';
	dsc = 'Рядом прикрученная к стене {мыльница}.';
	act = 'Мыльница пуста. Вы потратили всё мыло.';
};

hooks2 = obj {
	nam = 'Крючки';
	dsc = 'Вы видите {крючки}';
	act = 'Вы видите три крючка, на которых ничего не висит. Вы плохой хозяин.';
};

shelf2 = obj {
	nam = 'Полка';
	dsc = 'и {полочку}.';
	act = 'На полочке Вы видите какие-то предметы, которые Вам сейчас точно не помогут.';
};

beyondwc2 = room {
	nam = 'Позади унитаза';
	pic = function(s)
		local p = 'gfx/stage1/btoilet.png'
		if closetvalve2._s == 0 then
			p = p .. ';gfx/stage1/tttvclose.png@209,152';
		end
		return p
	end;
	dsc = 'Вы заглянули за унитаз.';
	obj = { 'closetvalve2' };
	way = { 'wc2' };
};

closetvalve2 = obj {
	nam = 'Кран унитаза';
	dsc = 'Вы видите {кран} подачи воды в унитаз.';
	_s = 1;
	_look = 0;
	act = function(s)
		if s._s == 0 then
			s._s = 1;
			p [[Вы открыли кран унитаза. 
			Воды нет. Сантехник - в доме хозяин! ]];
		else
			s._s = 0;
			p [[Вы закрыли кран унитаза. ]];
		end
		if s._look == 0 then
			s._look = 1;
			p [[На кране Вы случайно заметили цифру 1.
            Хорошо ещё, что цифры на кранах не меняются.
			Надежда на Вашу вменяемость ещё теплится.]];
		else
			p [[На кране написана цифра 1.]];
		end
	end
};

vcheck2 = function(n)
	local v3 = coldvalve2._s;
	local v2 = hotvalve2._s;
	local v1 = closetvalve2._s;
	local v0 = lhvalve2._s;

	if n == 0 then --B
		if v3 == 1 and v2 == 0 and v1 == 1 and v0 == 1 then
			return 1;
		end
	elseif n == 1 then --0
		if v3 == 0 and v2 == 0 and v1 == 0 and v0 == 0 then
			return 1;
		end
	elseif n == 2 then --B
		if v3 == 1 and v2 == 0 and v1 == 1 and v0 == 1 then
			return 1;
		end
	elseif n == 3 then --A
		if v3 == 1 and v2 == 0 and v1 == 1 and v0 == 0 then
			return 1;
		end
	end
	return 0;
end

valvecheck2 = obj {
	nam = 'vcheck';
	dsc = '';
	_s = 0;
	_newthing = 0;
	life = function(s)
		local cl = 0;
		if s._newthing == 1 then
			return;
		end
		if s._s > 4 then
			lifeoff(valvecheck2);
			return;
		end
		if s._s < 4 then
			cl = vcheck2(s._s);
		else
			if lcvalve2._s == 1 then
				cl = 1;
			end
		end
		if cl == 0 then
			return;
		end
		s._newthing = 1;
		s._s = s._s + 1;
		set_sound('snd/clong.ogg');
		return [[Вы услышали ЩЕЛЧОК, исходящий от бачка унитаза. 
		Наверно у Вас уже начались слуховые галлюцинации.]], true;
	end;
};


luk2 = room {
	nam = 'Люк';
	dsc = 'Вы открыли сантехнический люк.';
	pic = function(s)
		local p = 'gfx/stage1/luk1.png'
		if seen 'lcvalve2' then
			p = 'gfx/stage1/luk2.png'
			if lhvalve2._s == 0 then
				p = p .. ';gfx/stage1/lh2closed.png@285,121'
			end
			if lcvalve2._s == 0 then
				p = p .. ';gfx/stage1/lc2closed.png@188,293'
			end
			return p
		end
		if lhvalve2._s == 0 then
			p = p .. ';gfx/stage1/lh1closed.png@286,132'
		end
		return p
	end;
	obj = { 'lhvalve2', 'dark2', 'lcvalve2' };
	way = { 'wc2' };
};

lhvalve2 = obj {
	nam = 'Горячий кран в люке';
	dsc = 'Вы видите {кран} подачи горячей воды в туалетную комнату.';
	_s = 0;
	_look = 0;
	act = function(s)
		if s._s == 0 then
			s._s = 1;
			p [[Вы открыли кран горячей воды. 
			Воды нет даже в стояках. Наверно домоправление стало экономить воду 
			по ночам.]];
		else
			s._s = 0;
			p [[Вы закрыли кран горячей воды. ]];
		end
		if s._look == 0 then
			s._look = 1;
			p [[На кране Вы случайно заметили цифру 0.
            Вы - сумасшедший! Это очевидно!]];
		else
			p [[На кране написана цифра 0.]];
		end
	end
};

dark2 = obj {
	nam = 'Темнота';
	dsc = 'В люке {темно} и больше ничего не видно.';
	act = 'Темно, как у кого где?';
};

thingfromcloset2 = room {
	nam = 'Внутри унитаза';
	_s = 0;
	pic = function(s)
		local p = 'gfx/stage1/inside.png';
		if valvecheck2._s == 1 then
			p = p .. ';gfx/stage1/hammer.png@212,246'
		elseif valvecheck2._s == 2 then
			p = p .. ';gfx/stage1/stameska.png@212,259'
		elseif valvecheck2._s == 3 then
			p = p .. ';gfx/stage1/kluch.png@216,244'
		elseif valvecheck2._s == 4 then
			p = p .. ';gfx/stage1/flashlight.png@194,294'
		elseif valvecheck2._s == 5 then
			p = p .. ';gfx/stage1/vantuz.png@212,231'
		end
		return p
	end;
	dsc = function(s)
		p [[Вы нажали кнопку слива, и...^^]];
		if s._s == 0 then
			s._s = 1;
			p [[ВЫ НЕ МОЖЕТЕ ПОВЕРИТЬ СВОИМ ГЛАЗАМ!!! Ваша болезнь наверно
			прогрессирует.
			Теперь у Вас ещё и зрительные галлюцинации начались...^^]];
		end
		p [[Крышка унитаза автоматически открылась и внутри Вы увидели новый
		 предмет!]];
	end;
	obj = { 'tfc2' };
};

tfc2 = obj {
	nam = 'Предмет';
	dsc = function()
		if valvecheck2._s == 1 then
			return '{Молоток}';
		elseif valvecheck2._s == 2 then
			return '{Стамеска}';
		elseif valvecheck2._s == 3 then
			return '{Гаечный ключ}';
		elseif valvecheck2._s == 4 then
			return '{Фонарь}';
		elseif valvecheck2._s == 5 then
			return '{Вантуз}';
		end
	end;
	act = function()
		if valvecheck2._s == 1 then
			inv():add('hammer2');
		elseif valvecheck2._s == 2 then
			inv():add('stameska2');
		elseif valvecheck2._s == 3 then
			inv():add('key2');
		elseif valvecheck2._s == 4 then
			inv():add('light2');
		elseif valvecheck2._s == 5 then
			inv():add('vantuz2');
		end
		valvecheck2._newthing = 0;
		return goto('wc2');
	end
};

lcvalve2 = obj {
	nam = 'Холодный кран в люке';
	dsc = [[Посветив фонариком, Вы смогли разглядеть {кран} подачи
	холодной воды в туалетную комнату.]];
	_s = 0;
	act = function(s)
		if s._s == 0 then
			s._s = 1;
			p [[Вы открыли кран холодной воды. Воды так и нет.]];
		else
			s._s = 0;
			p [[Вы закрыли кран холодной воды. ]];
		end
	end

}:disable();

inst2 = function(s, w)
	if have(w) then
		return;
	end
	if w == 'handle2' then
		return;
	end
	return [[Это мой туалет! Я недавно его отремонтировал! Не хочу его 
	ломать!]];
end;

hammer2 = obj {
	nam = txtl(img('gfx/inv/hammer.png')..' Молоток');
	dsc = 'Молоток';
	use = function(s, w)
		return inst2(s, w);
	end;
	inv = [[ Молоток! Орудие разрушения! Всё будет хорошо!]];
};

stameska2 = obj {
	nam = txtl(img('gfx/inv/stam.png')..' Стамеска');
	dsc = 'Стамеска';
	use = function(s, w)
		return inst2(s, w);
	end;
	inv = [[ Стамеска... Опасный инструмент в руках у маловменяемого 
	человека. Смотрите, не пораньтесь.]]; 
};


key2 = obj {
	nam = txtl(img('gfx/inv/key.png')..' Ключ');
	dsc = 'Гаечный ключ';
	use = function(s, w)
		return inst2(s, w);
	end;
	inv = [[ Гаечный ключ. Вы чувствуете, что Вы погубили в себе талант
	сантехника.]]; 

};

vantuz2 = obj {
	nam = txtl(img('gfx/inv/vantuz.png')..' Вантуз');
	dsc = 'Вантуз';
	inv = [[Вантуз! Вы не можете налюбоваться этой изящной и практичной
	вещью! Почему-то Вы до безумия уверены, что ВАНТУЗ ВАМ ОБЯЗАТЕЛЬНО ПОМОЖЕТ!]];
	use = function(s, w)
		if w == 'lbasin2' or w == 'basin2' or w == 'closet2' or 
			w == 'lwc2' then
			return [[Лучше не надо! ЗАСОСЁТ!]];
		elseif w == 'handle2' then
			return true; 
		else 
			return [[Ваша ненормальная вера в то, что ВАНТУЗ ВАМ ПОМОЖЕТ, возможно и 
			имеет некоторые основания. Но... не в данном случае.]];
		end
	end
};


light2 = obj {
	nam = txtl(img('gfx/inv/flash.png')..' Фонарик');
	dsc = 'Фонарик';
	inv = [[Фонарик. Чтобы светить. Или Вы можете придумать другой способ
	его применения?]];
	use = function(s, w)
		if w == 'dark2' then
			lcvalve2:enable();
			dark2:disable();
			return 'Да. Именно здесь фонарик пригодился.';
		end
		return [[Здесь и так светло.]];
	end
};


door2 = room {
	nam = 'Дверь';
	pic = 'gfx/intro/door.png';
	dsc = [[Дверь! Выход из туалета! Точнее - Ваша надежда на выход из
	туалета.]];
	obj = { 'handle2' };
	way = { 'ntoilet2', 'stoilet2', 'ceil2' };
};


handle2 = obj {
	nam = 'Ручка двери';
	dsc = [[{Ручка двери} вселяет дополнительную надежду.]];
	act = [[Несмотря на то, что Вы заперты, эта дверь продолжает
	поддерживать в Вас оптимизм. Возможно, здесь Вам может помочь какой-нибудь 
	инструмент.]];
	used = function(s, w)
		if w == 'hammer2' then
			p [[Молотком... по ручке... Это как-то слишком брутально.]];
		elseif w == 'stameska2' then
			p [[Стамеской тоже можно нанести непоправимые разрушения.]];
		elseif w == 'key2' then
			p [[Гаечный ключ тоже предназначен для более брутальных 
			действий над сантехникой. Но не над дверными ручками.]];
		elseif w ==	'vantuz2' then
			remove('hammer2', me());
			remove('stameska2', me());
			remove('key2', me());
			remove('light2', me());
			remove('vantuz2', me());
			return goto('exit2');
		else
			return;
		end
		p [[Если Вы сломаете ручку - Вы лишитесь последней надежды на выход.
		Попробуйте найти более изящный инструмент для аккуратного открывания.
		Также не забывайте, что у Вас не всё в порядке с головой. 
		Этого нельзя не учитывать.]];
	end
};

ba_str = {
		[1] = 'Вам это не поможет...';
		[2] = 'Всё будет хорошо...';
		[3] = 'Никогда не надо отчаиваться...';
		[4] = [[Несмотря на то, что Вы сошли с ума - Вы ещё можете думать и 
			обязательно додумаетесь, как выйти из этого неприятного места.]];
		[5] = [[Создатели игры искренне верят в Вас!]];
		[6] = [[Выход есть! Его не может не быть!]];
	};


bad_act = function()
	local r = rnd(6);
	return ba_str[r];
end;

game.act = bad_act;
game.inv = bad_act;
game.use = bad_act;

exit2 = room {
	nam = 'Выход?..';
	enter = function(s)
		set_sound('snd/door.ogg');
		set_music('snd/strobo.mod');
	end;
	pic = 'gfx/stage1/exit.png';
	dsc = [[Каким-то загадочным образом Вы ВАНТУЗОМ смогли повернуть ручку и ОТКРЫТЬ 
	ДВЕРЬ! Неужели СВОБОДА?!!..
	^^Что там... за порогом неизвестности?]];
	obj = { vway('Сделать шаг', '{Сделать шаг}', 'stage2'); };
	exit = function(s)
		set_music('snd/program.xm');
	end
};


dofile("stage2.lua");
