|
@@ -43,27 +43,33 @@ submarine_leviathan = obj {
|
|
|
-- TODO описание составлять из реального состояния подводной лодки.
|
|
|
act = [[ Несмотря на проведенные в бездействии годы, субмарина сейчас в отличном состоянии. Из иллюминаторов льется яркий свет. На борту виднеется слегка пошарпанная, но читаемая надпись "А04 - Левиафан" ]];
|
|
|
};
|
|
|
|
|
|
leviathan_airlock = darkroom {
|
|
|
nam = "leviathan_airlock";
|
|
|
disp = "Левиафан, шлюз";
|
|
|
leviathan = true;
|
|
|
dsc_lit = "Вы находитесь в шлюзовом отсеке Левиафана. Яркий свет электрических ламп освещает помещение. ";
|
|
|
dsc_halflit = "Вы находитесь в шлюзовом отсеке Левиафана. В слабом свете лампы вы с трудом различаете очертания дверей и предметов. ";
|
|
|
dsc_dark = "Вы находитесь в шлюзовом отсеке Левиафана. В темноте вы не можете ничего различить. ";
|
|
|
way = {
|
|
|
kh_vroom("Кают-компания", "leviathan_wardroom", 1);
|
|
|
kh_vroom("В кают-компанию", "leviathan_wardroom", 1);
|
|
|
kh_vroom("Наружу", function()
|
|
|
return where(submarine_leviathan);
|
|
|
local val = EngineUtils.getValue(where(submarine_leviathan).no_exit);
|
|
|
if (val) then
|
|
|
pr(val);
|
|
|
return false;
|
|
|
else
|
|
|
return where(submarine_leviathan);
|
|
|
end;
|
|
|
end, 2);
|
|
|
};
|
|
|
};
|
|
|
|
|
|
leviathan_captains_cabin = darkroom {
|
|
|
nam = "leviathan_captains_cabin";
|
|
|
disp = "Левиафан, каюта капитана";
|
|
|
leviathan = true;
|
|
|
dsc_lit = [[
|
|
|
Вы находитесь в каюте, очевидно, предназначенной для капитана. Эта каюта немного больше остальных, в ней размещен стол и стул.
|
|
|
В столе несколько ящичков, хитроумно закрытых, чтобы при качке они не открывались.
|
|
|
]];
|
|
@@ -145,25 +151,25 @@ leviathan_corridor = darkroom {
|
|
|
Вы находитесь в длинном коридоре с множеством дверей, ведущих в каюты, расположенные по левому борту.
|
|
|
]];
|
|
|
dsc_dark = [[
|
|
|
Вы находитесь в темном коридоре. В темноте ничего не видно.
|
|
|
]];
|
|
|
way = {
|
|
|
kh_vroom("В каюту капитана", "leviathan_captains_cabin", 1);
|
|
|
kh_vroom("В каюту №1", "leviathan_cabin_1", 1);
|
|
|
kh_vroom("В каюту №2", "leviathan_cabin_2", 1);
|
|
|
kh_vroom("В каюту №3", "leviathan_cabin_3", 1);
|
|
|
kh_vroom("В каюту №4", "leviathan_cabin_4", 1);
|
|
|
kh_vroom("В каюту №5", "leviathan_cabin_5", 1);
|
|
|
kh_vroom("Кают-компания", "leviathan_wardroom", 1);
|
|
|
kh_vroom("В кают-компанию", "leviathan_wardroom", 1);
|
|
|
kh_vroom("В грузовой отсек", "leviathan_cargo_hold", 1);
|
|
|
kh_vroom("В машинный отсек", "leviathan_engines", 1);
|
|
|
kh_vroom("На нижнюю палубу", "leviathan_lower_deck", 1);
|
|
|
};
|
|
|
obj = {
|
|
|
'leviathan_corridor_wiring';
|
|
|
};
|
|
|
};
|
|
|
|
|
|
leviathan_cargo_hold = darkroom {
|
|
|
nam = "leviathan_cargo_hold";
|
|
|
disp = "Левиафан, грузовой отсек";
|
|
@@ -454,44 +460,49 @@ leviathan_wheelhouse = darkroom {
|
|
|
local view = "";
|
|
|
if (type(where(submarine_leviathan).view) == "function") then
|
|
|
view = where(submarine_leviathan):view();
|
|
|
else
|
|
|
view = where(submarine_leviathan).view;
|
|
|
end;
|
|
|
|
|
|
return [[
|
|
|
Вы находитесь в рулевой рубке Левиафана. В темноте вы ничего не можете разглядеть, кроме трех огромных иллюминаторов.
|
|
|
]] .. (view);
|
|
|
end;
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "leviathan_corridor", 2);
|
|
|
kh_vroom("В кают-компанию", "leviathan_wardroom", 2);
|
|
|
};
|
|
|
obj = {
|
|
|
'leviathan_handwheel';
|
|
|
'leviathan_airpump_control';
|
|
|
'leviathan_controls';
|
|
|
'leviathan_wheelhouse_sensors';
|
|
|
"leviathan_wheelhouse_wiring";
|
|
|
};
|
|
|
};
|
|
|
|
|
|
leviathan_handwheel = obj {
|
|
|
nam = "leviathan_handwheel";
|
|
|
dsc = [[
|
|
|
Перед вами расположен {штурвал}. Рядом с ним расположено несколько рычагов.
|
|
|
]];
|
|
|
act = function(s)
|
|
|
if (atlantis_found and submarine_leviathan.air_level > 400000 and submarine_leviathan.circuit_breaks == 0 and submarine_leviathan.power_on) then
|
|
|
--walkin("demo_end");
|
|
|
walkin('leviathan_dlg');
|
|
|
local dlg = EngineUtils.getValue(where(submarine_leviathan).handwheel_room);
|
|
|
if (dlg) then
|
|
|
walkin(dlg);
|
|
|
else
|
|
|
walkin('leviathan_dlg');
|
|
|
end;
|
|
|
elseif (not submarine_leviathan.power_on) then
|
|
|
return [[
|
|
|
Без электричества _"Левиафан"_ не сдвинется с места.
|
|
|
]];
|
|
|
elseif (not atlantis_found) then
|
|
|
return [[
|
|
|
Вы не знаете, куда плыть.
|
|
|
]];
|
|
|
elseif (submarine_leviathan.air_level <= 400000) then
|
|
|
return [[
|
|
|
Без воздуха вы далеко не уплывете.
|
|
|
]];
|