|
new file 100644
|
|
|
first_city_engineering_door = obj {
|
|
|
nam = "first_city_engineering_door";
|
|
|
dsc = function(s)
|
|
|
if (first_city_engineering.open) then
|
|
|
return [[]];
|
|
|
else
|
|
|
return [[{Двери}, ведущие в зал обслуживания заблокированы. ]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
first_city_engineering_door_inside = obj {
|
|
|
nam = "first_city_engineering_door_inside";
|
|
|
};
|
|
|
|
|
|
first_city_engineering = room {
|
|
|
nam = "first_city_engineering";
|
|
|
disp = "Лсэрианотр, зал обслуживания";
|
|
|
dsc = [[
|
|
|
Вы находитесь в одном из залов обслуживания Лсэрианотра. Двери в помещение заблокированы и разблокировать их не представляется возможным.
|
|
|
]];
|
|
|
entered = function(s)
|
|
|
service_tunnels.position = "24";
|
|
|
end;
|
|
|
obj = {
|
|
|
"first_city_door_control",
|
|
|
"first_city_door_control_cardreader",
|
|
|
"item_keys"
|
|
|
};
|
|
|
way = {
|
|
|
kh_vroom("В сервиcный тоннель", "service_tunnels");
|
|
|
};
|
|
|
};
|
|
|
|
|
|
item_keys = obj {
|
|
|
nam = "item_keys";
|
|
|
disp = "Ключи";
|
|
|
dsc = "На столе лежат несколько {металлических пластин}. ";
|
|
|
act = function(s)
|
|
|
take(item_middle_rim_key);
|
|
|
take(item_airlock_key);
|
|
|
take(item_engineering_key);
|
|
|
take(item_blank_key);
|
|
|
disable(s);
|
|
|
return "Вы берете пластины себе";
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
--TODO (публичная демо-версия) сделать картинки ключей
|
|
|
--TODO (приватная демо-версия) сделать случайную генерацию ключей
|
|
|
|
|
|
item_airlock_key = obj {
|
|
|
nam = "item_airlock_key";
|
|
|
disp = "Ключ-карта";
|
|
|
inv = [[Небольшая металлическая пластина около 6 см в ширину и 10 см в длину. На ней нет никаких символов, кроме трех цилиндров заключенных в квадрат. ]];
|
|
|
};
|
|
|
|
|
|
item_middle_rim_key = obj {
|
|
|
nam = "item_middle_rim_key";
|
|
|
disp = "Ключ-карта с отверстиями";
|
|
|
inv = [[Небольшая металлическая пластина около 3 см в ширину и 10 см в длину, на ней в ряд через равные промежутки присутствуют отверстия или нарисованные круги: круг, отверстие, круг, отверстие, круг, отверстие, отверстие, круг ]]; -- 01010110 = 172
|
|
|
};
|
|
|
|
|
|
item_engineering_key = obj {
|
|
|
nam = "item_engineering_key";
|
|
|
disp = "Ключ-карта с отверстиями";
|
|
|
inv = [[Небольшая металлическая пластина около 3 см в ширину и 10 см в длину, на ней в ряд через равные промежутки присутствуют отверстия или нарисованные круги: круг, отверстие, круг, круг, отверстие, круг, круг, круг ]]; -- 01001000 = 144
|
|
|
};
|
|
|
|
|
|
item_blank_key = obj {
|
|
|
nam = "item_blank_key";
|
|
|
disp = "Ключ-карта без отверстий";
|
|
|
inv = [[Небольшая металлическая пластина около 3 см в ширину и 10 см в длину с восемью кругами, нарисованными на ней в ряд ]]; -- 00000000 = 0
|
|
|
};
|
|
|
|
|
|
first_city_door_control_cardreader = obj {
|
|
|
nam = "first_city_door_control_cardreader";
|
|
|
state = 0;
|
|
|
dsc = function(s)
|
|
|
if (s.state == 0 or s.state == 2) then
|
|
|
return "В терминале вы видите небольшую {щель}, около 3 сантиметров шириной.";
|
|
|
else
|
|
|
return "В терминале вы видите небольшую {щель}, около 3 сантиметров шириной. В ней застряла одна из ключ-карт";
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if (s.state == 0 or s.state == 2) then
|
|
|
return "Очевидно, сюда что-то вставляется. ";
|
|
|
else
|
|
|
return "Ключ-карта застряла. Вы не сможете вытащить ее руками. ";
|
|
|
end;
|
|
|
end;
|
|
|
used = function(s, o)
|
|
|
if (s.state == 0) then
|
|
|
if (o == item_middle_rim_key) then
|
|
|
s.state = s.state + 1;
|
|
|
remove(item_middle_rim_key, pl);
|
|
|
first_city_middle_south.open(first_city_middle_south);
|
|
|
return "Аппарат начинает считывать карту. Вы слышите громкий щелчок. Вы слышите откуда-то издалека звук открывающихся огромных ворот. Карта остается в разъеме. ";
|
|
|
elseif (o == item_engineering_key) then
|
|
|
s.state = s.state + 1;
|
|
|
remove(item_engineering_key, pl);
|
|
|
return "Аппарат начинает считывать карту. Вы слышите громкий щелчок. Двери в комнату слегка приоткрываются. После чего с громким стуком захлопываются. Карта остается в разъеме. ";
|
|
|
elseif (o == item_blank_key) then
|
|
|
s.state = s.state + 1;
|
|
|
remove(item_blank_key, pl);
|
|
|
return "Аппарат начинает считывать карту. Вы слышите громкий щелчок. Карта остается в разъеме. ";
|
|
|
else
|
|
|
return "Это сюда не подойдет";
|
|
|
end;
|
|
|
elseif (s.state == 1 and o == item_umbrella) then
|
|
|
s.state = 0;
|
|
|
return "Острым наконечником зонта вы поддеваете ключ и вытягиваете его из разъема. К сожалению, он более непригоден к использованию - вы видите, что он погнут";
|
|
|
else
|
|
|
return "Прежде чем вставлять что-то еще, нужно извлечь ключ. ";
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
first_city_door_control = obj {
|
|
|
nam = "first_city_door_control";
|
|
|
dsc = "Возле одной из стен стоит терминал.";
|
|
|
};
|
|
\ No newline at end of file
|