File diff ec336e394222 → d15e1e891b5a
lseryanotrr_locations.lua
Show inline comments
 
@@ -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