|
new file 100644
|
|
|
first_city_powerplant_door = obj {
|
|
|
nam = "first_city_powerplant_door";
|
|
|
disp = "Двери энергостанции";
|
|
|
dsc = function(s)
|
|
|
if (s.open) then
|
|
|
return [[
|
|
|
Двери энергостанции открыты
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
Двери здания заперты
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if (s.open) then
|
|
|
return [[Вы можете войти]];
|
|
|
else
|
|
|
return [[Судя по всему, вход заблокирован изнутри. Вы не сможете открыть его отсюда. ]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
first_city_powerplant_door_inside = obj {
|
|
|
nam = "first_city_powerplant_door";
|
|
|
dsc = function(s)
|
|
|
if(first_city_powerplant_door.open) then
|
|
|
return "{Входные двери} открыты. ";
|
|
|
else
|
|
|
return "{Входные двери} закрыты. ";
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if(first_city_powerplant_door.open) then
|
|
|
return "Двери уже открыты";
|
|
|
else
|
|
|
return "У вас не получается открыть двери. Возможно, это делается в другом месте";
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
first_city_powerplant = room {
|
|
|
nam = "first_city_powerplant";
|
|
|
disp = "Лсэрианотр, энергостанция";
|
|
|
dsc = [[
|
|
|
Вы находитесь в комнате управления энергоснабжением Лсэрианотра. Сквозь скафандр вы ощущаете слабую вибрацию, исходяющую от работающих неподалеку генераторов.
|
|
|
]];
|
|
|
entered = function(s)
|
|
|
service_tunnels.position = "35";
|
|
|
end;
|
|
|
obj = {
|
|
|
"powerplant_control",
|
|
|
"first_city_powerplant_door_inside"
|
|
|
};
|
|
|
way = {
|
|
|
kh_vroom("Выйти из здания", "first_city_middle_east", "powerplant_out"):disable();
|
|
|
kh_vroom("В сервиcный тоннель", "service_tunnels");
|
|
|
};
|
|
|
};
|
|
|
|
|
|
powerplant_control = obj {
|
|
|
nam = "powerplant_control";
|
|
|
disp = "Терминал управления энергоснабжением";
|
|
|
dsc = "У одной из стен расположен {огромный экран}, на котором, судя по всему, отмечены линии энергоснабжения и ключевые источники потребления энергии. ^";
|
|
|
act = function(s)
|
|
|
walkin(powerplant_control_dlg);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
powerplant_control_dlg = dlg {
|
|
|
nam = "powerplant_control_dlg";
|
|
|
disp = "Терминал управления энергоснабжением";
|
|
|
dsc = "На экране вы видите подробную схему энергосетей города. Несколько иконок внизу экрана показывают вам, что нужно нажимать, чтобы перейти в различные режимы управления. ";
|
|
|
entered = function()
|
|
|
if (first_city_powerplant_door.open) then
|
|
|
poff(3);
|
|
|
pon(4);
|
|
|
else
|
|
|
poff(4);
|
|
|
pon(3);
|
|
|
end;
|
|
|
end;
|
|
|
phr = {
|
|
|
{1, always = true, "Перейти в режим управления системами защиты", function(s)
|
|
|
walkin(powerplant_defence_control_dlg);
|
|
|
return false;
|
|
|
end; };
|
|
|
{3, "Разблокировать вход в здание", function(s)
|
|
|
pon(4);
|
|
|
first_city_powerplant_door.open = true;
|
|
|
path("powerplant_out", "first_city_powerplant"):enable();
|
|
|
path("to_powerplant", "first_city_middle_east"):enable();
|
|
|
return "Входные двери открываются";
|
|
|
end; };
|
|
|
{4, "Заблокировать вход в здание", function(s)
|
|
|
pon(3);
|
|
|
first_city_powerplant_door.open = false;
|
|
|
path("powerplant_out", "first_city_powerplant"):disable();
|
|
|
path("to_powerplant", "first_city_middle_east"):disable();
|
|
|
return "Входные двери закрываются";
|
|
|
end; };
|
|
|
{5, always = true, "Внимательно осмотреть схему города", "На схеме изображены все три кольца города, эта энергостанция и еще две других, расположенные во внешнем и внутреннем кольце. Ворота, соединяющие внешнее и среднее кольцо отмечены открытыми, ворота, соединяющие среднее и внутреннее кольцо закрыты. "};
|
|
|
{255, always = true, "Отойти от терминала",function(s)
|
|
|
back();
|
|
|
end; };
|
|
|
};
|
|
|
};
|
|
|
|
|
|
powerplant_defence_control_dlg = dlg {
|
|
|
nam = "powerplant_defence_control_dlg";
|
|
|
disp = "Терминал управления энергоснабжением систем защиты";
|
|
|
states = {0, 1, 0, 1};
|
|
|
locked = 1;
|
|
|
pic = function(s)
|
|
|
local image = 'images/power_bcg.png';
|
|
|
if (s.locked == 1) then
|
|
|
image = image .. ";images/power_lock.png@62,31";
|
|
|
elseif (s.locked == 2) then
|
|
|
image = image .. ";images/power_lock.png@62,93";
|
|
|
elseif (s.locked == 3) then
|
|
|
image = image .. ";images/power_lock.png@31,62";
|
|
|
elseif (s.locked == 4) then
|
|
|
image = image .. ";images/power_lock.png@93,62";
|
|
|
end;
|
|
|
|
|
|
image = image .. ";images/power_" .. tostring(s.states[1]) .. ".png@62,31";
|
|
|
image = image .. ";images/power_" .. tostring(s.states[2]) .. ".png@62,93";
|
|
|
image = image .. ";images/power_" .. tostring(s.states[3]) .. ".png@31,62";
|
|
|
image = image .. ";images/power_" .. tostring(s.states[4]) .. ".png@93,62";
|
|
|
return image;
|
|
|
end;
|
|
|
detect = function(s)
|
|
|
return (s.states[1] == 1 and s.states[2] == 3
|
|
|
and s.states[3] == 0 and s.states[4] == 2) or
|
|
|
(s.states[1] == 3 and s.states[2] == 1
|
|
|
and s.states[3] == 2 and s.states[4] == 0)
|
|
|
end;
|
|
|
dsc = "На экране видна схема питания систем защиты. Иконки внизу экрана подсказывают, что нажимать при отключении";
|
|
|
phr = {
|
|
|
{1, always = true, "блокировать верхний переключатель", "Изображение на экране изменилось.", function(s)
|
|
|
powerplant_defence_control_dlg.locked = 1;
|
|
|
end;},
|
|
|
{2, always = true, "блокировать нижний переключатель", "Изображение на экране изменилось.", function(s)
|
|
|
powerplant_defence_control_dlg.locked = 2;
|
|
|
end;},
|
|
|
{3, always = true, "блокировать левый переключатель", "Изображение на экране изменилось.", function(s)
|
|
|
powerplant_defence_control_dlg.locked = 3;
|
|
|
end;},
|
|
|
{4, always = true, "блокировать правый переключатель", "Изображение на экране изменилось.", function(s)
|
|
|
powerplant_defence_control_dlg.locked = 4;
|
|
|
end;},
|
|
|
{5, always = true, "поворот по часовой", "Изображение на экране изменилось.", function(s)
|
|
|
for i = 1, 4 do
|
|
|
if (i ~= powerplant_defence_control_dlg.locked) then
|
|
|
powerplant_defence_control_dlg.states[i] = powerplant_defence_control_dlg.states[i] + 1;
|
|
|
if (powerplant_defence_control_dlg.states[i] > 3) then
|
|
|
powerplant_defence_control_dlg.states[i] = 0;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
if (powerplant_defence_control_dlg.detect(powerplant_defence_control_dlg)) then
|
|
|
p("Защитные системы отключены"); --TODO сделать нормальный фидбэк
|
|
|
end;
|
|
|
end;},
|
|
|
{6, always = true, "поворот против часовой", "Изображение на экране изменилось.", function(s)
|
|
|
for i = 1, 4 do
|
|
|
if (i ~= powerplant_defence_control_dlg.locked) then
|
|
|
powerplant_defence_control_dlg.states[i] = powerplant_defence_control_dlg.states[i] - 1;
|
|
|
if (powerplant_defence_control_dlg.states[i] < 0) then
|
|
|
powerplant_defence_control_dlg.states[i] = 3;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
if (powerplant_defence_control_dlg.detect(powerplant_defence_control_dlg)) then
|
|
|
p("Защитные системы отключены"); --TODO сделать нормальный фидбэк
|
|
|
end;
|
|
|
end;},
|
|
|
{255, always = true, "выход", function(s)
|
|
|
back();
|
|
|
end},
|
|
|
};
|
|
|
};
|
|
\ No newline at end of file
|