|
@@ -220,12 +220,18 @@ hotel_street = room {
|
|
|
hotel_hall = room {
|
|
|
nam = "hotel_hall";
|
|
|
disp = "Гостиница";
|
|
|
dsc = [[
|
|
|
Вы находитесь в холле гостиницы. Просторный зал, по высоте занимающий оба этажа здания. В задней части зала вы видите широкую лестницу, застеленную старой дорожкой, которая некогда была красной. Окна закрыты тяжелыми занавесками, не позволяя свету с улицы проникнутьт в помещение. Однако, огромная люстра под потолком дает достаточно света.
|
|
|
]];
|
|
|
dsc = [[Холл гостиницы представляет собой просторный зал, высотой в два этаже. В задней части зала вы видите широкую лестницу, застеленную старой дорожкой, которая некогда была красной. Окна закрыты тяжелыми занавесками, не позволяя свету с улицы проникнуть в помещение. Огромная люстра под потолком дает достаточно света. Вдоль стен расположено несколько скамеек. ]];
|
|
|
obj = {
|
|
|
'hotel_concierge'
|
|
|
};
|
|
|
entered = function(s)
|
|
|
if (rnd(20) > 19) then
|
|
|
hotel_maid.state = #hotel_maid.actions;
|
|
|
put(hotel_maid, here());
|
|
|
else
|
|
|
remove(hotel_maid, here());
|
|
|
end;
|
|
|
end;
|
|
|
way = {
|
|
|
vroom("На улицу", "hotel_street");
|
|
|
vroom("К номерам", "hotel_corridor_1"):disable();
|
|
@@ -236,9 +242,15 @@ hotel_hall = room {
|
|
|
hotel_corridor_1 = room {
|
|
|
nam = "hotel_corridor_1";
|
|
|
disp = "Гостиница, первый этаж";
|
|
|
dsc = [[
|
|
|
Вы находитесь в коридоре на первом этаже гостиницы. Окна здесь отсутствуют и все освещение дают несколько газовых ламп, укрепленных на стенах. Вдоль стен расположено несколько простых дверей, ведущих в комнаты, предназначенные для постояльцев.
|
|
|
]];
|
|
|
dsc = [[Широкий коридор без окон, освещенный газовыми лампами, укрепленными на стенах. По обе стороны от вас расположены двери, ведущие в комнаты постояльцев. ]];
|
|
|
entered = function(s)
|
|
|
if (rnd(10) > 9) then
|
|
|
hotel_maid.state = rnd(#hotel_maid.actions - 1);
|
|
|
put(hotel_maid);
|
|
|
else
|
|
|
remove(hotel_maid);
|
|
|
end;
|
|
|
end;
|
|
|
way = {
|
|
|
vroom("В холл", "hotel_hall");
|
|
|
vroom("В комнату №2", "hotel_room_2"):disable();
|
|
@@ -248,9 +260,7 @@ hotel_corridor_1 = room {
|
|
|
hotel_corridor_2 = room {
|
|
|
nam = "hotel_corridor_2";
|
|
|
disp = "Гостиница, второй этаж";
|
|
|
dsc = [[
|
|
|
Вы находитесь в коридоре на втором этаже гостиницы. Окна здесь отсутствуют и все освещение дают несколько газовых ламп, укрепленных на стенах. Вдоль стен расположено несколько простых дверей, ведущих в комнаты, предназначенные для постояльцев.
|
|
|
]];
|
|
|
dsc = [[Широкий коридор без окон, освещенный газовыми лампами, укрепленными на стенах. По обе стороны от вас расположены двери, ведущие в комнаты постояльцев. ]];
|
|
|
way = {
|
|
|
vroom("В холл", "hotel_hall");
|
|
|
vroom("В комнату №7", "hotel_room_7");
|
|
@@ -261,6 +271,14 @@ hotel_corridor_2 = room {
|
|
|
walkin('starlight_first_dlg');
|
|
|
end;
|
|
|
end;
|
|
|
entered = function(s)
|
|
|
if (rnd(10) > 9) then
|
|
|
hotel_maid.state = rnd(#hotel_maid.actions - 1);
|
|
|
put(hotel_maid, here());
|
|
|
else
|
|
|
remove(hotel_maid, here());
|
|
|
end;
|
|
|
end;
|
|
|
left = function(s)
|
|
|
if (s.room_visited) then
|
|
|
remove("char_starlight_corridor", where("char_starlight_corridor"));
|
|
@@ -272,9 +290,7 @@ hotel_corridor_2 = room {
|
|
|
hotel_room_2 = room {
|
|
|
nam = "hotel_room_2";
|
|
|
disp = "Гостиница, Комната №2";
|
|
|
dsc = [[
|
|
|
Вы находитесь в комнате Джозефа Старлайта. На столике у окна стоит зажженная лампа, рядом брошена стопка газет. На кровати в углу валяется шляпа хозяина. Окно распахнуто, впуская внутрь прохладный и влажный воздух, а также шум городской суеты.
|
|
|
]];
|
|
|
dsc = [[Небольшая чистая комната. На столике у окна стоит зажженная лампа, рядом брошена стопка газет. На кровати в углу валяется шляпа хозяина. Окно распахнуто, впуская внутрь прохладный и влажный воздух. ]];
|
|
|
obj = {
|
|
|
"char_starlight"
|
|
|
};
|
|
@@ -286,11 +302,7 @@ hotel_room_2 = room {
|
|
|
hotel_room_7 = room {
|
|
|
nam = "hotel_room_7";
|
|
|
disp = "Гостиница, Комната №7";
|
|
|
-- TODO сделать возможность открыть и закрыть ставни на окнах
|
|
|
-- TODO нахуй магазинчик, торговца и прочих уродов
|
|
|
dsc = [[
|
|
|
Вы находитесь в вашей комнате в гостинице Старого Фрэнки. Небольшой деревянный столик прикрыт чистой белой скатертью. В углу стоит аккуратно сделанный стул. У окна расположена застеленная свежим бельем кровать. На скрипучем деревянном полу постелен старый коврик.
|
|
|
]];
|
|
|
dsc = [[Небольшая чистя комната. Деревянный столик в углу прикрыт белой скатертью. В углу стоит аккуратно сделанный стул. У окна расположена застеленная чистым бельем кровать. На скрипучем деревянном полу лежит старый коврик. ]];
|
|
|
obj = {
|
|
|
'item_lamp', 'room_7_window'
|
|
|
};
|
|
@@ -307,110 +319,31 @@ room_7_window = obj {
|
|
|
state = 0;
|
|
|
dsc = function(s)
|
|
|
if (s.state == 0) then
|
|
|
return "{Окно} комнаты закрыто плотными ставнями";
|
|
|
return "{Окно} закрыто плотными ставнями. ";
|
|
|
elseif (s.state == 1) then
|
|
|
return "Сквозь мутные стекла {окна} вы можете разглядеть мостовую, немногочисленных прохожих, прочные кирпичные дома на другой стороне улицы и тяжелые тучи, нависающие над городом. ";
|
|
|
return "Через {окно} вы можете разглядеть мостовую, немногочисленных прохожих, прочные кирпичные дома на другой стороне улицы и тяжелые тучи, нависающие над городом. ";
|
|
|
else
|
|
|
return "Сквозь открытое {окно} до вас доносится шум большого, живущего своей жизнью города. Прохладный ветерок задувает в комнату.";
|
|
|
return "Сквозь открытое {окно} до вас доносится шум большого, живущего своей жизнью города. Прохладный ветерок задувает в комнату. ";
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if (s.state == 0) then
|
|
|
s.state = 1;
|
|
|
return [[
|
|
|
Вы открываете ставни.
|
|
|
]];
|
|
|
return [[Вы открываете ставни. ]];
|
|
|
elseif (s.state == 1) then
|
|
|
s.state = 2;
|
|
|
return [[
|
|
|
Вы открываете окно.
|
|
|
]];
|
|
|
return [[Вы открываете окно. ]];
|
|
|
elseif (s.state == 2) then
|
|
|
s.state = 0;
|
|
|
return [[
|
|
|
Вы закрываете окно и захлопываете ставни.
|
|
|
]];
|
|
|
return [[Вы закрываете окно и захлопываете ставни. ]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
--[[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");
|
|
|
vroom("В пивную лавку", "ginshop");
|
|
|
}
|
|
|
};
|
|
|
|
|
|
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 = [[
|
|
|
За стойкой скучает пожилой {консьерж}. Поношенный костюм, выглаженный и начищенный, хорошо сидит на его худощавом теле. Аккуратно подстриженная седая борода украшает его морщинистое лицо. Руки его неподвижно лежат на стойке, а глаза наблюдают за входящими и выходящими посетителями.
|
|
|
]];
|
|
|
dsc = [[За стойкой скучает пожилой {консьерж}. Поношенный костюм, выглаженный и начищенный, хорошо сидит на его худощавом теле. Аккуратно подстриженная седая борода украшает его морщинистое лицо. Руки его неподвижно лежат на стойке, а глаза наблюдают за входящими и выходящими посетителями. ]];
|
|
|
act = function(s)
|
|
|
if (hotel_concierge.paid) then
|
|
|
pn("Я уже снял номер");
|
|
@@ -420,91 +353,82 @@ hotel_concierge = obj {
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
--hotel_maid = npc {
|
|
|
-- nam = "hotel_maid";
|
|
|
-- disp = "Служанка";
|
|
|
-- actions = {
|
|
|
-- [[
|
|
|
-- Молодая {Служанка} подметает пол.
|
|
|
-- ]];
|
|
|
-- [[
|
|
|
-- {Служанка}
|
|
|
-- ]];
|
|
|
-- };
|
|
|
-- dsc = function(s)
|
|
|
--
|
|
|
-- end;
|
|
|
-- phrases = {
|
|
|
-- "Простите, я занята";
|
|
|
-- "Вам понравилась ваша комната?";
|
|
|
-- "У меня еще много дел сегодня";
|
|
|
-- "Простите?";
|
|
|
-- "Добрый день";
|
|
|
-- };
|
|
|
--};
|
|
|
hotel_maid = npc {
|
|
|
var {
|
|
|
state = 1;
|
|
|
};
|
|
|
nam = "hotel_maid";
|
|
|
disp = "Служанка";
|
|
|
actions = {
|
|
|
[[{Служанка} подметает пол. ]];
|
|
|
[[{Служанка} протирает стены. ]];
|
|
|
[[{Служанка} поправляет лампу. ]];
|
|
|
[[На одну из скамеек присела отдохнуть {служанка}. ]];
|
|
|
};
|
|
|
dsc = function(s)
|
|
|
return s.actions[s.state];
|
|
|
end;
|
|
|
phrases = {
|
|
|
[["Простите, я занята". ]];
|
|
|
[["Вам понравилась ваша комната?" ]];
|
|
|
[["У меня еще много дел сегодня". ]];
|
|
|
[["Простите?" ]];
|
|
|
[["Добрый день". ]];
|
|
|
};
|
|
|
};
|
|
|
|
|
|
hotel_concierge_dlg = dlg {
|
|
|
nam = "hotel_concierge_dlg";
|
|
|
disp = "Консьерж";
|
|
|
entered = [[
|
|
|
Консьерж оживился, как только вы подошли: "Здравствуйте! Желаете снять номер?"
|
|
|
]];
|
|
|
entered = [[Консьерж оживился, как только вы подошли: "Здравствуйте! Желаете снять номер?" ]];
|
|
|
phr = {
|
|
|
{1, "Да, мне нужна комната на неделю. ", [[
|
|
|
Консьерж, посмотрев в журнал называет цену: "С вас 100 монет. "
|
|
|
Консьерж, посмотрев в журнал, называет цену: "С вас 100 монет. "
|
|
|
]], code = [[ psub("pay"); ]]};
|
|
|
{255, always = true, "Не сейчас", function()
|
|
|
back();
|
|
|
return "Когда соберетесь тогда и приходите.";
|
|
|
return [[Консьерж недовольно отвечает: "Приходите, когда соберетесь! "]];
|
|
|
end};
|
|
|
{tag = "pay"};
|
|
|
{always = true, "Хорошо", function()
|
|
|
if pl:pay(100) then
|
|
|
hotel_concierge.paid = true;
|
|
|
path("К номерам на первом этаже", hotel_hall):enable();
|
|
|
path("К номерам", hotel_hall):enable();
|
|
|
path("На второй этаж", hotel_hall):enable();
|
|
|
back();
|
|
|
return [[
|
|
|
Консьерж принимает ваши деньги и просит вас расписаться в гостевой книге. После чего вручает вам ключ, сообщая: "Вам на второй этаж, комната номер 7."
|
|
|
]];
|
|
|
return [[Консьерж принимает ваши деньги и просит вас расписаться в гостевой книге. После чего вручает вам ключ, сообщая: "Вам на второй этаж, комната номер 7". ]];
|
|
|
else
|
|
|
pon(1);
|
|
|
pret();
|
|
|
back();
|
|
|
return [[
|
|
|
Консьерж недовольно отвечает: "Приходите, когда деньги будут!"
|
|
|
]];
|
|
|
return [[Консьерж недовольно отвечает: "Приходите, когда деньги будут!" ]];
|
|
|
end;
|
|
|
end};
|
|
|
{always = true, "Я передумал", [[
|
|
|
Консьерж недовольно отвечает: "Приходите, когда соберетесь!"
|
|
|
]], code = [[ pon(1); pret(); ]]}
|
|
|
{always = true, "Я передумал", [[Консьерж недовольно отвечает: "Приходите, когда соберетесь!" ]], code = [[ pon(1); pret(); ]]}
|
|
|
};
|
|
|
};
|
|
|
|
|
|
starlight_first_dlg = dlg {
|
|
|
nam = "starlight_first_dlg";
|
|
|
disp = "Джозеф Старлайт";
|
|
|
entered = [[
|
|
|
Выйдя из своей комнаты, вы замечаете поднимающегося по лестнице человека. Это мужчина лет сорока пяти-пятидесяти. Он одет в помятый темно-серый костюм, на носу - маленькие очки в простой оправе. В левой руке он держит какую-то газету, а правой спешно ощупывает карманы в поисках чего-то. Заметив вас он улыбается и спрашивает: "Господин Дрейк?"
|
|
|
]];
|
|
|
nam = "starlight_first_dlg";
|
|
|
disp = "Гостиница, второй этаж";
|
|
|
entered = [[Выйдя из своей комнаты, вы замечаете поднимающегося по лестнице человека. Это мужчина лет сорока пяти -- пятидесяти. Он одет в помятый темно-серый костюм, на носу -- маленькие очки в простой оправе. В левой руке он держит какую-то газету, а правой спешно ощупывает карманы в поисках чего-то. Заметив вас он улыбается и спрашивает: "Господин Дрейк?" ]];
|
|
|
left = function(s)
|
|
|
path('В комнату №2', hotel_corridor_1):enable();
|
|
|
put(hotel_corridor_2, "char_starlight_corridor");
|
|
|
lifeon("char_starlight_corridor");
|
|
|
end;
|
|
|
phr = {
|
|
|
{ "Мы встречались?", "Скорее всего нет, мое имя - Джозеф Старлайт. Вы случайно не родственник Уильяма Дрейка? Название Вестхейвен Трансоушен вам о чем-то говорит?", code [[ pstart('have_we_met') ]]};
|
|
|
{ "Кто вы?", "Джозеф Старлайт, адвокат. Название Вестхейвен Трансоушен вам о чем-то говорит? ", code [[ pstart('who_are_you') ]]};
|
|
|
{ "Да, я Дэвид Дрейк. ", "Здравствйте! Я Джозеф Старлайт. Вы сын Уильяма Дрейка? Название Вестхейвен Трансоушен вам о чем-нибудь говорит? ", code [[ pstart('i_am_drake') ]]};
|
|
|
{ "Простите, я спешу. ", "Простите. Если хотите поговорить о Вестхейвен Трансоушен, зайдите ко мне в комнату 2 как-нибудь. ", code [[ back(); ]]};
|
|
|
{ "Мы встречались?", [[Человек пожимает плечами: "Скорее всего нет, мое имя Джозеф Старлайт. Вы случайно не родственник Уильяма Дрейка? Название Вестхейвен Трансоушен вам о чем-то говорит?" ]], code [[ pstart('have_we_met') ]]};
|
|
|
{ "Кто вы?", [[Человек протягивает вам руку: "Джозеф Старлайт, адвокат. Название Вестхейвен Трансоушен вам о чем-то говорит?" ]], code [[ pstart('who_are_you') ]]};
|
|
|
{ "Да, я Дэвид Дрейк.", [[Человек протягивает вам руку: "Здравствйте! Я Джозеф Старлайт. Вы сын Уильяма Дрейка? Название Вестхейвен Трансоушен вам о чем-нибудь говорит?" ]], code [[ pstart('i_am_drake') ]]};
|
|
|
{ "Простите, я спешу.", [[Человек огорченно вздыхает: "Простите". Подойдя к лестнице он оборачивается и говорит: "Мое имя - Джозеф Старлайт. Если хотите поговорить о Вестхейвен Трансоушен, зайдите ко мне в комнату 2 когда у вас будет время". ]], code [[ back(); ]]};
|
|
|
{tag = "have_we_met"};
|
|
|
{ "Я сын Уильяма. Вы знаете что произошло?", "Крайне мало, то было, без сомнения, самое запутанное мое дело. Если хотите поговорить - заходите в комнату 2. ", code [[ back(); ]]};
|
|
|
{ "Кто вы?", "Я занимался исчезновением Дрейка, а позже банкротством его компании. ", code [[ pstart('who_are_you') ]]};
|
|
|
{ "Я сын Уильяма. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]};
|
|
|
{ "Кто вы?", [[Джозеф Старлайт отвечает: "Адвокат. Я занимался делом о банкротстве Вестхейвен Трансоушен. "]], code [[ pstart('who_are_you') ]]};
|
|
|
{tag = "who_are_you"};
|
|
|
{ "Вы знаете что произошло?", "Крайне мало, то было, без сомнения, самое запутанное мое дело. Если хотите поговорить - заходите в комнату 2. ", code [[ back(); ]]};
|
|
|
{ "Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]};
|
|
|
{tag = "i_am_drake"};
|
|
|
{ "Да все верно. Это название компании моего отца. Вы знаете что произошло?", "Крайне мало, то было, без сомнения, самое запутанное мое дело. Если хотите поговорить - заходите в комнату 2. ", code [[ back(); ]]};
|
|
|
{ "Да все верно. Это название компании моего отца. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]};
|
|
|
};
|
|
|
};
|
|
|
|