global {
	num_level = 7;
	num_rooms = {
		[1] = {[1]=1,  [2]=2,  [3]=3,  [4]=4 },
		[2] = {[1]=5,  [2]=6,  [3]=7,  [4]=8 },
		[3] = {[1]=9,  [2]=10, [3]=11, [4]=12},
		[4] = {[1]=13, [2]=14, [3]=15, [4]=16},
		[5] = {[1]=17, [2]=18, [3]=19, [4]=20},
		[6] = {[1]=21, [2]=22, [3]=23, [4]=24},
		[7] = {[1]=25, [2]=26, [3]=27, [4]=28},
		[8] = {[1]=29, [2]=30, [3]=31, [4]=32},
		[9] = {[1]=33, [2]=34, [3]=35, [4]=36}
	};
	elevator_key_pressed = false;
	is_dog = true;
	is_seen_dog = false;
	is_seen_denis = false;
	is_seen_andrey = false;
	--is_os_flash = false;
	flash_li32 = false;
	is_seen_glava7 = false;
	is_disp_punkt = false;
	is_return = false;
	have_knife = false;
}

screen = room {
	nam = 'Лифтёр 3',
	dsc = txtb('Лифтёр 3')..[[^^
Версия: 0.2 (21.12.2011)^^
Автор: Евгений Ефремов aka Jhekasoft^^
{play|Играть}]],
	obj = {
		xact('play', code[[walk('screen_story1');]]),
	},
	enter = code [[set_music('mus/screen.ogg', 1);]],
	--hideinv = true,
	pic = 'gfx/screen.png',
};

screen_story1 = room {
	nam = 'История 1. Тима',
	dsc = txtb('История 1. Тима')..[[^^
{play|Играть}]],
	obj = {
		xact('play', code[[set_music('mus/b77.ogg'); change_pl('pl2'); walk('begin');]]),
	},
	--hideinv = true,
	pic = 'gfx/screen.png',
};

disk = obj {
	nam = img('gfx/inv_disc.png')..'диск',
	inv = 'Это установочный диск с операционной системой Li.',
};

pl2 = player {
	nam = 'pl2',
	where = 'begin';
	obj = {
		'disk',
	}
};

begin = room {
	nam = 'Несколько дней назад',
	dsc = [[Сегодня 13 сентября. День программиста. Для меня и моего друга
Дениса это профессиональный праздник.^^
Я держу в руках диск с операционной системой Li! Мой друг
наконец-то согласился чтобы я ему её установил!^^
Живём мы в одном подъезде. Так что далеко ходить не надо. Нужно подняться
на 9 этаж. Квартира 33. Вперёд!^^
{to_b771level7|Продолжить}]],
	obj = {
		xact('to_b771level7', code[[walk('b771level7')]]),
	},
	enter = code [[set_music('mus/b77.ogg');]],
	exit = code [[objs(b771level9):add('dog'); is_dog=true; is_seen_dog=false;]],
	--hideinv = true;
	pic = 'gfx/begin.png',
};

----Кухня ГГ------------------------------------------------------------

fridge = obj {
	nam = 'холодильник',
	dsc = [[В левом дальнем углу стоит {холодильник}.]],
	act = code[[p 'Я открыл холодильник.'; walk('gg_fridge');]],
};

netbook = obj {
	nam = 'Нетбук',
	dsc = 'На столе стоит {нетбук}.',
	act = [[Мой нетбук. На нём установлена операционная система Li!^^
В браузере открыт наш городской сайт. Последняя опубликованная новость
звучит жутко: «Парень случайно взял с собой стамеску и... убил
собутыльника».^^
Хм...^^
«После выпитых нескольких рюмок возникла неприязнь товарищей. Первый
толкнул второго, завязалась драка. Чтобы как-то отбиться, второй нанёс
удар приятелю первым попавшимся предметом в кармане — стамеской...^^
Как выяснилось затем, стамеску парень положил в карман несколько дней
назад. Тогда он её относил в гараж чтобы там смастерить скворечник
вместе с двоюродным братом. Когда вернулся домой, стамеска так и
осталась в кармане джинсового пиджака, который затем он и одел.^^
Как сообщил редакции заместитель начальника по делам ..., это не единичный
случай когда первый подручный предмет становится причиной преступления.
Именно поэтому сейчас ужесточён контроль на наличие острых предметов
у граждан, находящихся на улице.^^
Не стоит брать остро заточенные предметы выходя на улицу. Даже если
вы не находитесь в алкогольном опьянении.»^^
Да уж...]],
};

knife = obj {
	nam = img('gfx/inv_knife.png')..'нож',
	dsc = [[Также лежит {нож}.]],
	inv = [[Кухонный нож. Обычно я им режу хлеб, продукты разные.]],
	tak = [[Я взял кухонный нож.]],
	use = function(s, w)
		if w == meat then
			if not have('meat_small') then
				p 'Я отрезал кусок мяса. Остальную большую часть положил обратно в холодильник.';
				inv():add('meat_small');
				objs('gg_fridge'):add('meat', 2);
				inv():del('meat');
			else
				p 'У меня уже есть кусок мяса.';
			end;
		elseif w == kitchen_table then
			w.obj:add(s);
			inv():del(s);
			p 'Я положил нож обратно на стол.';
		elseif nameof(w) == 'river' then
			inv():del();
			walk('military_end');
		elseif w == cucumbers then
			p 'Огурцы можно порезать, но для салата нет майонеза или масла.';
		end;
	end,
};

kitchen_table = obj {
	nam = 'кухонный стол',
	dsc = [[Ближе ко мне — {кухонный стол}.]],
	obj = {
		'netbook',
		'knife',
	},
	act = 'Белый такой стол. Удобный. Потому что стол.'
};

cooker = obj {
	nam = 'кухонная плита',
	dsc = [[Справа находится {кухонная плита}.]],
	act = [[Современная кухонная плита. Там даже гриль есть. Только я им
ни разу не пользовался.]],
};

washing = obj {
	nam = 'мойка',
	dsc = [[Возле неё — {мойка}.]],
	act = 'Мойка. С одной раковиной. Но мне хватает.'
};

gg_kitchen = xroom {
	nam = 'Кухня',
	dsc = [[Это моя уютная кухня. Люблю здесь сидеть, слушать музыку и
программировать.]],
	xdsc = [[Впереди расположено {window|окно}.]],
	obj = {
		'fridge',
		'kitchen_table',
		'cooker',
		'washing',
		xact('window', [[Благодаря ему кухня освещена ярким светом.
Как же без него... А под окном гордое место! Там нет батареи! Зимой
почти не топят. Поэтому батарею я снял и забросил на лоджию. А греюсь
газом и теплом нетбука.]]),
	},
	enter = code [[set_music('mus/kitchen.ogg');]],
	left = function(s, t)
		if have('meat') and t ~= gg_fridge then
			p 'Я положил мясо обратно в холодильник. Оно большое и не зачем с ним ходить.';
			objs('gg_fridge'):add('meat', 2);
			--put('meat', 'gg_fridge');
			inv():del('meat');
		end;
		if t ~= gg_fridge then
			if is_seen_glava7 then
				set_music('mus/export.ogg');
			else 
				set_music('mus/b77.ogg');
			end
		end;
	end,
	way = {
		vroom('Отойти', 'b771level7'),
	},
	pic = code[[
		p 'gfx/gg_kitchen.png;';
		if seen(knife) then
			p 'gfx/knife.png@57,193;'
		end;
	]]
};

meat = obj {
	nam = img('gfx/inv_meat.png')..'мясо',
	dsc = [[{мясо},]],
	tak = 'Я взял большой кусок мяса.',
	inv = [[Большой кусок мяса. К тому же тяжёлый.]],
	use = function(s, w)
		if w == knife then
			if not have('meat_small') then
				p 'Я отрезал кусок мяса. Остальную большую часть положил обратно в холодильник.';
				inv():add('meat_small');
				objs('gg_fridge'):add('meat', 2);
				inv():del('meat');
			else
				p 'У меня уже есть кусок мяса.';
			end;
		end;
	end,
};

meat_small = obj {
	nam = img('gfx/inv_meat_small.png')..'кусок мяса',
	inv = [[Небольшой кусочек мяса.]],
	use = function(s, w)
		if w == dog then
			p 'Я дал кусок мяса псу. Он его схватил и убежал.';
			objs('b771level9'):del('dog');
			inv():del('meat_small');
			is_dog = false;
			set_sound('sfx/dog_eat.ogg');
		end;
	end
};

beer = obj {
	nam = img('gfx/inv_beer.png')..'пиво',
	dsc = [[{пиво},]],
	tak = 'Я взял бутылку пива. Пиво иногда полезно.',
	inv = [[Бутылка пива.]],
};

babanas = obj {
	nam = 'бананы',
	dsc = [[{бананы},]],
	act = 'Немного потемневшие бананы. Есть я их не хочу.',
};

cucumbers = obj {
	nam = 'огурцы',
	dsc = [[{огурцы}.]],
	act = 'Зелёные свежие огурцы. С них можно было бы салатик сделать...',
};

gg_fridge = room {
	nam = 'Холодильник',
	dsc = [[Немного устаревший холодильник. Главное, что работает исправно.
Да и я не храню здесь много продуктов.]],
	obj = {
		vobj('продукты', [[Беглым взглядом я осмотрел, что внутри. Здесь лежат:]]),
		'meat',
		'babanas',
		'beer',
		'cucumbers',
	},
	way = {
		vroom('Отойти', 'gg_kitchen'),
	},
	left = code[[p 'Я закрыл холодильник.']],
	--enter = code [[set_sound('sfx/dog.ogg')]],
	pic = code[[
		p 'gfx/gg_fridge.png;gfx/bananas.png@67,235;gfx/cucumbers.png@209,226;'
		if seen(meat) then
			p 'gfx/meat.png@83,41;'
		end;
		if seen(beer) then
			p 'gfx/beer.png@80,117;'
		end;
	]],
};

----конец кухни ГГ------------------------------------------------------

d771left_door = xroom {
	nam = code [[ pr ('Дверь слева ('..num_level..'-й этаж, 1-й подъезд)')]],
	dsc = [[Передо мной перегородочная дверь.]],
	xdsc = function()
		p ('На перегородке расположено два звонка:');
		p ('{r3|квартира '..num_rooms[num_level][3]..'},');
		p ('{r4|квартира '..num_rooms[num_level][4]..'}.');
	end,
	obj = {
		xact('r3',
			code [[
				if num_level == 4 and is_seen_glava7 then
					p 'Тут живёт мой сосед Андрей. Я у него флешку брал. Потом занесу.'
				elseif num_level == 4 and is_seen_denis then
					walk('andreydlg');
				else
					p 'Звонок. Думаю, не стоит в него просто так звонить.'
				end;
			]]),
		xact('r4', [[Звонок. Думаю, не стоит в него просто так звонить.]]),
	},
	way = {
		room { nam = 'Отойти', enter = code [[walk ('b771level'..num_level);]]},
	},
	pic = 'gfx/left_door.png',
};

d771right_door = xroom {
	nam = code [[ pr ('Дверь справа ('..num_level..'-й этаж, 1-й подъезд)')]],
	dsc = [[Передо мной перегородочная дверь.]],
	xdsc = function()
		p ('На перегородке расположено два звонка:');
		p ('{r1|квартира '..num_rooms[num_level][1]..'},');
		p ('{r2|квартира '..num_rooms[num_level][2]..'}.');
	end,
	obj = {
		xact('r1',
			code [[
				if num_level == 9 then
					if not is_seen_glava7 then
						walk('denisdlg');
					else
						p 'Я позвонил в звонок Дениса. Но он не открыл дверь. Наверное обиделся.';
					end;
				else
					p 'Звонок. Думаю, не стоит в него просто так звонить.'
				end;
			]]),
		xact('r2', [[Звонок. Думаю, не стоит в него просто так звонить.]]),
	},
	way = {
		--vroom('Отойти', code [[return 'b771level'..num_level;]]),
		room { nam = 'Отойти', enter = code [[walk ('b771level'..num_level);]]},
	},
	pic = 'gfx/right_door.png',
};

lift_door = obj {
	nam = 'двери лифта',
	dsc = [[Передо мной {двери лифта}.]],
	act = [[Старые, поцарапанные двери. Их не меняли со времён СССР.]],
};

lift_button = obj {
	nam = 'кнопка вызова лифта',
	dsc = [[Возле них есть {кнопка вызова лифта}.]],
	act = [[Я нажал на кнопку. Никакой реакции. Лифт на ремонте. Нас
предупреждали, что он не будет работать два дня. А сегодня уже
третий...]],
};

----1-й этаж------------------------------------------------------------
b771level1 = xroom {
	nam = '1-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level1back'),
		vroom('Вверх', 'b771level2'),
	},
	entered = code [[num_level = 1;]];
	enter = code [[
		if is_seen_glava7 then
			lifeoff('dog_snd');
			walk('dog_level1');
		end;
	]];
	pic = code[[
		pr 'gfx/level.png;gfx/level1.png@25,16;gfx/elevator_key1.png@195,109';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level1back = xroom {
	nam = '1-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level1'),
	},
	pic = 'gfx/level_back.png',
};
----конец 1-го этажа----------------------------------------------------

----2-й этаж------------------------------------------------------------
b771level2 = xroom {
	nam = '2-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level2back'),
		vroom('Вверх', 'b771level3'),
		vroom('Вниз', 'b771level1'),
	},
	entered = code [[num_level = 2;]];
	pic = code[[
		pr 'gfx/level.png;gfx/gr02.png@312,15';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level2back = xroom {
	nam = '2-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level2'),
	},
	pic = 'gfx/level_back.png',
};
----конец 2-го этажа----------------------------------------------------

----3-й этаж------------------------------------------------------------
b771level3 = xroom {
	nam = '3-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level3back'),
		vroom('Вверх', 'b771level4'),
		vroom('Вниз', 'b771level2'),
	},
	entered = code [[num_level = 3;]];
	pic = code[[
		pr 'gfx/level.png;gfx/elevator_key3.png@197,113;gfx/gr03.png@322,35';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level3back = xroom {
	nam = '3-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level3'),
	},
	pic = 'gfx/level_back.png',
};
----конец 3-го этажа----------------------------------------------------

flash = obj {
	nam = img('gfx/inv_flash.png')..'флешка',
	inv = code [[
		p 'Флешка Андрея. На 16 гигабайт!';
		if flash_li32 then
			p 'На ней операционная система Li.';
		end
		p 'Нужно будет её потом вернуть.'
	]],
	use = function(s, w)
		if w == netbook then
			if not flash_li32 then
				walk('osli32');
			else
				p 'На флешке уже есть Li. Ничего другого мне не надо.';
			end
		end;
	end,
};

andreydlg = dlg {
	nam = 'Андрей',
	dsc = [[Я позвонил. Дверь открыл мой сосед по подъезду Андрей.]],
	obj = {
		[1] = phr('Привет. У тебя есть флешка?',
		'-- Да.',
		[[pon(2)]]),
		[2] = _phr('Одолжи на часок, пожалуйста.',
		'-- Хорошо. Только взамен бутылку пива. Наперёд.',
		[[if have('beer') then pon(3); else pon(4); end;]]),
		[3] = _phr('Держи!',
		'-- О. Спасибо. На флешку.',
		[[inv():add('flash');inv():del('beer');]]),
		[4] = _phr('Понял. Пойду за пивом.',
		'-- Жду!'),
		[5] = _phr('Ещё нет пива. Позже зайду.',
		'-- Давай побыстрее!'),
		[6] = _phr('Ой... Я случайно позвонил. Флешка ещё нужна. Позже занесу.',
		'-- Хорошо. Не торопись ты так. Я ещё пиво даже не выпил.'),
	},
	enter = code [[
		if is_seen_andrey and have('beer') then
			pon(3); poff(5);
		end;
		set_music('mus/dialog.ogg');
	]],
	left = code [[
		is_seen_andrey = true;
		if is_seen_denis and not have('flash') then
			pon(5);
		end;
		if have('flash') then
			pon(6);
		end;
		set_music('mus/b77.ogg');
	]],
	pic = 'gfx/andrey.png',
};

----4-й этаж------------------------------------------------------------
b771level4 = xroom {
	nam = '4-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level4back'),
		vroom('Вверх', 'b771level5'),
		vroom('Вниз', 'b771level3'),
	},
	entered = code [[num_level = 4;]];
	pic = code[[
		pr 'gfx/level.png;gfx/gr04.png@312,45';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level4back = xroom {
	nam = '4-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level4'),
	},
	pic = 'gfx/level_back.png',
};
----конец 4-го этажа----------------------------------------------------

----5-й этаж------------------------------------------------------------
b771level5 = xroom {
	nam = '5-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level5back'),
		vroom('Вверх', 'b771level6'),
		vroom('Вниз', 'b771level4'),
	},
	entered = code [[num_level = 5;]];
	pic = code[[
		pr 'gfx/level.png;gfx/elevator_key5.png@195,111';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level5back = xroom {
	nam = '5-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level5'),
	},
	pic = 'gfx/level_back.png',
};
----конец 5-го этажа----------------------------------------------------

----6-й этаж------------------------------------------------------------
b771level6 = xroom {
	nam = '6-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level6back'),
		vroom('Вверх', 'b771level7'),
		vroom('Вниз', 'b771level5'),
	},
	entered = code [[num_level = 6;]];
	pic = code[[
		pr 'gfx/level.png;gfx/gr02.png@318,27';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level6back = xroom {
	nam = '6-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level6'),
	},
	pic = 'gfx/level_back.png',
};
----конец 6-го этажа----------------------------------------------------

gg_room = obj {
	nam = 'моя квартира',
	dsc = 'Здесь находится {моя квартира № 25}.',
	act = code[[
		if(is_seen_dog) then
			walk('gg_kitchen');
		else
			p 'Нечего мне дома делать! Мне нужно к другу! В 33-ю!';
		end;
	]],
};

----7-й этаж------------------------------------------------------------
b771level7 = xroom {
	nam = '7-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level7back'),
		vroom('Вверх', 'b771level8'),
		vroom('Вниз', 'b771level6'),
	},
	entered = code [[
		num_level = 7;
		objs(d771right_door):add('gg_room');
	]];
	left = function(s, t)
		if(t ~= b771level7_back and t ~= d771left_door and t ~= d771right_door) then
			objs(d771right_door):del('gg_room');
		end
	end,
	pic = code[[
		pr 'gfx/level.png;gfx/elevator_key7.png@196,114;gfx/gr01.png@322,35';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level7back = xroom {
	nam = '7-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level7'),
	},
	pic = 'gfx/level_back.png',
};
----конец 7-го этажа----------------------------------------------------

----8-й этаж------------------------------------------------------------
b771level8 = xroom {
	nam = '8-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level8back'),
		vroom('Вверх', 'b771level9'),
		vroom('Вниз', 'b771level7'),
	},
	entered = code [[num_level = 8;]];
	pic = code[[
		pr 'gfx/level.png;gfx/elevator_key3.png@197,113;gfx/gr03.png@312,45';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
	]],
};

b771level8back = xroom {
	nam = '8-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level8'),
	},
	pic = 'gfx/level_back.png',
};
----конец 8-го этажа----------------------------------------------------

dog = obj {
	nam = 'собака',
	dsc = [[Передо мной сидит {собака}.]],
	act = code [[
		is_seen_dog = true;
		p 'Дворняжка. Что ей здесь нужно? Она лает на меня.';
		set_sound('sfx/dog.ogg');
	]],
};

denisdlg = dlg {
	nam = 'Денис',
	dsc = [[Я позвонил. Дверь открыл мой друг Денис.]],
	obj = {
		[1] = phr('Привет! Я принёс диск! Будем устанавливать?',
		'-- Привет. Слушай, я тут ошибся... У меня не 64-разрядный процессор. А 32-разрядный.',
		[[pon(2)]]),
		[2] = _phr('Ну, ты же сказал, что 64-разрядный. Я скачал 64-разрядную версию Li!',
		'-- Да знаю я. Придётся скачать 32-разрядную и заново записать диск.',
		[[pon(3); pon(4)]]),
		[3] = _phr('У тебя нет пустого диска?',
		'-- Нет. Можно флешку загрузочную сделать. ',
		[[pon(5); poff(4)]]),
		[4] = _phr('Блин. У меня нет диска пустого. Флешку что ли загрузочную сделать?',
		'-- Можно флешку сделать загрузочную.',
		[[pon(5);poff(3);]]),
		[5] = _phr('У меня нет сейчас флешки. Она у дяди. Дай свою.',
		'-- Блин. И у меня сейчас нет. Попроси у Андрюхи из 15-й!'),
		[6] = _phr('Я... ещё не записал флешку. Позже зайду.',
		'...'),
	},
	left = code [[is_seen_denis = true; pon(6); set_music('mus/b77.ogg');]],
	enter = code [[
		set_music('mus/dialog.ogg');
		if flash_li32 then
			walk('denis_li');
		end;
	]],
	pic = 'gfx/denis.png',
};

glava7label = obj {
	nam = 'надпись',
	dsc = [[На них {надпись}.]],
	act = [[«Глава 7. Смерть Дениса»]],
};

lift_door9 = obj {
	nam = 'двери лифта',
	dsc = [[Передо мной {двери лифта}.]],
	act = [[Старые, поцарапанные двери. Их не меняли со времён СССР.]],
	obj = {
		'glava7label',
	},
};

----9-й этаж------------------------------------------------------------
b771level9 = xroom {
	nam = '9-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке.]],
	xdsc = [[Здесь есть двери в перегородках: {left_door|слева},
{right_door|справа}.]],
	obj = {
		xact('left_door', [[Дверь слева.]]),
		xact('right_door', [[Дверь справа.]]),
		'lift_door',
		'lift_button',
	},
	way = {
		vroom('Дверь слева', 'd771left_door'),
		vroom('Дверь справа', 'd771right_door'),
		vroom('К стене', 'b771level9back'),
		vroom('Вниз', 'b771level8'),
	},
	entered = code [[num_level = 9;]];
	exit = function(s, t)
		if(t == d771right_door and is_dog) then
			set_sound('sfx/dog.ogg');
			is_seen_dog = true;
			return 'Меня не пускает собака!', false;
		end
	end,
	pic = code[[
		pr 'gfx/level.png;gfx/level9.png@1,15';
		if elevator_key_pressed then
			pr ';gfx/elevator_open.png@217,58';
		end
		if seen(dog) then
			pr ';gfx/dog.png@297,123';
		end
		if seen(glava7label) then
			pr ';gfx/glava7label.png@223,85';
		end
	]],
};

b771level9back = xroom {
	nam = '9-й этаж (77-й дом, 1-й подъезд)',
	dsc = [[Я стою на лестничной площадке. Лицом к стене.]],
	xdsc = [[Здесь вверху висит {box|коробка}.]],
	obj = {
		xact('box', [[Коробка с проводами. Для интернета.]]),
	},
	way = {
		vroom('К лифту', 'b771level9'),
	},
	pic = 'gfx/level_back.png',
};
----конец 9-го этажа----------------------------------------------------

osli32 = room {
	nam = 'Загрузочная флешка',
	dsc = [[Что ж... Пришлось провести за компьютером полчаса. Но в итоге
я сделал загрузочную флешку с 32-разрядной операционной системой Li!^^
Вперёд, к Денису!^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'gg_kitchen']]),
	},
	enter = code[[flash_li32 = true;]],
	pic = 'gfx/osli32.png',
};

denis_li = room {
	nam = 'Установка Li',
	dsc = [[Теперь у нас было всё необходимое. Мы приступили к установке Li.^^
Я отвечал на все вопросы Дениса. И очень этим увлёкся. Действия по установке
выполнял машинально. И совершил ошибку...^^
Случайно я удалил всё, что было на жёстком диске Дениса.^^
— Не волнуйся! Сейчас всё восстановим!^^
— Как?! Как ты удалил?! У меня там исходники. Три программы по работе.^^
Я утром код писал. Нигде нет копий.^^
— Дэн, это Li! Сейчас всё восстановим. Смотри. Это айноды. Сейчас мы
введём тут вот этот шестнадцатеричный код... и... Блин! Не получается!^^
— Ты хочешь сказать, что две тысячи строк в одной, три строки в другой,
и триста строк в третьей программе утеряны? Я за месяц столько не пишу!!!
Сегодня было вдохновение! День программиста сегодня, в конце концов!
А ты его испортил!^^
Мы ещё провозились несколько часов с попытками восстановить данные на
диске Дениса, но всё безрезультатно. Я их затёр...^^
Так сильно мы ещё не ругались. Я ушёл...^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'glava7']]),
	},
	pic = 'gfx/li_install.png',
};

glava7 = room {
	nam = 'Глава 7. Смерть Дениса',
	dsc = [[Денис захлопнул за мной дверь...^^
Хм... Я взглянул на двери лифта. Что это? Там была заметная надпись.
Красного цвета.^^
«Глава 7. Смерть Дениса» — что за хрень?! Кто это так шутит?^^
Я рассмотрел надпись поближе. Маркер. Красный маркер. Где-то я об этом
слышал... Глава, смерть...^^
	{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'b771level9']]),
	},
	enter = code [[
		set_music('mus/ext.ogg');
		objs('b771level9'):del('lift_door');
		objs('b771level9'):add('lift_door9');
	]],
	left = code [[
		is_seen_glava7 = true;
		set_music('mus/export.ogg');
		lifeon('dog_snd');
	]],
	pic = 'gfx/glava7.png',
};

dog_snd = obj {
	nam = 'собака',
	life = code [[
		p 'Где-то внизу лает собака.';
		set_sound('sfx/dog2.ogg');
	]],
};

dog_level1 = room {
	nam = 'Собака',
	dsc = [[Возле выхода из подъезда сидела та самая собака, с которой я
встречался на 9-м этаже. Она лаяла на дверь.^^
— Что такое?! Тихо! Успокойся!^^
Ясное дело, она меня не послушала.^^
Хм. Возможно она лаяла на того, кто сделал ту надпись... Я открыл дверь.^^
	{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'disp_punkt']]),
	},
	pic = 'gfx/dog_level1.png',
};

disp_punkt = room {
	nam = 'Возле диспетчерского пункта',
	dsc = [[Собака рванула вперёд. Я едва успевал за ней. И она привела
меня к диспетчерскому пункту. Здесь тоже она начала лаять. На входную
дверь.^^
Диспетчерский пункт. В нём следят за лифтами. Надпись сделана на дверях
лифта... Хм...^^
Вдруг я понял, что это всё бред. Я оставил собаку, и вернулся домой.^^
	{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk('friend_story');]]),
	},
	pic = 'gfx/disp_punkt.png',
};

friend_story = room {
	nam = '...',
	dsc = [[Я тогда не предполагал какую ошибку я совершил...^^
Именно в тот день Денис погиб. В лифте...^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk('return_place');]]),
	},
	pic = 'gfx/friend_story.png',
};

return_place = room {
	nam = 'Вперёд!',
	dsc = [[Что ж, я просто так это не оставлю! Я разберусь в этой скверной
истории!^^
Нужно начать с того диспетчерского пункта.^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[
			change_pl('pl');
			--take('light');
			if have_knife then
				take('knife');
				p 'Я порылся в карманах куртки и нашёл там нож.';
				p 'Его я взял дома на кухне в тот роковой день.';
			end;
			p 'Костёр погас. Думаю, нужно идти в город. К диспетчерскому пункту...';
			--walk('neer_river');
			]]),
	},
	enter = code [[
		set_music('mus/return.ogg');
		is_return = true;
		pl.where = 'neer_river';
		is_disp_punkt = true;
		if have('knife') then
			have_knife = true;
		end;
	]],
	pic = 'gfx/return_place.png'
};

military_end = room {
	nam = '...',
	dsc = [[Я хотел выбросить нож в реку, но вдруг позади меня раздался
шум...^^
Я обернулся и увидел перед собой пистолет. Это был мент.^^
— Положи нож на землю.^^
Я его узнал. Он занимался делом убийства моего друга.^^
— Руки, дай руки!^^
Впервые на меня надевали наручники. От их скоб исходил холод. Я его
ощущал, но что-то другое во мне вызывало дискомфорт. Возможно страх...^^
— Поздравляю. Теперь ты главный подозреваемый.^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'military_code']]),
	},
	enter = code [[set_music('mus/export.ogg');]],
	pic = 'gfx/military_end.png'
};

military_code = room {
	nam = 'Код',
	dsc = [[Примите поздравления! Вы прошли историю 1 и получили одну из
трёх возможных её концовок.^^
На всякий случай можете записать код, который возможно пригодится:
]]..txtb('XQ5WQP')..[[ :)^^
{continue|Титры}]],
	obj = {
		xact('continue', code[[walk 'titles']]),
	},
	pic = 'gfx/screen.png',
};

to_city1 = xroom {
	nam = 'К городу',
	dsc = [[Тропинка, ведущая к городу. Чувствуется свежесть. Сейчас нет
жары, которая была совсем недавно.]],
	xdsc = [[Впереди видны {build_lights|огоньки домов}. Вокруг растёт
{grass|трава} и остальная растительность. ]],
	obj = {
		xact('build_lights',
		[[Почти в каждой комнате, где горит свет, кто-то находится. И для
многих находиться в этих «контейнерах» очень приятно. А если их переместить
прямо сюда, то они скорее всего захотят вернуться обратно в свою
«тюрьму»...]]),
		xact('grass',
		[[Мне смешно и грустно. Наверняка через лет пять слово «трава»
официально станет синономом слова «наркотик». А может, так и останется
сленгом?]])
	},
	way = {
		vroom('Назад', 'neer_tree'),
		vroom('К городу', 'to_city2')
	},
	pic = 'gfx/to_city1.png'
};

to_city2 = xroom {
	nam = 'К городу',
	dsc = [[Я нахожусь на тропинке, ведущей к городу.]],
	xdsc = [[Впереди виден {disp_punk_ahead|диспетчерский пункт}.]],
	obj = {
		xact('disp_punk_ahead',
		[[Несколько дней назад к нему меня привела собака из подъезда.
Какой-то он странный...]])
	},
	way = {
		vroom('Назад', 'to_city1'),
		vroom('К диспетчерскому пункту', 'disp_punkt_east')
	},
	pic = 'gfx/to_city2.png'
};

disp_punkt_south = xroom {
	nam = 'Диспетчерский пункт (юг)',
	dsc = [[Передо мной диспетчерский пункт. Кирпичная стена освещена
светом фонаря.]],
	xdsc = [[Сзади меня расположены {build_trash|руины заброшенного здания}.]],
	obj = {
		xact('build_trash', [[Здание выглядит жутко. Перед ним образовалась свалка.]]),
	},
	way = {'build111_north', 'disp_punkt_west', 'disp_punkt_east'},
	pic = 'gfx/disp_punkt_south.png'
};

disp_punkt_west = xroom {
	nam = 'Диспетчерский пункт (запад)',
	dsc = [[Передо мной диспетчерский пункт.]],
	xdsc = [[Здесь есть {disp_backenter|дверь}. На ней слабенький
навесной {disp_lock|замок}.]],
	obj = {
		xact('disp_backenter', [[Небольшая дверь.]]),
		xact('disp_lock', [[Старый ржавый замок. Достаточно слабый.]]),
	},
	way = {'disp_punkt_north', 'disp_punkt_south'},
	pic = 'gfx/disp_punkt_west.png'
};

disp_punkt_east = xroom {
	nam = 'Диспетчерский пункт (восток)',
	dsc = [[Передо мной диспетчерский пункт. Его освещает тусклый свет фонаря.]],
	xdsc = [[С этой стороны есть {disp_enter|вход}. Куда-то вдаль от здания
тянется {to_river_way|тропинка}.]],
	obj = {
		xact('disp_enter', [[Дверь плотно закрыта. Не думаю, что её удастся открыть.]]),
		xact('to_river_way', [[Это дорога к реке. Я от туда недавно пришёл.
Обратно возвращаться нет надобности. Нужно разобраться с этой историей.
Первым делом осмотреть диспетчерский пункт.]])
	},
	way = {'disp_punkt_south', 'disp_punkt_north'},
	pic = 'gfx/disp_punkt_east.png'
};

disp_punkt_north = room {
	nam = 'Диспетчерский пункт (север)',
	dsc = [[Передо мной диспетчерский пункт. Его стены освещает фонарь,
находящийся неподалёку. ]],
	way = {'disp_punkt_east', 'disp_punkt_west'},
	pic = 'gfx/disp_punkt_north.png'
};

build111_north = xroom {
	nam = 'Разрушенное здание',
	dsc = [[Я подошёл ближе.]],
	xdsc = [[Впереди разрушенное {old_build|здание}. Возле него
{dump|свалка}. Здание обнесено {fence|забором}. На заборе что-то
{fence_label|написано}.]],
	obj = {
		xact('old_build', [[Когда-то давно это был жилой дом.
Четырнадцатиэтажка. Потом всех жильцов выселили из-за того, что
здание было построено с нарушениями и стояло под наклоном к земле. А
год назад его снесли направленным взрывом. Правда нарушили технику
безопасности — не эвакуировали жителей ближайших домов. Много об этом
писали в газетах. Были даже слухи, что на самом деле здание взорвали
школьники-пиротехники.]]),
		xact('dump', [[Свалка. Она здесь давно. Темно. Я ничего не вижу особо.]]),
		xact('fence', [[Забор скоро завалится. Взрыв дал знать о себе.]]),
		xact('fence_label', [[Не видно...]])
	},
	way = {'disp_punkt_south'},
	pic = 'gfx/build111_north.png'
};

rod = obj {
	nam = img('gfx/inv_rod.png')..'прут',
	inv = [[Стальной прут. Крепкий.]],
	use = function(s, w)
		if nameof(w) == 'disp_lock' then
			if not have('knife') then
				walk('stepan_end');
			else
				walk('stepan_die_end');
			end
		end
	end,
};

stepan_die_end = room {
	nam = '...',
	dsc = [[Я сорвал замок ломом. Приоткрыл дверь...^^
Из темноты на меня напал человек с гаечным ключом. Первую атаку я выдержал.
Затем я достал нож, который взял ещё на кухне и нанёс атаку.^^
Мужчина упал передо мной. Сначала он корчился от боли, затем затих. А
вокруг его тела начала образовываться лужа крови.^^
Что я наделал?!!^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'stepan_die_code']]),
	},
	enter = code [[set_music('mus/export.ogg');]],
	pic = 'gfx/stepan_die_end.png'
};

stepan_end = room {
	nam = '...',
	dsc = [[Я сорвал замок ломом. Приоткрыл дверь...^^
Из темноты на меня напал человек с гаечным ключом. Первую атаку я выдержал.
Затем ударил я. Следующий удар ключом пришёлся мне по голове... И я
потерял сознание...^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'stepan_end_next']]),
	},
	enter = code [[set_music('mus/ext.ogg');]],
	pic = 'gfx/stepan_end.png'
};

stepan_end_next = room {
	nam = '...',
	dsc = [[Я очнулся привязанным к стулу.^^
— Ну, что, хотели меня снова задействовать? Нет, на этот раз Степана
не проведёшь!^^
— Что? Как задействовать?.. — Я не понимал о чём мне говорил этот человек.^^
{continue|Продолжить}]],
	obj = {
		xact('continue', code[[walk 'stepan_code']]),
	},
	enter = code [[set_music('mus/export.ogg');]],
	pic = 'gfx/stepan_end.png'
};

stepan_code = room {
	nam = 'Код',
	dsc = [[Примите поздравления! Вы прошли историю 1 и получили одну из
трёх возможных её концовок.^^
На всякий случай можете записать код, который возможно пригодится:
]]..txtb('HW8WOM')..[[ :)^^
{continue|Титры}]],
	obj = {
		xact('continue', code[[walk 'titles']]),
	},
	pic = 'gfx/screen.png',
};

stepan_die_code = room {
	nam = 'Код',
	dsc = [[Примите поздравления! Вы прошли историю 1 и получили одну из
трёх возможных её концовок.^^
На всякий случай можете записать код, который возможно пригодится:
]]..txtb('KOHJOM')..[[ :)^^
{continue|Титры}]],
	obj = {
		xact('continue', code[[walk 'titles']]),
	},
	pic = 'gfx/screen.png',
};

titles = room {
	nam = 'Титры',
	dsc = txtc(txtb('Автор:')..[[^Евгений Ефремов^^]]..
txtb('Движок INSTEAD:')..[[^Петр Косых^^]]..
txtb('Музыка и звуки:')..[[^Excelenter, Евгений Ефремов^Некоторые звуки взяты с сайта freesound.org^^
2011 год, Мариуполь]]),
	pic = 'gfx/screen.png',
};
