Files @ 6e7519136e47
Branch filter:

Location: games/Awakening/london.lua

Silverwing
Project state at 03.10.15
--[[
	Порт
]]

char_captain = character {
	nam = "char_captain";
	disp = "Капитан";
	dsc = [[
		{Капитан} стоит на носу и задумчиво смотрит на происходящее на палубе.
	]];
	phrases = {
		"Завтра мы отправляемся обратно в Америку. ",
		"\"Северное сияние\" - лучший из кораблей, которыми я управлял. ",
		"Кажется, дождь собирается. ",
		"Как вам путешествие?",
		"Этот пароход - гордость компании. ",
		"Иногда я вспоминаю свою молодость на \"Чайке\" и \"Нефритовой королеве\". "
	};
};

char_first_mate = character {
	nam = "char_first_mate";
	disp = "Первый помощник";
	dsc = [[
		{Первый помощник} наблюдает за покидающими корабль людьми.
	]];
	phrases = {
		"Скорей бы обратно в море. ",
		"Как вам путешествие?",
		"Надо бы осмотреть машину... ",
		"Капитан раньше командовал \"Чайкой\". Я не знаю, что стало с ней сейчас. ",
		"\"Северное сияние\" - гордость компании. ",
		"Это был мой первый трансатлантический рейс в качестве первого помощника. "
	};
};

aurora_borealis = room {
	nam = "aurora_borealis";
	disp = "\"Северное сияние\", палуба";
	dsc = [[
		На палубе парохода людно. Пассажиры один за другим сходят на берег. Небо покрыто тяжелыми тучами. Со всех сторон доносятся гудки пароходов.
	]];
	obj = {'char_captain', 'char_first_mate'};
	way = {
		vroom("Сойти на берег", "london_mooring");
	};
};

london_mooring = room {
	nam = "london_mooring";
	disp = "Причал";
	dsc = [[
		У причала не протолкнуться. У вас не остается выбора, кроме как отойти к порту вместе с толпой. 
	]];
	way = {
		vroom("Отойти от причала", "port");
	};
};

port = room {
	nam = "port";
	disp = "Порт";
	entered = function(s)
		move(char_coachman, here());
	end;
	dsc = [[
		Вы находитесь в порту. Небо покрыто тяжелыми тучами - вот-вот начнется дождь. 
		Вокруг кипит жизнь: снуют толпы народу, то и дело раздаются гудки пароходов, слышно ржание лошадей, запряженных в многочисленные экипажи, привозящие и увозящие людей.
	]];
	obj = {'item_toolbox', 'char_worker'};
};

char_worker = character {
	nam = "char_worker";
	disp = "Портовый рабочий";
	dsc = [[ Рядом с ящиком стоит {портовый рабочий} и курит трубку.^ ]];
	dlg = "char_worker_dlg";
};

char_worker_dlg = dlg {
	nam = "char_worker_dlg";
	disp = "Портовый рабочий";
	dsc = [[
		Чего надо?
	]];
	phr = {
		{always=true, "Могу я воспользоваться вашими инструментами?", "Нет. ", [[ psub 'bribe_try' ]]};
		{always=true, "Нет, ничего", "Вали отсюда. ", [[ back(); ]]};
		{tag='bribe_try'};
		{always=true, "Поменяю на бутылку"};
		{always=true, "Могу я купить их у вас?", "Сколько?", [[ psub 'bribing_20' ]]};
		{always=true, "Нет, ничего", "Вали отсюда. ", [[ back(); ]]};
		{tag='bribing_20'};
		{"5 шиллингов?", "Смеешься?"};
		{always=true, "10 шиллингов?", "15", [[psub 'bribing_15']]};
		{always=true, "20 шиллингов?", "Идет", [[ char_worker.bought = true; back();]]};
		{always=true, "30 шиллингов?", "Идет", [[ char_worker.bought = true; back();]]};
		{tag='bribing_15'};
		{always=true, "10", "14", [[psub 'bribing_14']]};
		{always=true, "11", "14", [[psub 'bribing_14']]};
		{always=true, "12", "14", [[psub 'bribing_14']]};
		{always=true, "13", "14", [[psub 'bribing_14']]};
		{always=true, "14", "14", [[ char_worker.bought = true; back(); ]]};
		{tag='bribing_14'};
		{always=true, "10", "13", [[psub 'bribing_13']]};
		{always=true, "11", "13", [[psub 'bribing_13']]};
		{always=true, "12", "13", [[psub 'bribing_13']]};
		{always=true, "13", "13", [[ char_worker.bought = true; back(); ]]};
		{tag='bribing_13'};
		{always=true, "10", "Вали отсюда, надоел. ", [[ back(); ]]};
		{always=true, "11", "Вали отсюда, надоел. ", [[ back(); ]]};
		{always=true, "12", "Идет", [[ char_worker.bought = true; back(); ]]};
	};
};

--[[
	Банк
]
bank_street = room {
	nam = "bank_street";
	disp = "У входа в банк";
	entered = function(s)
		move(char_coachman, here());
	--	lifeon(s);
	end;
	dsc = [
		Вы находитесь на улице у входа в банк - двухэтажное здание с большой украшенной вывеской "Банк Джонсона" над входом. 
	];
	way = {
		vroom("В банк", "bank_inside");
	};
	--left = function(s)
	--	lifeoff(s);
	--end;
};

bank_inside = room {
	nam = "bank_inside";
	disp = "В банке";
	dsc = [
		Вы находитесь в банке. Высокие окна закрыты плотными занавесками, однако в зале светло благодаря многочисленным газовым лампам, укрепленным на стенах и колоннах по всему залу. Мраморный пол идеально чист, несмотря на снующих посетителей. 
	];
	way = {
		vroom("На улицу", "bank_street");
	};
	obj = {
		'clerk'
	};
};

clerk = obj {
	nam = "clerk";
	dsc = [
		За  мраморной стойкой вы видите скучающего {клерка}.
	];
	act = [ Без банковской книжки вам здесь денег не выдадут. ];
	used = function(s, o)
		if (o == item_bankbook) then
			global.has_money = true;
			remove(item_bankbook, pl);
			take(item_money);
			return "Вы протягиваете клерку вашу банковскую книжку и снимаете некоторое количество денег со счета";
		end;
	end;
};]]

--[[
	Гостиница
]]

ginshop = room {
	nam = "ginshop";
	disp = "Пивная лавка";
	dsc = [[
		Вы находитесь в небольшой комнатушке. 
	]];
	obj = {'ginshop_trader'};
};

ginshop_trader = character {
	nam = "ginshop_trader";
	disp = "Торговец";
	dsc = [[
		За грязным прилавком, не раз залитым пивом и другими напитками стоит подслеповатый {торговец}. 
	]];
	dlg = "ginshop_trader_dlg";
};

ginshop_trader_dlg = dlg {
	nam = "ginshop_trader_dlg";
	disp = "Торговец";
	dsc = [[
		Добро пожаловать, чем могу вам помочь?
	]];
	phr = {
		{1, "Бутылочку чего-нибудь покрепче, пожалуйста", "Ага, щас"};
		{2, always = true, "Это все, спасибо", "До свидания", 
			function() 
				back();
			end;
		};
	};
};

hotel_street = room {
	nam = "hotel_street";
	disp = "У входа в гостиницу";
	entered = function(s)
		move(char_coachman, here());
	end;
	dsc = [[
		Вы стоите на улице у входа в гостиницу. Гостиница представляет собой трехэтажное кирпичное здание. Ниже по улице вы видите здание, на котором висит вывеска пивной лавки.
	]];
	way = {
		vroom("В гостиницу", "hotel_hall");
		vroom("В переулок", "hotel_alley");
		vroom("В пивную лавку", "ginshop");
	};
};

hotel_hall = room {
	nam = "hotel_hall";
	disp = "Гостиница";
	dsc = [[
		Вы находитесь в холле гостиницы. Просторный зал, по высоте составляющий два этажа. В задней части вы видите широкую лестницу, застеленную красной дорожкой. Занавески на окнах аккуратно собраны в стороны, позволяя свету проникнуть в помещение. Несмотря на это, под потолком горит огромная люстра, украшенная золотом и серебром. 
	]];
	obj = {
		'hotel_concierge'
	};
	way = {
		vroom("На улицу", "hotel_street");
		vroom("К номерам на первом этаже", "hotel_corridor_1");
		vroom("на второй этаж", "hotel_corridor_2");
	};
};

hotel_corridor_1 = room {
	nam = "hotel_corridor_1";
	disp = "Отель, первый этаж";
	dsc = "Вы находитесь в коридоре гостиницы. ";
	way = {
		vroom("В холл", "hotel_hall");
		vroom("В комнату №2", "hotel_room_2"):disable();
	};
};

hotel_corridor_2 = room {
	nam = "hotel_corridor_2";
	disp = "Отель, второй этаж";
	dsc = "Вы находитесь в коридоре гостиницы. ";
	way = {
		vroom("В холл", "hotel_hall");
		vroom("В комнату №7", "hotel_room_7"):disable();
	};
};

hotel_room_2 = room {
	nam = "hotel_room_2";
	disp = "Комната №2";
	dsc = [[
		Вы находитесь в комнате Джозефа Старлайта.
	]];
};

hotel_room_7 = room {
	nam = "hotel_room_7";
	disp = "Комната №7";
	dsc = [[
		Вы находитесь в вашей комнате в отеле.
	]];
	way = {
		vroom("Спуститься вниз", "hotel_hall");
	};
};

hotel_alley = room {
	nam = "hotel_alley";
	disp = "Переулок";
	entered = function(s)
		lifeon(alley_trader);
	end;
	left = function(s)
		lifeoff(alley_trader);
	end;
	dsc = [[
		Узкий, грязный проулок. 
	]];
	obj = {
		'alley_trader'
	};
	way = {
		vroom("Ко входу в гостиницу", "hotel_street");
	}
};

alley_trader = obj {
	nam = "alley_trader";
	disp = "Торговец редкостями";
	dsc = "Немолодой {человек} в старом пальто и очках стоит, опершись на стену одного из домов.";
	life = function(s)
		if(math.random(5) > 3 and where(pl) ~= alley_trader_dlg) then
			pn("Повернувшись к вам, человек спрашивает: \"Могу я чем-нибудь помочь?\"");
		end;
	end;
	act = function(s)
		walkin "alley_trader_dlg";
	end;
};

alley_trader_dlg = dlg {
	nam = "alley_trader_dlg";
	disp = "Торговец";
	hideinv = true;
	entered = function(s)
		if (global.light_needed) then
			pon(1);
		else
			poff(1);
		end;
		if (global.lockpick_needed) then
			pon(2);
		else
			poff(2);
		end;
		return [["У меня есть все, что вам нужно"]];
	end;
	phr = {
		{1, "Мне нужна лампа", function()
			take(item_lamp);
			return "Без проблем";
		end};
		{2, "Мне нужна отмычка", function()
			global.lockpick_needed = false;
			take(item_lockpick);
			return "Без проблем";
		end};
		{255, always = true, "Это все", function()
			back();
			return "До встречи";
		end};
	};
};

hotel_concierge = obj {
	nam = "hotel_concierge";
	disp = "Консьерж";
	dsc = [[
		За стойкой скучает {консьерж}.
	]];
	act = function(s)
		if (hotel_concierge.paid) then
			pn("Я уже снял номер");
		else
			walkin(hotel_concierge_dlg);
		end;
	end;
};

hotel_concierge_dlg = dlg {
	nam = "hotel_concierge_dlg";
	disp = "Консьерж";
	entered = [[
		Консьерж оживился, как только вы подошли: "Здравствуйте! Желаете снять номер?"
	]];
	phr = {
		{1, "Да, мне нужна комната на неделю. ", function()
			hotel_concierge.paid = true;
			path("В номер", hotel_hall):enable();
			back();
			return "Вы оплачиваете проживание и консьерж дает вам ключ от вашего номера.";
		end;};
		{255, always = true, "не сейчас", function()
			back();
			return "Когда соберетесь тогда и приходите.";
		end};
	};
};