|
@@ -119,7 +119,7 @@ lse_leviathan_airlock = room {
|
|
|
dsc = [[Фаэтларр находится в шлюзовом отсеке Левиафана. Люк не задраен. ]];
|
|
|
way = {
|
|
|
kh_vroom("В кают-компанию", "lse_leviathan_wardroom");
|
|
|
kh_vroom("Наружу", "lse_leviathan_airlock_up");
|
|
|
kh_vroom("Наверх", "lse_leviathan_airlock_up");
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -133,7 +133,14 @@ lse_leviathan_airlock_up = room {
|
|
|
"lse_lev_guard"
|
|
|
};
|
|
|
way = {
|
|
|
|
|
|
kh_vroom("Вниз", "lse_leviathan_airlock");
|
|
|
kh_vroom("Наружу", function(s)
|
|
|
if (lse_lev_guard.state == 0) then
|
|
|
return "game_over_phaetlarr_caught";
|
|
|
else
|
|
|
return "lse_dock_pier";
|
|
|
end;
|
|
|
end);
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -149,4 +156,250 @@ lse_lev_guard = obj {
|
|
|
return "Стражники отошли в дальний конец дока. Фаэтларр сможет незаметно пробежать мимо. ";
|
|
|
end;
|
|
|
end;
|
|
|
use = function(s,o)
|
|
|
if (o == lse_item_toolbox) then
|
|
|
s.state = 1;
|
|
|
return [[
|
|
|
Фаэтларр достает из ящика первый попавшийся предмет и кидает его в воду, подальше от Левиафана. Стражники, услышав всплеск, дружно направились туда.
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_pier = room {
|
|
|
nam = "lse_dock_pier";
|
|
|
disp = "Лсэрианотр, док, у Левиафана";
|
|
|
dsc = [[
|
|
|
Фаэтларр стоит на пирсе рядом с Левиафаном. Несколько стражников что-то ищут В другом конце дока.
|
|
|
]];
|
|
|
way = {
|
|
|
kh_vroom("К выходу", "lse_dock");
|
|
|
};
|
|
|
};
|
|
|
|
|
|
lse_dock = room {
|
|
|
var {
|
|
|
state = 0;
|
|
|
};
|
|
|
nam = "lse_dock";
|
|
|
disp = "Лсэрианотр, док, у входа";
|
|
|
dsc = function(s)
|
|
|
if (s.state == 0) then
|
|
|
return [[
|
|
|
Фаэтларр стоит у выхода из дока. Массивные металлические двери плотно закрыты и приоткрыть их не представляется возможным.
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
Фаэтларр стоит у выхода из дока. Массивные металлические двери слегка приоткрыты и вы можете спокойной проскользнуть внутрь.
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
obj = {
|
|
|
"lse_dock_panel"
|
|
|
};
|
|
|
way = {
|
|
|
kh_vroom("В дверь", function(s)
|
|
|
if (lse_dock.state == 0) then
|
|
|
pr [[Дверь заперта]];
|
|
|
return false;
|
|
|
else
|
|
|
return "lse_outer_1";
|
|
|
end;
|
|
|
end);
|
|
|
};
|
|
|
};
|
|
|
|
|
|
lse_dock_panel = obj {
|
|
|
var {
|
|
|
state = 0;
|
|
|
};
|
|
|
nam = "lse_dock_panel";
|
|
|
dsc = function(s)
|
|
|
if (s.state == 0) then
|
|
|
return [[Рядом с дверью расположена небольшая {панель}. ]];
|
|
|
else
|
|
|
return [[Под открытой {панелью} находятся какие-то провода. Скорее всего, они используются для управления дверью. ]];
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if (s.state == 0) then
|
|
|
return [[Фаэтларр пытается открыть панель руками, но ничего не получается. ]];
|
|
|
else
|
|
|
walkin("lse_dock_in_panel");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_in_panel = room {
|
|
|
var {
|
|
|
state = 0;
|
|
|
index = 0;
|
|
|
cut = nil;
|
|
|
};
|
|
|
nam = "lse_dock_in_panel";
|
|
|
disp = "Лсэрианотр, док, панель управления дверью";
|
|
|
entered = function(s)
|
|
|
if (s.state == 0) then
|
|
|
s.state = 1;
|
|
|
s.index = rnd(7) - 1;
|
|
|
end;
|
|
|
end;
|
|
|
pic = function(s)
|
|
|
local pic = "images/lse_door_bcg.gif;images/lse_door_marker.png@496," .. tostring(3 + 38 * s.index);
|
|
|
|
|
|
return pic;
|
|
|
end;
|
|
|
dsc = [[За панелью скрывается множество проводов. Фаэтларр легко определяет, какой из них задействован в управлении дверью.]];
|
|
|
obj = {
|
|
|
'lse_dock_cut1',
|
|
|
'lse_dock_cut2',
|
|
|
'lse_dock_cut3',
|
|
|
'lse_dock_cut4',
|
|
|
'lse_dock_cut5',
|
|
|
'lse_dock_cut6',
|
|
|
'lse_dock_cut7',
|
|
|
'lse_dock_back'
|
|
|
};
|
|
|
};
|
|
|
|
|
|
lse_dock_cut1 = obj {
|
|
|
nam = "lse_dock_cut1";
|
|
|
dsc = "{Обрезать фиолетово-синий провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 3) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 3;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 3) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_cut2 = obj {
|
|
|
nam = "lse_dock_cut2";
|
|
|
dsc = "{Обрезать фиолетово-зеленый провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 0) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 0;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 0) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_cut3 = obj {
|
|
|
nam = "lse_dock_cut3";
|
|
|
dsc = "{Обрезать фиолетово-желтый провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 4) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 4;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 4) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_cut4 = obj {
|
|
|
nam = "lse_dock_cut4";
|
|
|
dsc = "{Обрезать фиолетово-оранжевый провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 1) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 1;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 1) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_cut5 = obj {
|
|
|
nam = "lse_dock_cut5";
|
|
|
dsc = "{Обрезать фиолетово-красный провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 2) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 2;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 2) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
|
|
|
lse_dock_cut6 = obj {
|
|
|
nam = "lse_dock_cut6";
|
|
|
dsc = "{Обрезать сине-зеленый провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 6) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 6;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 6) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_cut7 = obj {
|
|
|
nam = "lse_dock_cut7";
|
|
|
dsc = "{Обрезать сине-желтый провод}^";
|
|
|
act = function(s)
|
|
|
if (lse_dock_in_panel.index == 5) then
|
|
|
lse_dock.state = 1;
|
|
|
pr [[Фаэтларр перерезает провод и дверь открывается. ]];
|
|
|
walk("lse_dock");
|
|
|
elseif (lse_dock_in_panel.cut == nil) then
|
|
|
lse_dock_in_panel.cut = 5;
|
|
|
pr [[Фаэтларр перерезает провод. Свет в помещении моргает. Рядом с панелью начинает мигать красная лампочка. ]];
|
|
|
elseif (lse_dock_in_panel.cut == 5) then
|
|
|
pr [[Этот провод уже перерезан. ]];
|
|
|
else
|
|
|
walk("game_over_phaetlarr_wrong_wire");
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
lse_dock_back = obj {
|
|
|
nam = "lse_dock_back";
|
|
|
dsc = "{Отойти от панели}^";
|
|
|
act = function(s)
|
|
|
walk("lse_dock");
|
|
|
end;
|
|
|
};
|
|
\ No newline at end of file
|