Changeset - 407f6de160dd
[Not reviewed]
default
0 2 1
Silverwing - 8 years ago 2016-03-20 14:26:18

Intro implemented
3 files changed with 220 insertions and 2 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -34,7 +34,16 @@ atlantis_aqua_corridor_b = room {
 
};
 
 
atlantis_aqua_leviathan_dock = room {
 
	var {
 
		visited = false;
 
	};
 
	nam = "Атлантида, Аква, гостевой док A";
 
	enter = function(s)
 
		if (not s.visited) then
 
			s.visited = true;
 
			walk(atlantis_intro_dock);
 
		end;
 
	end;
 
	dsc = [[
 
		Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен _"Левиафан"_. Под потолком, на высоте примерно в 5 метров укреплены специальные балки, по которым могут свободно перемещаться крюки подъемных кранов. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. 
 
	]];
 
@@ -373,7 +382,7 @@ atlantis_intersection_oculus_dominus = r
 
};
 
 
atlantis_oculus_main_corridor = room {
 
	nam = "Атлантида, Терра, главный коридор";
 
	nam = "Атлантида, Окулус, главный коридор";
 
	dsc = [[
 
		Широкий просторный коридор. По обе стороны его расположены шлюзовые двери, ведущие в мастерские. Вдоль стен расположено множество ящиков. В конце коридора находятся две двери, ведущие в технические секции станции.
 
	]];
atlantis_intro.lua
Show inline comments
 
new file 100644
 
atlantis_intro_dock = room {
 
	nam = "Подводная станция";
 
	--entered = function(s)
 
	--	if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
	--		print("with wright");
 
	--		place(vway("continue", "{Продолжить}", atlantis_intro_radio_dlg), s);
 
	--	else
 
	--		print("alone");
 
	--		place(vway("continue", "{Продолжить}", atlantis_intro_radio_dlg_alone), s);
 
	--	end;
 
	--end;
 
	dsc = [[
 
		В большом прямоугольном зале, ярко освещенном электрическими лампами слышен шум воды, плещущейся под вами. Шлюзовая дверь в стене зала открывается и внутрь входит группа вооруженных людей. ^
 
		Шесть человек в черных блестящих костюмах, тяжелых ботинках и с револьверами в руках берут вас на прицел. ^
 
		Один из них подходит к вам и протягивает небольшой чемоданчик с несколькими антеннами. Проводами к нему подключена телефонная трубка.
 
		Из динамика вы слышите голос: "Добро пожаловать на Атлантиду".
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_radio_dlg");
 
	};
 
};
 
 
atlantis_intro_radio_dlg = dlg {
 
	nam = "Радио";
 
	dsc = [[
 
		В левой руке вы держите телефонную трубку, соединенную проводами только с чемоданчиков в руках одного из вооруженных людей. Из трубки доносится голос: "Итак, кто вы такие? Попрошу отвечать максимально честно и полно. Не будем терять времени".
 
	]];
 
	phr = {
 
		{"Как эта штука работает?", [[
 
			Невидимый собеседник кратко объясняет вам: "В чемоданчике расположены радиоприемник и передатчик. Передо мной сейчас стоит точно такой же чемоданчик, через который я с вами и общаюсь".
 
		]]};
 
		{"Кто вы?", [[
 
			Собеседник отвечает спокойно, не поднимая голоса и не выказывая никакого недовольства: "Винсент Даркстар, начальник охраны. Чем быстрее вы ответите на мои вопросы, тем быстрее мы сможем с вами нормально поговорить".
 
		]]};
 
		{"Вы знаете Уильяма Дрейка?", [[
 
			Собеседник в трубке спокойным голосом объясняет свой отказ от ответа: "Ответьте на мои вопросы, пожалуйста". 
 
		]]};
 
		{"Мое имя - Дэвид Дрейк. ", [[
 
			Вы видите удивление на лице присутствующих. Они опускают револьверы. Вы слышите удивление и в голосе вашего собеседника: "Дрейк? Как вы нашли эту станцию?"
 
		]], code [[ psub('station') ]]};
 
		{tag="station"};
 
		{"Я нашел этот корабль - _\"Левиафан\"_ в одном из доков Вестхейвен Трансоушен. Также мне удалось найти карту, ведущую сюда. ", [[
 
			Вы слышите в трубке другой голос, едва различимый: _"Я думал, мы уничтожили все документы. Нам очень повезло..."_ - вы слышите легкий щелчок и соединение прерывается. Через несколько минут вы снова слышите в трубке первого собеседника: _"Что нам с вами делать, мистер Дрейк? Однозначно, мы не можем вас отпустить. Нам нужен ,,Левиафан'', особенно в свете того, что ,,Надежда'' с экипажем пропала некоторое время назад. Пока мы ничего не придумаем, вам придется побыть нашим гостем"_. 
 
		]], code [[ psub('trust')]]};
 
		{tag="trust"};
 
		{"Я ищу своего отца, Уильяма Дрейка. Вы знаете его?", [[
 
			Голос в трубке отвечает: "Да, мы его знаем. Он был руководителем станции, пока не покинул ее".
 
		]], code [[psub('drake')]]};
 
		{"Что это значит? Я не могу здесь задерживаться! ", [[
 
			Голос в трубке отвечает: "У нас нет выбора. Мне было бы гораздо проще без посторонних на станции". 
 
		]], code [[psub('bye')]]};
 
		{tag='drake'};
 
		{"Покинул?", [[
 
			Собеседник отвечает: _"Это долгая история, вам лучше расспросить кого-нибудь другого. Примерно год назад Уильям отправился на поиски какого-то древнего города или чего-то в этом роде. С тех пор он не вернулся"_.
 
		]]};
 
		{tag='bye'};
 
		{"И что мне делать? Есть какое-нибудь решение?", [[
 
			Собеседник отвечает: _"Поживем, увидим. Я думаю, вам стоит поговорить с другими руководителями станции: окончательное решение примет Фредерик Моро - глава Атлантиды, но помимо него вам стоит поговорить с Екатериной Светловой и Майклом Райтом. А сейчас, мне пора"_.
 
		]], code [[walkin('atlantis_intro_cutscene1')]]};
 
	};
 
};
 
 
atlantis_intro_cutscene1 = room {
 
	nam = "Подводная станция";
 
	dsc = function(s)
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
			return [[
 
				Как только ваш собеседник отключает связь, охранник забирает у вас трубку. Вас проводят к выходу из дока и задраивают люк за вами. Вы оказываетесь в широком коридоре, освещенном не хуже, чем док. К вам подходит человек лет пятидесяти, одетый в строгий деловой костюм. ^
 
				Джек, стоящий рядом с вами, восклицает: "Папа?" ^
 
				На лице человека вы видите не меньшее удивление: "Джек? Что ты-то здесь делаешь?" ^
 
				Джек кратко пересказывает все произошедшее с ним за последние годы и ваше появление в его доме. 
 
			]];
 
		else
 
			return [[
 
				Как только ваш собеседник отключает связь, охранник забирает у вас трубку. Вас проводят к выходу из дока и задраивают люк за вами. Вы оказываетесь в широком коридоре, освещенном не хуже чем док. К вам подходит человек лет пятидесяти, одетый в строгий деловой костюм. 
 
			]];
 
		end;
 
	end;
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_wright_dlg");
 
	};
 
};
 
 
atlantis_intro_wright_dlg = dlg {
 
	nam = "Майкл Райт";
 
	entered = function(s)
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
			return [[
 
				Человек протягивает вам руку и приветствует вас: "Добро пожаловать на ,,Атлантиду'', мистер Дрейк. Мое имя - Майкл Райт и я начальник инженеров станции. Если хотите, я могу показать вам станцию. У меня как раз свободная минутка выдалась. Я несказанно рад, что вы прибыли сюда вместе с моим сыном".
 
			]];
 
		else
 
			return [[
 
				Человек протягивает вам руку и приветствует вас: "Добро пожаловать на ,,Атлантиду'', мистер Дрейк. Мое имя - Майкл Райт и я начальник инженеров станции. Если хотите, я могу показать вам станцию. У меня как раз свободная минутка выдалась".
 
			]];
 
		end;
 
	end;
 
	phr = {
 
		{"Да, конечно.", function(s)
 
			if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
				return [[
 
					Майкл начинает рассказывать: _"Сейчас вы находитесь в секции ,,Аква'' - здесь у нас расположены доки и основные склады. ,,Аква'' разделена на три независимых коридора - мы сейчас находимся в коридоре B. Коридор A мало чем отличается от этого. Сейчас мы пройдем через центральный коридор в секцию ,,Доминус'' -- центр ,,Атлантиды''"_. ^ Джек спрашивает: _"Кому пришла в голову все это?"_ ^
 
					Майкл, немного подумав, отвечает: _"Когда мы с Уильямом построили ,,Надежду'', нам захотелось большего. Надежда была ограничена - мы не могли взять припасов и топлива больше чем на пару месяцев. Тогда у нас появилась идея сделать что-то вроде склада. Мы долго думали, наняли умных людей, которые помогли бы решить возникающие проблемы. В итоге -- мы здесь"_.
 
				]];
 
			else
 
				return [[
 
					Майкл начинает рассказывать: _"Сейчас вы находитесь в секции ,,Аква'' - здесь у нас расположены доки и основные склады. ,,Аква'' разделена на три независимых коридора - мы сейчас находимся в коридоре B. Коридор A мало чем отличается от этого. Сейчас мы пройдем через центральный коридор в секцию ,,Доминус'' - центр ,,Атлантиды''"_.
 
				]];
 
			end;
 
		end, code [[ walk('atlantis_intro_walk_to_dominus')]];};
 
		{"Спасибо, это не нужно.", function(s)
 
			if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
				return [[
 
					Майкл пожимает плечами: _"Хорошо, я буду в мастерской. Заходите, возможно у меня будет для вас несколько поручений"_. Затем он обращается уже к сыну: _"Пойдем в мастерскую. Нам есть что обсудить, да и помощь мне не помешает"_. Они уходят и вы остаетесь один. 
 
				]];
 
			else
 
				return [[
 
					Майкл пожимает плечами: _"Хорошо, я буду в мастерской. Заходите, возможно у меня будет для вас несколько поручений"_. Он уходит и вы остаетесь один. 
 
				]];
 
			end;
 
		end, code [[ walk('atlantis_aqua_corridor_b'); ]]};
 
	};
 
};
 
 
atlantis_intro_walk_to_dominus = room {
 
	nam = "Подводная станция";
 
	dsc = function(s)
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
			return [[
 
				Вы следуете за Майклом сперва в центральный коридор Аквы, затем в короткий межсекционный коридор. Там вы ненадолго останавливаетесь, а Майкл кратко объясняет вам смысл постройки межсекционных коридоров: _"Эти коридоры могут работать как шлюзы, в случае затопления отдельных секций и это, в общем-то, их основное назначение - изначально на станции была только одна секция -- ,,Доминус''. И эти шлюзы служили попросту выходами наружу"_. ^ 
 
				Джек с интересом осматривает систему насосов, приводимых в действие рычагом и спрашивает: "Откуда вы берете энергию для всего этого?" ^
 
				Майкл отвечает: "Изначально с этим были проблемы - мы использовали аккумуляторные батареи, как на субмаринах, но, как вы понимаете, их не хватало надолго - приходилось серьезно экономить энергию - освещения не было, вентиляции тоже. Но все это, как вы видите, в прошлом -- сейчас у нас есть целая секция с машинами, производящими электричество".
 
			]];
 
		else
 
			return [[
 
				Вы следуете за Майклом сперва в центральный коридор Аквы, затем в короткий межсекционный коридор. Там вы ненадолго останавливаетесь, а Майкл кратко объясняет вам смысл постройки межсекционных коридоров: _"Эти коридоры могут работать как шлюзы, в случае затопления отдельных секций и это, в общем-то, их основное назначение - изначально на станции была только одна секция -- ,,Доминус''. И эти шлюзы служили попросту выходами наружу"_.
 
			]];
 
		end;
 
	end;
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_dominus");
 
	};
 
};
 
 
atlantis_intro_dominus = room {
 
	nam = "Подводная станция";
 
	dsc = [[
 
		Из коридора вы выходите в огромный зал. Куполообразном потолке почти целиком сделан из стекла, открывая великолепный вид на океанские глубины. Над вами проплывают рыбы, а далеко вверху, на поверхности, играют солнечные лучи, образуя причудливые узоры. Лишь немного света проникает сюда, слабо освещая зал. По периметру зала и на колоннах, расположенных по всему залу установлены электрические лампы. Почти все они сейчас отключены.
 
		Майкл продолжает свой рассказ: _"Это центральный зал ,,Доминуса''. Как правило здесь мы собираемся, если нужно обсудить что-то значимое, или если руководители станции хотят что-то сообщить. Сейчас станцией управляет Фредерик Моро, я бы посоветовал вам зайти к нему после этой экскурсии - ему будет, что вам сказать. Сейчас мы пройдем в секцию ,,Солис'' - сердце станции, можно сказать. Там производится электроэнергия, которая дает нам все - насосы, качающие воздух, свет, машины. Следуйте за мной"_. 
 
		Пока он говорит, вы идете через весь зал к противоположному концу. Здесь почти нет людей - сейчас, в разгар рабочего дня все заняты в лабораториях, мастерских, офисах. 
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_walk_to_solis");
 
	};
 
};
 
 
atlantis_intro_walk_to_solis = room {
 
	nam = "Подводная станция";
 
	dsc = [[
 
		Вы проходите через еще один межсекционный коридор и оказываетесь в широком коридоре. В отличие от остальных коридоров, которые вы видели, этот практически весь заставлен ящиками. Майкл поясняет вам: _"Это секция ,,Терра'', здесь у нас мастерские и все промышленное производство - здесь было создано почти все, что вы видите вокруг - некоторые секции были полностью построены без помощи с поверхности"_.
 
		Вы следуете в дальний конец коридора, где расположен переход в секцию ,,Солис''.
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_solis");
 
	};
 
};
 
 
atlantis_intro_solis = room {
 
	nam = "Подводная станция";
 
	dsc = [[
 
		В коридоре секции ,,Солис'' полутемно и намного жарче, чем в других секциях. Майкл показывает вам на единственную дверь, ведущую к машинному залу и поясняет: "Электричество, вырабатывается у нас традиционным промышленным способом - мы сжигаем топливо, нагревая воду в резервуарах, а пар вращает турбины генератора. Поскольку это техническая секция, она будет для вас закрыта - сюда вообще почти никто не заходит - подача топлива автоматизирована - за этой дверью находятся несколько конвейеров, ведущих к печам. Если нужно провести обслудивание - мы отключаем некоторые генераторы, проводим работы, и включаем их снова. На работе станции такое отключение почти не сказывается - энергия накапливается в аккумуляторах, так что даже в случае отключения всех турбин у нас будет какое-то время прежде чем запас иссякнет".
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_walk_to_aeris");
 
	};
 
};
 
 
atlantis_intro_walk_to_aeris = room {
 
	nam = "Подводная станция";
 
	dsc = function(s)
 
		return [[
 
			Вы возвращаетесь назад к секции ,,Доминус'' и заходите в другую дверь. Вы оказываетесь в длинном и широком коридоре, в одной из стен которого в ряд расположены несколько дверей. Майкл снова начинает рассказывать: "Это ,,Окулус''. В этой секции работают наши ученые. Преимущественно мы решаем вопросы повышения нашей эффективности - наши технологии слишком несовершенны и мы не можем достаточно долгое время находиться вне станции, хотя сама станция обеспечивает нас всем необходимым, нам хотелось бы иметь возможность иметь полностью автономные субмарины, которые могли бы заплывать в самые отдаленные уголки океана. Естественно, это все не просто так - у вас вообще должен возникнуть вопрос ради чего мы все это делаем. И я отвечу на него здесь - когда ,,Надежда'' отправилась в свое первое плавание, мы нашли неподалеку отсюда поселение существ - они называют себя навьярами. Контакт наладить мы смогли только после постройки станции и то не сразу - первое время они были недовольны вообще самим фактом нашего присутствия. Так вот цель существования нашей станции - по-крайней мере согласно тому, как считал Уильям, Ваш отец, состоит в том, чтобы изучать их культуру и историю. Вам, конечно, на этот счет лучше с Катей Светловой, переговорить - она скорее всего в первой лаборатории в этой секции - вы ее без проблем найдете. Но сейчас я хочу показать вам ,,Аэрис'' - наше главное достижение". 
 
		]];
 
	end;
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_aeris");
 
	};
 
};
 
 
atlantis_intro_aeris = room {
 
	nam = "Подводная станция";
 
	dsc = [[
 
		Вы проходите дальше и оказываетесь в просторном зале. Если бы не металлический потолок и электрическое освещение, вы подумали бы, что оказались в обыкновенном саду, где-то на поверхности. Вдали вы слышите гул машин, поддерживающих температуру и влажность воздуха в норме. Майкл рассказывает: "Эта секция дает нам самое главное - кислород, которым мы дышим. Это идея Екатерины была - попытаться вырастить здесь что-нибудь. Конечно очень много энергии уходит на поддержание этого всего. Зато теперь у нас нет необходимости подниматься на поверхность, чтобы накачать воздуха. К тому же часть выращиваемых здесь растений съедобны и подаются к столу".
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_final");
 
	};
 
};
 
 
atlantis_intro_final = room {
 
	nam = "Подводная станция";
 
	dsc = [[
 
		Внезапно, телефон, расположенный у входа начинает звонить. Майкл снимает трубку: _"Майкл Райт слушает"_. Через какое-то время он отвечает: _"Хорошо, понял"_. Он кладет трубку и обращается к вам: _"Мне пора, я надеюсь вы сориентируетесь здесь?"_^
 
		Вы молча киваете и вместе с Майклом покидаете секцию _"Аэрис"_.
 
	]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_oculus_main_corridor");
 
	};
 
};
 
\ No newline at end of file
main.lua
Show inline comments
 
@@ -25,6 +25,7 @@ dofile "warehouse32.lua"
 
-- Часть 2
 
dofile "leviathan.lua"
 
dofile "atlantis.lua"
 
dofile "atlantis_intro.lua"
 
dofile "navjiarr_settlement.lua"
 
dofile "navjiarr_hostile_settlement.lua"
 
-- Часть 3
 
@@ -133,7 +134,7 @@ function init()
 
	---game init
 
	pl.where = intro;
 
	---debug
 
	pl.where = atlantis_aqua_leviathan_dock;
 
	pl.where = atlantis_intro_dock;
 
	-- pl.where = warehouse_32;
 
	-- pl.where = w32_mgr;
 
	-- put(item_toolbox, pl);
0 comments (0 inline, 0 general)