Changeset - 68cff96accbc
[Not reviewed]
default
0 2 0
Silverwing - 6 years ago 2018-08-19 19:36:10

chapter 1: further mousetrap progress
1 file changed:
Changeset was too big and was cut off... Show full diff anyway
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
global {
 
    atl_jack_in_party = false;
 
    atl_lev_state = 0;
 
    atl_nih_state = 0;
 
    atl_iyh_state = 0;
 
    atl_iyh_learr_spoken = false;
 
    atl_iyh_aikerjarr_spoken = false;
 
    atl_iyh_ryveerr_spoken = false;
 
    atl_iyh2_ryveerr_spoken = false;
 
    atl_iyh2_aikerjarr_spoken = false;
 
    atl_iyh_shockfish_dead = false;
 
    atl_iyh_shockfish_left = false;
 
    atl_iyh_shockfish_away = 0;
 
    atl_iyh_entrance_destroyed = false;
 
    atl_iyh_artifacts_on_atlantis = false;
 
 
    atl_mtr_started = false;
 
    atl_mtr_darkstar_clock_shown = false;
 
    atl_mtr_know_goldman_lost_clock = false;
 
    atl_mtr_know_jones_replaced_goldman = false;
 
    atl_mtr_ask_radcliffe = false;
 
    atl_mtr_leroy_known = false;
 
    atl_mtr_jones_known = false;
 
    atl_mtr_goldman_known = false;
 
    atl_mtr_know_leroy_in_terra = false;
 
 
    atl_mtr_goldman_accused = false;
 
    atl_mtr_know_more_about_clock = false;
 
    atl_mtr_jones_replace_confirm = false;
 
    atl_mtr_know_radcliffe_worked = false;
 
    atl_mtr_know_leroy_in_terra = false;
 
 
    atl_mtr_finished = false;
 
 
    atl_fta_state = 0;
 
    atl_fta_darkstar_debrief = false;
 
 
    atl_rep_moreau = 0;
 
    atl_rep_darkstar = 0;
 
    atl_rep_svetlova = 0;
 
    atl_rep_wright = 0;
 
    atl_rep_iraa = 0;
 
    atl_rep_dyp = 0;
 
    
 
    atl_ctt_iraa_refusal = false;
 
    atl_star_map_copied = false;
 
};
 
 
atl_illuminators = obj {
 
    nam = "Иллюминаторы";
 
    dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]];
 
    act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
};
 
 
atl_illuminator = obj {
 
    nam = "Иллюминатор";
 
    dsc = [[В стену встроен небольшой {иллюминатор}. ]];
 
    act = [[Через иллюминатор вы видите несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
};
 
 
atl_intersect_phone = obj {
 
    nam = "Телефон";
 
    dsc = [[На одной из стен укреплен {телефонный аппарат} в герметичном контейнере. ]];
 
    act = [[Вам незачем кому-то звонить. ]];
 
};
 
 
atl_intersect_suit = obj {
 
    nam = "Скафандр";
 
    dsc = [[В углу стоит {скафандр}. ]];
 
    act = [[Сейчас нет смысла это делать. ]];
 
}
 
 
atl_aqua_corridor_b = room {
 
    nam = "Атлантида, Аква, коридор B";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]];
 
    way = {
 
        kh_vroom("В гостевой док A", function()
 
            if (atl_lev_state == 0) then
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            elseif (atl_lev_state == 1) then
 
                return "atl_lev_radcliffe_dlg";
 
            else
 
                return "atl_aqua_leviathan_dock";
 
            end;
 
        end);
 
        kh_vroom("В гостевой док B", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В гостевой док C", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua_b"
 
    };
 
};
 
 
atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s)
 
    if (ArrayUtils.indexOf(pl.party, "wright") ~= 0) then
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. И хотя подводная лодка явно требует большего экипажа, чем вы с Райтом, вдвоем вы неплохо справляетесь. Добравшись до места назначения, вы обнаруживаете несколько больших металлических и стеклянных куполов, раскинувшихся на океанском дне и освещенных электрическими огнями. Приблизившись, вы находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]];
 
    else
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. Управлять огромным кораблем в одиночку непросто. Вы почти не спите, опасаясь оставлять движение судна без внимания. Однако, вы без проблем добираетесь до места назначения. Здесь, на океанском дне вы видите несколько больших металлических и стеклянных куполов, освещенных электрическими огнями. Приблизившись, вы быстро находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]];
 
    end;
 
end, "Вы прибыли на Атлантиду. ", leviathan_wheelhouse);
 
 
atl_aqua_leviathan_dock = room {
 
    var {
 
        visited = false;
 
    };
 
    nam = "Атлантида, Аква, гостевой док A";
 
    enter = function(s)
 
        char_learr:accompany(false);
 
        char_radcliffe:accompany(false);
 
        char_anna:accompany(false);
 
        char_wright:accompany(false);
 
        if (not s.visited) then
 
            s.visited = true;
 
            walk(atlantis_intro_dock);
 
        end;
 
        if (atl_iyh_state == 8) then
 
            atl_iyh_state = 9;
 
            if atl_iyh_shockfish_dead then
 
                walk('iyh_outro_learr_shockfish_dead');
 
            elseif atl_iyh_entrance_destroyed then
 
                walk('iyh_outro_learr_temple_destroyed');
 
            else
 
                walk('iyh_outro_learr');
 
            end;
 
        end;
 
    end;
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Левиафан. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
    view = [[Левиафан находится в просторном доке. Под потолком на высоте пяти метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Внизу расположен закрытый люк, закрывающий вам путь наружу. ]];
 
    way = {
 
        kh_vroom("В Левиафан", "leviathan_airlock");   
 
        kh_vroom("В коридор B", "atl_aqua_corridor_b");
 
    };
 
}; 
 
 
atl_aqua_nautilus_dock = room {
 
    nam = "Атлантида, Аква, док Наутилуса";
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
    way = {
 
        kh_vroom("В коридор A", "atl_aqua_corridor_a");
 
    };
 
    obj = {
 
        "char_page"
 
    };
 
};
 
 
atl_aqua_corridor_a = room {
 
    nam = "Атлантида, Аква, коридор A";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих к докам. ]];
 
    way = {
 
        kh_vroom("В док \"Надежды\"", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В док \"Энтерпрайза\"", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В док \"Наутилуса\"", "atl_aqua_nautilus_dock");
 
        kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua_a"
 
    };
 
};
 
 
atl_aqua_main_corridor = room {
 
    nam = "Атлантида, Аква, центральный коридор";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, в секцию _"Доминус"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции -- по большей части это склады. Еще две двери ведут в коридоры A и B. ]];
 
    way = {
 
        kh_vroom("На склад A", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("На склад B", function()
 
            if atl_nih_state == 1 or atl_nih_state == 2 then
 
                return "atl_aqua_warehouse_b";
 
            else
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            end;
 
        end);
 
        kh_vroom("На склад C", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("На склад D", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В коридор A", "atl_aqua_corridor_a");
 
        kh_vroom("В коридор B", "atl_aqua_corridor_b");
 
        kh_vroom("В секцию \"Доминус\"", "atl_intersection_aqua_dom");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua"
 
    };
 
};
 
 
atl_aqua_warehouse_b = darkroom {
 
    var {
 
        has_light = false;
 
    };
 
    nam = "Атлантида, Аква, склад B";
 
    dsc_dark = [[Большое помещение без окон погружено в кромешный мрак. В темноте вы с трудом различаете очертания предметов. ]];
 
    dsc_halflit = [[Слабый свет лампы позволяет вам с трудом ориентироваться в помещении,заставленном различными ящиками. ]];
 
    dsc_lit = [[Большое помещение без окон освещено яркими лектрическим лампами. По всему помещению аккуратно расставлено множество ящиков с различными материалами, необходимыми для поддержания жизнедеятельности станции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_aqua_main_corridor", nil, 2);
 
    };
 
    obj = {
 
        "atl_aqua_warehouse_b_lightswitch";
 
        "atl_nih_tube_container2";
 
    };
 
};
 
 
atl_aqua_warehouse_b_lightswitch = obj {
 
    nam = "atl_aqua_warehouse_b_lightswitch";
 
    dsc = [[Рядом со входом расположен {выключатель}. ]];
 
    seen_level = 2;
 
    act = function(s)
 
        atl_aqua_warehouse_b.has_light = not atl_aqua_warehouse_b.has_light;
 
        if atl_aqua_warehouse_b.has_light then
 
            return [[Вы щелкаете выключателем и яркий свет электрических ламп заливает помещение. ]];
 
        else
 
            return [[Вы щелкаете выключателем и лампы гаснут, погружая помещение в кромешную тьму. ]];
 
        end;
 
    end;
 
};
 
 
atl_intersection = inherit(room, function(v)
 
    v.disp = "Атлантида, межсекционный коридор";
 
    v.dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    if (not v.obj) then
 
        v.obj = {};
 
    end;
 
    table.insert(v.obj, "atl_illuminator");
 
    table.insert(v.obj, "atl_intersect_phone");
 
    table.insert(v.obj, "atl_intersect_suit");
 
    
 
    return v;
 
end);
 
 
atl_intersection_aqua_dom = atl_intersection {
 
    nam = "Атлантида, межсекционный коридор";
 
    way = {
 
        kh_vroom("В секцию \"Аква\"", "atl_aqua_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_aqua");
 
    };
 
};
 
 
atl_dom_main_near_aqua = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Аква";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами расположен шлюз, ведущий в соседнюю секцию. ]];
 
    way = {
 
        kh_vroom("В секцию \"Аква\"", "atl_intersection_aqua_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_adm");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_a");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить скамейки, табличку секции Аква
 
        "atl_nih_tubes_near_aqua"
 
    };
 
};
 
 
atl_dom_main_near_a = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в коридор А";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в северной части зала. Рядом с вами расположен шлюз, ведущий в коридор А. ]];
 
    way = {
 
        kh_vroom("В коридор A", "atl_dom_corridor_a");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_aqua");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_luna");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить табличку
 
        "atl_nih_panel_near_a"
 
    };
 
};
 
 
atl_dom_main_c = room {
 
    nam = "Атлантида, Доминус, центральный зал, центр";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в центральной части зала, рядом с лифтом, ведущим в Игнис. ]];
 
    way = {
 
        kh_vroom("В лифт", "atl_dom_lift");
 
        kh_vroom("К секции Аква", "atl_dom_main_near_aqua");
 
        kh_vroom("К кабинету администратора", "atl_dom_main_near_adm");
 
        kh_vroom("К секции Арктос", "atl_dom_main_near_arctos");
 
        kh_vroom("К секции Терра", "atl_dom_main_near_terra");
 
        kh_vroom("К секции Окулус", "atl_dom_main_near_oculus");
 
        kh_vroom("К секции Луна", "atl_dom_main_near_luna");
 
        kh_vroom("К коридору А", "atl_dom_main_near_a");
 
 
    };
 
    obj = {
 
        -- TODO добавить скамейки
 
    };
 
};
 
 
atl_dom_main_near_adm = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в кабинет администратора";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в кабинет администратора. ]];
 
    way = {
 
        kh_vroom("В кабинет администратора", "atl_dom_administator_room");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_arctos");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_aqua");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить скамейки, воздуховоды
 
        "atl_nih_panel_near_admin"
 
    };
 
};
 
 
atl_dom_main_near_luna = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Луна";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Луна". ]];
 
    way = {
 
        kh_vroom("В секцию \"Луна\"", "atl_intersection_luna_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_a");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_oculus");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        "atl_nih_panel_near_luna"
 
    };
 
};
 
 
atl_dom_main_near_oculus = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Окулус";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Окулус". ]];
 
    way = {
 
        kh_vroom("В секцию \"Окулус\"", "atl_intersection_oculus_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_luna");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_terra");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        "atl_nih_boxes_near_oculus"
 
    };
 
};
 
 
atl_dom_main_near_terra = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Терра";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Терра". ]];
 
    way = {
 
        kh_vroom("В секцию \"Терра\"", "atl_intersection_terra_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_oculus");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_arctos");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        "atl_nih_boxes_near_terra"
 
    };
 
};
 
 
atl_dom_main_near_arctos = room {
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Арктос";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Арктос". ]];
 
    way = {
 
        kh_vroom("В секцию \"Арктос\"", "atl_intersection_arctos_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_terra");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_adm");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        "atl_nih_tubes_near_arctos"
 
    };
 
};
 
 
atl_dom_corridor_a = room {
 
    nam = "Атлантида, Доминус, коридор A";
 
    dsc = [[Просторный коридор, расположенный в западном крыле секции Доминус, заполнен ярким светом электрических ламп. В одном конце коридора расположена дверь, ведущая в главный зал. Две другие ведут в оружейную и кабинет начальника службы безопасности. ]];
 
    way = {
 
        kh_vroom("В кабинет начальника СБ", "atl_dom_security_office");
 
        kh_vroom("В оружейную", function()
 
            pr("Люк наглухо задраен и опечатан. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В центральный зал", "atl_dom_main_near_a");
 
    };
 
};
 
 
atl_dom_security_office = room {
 
    nam = "Атлантида, Доминус, кабинет начальника СБ";
 
    dsc = [[Спартанская обстановка кабинета начальника службы безопасности сразу бросается вам в глаза. небольшая комната почти пуста. Здесь нет ничего кроме массивного металлического стола в центре и двух кресел по разные стороны его. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_dom_corridor_a");
 
    };
 
    obj = {
 
        'char_darkstar'
 
    };
 
};
 
 
atl_dom_administator_room = room {
 
    nam = "Атлантида, Доминус, кабинет администратора";
 
    dsc = [[Кабинет администратора представляет собой небольшую комнату. Вдоль стен установлено несколько шкафов с какими-то бумагами. В центре расположен металлический стол.
 
    ]];
 
    way = {
 
        kh_vroom("В центральный зал", "atl_dom_main_near_adm");
 
    };
 
    obj = {
 
        'char_moreau'
 
    };
 
};
 
 
atl_intersection_luna_dom = room {
 
    nam = "Атлантида, межсекционный коридор";
 
    dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    way = {
 
        kh_vroom("В секцию \"Луна\"", "atl_luna_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_luna");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"      
 
    };
 
};
 
 
atl_intersection_arctos_dom = room {
 
    nam = "Атлантида, межсекционный коридор";
 
    dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    way = {
 
        kh_vroom("В секцию \"Арктос\"", "atl_arctos_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_arctos");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"  
 
    };
 
};
 
 
atl_luna_main_corridor = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Атлантида, Луна, главный коридор";
 
    dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    entered = function(s)
 
        if (s.state == 0) then
 
            s.state = 1;
 
            if (where(char_jack_wright_atlantis) == atl_luna_jack_room) then
 
                path("В комнату Джека"):enable();
 
            end;
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В вашу комнату", "atl_luna_drake_room");
 
        kh_vroom("В комнату Джека", "atl_luna_jack_room"):disable();
 
        kh_vroom("В общую комнату", "atl_luna_common_room");
 
        kh_vroom("В секцию \"Доминус\"", "atl_intersection_luna_dom");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_luna"
 
    };
 
};
 
 
atl_luna_jack_room = room {
 
    nam = "Атлантида, Луна, комната Джека";
 
    dsc = [[небольшая уютная комната, расчитанная на двух человек. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_luna_drake_room = room {
 
    nam = "Атлантида, Луна, ваша комната";
 
    dsc = [[Небольшая, но уютная комната, выделенная вам на Атлантиде. Хотя она расчитана на двух человек, пока нет необходимости расселять людей по двое. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_arctos_main_corridor = room {
 
    nam = "Атлантида, Арктос, главный коридор";
 
    dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    way = {
 
        kh_vroom("В комнату Голдмана", function(s)
 
            if goldman_state == 0 then
 
                return "atl_arctos_goldmans_room";
 
            else
 
                p([[Заперто. ]]);
 
                return false;
 
            end;
 
        end);
 
        kh_vroom("В комнату Джонса", "atl_arctos_jones_room");
 
        kh_vroom("В общую комнату", "atl_arctos_common_room");
 
        kh_vroom("В секцию \"Доминус\"", "atl_intersection_arctos_dom");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_arctos"
 
    };
 
};
 
 
atl_arctos_goldmans_room = room {
 
    nam = "Атлантида, Арктос, комната";
 
    dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
    };
 
    obj = {
 
        "char_goldman"
 
    };
 
};
 
 
atl_arctos_jones_room = room {
 
    nam = "Атлантида, Арктос, комната";
 
    dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
    };   
 
    obj = {
 
        "char_jones"
 
    };
 
};
 
 
atl_luna_common_room = room {
 
    nam = "Атлантида, Луна, общая комната";
 
    dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_arctos_common_room = room {
 
    nam = "Атлантида, Луна, общая комната";
 
    dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_intersection_terra_dom = room {
 
    nam = "Атлантида, межсекционный коридор";
 
    dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    way = {
 
        kh_vroom("В секцию \"Терра\"", "atl_terra_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_terra");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit" 
 
    };
 
};
 
 
atl_terra_main_corridor = room {
 
    nam = "Атлантида, Терра, главный коридор";
 
    dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в мастерские. Вдоль стен стоят множество ящиков. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
    way = {
 
        kh_vroom("В мастерскую A", "atl_terra_workshop_a");
 
        kh_vroom("В мастерскую B", "atl_terra_workshop_b");
 
        kh_vroom("В мастерскую C", "atl_terra_workshop_c");
 
        kh_vroom("В мастерскую D", "atl_terra_workshop_d");
 
        kh_vroom("В секцию Солис", function()
 
            if (atl_fta_state == 1) then
 
                return "atl_fta_is_terra_solis";
 
            else
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            end;
 
        end);
 
kh_vroom("В секцию Доминус", "atl_intersection_terra_dom");
 
    };
 
    obj = {
 
        "atl_nih_tube_container";
 
        "atl_nih_boxes_terra";
 
    };
 
};
 
 
atl_terra_workshop_a = room {
 
    nam = "Атлантида, мастерская А";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        item_electric_lamp:disable(),
 
        "char_michael_wright"
 
    };
 
};
 
 
atl_terra_workshop_b = room {
 
    nam = "Атлантида, мастерская B";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "char_radcliffe_atlantis"
 
    };
 
};
 
 
atl_terra_workshop_c = room {
 
    nam = "Атлантида, мастерская C";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "char_leroy"
 
    };
 
};
 
 
atl_terra_workshop_d = room {
 
    nam = "Атлантида, мастерская D";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "item_dynamo";
 
    };   
 
};
 
 
atl_intersection_oculus_dom = room {
 
    nam = "Атлантида, межсекционный коридор";
 
    dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    way = {
 
        kh_vroom("В секцию \"Окулус\"", "atl_oculus_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_oculus");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"  
 
    };
 
};
 
 
atl_oculus_main_corridor = room {
 
    var {
 
        first_visit = true;
 
    };
 
    nam = "Атлантида, Окулус, главный коридор";
 
    dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в лаборатории. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
    enter = function(s)
 
        if (s.first_visit) then
 
            s.first_visit = false;
 
            walkin("atlantis_learr_intro");
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В лабораторию A", "atl_oculus_lab_a");
 
        kh_vroom("В лабораторию B", "atl_oculus_lab_b");
 
        kh_vroom("В лабораторию C", "atl_oculus_lab_c");
 
        kh_vroom("В библиотеку", "atl_oculus_library");
 
        kh_vroom("В секцию Аэрис", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В секцию Доминус", "atl_intersection_oculus_dom");
 
    };
 
    obj = {
 
        "atl_nih_panel_oculus"
 
    };
 
};
 
 
atl_oculus_lab_a = room {
 
    nam = "Атлантида, Окулус, лаборатория A";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_svetlova"
 
    };
 
};
 
 
atl_oculus_lab_b = room {
 
    nam = "Атлантида, Окулус, лаборатория B";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_winterlight"
 
    };
 
};
 
 
atl_oculus_lab_c = room {
 
    nam = "Атлантида, Окулус, лаборатория C";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_ryveerr",
 
        "char_anna_atlantis",
 
        "char_evans"
 
    };
 
};
 
 
atl_oculus_library = room {
 
    nam = "Атлантида, Окулус, библиотека";
 
    dsc = [[Рядом со входом в библиотеку расположен небольшой столик, на котором покоится каталог. Практически все пространство комнаты занято высокими стеллажами, заполненными книгами, журналами и документами. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_legrand"
 
    };
 
};
 
 
atl_dom_lift = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Атлантида, лифт";
 
    dsc = [[Герметичная кабина лифта, рассчитанная на 5-6 человек. ]];
 
    way = {
 
        kh_vroom("Выйти", function()
 
            if (atl_dom_lift.state == 0) then
 
                return "atl_dom_main_c";
 
            else
 
                return "atl_ignis_main_center";
 
            end;
 
        end);
 
    };
 
    obj = {
 
        "atl_lift_lever"
 
    };
 
};
 
 
atl_lift_lever = obj {
 
    nam = "Рычаг";
 
    dsc = [[На стене укреплен массивный {рычаг}, повернув который, вы приведете в движение механизм лифта. ]];
 
    act = function(s)
 
        if (atl_dom_lift.state == 1) then
 
            atl_dom_lift.state = 0;
 
            return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно опускающих кабину лифта. ]];
 
        else
 
            atl_dom_lift.state = 1;
 
            return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно поднимающих кабину лифта. ]];
 
        end;
 
    end;
 
};
 
 
--[[
 
Персонажи
 
]]
 
 
char_darkstar = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
    nam = "Винсент Даркстар";
 
    dsc = function(s)
 
        if (char_darkstar_dlg.state == 0) then
 
            return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        else
 
            return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        end;
 
    end;   
 
    dlg = "char_darkstar_dlg";
 
};
 
 
char_moreau = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;

Changeset was too big and was cut off... Show full diff anyway

0 comments (0 inline, 0 general)