adrian_helper = obj { nam = "adrian_helper"; life = function(s) if (char_adrian.state > 1 and char_adrian.state < 5) then char_adrian.state = char_adrian.state + 1; elseif (char_adrian.state == 5) then char_naethvjirr.active = true; return [[ Адриан что-то делает с пультом управления и Наэтвьирр оживает ]], true; end; end; }; char_adrian = obj { nam = "adrian"; disp = "Adrian"; state = 1; dsc = function(s) if (char_naethvjirr.active) then return [[ Вы видите {Адриана Блэка}, стоящего рядом с автоматоном. ^ ]]; else if (s.state == 1) then return [[ Вы видите {Адриана Блэка}, стоящего рядом с автоматоном. Он что-то делает с ним. ^ ]]; elseif (s.state < 6) then return [[ {Блэк} собирается включить Наэтвьирра. ^ ]]; end; end; end; life = function(s) if (s.state < 5) then s.state = s.state + 1; elseif (s.state == 5) then char_naethvjirr.active = true; return [[ Адриан что-то делает с пультом управления и Наэтвьирр оживает ]], true; end; end; act = function(s) if (s.state == 1) then walkin "adrian_dlg"; elseif (s.state < 5) then return "Надо как-то остановить его, но как?"; else -- TODO: Вы сбиваете Адриана с ног end; end; }; adrian_dlg = dlg { nam = "adrian_dlg"; disp = "Адриан Блэк"; hideinv = true; entered = [[ Блэк поворачивается к вам. Его лицо выражает крайнюю степень удивления: "Кто вы, черт возьми, такие?!". Он отвлекся от работы с Наэтвьирром. Кажется, он не рад вас видеть. ]]; phr = { {"Адриан Блэк?", [[ "Предположим. " ]]}, {"Что здесь происходит?", [[ "Завершаю то, что должно было закончиться тысячелетия назад. Эта машина, Наэтвьирр - спящий разум глубин, как его называют Навьяры, или если точнее - Эйлеслвьихенарр - вечный разум глубин и поверхности. Он таит знания тысяч поколений Навьяр - они не должны скрываться под толщей воды, они должны быть открыты нам! " ]], [[ pstart 'more_naethvjirr' ]]}, { tag="more_naethvjirr" }, {"Что вы знаете о Наэтвьирре?", [[ "Согласно легендам, собранным мной в разных поселениях навьяров, Наэтвьирр был построен в глубокой древности навьярами, которые тогда господствовали как под водой, так и на суше. Единственной целью существования Наэтвьирра было стать "вечным мудрецом" - "эйлеслэйлайхевьирр", как его называют до сих пор в некоторых местах. Имена менялись, как всегда было у навьяров, но всегда отражали суть - частично или полностью - мыслящая, всезнающая машина, способная ответить на многие вопросы и помочь принять многие трудные решения. Только по чудовищному недоразумению он не был активирован раньше. " ]]}, {"Вы понимаете, насколько опасно включать эту машину, как бы она ни называлась?", [[ "Во-первых, не тебе учить меня. Во-вторых, я все предусмотрел - в случае опасности я смогу отключить его." ]], [[ pstart 'halt_naethvjirr' ]]}, { tag="halt_naethvjirr", empty = function() char_adrian.state = 2; p("^^С этими словами, Адриан подходит к рубильнику. У вас есть несколько мгновений, чтобы отреагировать"); walk("final_scene"); char_naethvjirr.canshoot = true; lifeon(adrian_helper); end }, {"Как вы собираетесь управлять им, если ключ утерян? *Вы показываете Адриану табличку со схемой работы Наэтвьирра*", [[ Адриан показывает вам серебристую пластинку небольшого размера(около 20х15см), на которой отсвечивают красноватые круги и линии. - "Я все предусмотрел. Без этой деталюшки Наэтвьирр будет серьезно ограничен в возможностях - это тот самый компонент, который должен блокироваться или разблокироваться ключом. " ]]} }; }; char_naethvjirr = obj { nam = "naethvjirr"; disp = "Наэтвьирр"; disp2 = "Наэтвьирра"; canshoot = false; dsc = function(s) if (s.active) then return [[ В центре зала перед массивной конструкцией, напоминающей трон, стоит {автоматон навьяр}. Конструкт выглядит совершенно как живой, сияющие белым светом глаза оглядывают помещение и вас в ожидании ваших действий. Тысячи проводов тянутся от "трона" к стенам, подобно щупальцам. ^ ]]; else return [[ В центре зала на массивной конструкции, напоминающей трон, сидит {навьяр}. Конструкт выглядит совершенно как живой, однако он абсолютно неподвижен. Покрытые серебристой чешуей, его руки покоятся на коленях. Тысячи проводов тянутся от "трона" и фигуры к стенам, подобно щупальцам. Глаза навьяра закрыты. ^ ]]; end; end; act = [[ Я пока не знаю, что с этим делать ]]; noshootmsg = "Я не знаю, к чему это приведет, пока лучше этого не делать"; nohitmsg = "Я не знаю, к чему это приведет, пока лучше этого не делать"; onshoot = function(s) p("^^Ваш выстрел повреждает Наэтвьирра, но вы не замечаете, сказалось ли это на его работоспособности"); fb_naethvjirr.hitpoints = 2; char_adrian.state = 6; -- TODO Адриан стреляет в одного из членов партии if (#pl.party ~= 0) then chosen_one_name = pl.party[rnd(#pl.party)]; if (chosen_one_name == "learr") then chosen_one = char_learr_fb; elseif (chosen_one_name == "phaetlarr") then chosen_one = char_phaetlarr_fb; elseif (chosen_one_name == "radcliffe") then chosen_one = char_radcliffe_fb; else chosen_one = char_wright_fb; end; p("^^Адриан вскидывает пистолет и стреляет в вашу сторону. " .. chosen_one.disp .. " падает замертво"); walk(final_battle); else -- TODO Адриан стреляет в вас walk("game_over_shot"); end; end; }; char_learr_fb = obj { nam = "learr_fb"; disp = "Леарр"; dsc = function() return [[ {Леарр} смотрит попеременно то на вас, то на Адриана ^ ]]; end; }; char_phaetlarr_fb = obj { nam = "phaetlarr_fb"; disp = "Фаэтларр"; dsc = function() return [[ {Фаэтларр} оглядывает зал ^ ]]; end; }; char_radcliffe_fb = obj { nam = "radcliffe_fb"; disp = "Уолтер Рэдклифф"; dsc = function() return [[ {Уолтер Рэдклифф} с интересом разглядывает Наэтвьирра ^ ]]; end; }; char_wright_fb = obj { nam = "wright_fb"; disp = "Джек Райт"; dsc = function() return [[ {Джек Райт} ждет ваших действий ^ ]]; end; }; final_scene= room { nam = "final_scene"; disp = "Лсэрианотр, центральный зал"; dsc = [[ Вы находитесь в центральном зале древнего города Навьяр. Вдоль стен стоят огромные металлические шкафы, из которых тысячи проводом тянутся к громадной конструкции в центре зала. Мягкий свет льется сверху, практически ослепляя вас после полумрака остальной части мертвого города. ]]; obj = { "char_naethvjirr", "char_adrian", "adrian_helper", "char_learr_fb", "char_phaetlarr_fb", "char_radcliffe_fb", "char_wright_fb" }; }; --final_scene_interrupt = room { -- nam = "final_scene_interrupt"; -- disp = "Лсэрианотр, центральный зал"; -- dsc = ""; -- obj = { -- }; --};