Changeset - 6749b9519941
[Not reviewed]
default
0 3 0
Silverwing - 7 years ago 2017-01-20 10:56:32

Vars added
3 files changed with 57 insertions and 101 deletions:
0 comments (0 inline, 0 general)
images/stones.png
Show inline comments
 
binary diff not shown
Show images
london.lua
Show inline comments
 
@@ -66,6 +66,9 @@ port_street = room {
 
};
 
 
char_worker = npc {
 
    var {
 
        bought = false;
 
    };
 
	nam = "char_worker";
 
	disp = "Портовый рабочий";
 
	dsc = [[На скамейке у стены склада сидит {рабочий} и курит трубку. ]];
 
@@ -166,6 +169,9 @@ ginshop = room {
 
};
 
 
ginshop_trader = npc {
 
    var {
 
        bought = false;
 
    };
 
	nam = "ginshop_trader";
 
	disp = "Продавец";
 
	dsc = [[За грязным прилавком, не раз залитым местными напитками, стоит пожилой {продавец}. Сквозь потрескавшееся мутное стекло в старых очках(второе отсутствует, судя по всему, уже давно) он пытается рассмотреть вас. ]];
 
@@ -258,6 +264,9 @@ hotel_corridor_1 = room {
 
};
 
 
hotel_corridor_2 = room {
 
    var {
 
        room_visited = false;
 
    };
 
	nam = "hotel_corridor_2";
 
	disp = "Гостиница, второй этаж";
 
	dsc = [[Широкий коридор без окон, освещенный газовыми лампами, укрепленными на стенах. По обе стороны от вас расположены двери, ведущие в комнаты постояльцев. ]];
wright.lua
Show inline comments
 
@@ -2,9 +2,11 @@
 
Здесь игрок получает адреса всех ключевых локаций первой части
 
]]
 
door_wright = obj {
 
    var {
 
        locked = true;
 
    };
 
	nam = "door_wright";
 
	disp = "Дверь";
 
	locked = true;
 
	act = function(s)
 
		if (s.locked) then
 
			walkin "wright_entry_dlg";
 
@@ -13,21 +15,29 @@ door_wright = obj {
 
	end;
 
	dsc = function(s)
 
		if (s.locked) then
 
			return [[ Обшарпанная деревянная {дверь}, ведущая в дом, заперта изнутри. ^ ]];
 
			return [[Обшарпанная деревянная {дверь}, ведущая в дом, заперта изнутри. ]];
 
		else
 
			return [[ Входная дверь дома открыта. ^ ]];
 
			return [[Обшарпанная деревянная {дверь}, ведущая в дом, незаперта. ]];
 
		end;
 
	end;
 
};
 
 
char_wright_home = obj {
 
    var {
 
        known = false;
 
        documents = false;
 
    };
 
	nam = "char_wright_home";
 
	disp = "Джек Райт";
 
	dsc = function(s)
 
		if (s.documents) then
 
			return [[ ^{Джек Райт} с интересом рассматривает схемы, которые вы ему отдали^ ]];
 
			return [[За столом сидит {Джек Райт} и с интересом рассматривает схемы, которые вы ему отдали. ]];
 
		else
 
			return [[ ^Вы видите {молодого человека} одетого в недорогой, но опрятный костюм. ^ ]];
 
            if (s.known) then
 
                return [[За столом сидит {Джек Райт}, неспешно просматривая какие-то бумаги. ]];
 
            else
 
			    return [[За столом сидит {молодой человек}, неспешно просматривающий какие-то бумаги. ]];
 
            end;         
 
		end;
 
	end;
 
	act = function(s)
 
@@ -36,12 +46,11 @@ char_wright_home = obj {
 
};
 
 
wright_dlg = dlg {
 
    var {
 
        state = 1;
 
    };
 
	nam = "wright_dlg";
 
	disp = "Джек Райт";
 
	state = 1;
 
	enter  = function(s)
 
		--Небольшой костылик - вырубаем проверку на пустой диалог. Логика тут довольно запутанная и движок скорее всего ниасилит все условия
 
	end;
 
	entered = function(s)
 
		if (atlantis_found and submarine_leviathan.air_level > 400000 and submarine_leviathan.circuit_breaks == 0 and submarine_leviathan.power_on) then
 
			psub('leviathan_restored');
 
@@ -51,111 +60,67 @@ wright_dlg = dlg {
 
		elseif (s.state == 1) then
 
			--First meeting
 
			psub('first_visit');
 
			return [[
 
				"Добрый день. Я Джек Райт. Майкл мой отец, но он пропал несколько лет назад".
 
			]];
 
			return [[Перед вами молодой человек, одетый в недорогой, но опрятный костюм. Его бледное лицо украшает короткая темная борода и пышные усы. Темные волосы коротко острижены. Серые глаза с интересом разглядывают вас. Он протягивает вам руку и представляется: "Добрый день. Мое имя -- Джек Райт. Майкл -- мой отец, но он пропал несколько лет назад". ]];
 
		elseif (s.state == 2) then
 
			--Documents not given
 
			psub('ask_documents');
 
			return [[
 
				"Привет. Ты обещал какие-то документы принести".
 
			]];
 
			return [[Джек Райт отвлекается от газеты: "Добрый день. Вы обещали принести какие-то документы". ]];
 
		elseif (s.state == 3) then
 
			--Documents given
 
			if (not leviathan_discovered) then
 
				psub('checking_documents');
 
				return [[
 
					"Привет. Я пока больше ничего не нашел, приходи позже".
 
				]];
 
				return [[Джек Райт отвлекается от документов: "Добрый день. Если вы по поводу документов, то я еще ничего не нашел". ]];
 
			else
 
				s.state = 5;
 
				warehouse32_found = true;
 
				psub('warehouse_discovered');
 
				return [[
 
					"Привет, я нашел, где находится склад 32".
 
				]];
 
				return [[Джек Райт отвлекается от документов: "Добрый день. У меня хорошие новости. Я нашел склад 32", - он достает карту города и показывает вам место. ]];
 
			end;
 
		elseif (s.state == 4) then
 
			--Documents taken back
 
			psub('ask_documents2');
 
			return [[
 
				"Привет. Если вернешь бумаги, я продолжу поиски".
 
			]];
 
			return [[Джек Райт отвлекается от газеты: "Добрый день. Я хотел бы еще раз вглянуть на эти бумаги". ]];
 
		elseif (s.state == 5) then
 
			psub('empty');
 
			return [[
 
				"Привет". 
 
			]];
 
			return [[Джек Райт отвлекается от газеты: "Добрый день". ]];
 
		elseif (s.state == 6) then
 
			psub('warehouse_discovered2');
 
			return [[
 
				"Привет". 
 
			]];
 
			return [[Джек Райт отвлекается от газеты: "Добрый день". ]];
 
		elseif (s.state == 7) then
 
			psub('warehouse_discovered3');
 
			return [[
 
				"Привет". 
 
			]];
 
			return [[Джек Райт отвлекается от газеты: "Добрый день". ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag='first_visit'};
 
		{"У меня есть кое-какие документы и этот адрес. Возможно они помогут понять, что произошло и куда пропали мой и твой отец. ", [[
 
			"Я просмотрел много материала. Тогда пропало больше двух десятков сотрудников Вестхейвен Трансоушен, но конкретнее я ничего сказать не могу. Если покажешь мне свои бумаги, возможно я смогу что-то сказать".
 
		]], code [[wright_dlg.state = 2; psub('ask_documents'); ]]};
 
		{"Мое имя -- Дэвид Дрейк. Мне удалось найти кое-какие документы в одном из тайников отца. Этот адрес был среди них. Вы что-то знаете о судьбе моего отца? ", [[Джек вздыхает: "Это бесполезно. Я изучил практически все, до чего сумел дотянуться - газеты, судебные дела. И ничего - никаких зацепок. Компания обанкротилась, руководители пропали". ]], code [[wright_dlg.state = 2; psub('ask_documents'); ]]};
 
		{200, tag='ask_documents'};
 
		{always = true, "[Отдать документы Джеку]", [[
 
			Джек забирает бумаги из ваших рук и тщательно их рассматривает. Через некоторое время он говорит: "Док 2 мне знаком. Отец там часто бывал. Остальные - затрудняюсь ответить. Если оставишь документы мне, я попробую поискать".
 
		]], code[[ 
 
		{always = true, "[Отдать документы]Посмотрите это. Не думаю, что вы это видели. ", [[Джек нехотя забирает бумаги из ваших рук и бегло их осматривает. Пожимая плечами, он комментирует: "Ничего интересного, просто планы старых зданий. Док 2? Отец там часто бывал, впрочем не думаю, что после 10 лет там что-то осталось. Если хотите - можете оставить документы, я попробую разузнать побольше". ]], code [[ 
 
			dock_found = true;
 
			wright_dlg.state = 3; 
 
			remove(item_charts, pl); 
 
			back(); 
 
		]]};
 
		{always = true, "У меня есть несколько вопросов", [[
 
			"Чем смогу - помогу".
 
		]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[
 
			"До встречи".
 
		]], code [[ back(); ]]};
 
		{always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[ Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{300, tag='checking_documents'};
 
		{always = true, "Можешь вернуть мне бумаги?", [[
 
			"Забирай, только без них я ничего не смогу найти", - Джек возвращает вам документы.
 
		]], code [[
 
		{always = true, "Вы можете вернуть мне бумаги? ", [["Конечно. Если принесете их снова -- я возобновлю поиски", - Джек возвращает вам документы. ]], code [[
 
			wright_dlg.state = 4;
 
			put(item_charts, pl);
 
			back();
 
		]]};
 
		{always = true, "У меня есть несколько вопросов", [[
 
			"Чем смогу - помогу".
 
		]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[
 
			"До встречи".
 
		]], code [[ back(); ]]};
 
		{always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{400, tag='questions'};
 
		{"Ты знаешь, чем Майкл занимался в Вестхейвен Трансоушен?", [[
 
			"Частично", - Джек показывает на картину на стене: "Он проектировал корабли, был главным инженером. Перед тем, как исчезнуть, он часто запирался в этом кабинете, подолгу что-то чертил. До глубокой ночи книги читал... Никаких материалов он не оставил. Он, вообще, очень ответственно относился к этому - никто никогда не знал, чем конкретно он занимается, кроме его подчиненных и господина Дрейка. "
 
		]]};
 
		{always = true, "Вернемся к делу", [[
 
			"Слушаю"
 
		]], code [[ pret(); ]]};
 
		{"Чем ваш отец занимался в Вестхейвен Трансоушен? ", [["Частично", - Джек показывает на картину на стене: "Он проектировал корабли, был главным инженером. Перед тем, как исчезнуть, он часто запирался в этом кабинете, подолгу что-то чертил. До глубокой ночи книги читал... Никаких материалов он не оставил. Он, вообще, очень ответственно относился к этому - никто никогда не знал, чем конкретно он занимается, кроме его подчиненных и вашего отца". ]]};
 
		{always = true, "Вернемся к делу. ", [[Джек кивает: "Хорошо". ]], code [[ pret(); ]]};
 
		{500, tag='ask_documents2'};
 
		{always = true, "[Отдать документы Джеку]", [[
 
			Джек забирает бумаги и раскладывает их на своем столе.
 
		]], code[[ wright_dlg.state = 3; remove(item_charts, pl); back(); ]]};
 
		{always = true, "У меня есть несколько вопросов", [[
 
			"Чем смогу - помогу".
 
		]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[
 
			"До встречи".
 
		]], code [[ back(); ]]};
 
		{always = true, "[Отдать документы]Вот документы. ", [[Джек забирает бумаги и раскладывает их на своем столе: "Спасибо, я посмотрю, что смогу найти". ]], code[[ wright_dlg.state = 3; remove(item_charts, pl); back(); ]]};
 
		{always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{600, tag='warehouse_discovered'};
 
		{"Знаешь, что я нашел в доке? [Рассказать о Левиафане]", [[
 
			Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть! "
 
		]], code [[ walkin('wright_leviathan_cutscene1'); ]]};
 
		{always = true, "Отлично, я съезжу туда и посмотрю, что удастся найти. ", [[
 
			"До встречи".
 
		]], code [[ back(); ]]};
 
		{"[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[ walkin('wright_leviathan_cutscene1'); ]]};
 
		{always = true, "Отлично, я съезжу туда и посмотрю, что удастся найти. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{700, tag='warehouse_discovered2'};
 
		{always = true, "На склад мне попасть не удалось. ", [[
 
			Джек с досадой стучит по столу: "Черт! "^
 
@@ -265,35 +230,23 @@ wright_entry_dlg = dlg {
 
 
wright_drawing = obj {
 
	nam = 'wright_drawing';
 
	dsc = [[
 
		На одной из стен висит большая {картина}, изображающая пароход. 
 
	]];
 
	act = [[
 
		На картине во всех деталях изображен пароход _"Огненная стрела"_, принадлежавший Вестхейвен Трансоушен. Огромный пароход, полным ходом движущийся по бескрайнему океану. Яркое солнце освещает палубу, на которой находится множество пассажиров, прогуливающихся, общающихся, сидящих на скамейках. Из всех трех труб _"Огненной стрелы"_ идет густой черный дым, а на корме развевается флаг Соединенного Королевства. 
 
		Под картиной вы видите небольшую табличку с надписью: _"Майклу Райту, создателю великолепной ,,Огненной стрелы''. Альберт Мур, 1889"_
 
	]];
 
	dsc = [[На стене напротив двери висит большая {картина}, изображающая пароход. ]];
 
	act = [[На картине во всех деталях изображен пароход _"Огненная стрела"_, принадлежавший Вестхейвен Трансоушен, полным ходом идущий по бескрайнему океану. Яркое солнце освещает палубу, на которой находится множество пассажиров, прогуливающихся, общающихся, сидящих на скамейках. Из всех трех труб _"Огненной стрелы"_ идет густой черный дым, а на корме развевается флаг Соединенного Королевства. Под картиной вы видите небольшую табличку с надписью: _"Майклу Райту, создателю ,,Огненной стрелы''. Альберт Мур, 1889"_. ]];
 
};
 
 
wright_table = obj {
 
	nam = "wright_table";
 
	disp = "Стол";
 
	dsc =[[
 
		В центре комнаты стоит массивный дубовый стол. На полированной поверхности стола разбросаны в кажущемся беспорядке листы бумаги, письменные принадлежности и множество других полезных и не очень предметов. 
 
	]];
 
	obj = {
 
		
 
	};
 
	dsc =[[В центре комнаты стоит массивный дубовый стол. На его полированной поверхности разбросаны в кажущемся беспорядке бумаги, письменные принадлежности, старые газеты и другие предметы. ]];
 
};
 
 
wright_house_cabinet = room {
 
	nam = "wright_house_cabinet";
 
	disp = "Дом Райта, кабинет";
 
	dsc = [[
 
		Вы находитесь в кабинете Райта. Сквозь большие окна в комнату проникает достаточно света. Стены оклеены старыми обоями с полустершимся рисунком.
 
	]];
 
	dsc = [[Стены комнаты оклеены старыми обоями с полустершимся рисунком. Сквозь большие окна в комнату проникает достаточно света. ]];
 
	obj = {
 
        'wright_drawing',   
 
		'wright_table',
 
		'wright_drawing',
 
		'char_wright_home'
 
	};
 
	way = {
 
@@ -304,15 +257,11 @@ wright_house_cabinet = room {
 
wright_house_front_room = room {
 
	nam = "wright_house_front_room";
 
	disp = "Дом Райта, гостиная";
 
	dsc = [[
 
		Вы находитесь в гостиной в доме Райта. Окна завешены тяжелыми занавесками и в полутьме вы с трудом различаете очертания предметов интерьера - дорогих старых кресел, изящно украшенных шкафов, покрытых многолетним слоем пыли канделябров. 
 
	]];
 
	dsc = [[Окна в гостиной завешены тяжелыми занавесками и в полутьме вы с трудом различаете очертания предметов интерьера - дорогих старых кресел, изящно украшенных шкафов, покрытых многолетним слоем пыли канделябров. ]];
 
	entered = function(s)
 
		if (not s.visited) then
 
			s.visited = true;
 
			pn([[
 
				У двери стоит молодой человек, примерно вашего возраста. Как только вы заходите, он закрывает за вами дверь и просит проследовать за ним в кабинет. 
 
			]]);
 
			pn([[У двери стоит молодой человек, примерно вашего возраста. Как только вы заходите, он закрывает за вами дверь и просит проследовать за ним в кабинет. ]]);
 
		end;
 
	end;
 
	way = {
 
@@ -327,9 +276,7 @@ wright_house = room {
 
	enter = function(s)
 
		put(char_coachman, here());
 
	end;
 
	dsc = [[
 
		Вы стоите посреди небольшой тихой улочки, расположенной почти на окраине Лондона. Напротив вас расположен небольшой кирпичный особняк, принадлежащий Майклу Райту, если верить записке. Дом выглядит неухоженным - штукатурка местами осыпалась, лужайка заросла высокой травой, часть окон закрыта плотными ставнями, которые явно давно не открывались. 
 
	]];
 
    dsc = [[Небольшой кирпичный особняк, принадлежащий Майклу Райту, стоит на одной из тихих улочек, на окраине Лондона. Дом выглядит неухоженным - штукатурка местами осыпалась, лужайка заросла высокой травой, часть окон закрыта ставнями, явно давно не открывавшимися. ]];
 
	obj = {'door_wright'};
 
	way = {
 
		vroom("В дом", "wright_house_front_room"):disable();
0 comments (0 inline, 0 general)