return [[Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". На ней изображено несколько объектов, имеющих значение для компании и, в частности, Атлантида. ]];
else
atlantis_found = true;
return [[Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". Вы внимательно осматриваете карту в поисках чего-нибудь необычного. Ваше внимание привлекает отметка "Атлантида", сделанная посреди океана. К сожалению, никаких пояснений у вас нет и единственное, что вы можете сделать -- это попытаться добраться до этой точки. ]];
end;
end;
};
item_map_2 = obj {
nam = "item_map_2";
disp = "Карта";
inv = function(s)
iraaphaanotrr_found = true;
dypatreanotrr_found = true;
return [[Карта, отданная вам Екатериной Светловой. Эта карта почти идентична найденной вам на складе, за исключением наличия дополнительных точек, указывающих навьярские города Дипатреанотр и Ираафаанотр. ]];
end;
};
item_unknown_schematics = obj {
nam = "item_unknown_schematics";
disp = "Чертежи";
inv = function(s)
remove(s, pl);
put(item_leviathan_schematics, pl);
return [[Вы рассматриваете чертежи, найденные на складе. Это чертежи какого-то необычного корабля. Многие детали конструкции кажутся вам непонятными, излишними, переусложненными пока вы не натыкаетесь на надпись в углу: _"Проект ,,Левиафан'', Вестхейвен Трансоушен, 1900"_. Чуть ниже написано: _"Подводный корабль предназначенный для долговременноых автономных путешествий"_. Теперь все встает на свои места - вот что строил ваш отец. ]];
inv = [[Дорогие карманные часы на цепочке. Под крышкой гравировка "Франсуа Голдман, 1864". ]];
};
item_statuette = obj {
nam = "item_statuette";
disp = "Статуэтка";
inv = [[Металлическая статуэтка, сделанная из неизвестного вам сплава, она хорошо сохранилась в океанской воде. Статуэтка в деталях изображает навьяра, держащего в правой руке блокнот, и сосредоточенно смотрящего перед собой. ]];
};
item_temple_disk = obj {
nam = "item_temple_disk";
disp = "Светодиск из храма";
dsc = [[У стены лежит небольшой блестящий диск. ]];
tak = [[Вы поднимаете диск. ]];
inv = [[Найденный в храме блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки - цветные полосы. ]];
};
item_legend_of_temple = obj {
nam = "item_legend_of_temple";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров.
~Легенда о храме в глубинах~]];
};
item_legend_of_dark_source = obj {
nam = "item_legend_of_dark_source";
disp = "Навьярская табличка";
dsc = [[На полу у входа валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров.
~Легенда об излучающем тьму~]];
};
item_legend_of_first_city = obj {
nam = "item_legend_of_first_city";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров.
~Легенда о первом городе~]];
};
item_legend_of_hunter = obj {
nam = "item_legend_of_hunter";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров.
~Легенда об охотнике~]];
};
item_navjiarr_chart_1 = obj {
nam = "item_navjiarr_chart_1";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_navjiarr_chart_iraa = obj {
nam = "item_navjiarr_chart_iraa";
disp = "Карта из Ираафаанотра";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_navjiarr_chart_dyp = obj {
nam = "item_navjiarr_chart_dyp";
disp = "Карта из Дипатреанотра";
dsc = [[На пьедестале лежит металлическая табличка. ]];
tak = function(s)
path("Выйти из храма"):enable();
return [[Как только вы подбираете табличку, дверь открывается. ]];
end;
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_navjiarr_chart_2 = obj {
nam = "item_navjiarr_chart_2";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_navjiarr_chart_ven = obj {
nam = "item_navjiarr_chart_ven";
disp = "Карта из Венаэданотра";
inv = [[Металлическая табличка с нанесенными обозначениями. ]];
}
item_navjiarr_chart_3 = obj {
nam = "item_navjiarr_chart_3";
disp = "Навьярская табличка";
dsc = [[На полу в углу валяется какой-то {предмет}. ]];
tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_navjiarr_cube = obj {
nam = "item_navjiarr_cube";
disp = "Навьярский артефакт";
inv = [[Небольшой прозрачный куб, очень холодный на ощупь - холод ощущается даже в скафандре. От него исходит слабое свечение. ]];
};
item_talk_device = obj {
nam = "item_talk_device";
disp = "Устройство для общения с навьярами";
inv = [[Небольшое устройство с клавиатурой и большим количеством цветных лампочек. Оно полностью герметично и может быть использовано под водой. ]];
};
item_suit = suit {
dlg = "call_leviathan";
nam = "Скафандр";
has_coder = true;
};
item_deep_key = obj {
nam = "item_deep_key";
disp = "Пирамидка";
dsc = [[На пьедестале вы видите небольшой блестящий {предмет}. ]];
inv = [[Небольшая полупрозрачная пирамидка из неизвестного материала. Гладкая и холодная на ощупь. На гранях пирамидки нанесены непонятные символы. ]];
tak = [[Это оказалась небольшая полупрозрачная пирамидка. Вы забираете ее себе. ]];
};
item_navjiarr_chart_z = obj {
nam = "item_navjiarr_chart_z";
disp = "Навьярская табличка";
dsc = [[На пьедестале лежит небольшая металлическая {табличка}. ]];
tak = function(s)
return [[Вы поднимаете предмет - это небольшая металлическая табличка. Вдалеке вы слышите скрежет камней - дверь храма снова открыта. ]];
end;
inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
};
item_naethvjirr_key = obj {
nam = "item_naethvjirr_key";
disp = "Ключ из древнего храма";
dsc = [[На пьедестале лежит небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. ]];
inv = [[Небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. Пластинка с обеих сторон покрыта тонкими металлическими нитями. ]];
};
\ No newline at end of file
utils.lua
➞
Show inline comments
@@ -251,512 +251,655 @@ function darkroom(tab)
if (life) then
life(s);
end;
end;
if (not tab.dsc) then
tab.dsc = function(s)
local lt;
local hasLight = EngineUtils.getValue(s.has_light, s);
local plLight = EngineUtils.getValue(pl.has_light, pl);
if (hasLight) then
lt = EngineUtils.getValue(s.dsc_lit);
elseif (plLight) then
lt = EngineUtils.getValue(s.dsc_halflit);
else
lt = EngineUtils.getValue(s.dsc_dark);
end;
return lt;
end;
end;
return room(tab);
end;
function game_over(nam, dsc)
return room {
nam = nam;
disp = "Игра окончена";
hideinv = true;
dsc = dsc;
};
end;
function cutscene(nam, disp, dsc, nxt, entered)
return room {
nam = nam;
not_follow = true;
disp = disp;
entered = entered;
hideinv = true;
cutscene = true;
dsc = dsc;
obj = {
vway("continue", "{Продолжить}", nxt);
};
};
end;
function lcutscene(nam, disp, dsc, msg, nxt)
return room {
var {
state = 0;
};
not_follow = true;
nam = nam;
disp = disp;
enter = function(s)
if (s.state == 1) then
walk(nxt);
pn(msg);
end;
s.state = 1;
end;
dsc = dsc;
obj = {
kh_vobj("continue", "{Продолжить}", function(s)
walk(nxt);
end);
};
};
end;
--[[
Создает комнату с полем для ввода числа длиной не более tab.maxlen