Changeset - b061e1d419ba
[Not reviewed]
Merge Preview 1 preview
0 2 0
silverwing - 7 years ago 2017-07-27 14:52:52

Merge with default
2 files changed with 130 insertions and 4 deletions:
0 comments (0 inline, 0 general)
atlantis_navjiarr.lua
Show inline comments
 
@@ -845,444 +845,568 @@ iraa_temple_guardians = npc {
 
    nam = "iraa_temple_guardians";
 
    dsc = [[У входа в храм стоят двое {стражников} -- обычный дозор. ]];
 
    phrases = function(s)
 
        if language_known then
 
            return {
 
                "В вашем присутствии стражники заметно нервничают. ";
 
                "Стражники осторожно переглядываются. ";
 
                "По головным плавникам одного из стражников бегут цветные полосы: \"Уходите, вам здесь не место\". ";
 
            };
 
        else
 
            return {
 
                "В вашем присутствии стражники заметно нервничают. ";
 
                "Стражники осторожно переглядываются. ";
 
                "По головным плавникам одного из стражников бегут цветные полосы, но вы не понимаете, что он хочет вам сказать. ";
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_south = room {
 
    nam = "iraa_temple_south";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на севере вы видите Левиафан -- вашу субмарину и вход в храм Ираафаанотра, охраняемый двумя вооруженными навьярами. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_entrance");
 
    };
 
};
 

	
 
iraa_temple_north_1 = room {
 
    nam = "iraa_temple_north_1";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на юге вы видите Левиафан -- вашу субмарину и вход в храм Ираафаанотра, охраняемый двумя вооруженными навьярами. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_north_2");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_entrance");
 
    };
 
};
 

	
 
iraa_temple_north_2 = room {
 
    nam = "iraa_temple_north_2";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на юге вы едва различаете Левиафан -- вашу субмарину. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_north_3");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_north_1");
 
    };
 
};
 

	
 
iraa_temple_north_3 = room {
 
    nam = "iraa_temple_north_3";
 
    disp = "У входа в ущелье";
 
    dsc = [[К востоку от вас возвышается скала, протянувшаяся на многие километры ссевера на юг. Рядом с вами в скале имеется узкое ущелье -- настолько незаметное, что проплывай вы мимо на Левиафане, вы не обратили бы на него никакого внимания. ]];
 
    way = {
 
        kh_vroom("В ущелье", "iraa_temple_ravine_1");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_north_2");
 
    };
 
    entered = function(s)
 
        lifeoff(iraa_temple_shark);
 
    end;
 
};
 

	
 
iraa_temple_shark = room {
 
    var {
 
        alive = true;
 
        position = 1;
 
        wait = 0;
 
    };
 
    cycle = {2,6,7,8,9,4.3};
 
    nam = "iraa_temple_shark";
 
    life = function(s)
 
        s.wait = s.wait + 1;
 
        if (s.wait < 3) then
 
            return;
 
        end;
 
        s.wait = 0;
 
        s.position = s.position + 1;
 
        if (s.position > #s.cycle) then
 
            s.position = 1;
 
        end;
 
        if s.position == here().index then
 
            walk("game_over_eaten_by_shark");
 
        end;
 
    end;
 
    canshoot = true;
 
    onshoot = function(s)
 
        s.alive = false;
 
        lifeoff(s);
 
        s:disable();
 
        return [[Пронзенная метким выстрелом гарпуна, акула умирает. ]];
 
    end;
 
    dsc = function(s)
 
        if s.alive then
 
            if here().index == 1 then
 
                if s.cycle[s.position] == 2 then
 
                    return [[На востоке от вас вы видите {акулу}, она движется на север. ]];
 
                end;
 
            if here().index == 5 then
 
            elseif here().index == 5 then
 
                if s.cycle[s.position] == 4 then
 
                    return [[На западе от вас вы видите {акулу}, она движется на запад. ]];
 
                end;
 
            if here().index == 10 then
 
            elseif here().index == 10 then
 
                if s.cycle[s.position] == 7 then
 
                    return [[На юге от вас вы видите {акулу}, она движется на восток. ]];
 
                end;
 
            elseif here().index == 2 then
 
                if s.cycle[s.position] == 3 then
 
                    return [[С востока к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 6 then
 
                    return [[К северу от вас вы видите {акулу}. Она не видит вас и продолжает движение от вас. ]];
 
                end;
 
            elseif here().index == 6 then
 
                if s.cycle[s.position] == 2 then
 
                    return [[С юга к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 7 then
 
                    return [[К северу от вас вы видите {акулу}. Она не видит вас и продолжает движение от вас. ]];
 
                end;
 
            elseif here().index == 7 then
 
                if s.cycle[s.position] == 6 then
 
                    return [[С юга к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 8 then
 
                    return [[На востоке вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 8 then
 
                if s.cycle[s.position] == 7 then
 
                    return [[С запада к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 9 then
 
                    return [[На востоке вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 9 then
 
                if s.cycle[s.position] == 8 then
 
                    return [[С запада к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 4 then
 
                    return [[На юге вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 4 then
 
                if s.cycle[s.position] == 9 then
 
                    return [[С севера к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 3 then
 
                    return [[На западе вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 3 then
 
                if s.cycle[s.position] == 4 then
 
                    return [[С востока к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 2 then
 
                    return [[На западе вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            end;
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_ravine_1 = room {
 
    index = 1;
 
    nam = "iraa_temple_ravine_1";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_north_3");
 
        kh_vroom("На восток", "iraa_temple_ravine_2");
 
    };
 
    entered = function(s)
 
        if iraa_temple_shark.alive then
 
            lifeon(iraa_temple_shark);
 
        end;
 
    end;
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_2 = room {
 
    index = 2;
 
    nam = "iraa_temple_ravine_2";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_1");
 
        kh_vroom("На север", "iraa_temple_ravine_6");
 
        kh_vroom("На восток", "iraa_temple_ravine_3");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_3 = room {
 
    index = 3;
 
    nam = "iraa_temple_ravine_3";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_2");
 
        kh_vroom("На восток", "iraa_temple_ravine_4");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_4 = room {
 
    index = 4;
 
    nam = "iraa_temple_ravine_4";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_3");
 
        kh_vroom("На север", "iraa_temple_ravine_9");
 
        kh_vroom("На восток", "iraa_temple_ravine_5");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_5 = room {
 
    index = 5;
 
    nam = "iraa_temple_ravine_5";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_4");
 
        kh_vroom("В трещину", "iraa_temple_crevice");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
    entered = function(s)
 
        lifeoff(iraa_temple_guardian);
 
    end;
 
};
 

	
 
iraa_temple_ravine_6 = room {
 
    index = 6;
 
    nam = "iraa_temple_ravine_6";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На юг", "iraa_temple_ravine_2");
 
        kh_vroom("На север", "iraa_temple_ravine_7");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_7 = room {
 
    index = 7;
 
    nam = "iraa_temple_ravine_7";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На юг", "iraa_temple_ravine_6");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На север", "iraa_temple_ravine_10");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_8 = room {
 
    index = 8;
 
    nam = "iraa_temple_ravine_8";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_7");
 
        kh_vroom("На север", "iraa_temple_ravine_10");
 
        kh_vroom("На восток", "iraa_temple_ravine_9");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_9 = room {
 
    index = 9;
 
    nam = "iraa_temple_ravine_9";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_4");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_10 = room {
 
    index = 10;
 
    nam = "iraa_temple_ravine_10";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На север", "iraa_temple_ravine_11");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_7");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_11 = room {
 
    nam = "iraa_temple_ravine_11";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На север", "iraa_temple_ravine_11");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_7");
 
    };
 
};
 

	
 
iraa_temple_crack = room {
 
    index = 7;
 
    nam = "iraa_temple_crack";
 
    disp = "Трещина в скале";
 
    dsc = [[Небольшая узкая трещина в скале. Вы с огромным трудом перемещаетесь внутри. С одной стороны вы видите ущелье, ерез которое вы проникли сюда. С другой стороны -- какой-то хорошо освещенный коридор. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_6");
 
        kh_vroom("В ущелье", "iraa_temple_ravine_5");
 
    };
 
    entered = function(s)
 
        lifeon(iraa_temple_guardian);
 
    end;
 
};
 

	
 
iraa_temple_guardian = room {
 
    var {
 
        position = 1;
 
        direction = 1;
 
        wait = 0;
 
    };
 
    nam = "iraa_temple_guardian";
 
    dsc = function(s)
 
        
 
    end;
 
    life = function(s)
 
        s.wait = s.wait + 1;
 
        if (s.wait < 3) then
 
            return;
 
        end;
 
        s.wait = 0;
 
        if (s.direction == 1) then
 
            if (s.position < 3) then
 
                s.position = s.position + 1;
 
                if (here().index >= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 2;
 
            end;
 
        elseif (s.direction == 2) then
 
            if (s.position < 6) then
 
                s.position = s.position + 1;
 
                if (here().index >= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 2;
 
            end;
 
        elseif (s.direction == -2) then
 
            if (s.position > 3) then
 
                s.position = s.position - 1;
 
                if (here().index <= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = -1;
 
            end;
 
        elseif (s.direction == -1) then
 
            if (s.position > 1) then
 
                s.position = s.position - 1;
 
                if (here().index <= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 1;
 
            end;
 
        end;
 
        if here().index > 6 or here().index < 1 then
 
            return;
 
        end;
 
        if s.direction == 1 and here().index < 4 and here().index >= s.position or 
 
           s.direction == 2 and here().index >= s.position or
 
           s.direction == -2 and here().index > 2 and here().index <= s.position or 
 
           s.direction == -1 and here().index <= s.position then
 
            walk("game_over_caught_iraa");
 
        end;
 
    end;
 
    dsc = function(s)
 
        if s.direction == 1 then
 
            
 
        elseif s.direction == 2 then
 
        elseif s.direction == -2 then
 
        elseif s.direction == -1 then
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_corridor_6 = room {
 
    index = 6;
 
    nam = "iraa_temple_corridor_6";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в самом конце коридора в храме Ираафаанотра. Вокруг -- ровные камееные стены. В одной из них вы видите глубокую, трещину, через которую вы с трудом протиснулись сюда. Еще в одной из стен вы видите небольшой дверной проем, за которым скрывается маленькая комнатка. ]];
 
    way = {
 
        kh_vroom("В трещину", "iraa_temple_crack");
 
        kh_vroom("В комнату", "iraa_temple_room_0");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_5");
 
    };
 
};
 

	
 
iraa_temple_corridor_5 = room {
 
    index = 5;
 
    nam = "iraa_temple_corridor_5";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. В одной из ровных каменных стен, расположенных по сторонам от вас, имеется небольшой дверной проем, за которым скрывается маленькая комнатка. ]];
 
    way = {
 
        kh_vroom("В комнату", "iraa_temple_room_2");
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_6");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_4");
 
    };
 
};
 

	
 
iraa_temple_corridor_4 = room {
 
    index = 4;
 
    nam = "iraa_temple_corridor_4";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]];
 
    way = {
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_5");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_3");
 
    };
 
};
 

	
 
iraa_temple_corridor_3 = room {
 
    index = 3;
 
    nam = "iraa_temple_corridor_3";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Здесь коридор сворачивает под прямым углом к северу. В конце коридора на западе вы видите массивную каменную дверь, которая сейчас открыта. На севере коридор заканчивается тупиком. К востоку от вас массивная каменная дверь, но она заперта. ]];
 
    way = {
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_4");
 
        kh_vroom("В комнату", "iraa_temple_room_5");
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_2");
 
    };
 
};
 

	
 
iraa_temple_corridor_2 = room {
 
    index = 2;
 
    nam = "iraa_temple_corridor_2";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]];
 
    way = {
 
        kh_vroom("По коридору, на восток", "iraa_temple_corridor_3");
 
        kh_vroom("В комнату в северной стене", "iraa_temple_room_3");
 
        kh_vroom("В комнату в южной стене", "iraa_temple_room_6");
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_1");
 
    };
 
};
 

	
 
iraa_temple_corridor_1 = room {
 
    index = 1;
 
    nam = "iraa_temple_corridor_1";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Прямо перед вами находится дверь, ведущая в основное помещение храма. Отсюда вы видите, что в нем никого нет. ]];
 
    way = {
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_2");
 
        kh_vroom("В комнату в северной стене", "iraa_temple_room_7");
 
        kh_vroom("В комнату в южной стене", "iraa_temple_room_1");
 
        kh_vroom("В главный зал", "iraa_temple_main_3");
 
    };
 
};
 

	
 
iraa_temple_main_3 = room {
 
    nam = "iraa_temple_main_3";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в конце главного зала храма Ираафаанотра. В стенах проделаны многочисленые ниши, в которых покоятся священные реликвии навьяров. Массивная каменная дверь ведет в задние помещения. ]];
 
    way = {
 
        kh_vroom("в дверь", "iraa_temple_corridor_1");
 
        kh_vroom("К центру зала", "iraa_temple_main_2");
 
    };
 
};
 

	
 
iraa_temple_main_2 = room {
 
    nam = "iraa_temple_main_2";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в центре главного зала храма Ираафаанотра. Рядом с вами находится пустой пьедестал, на котором должна покоиться важнейшая реликвия храма, однако сейчас она отсутствует. Слева и справа от вас находятся залы, именуемые залами Ответа и Вопроса. ]];
 
    way = {
 
        kh_vroom("В конец зала", "iraa_temple_main_3");
 
        kh_vroom("В зал Вопроса", "iraa_temple_qhall");
 
        kh_vroom("В зал Ответа", "iraa_temple_ahall");
 
        kh_vroom("К главному входу", "iraa_temple_main_1");
 
    };
 
    obj = {
 
        "iraa_temple_lever_4"
 
    };
 
};
 

	
 
iraa_temple_main_1 = room {
 
    nam = "iraa_temple_main_1";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в главном зале храма Ираафаанотра. В многочисленных нишах в стенах покоятся древние реликвии. Перед вами возвышаются массивные ворота храма, за которыми наверняка стоит обычная стража -- двое вооруженных навьяров. ]];
 
    way = {
 
        kh_vroom("В ворота", function(s)
 
            pr("Не стоит делать этого. Стража вас схватит. ");
 
            return false;
 
        end);
 
        kh_vroom("К центру зала", "iraa_temple_main_2");
 
    };
 
};
 

	
 
iraa_temple_question = obj {
 
    nam = "iraa_temple_question";
 
    dsc = [[На стене напротив входа нанесены какие-то {письмена}. Видно, что навьяры раз за разом тщательно обновляют их, сохраняя их в первозданном виде. ]];
 
    act = [[Письмена гласят: "Ищи число". ]];
 
};
 

	
 
iraa_temple_qhall = room {
 
    nam = "iraa_temple_qhall";
 
    disp = "Храм Ираафаанотра, Зал Вопроса";
 
    dsc = [[Небольшой боковой зал. ]];
 
    way = {
 
        kh_vroom("В главный зал", "iraa_temple_main_2");
 
    };
 
    obj = {
 
        "iraa_temple_question";
 
    };
 
};
 

	
 
iraa_temple_answer = obj {
 
    nam = "iraa_temple_answer";
 
    dsc = [[Вы видите вырезанное в стене изображение {спрута}. ]];
 
    act = [[Традиционное для навьяров схематичное изображение спрута. Вам бросается в глаза наличие у существа шестнадцати щупалец. ]];
 
};
 

	
 
iraa_temple_ahall = room {
 
    nam = "iraa_temple_ahall";
 
    disp = "Храм Ираафаанотра, Зал Ответа";
 
    dsc = [[Небольшой боковой зал. ]];
 
    way = {
 
        kh_vroom("В главный зал", "iraa_temple_main_2");
 
    };
 
    obj = {
 
        "iraa_temple_answer";
 
    };
 
};
 

	
 
iraa_temple_room_0 = room {
 
    var {
 
        state = false;
 
    };
 
    nam = "iraa_temple_room_0";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_6");
 
        kh_vroom("В скрытый проход", "iraa_temple_hidden_stairs");
 
    };
 
@@ -1476,111 +1600,111 @@ iraa_temple_button_ctr = function(nam, i
 
        end;
 
    };
 
end;
 

	
 
iraa_temple_hidden_hall = room {
 
    var {
 
        active_parts = {false, false, false, false, false, false, false, false, false, false, false, false};
 
        pressed_buttons = {false, false, false, false, false, false, false, false};
 
        solved = false;
 
    };
 
    buttons = {
 
        {1, 5, 9, 11, 12};
 
        {1, 2, 3, 4};
 
        {4, 8, 10, 11, 12};
 
        {2, 4, 5, 6};
 
        {1, 5, 7, 9, 10, 11, 12};
 
        {2, 6, 9, 10, 12};
 
        {1, 3, 7, 8};
 
        {3, 7, 9, 10, 11};
 
    };
 
    pic = function(s)
 
        local pic = 'images/dyp_bg.png';
 
        local cnt = 0;
 
        for i = 1, #s.active_parts do
 
            if (s.active_parts[i]) then
 
                cnt = cnt + 1;
 
                pic = pic .. ";images/dyp_" .. tostring(i) .. ".png";
 
            end;
 
        end;
 
        if (cnt > 0) then
 
            return pic;
 
        else
 
            return nil;
 
        end;
 
    end;
 
    nam = "Храм Ираафаанотра, потайной зал";
 
    dsc = [[Большой круглый плохо освещенный зал. В центре зала расположено восемь рычагов, рядом с которыми нанесены какие-то символы. ]];
 
    obj = {
 
        iraa_temple_button_ctr("iraa_temple_b1", 1);
 
        iraa_temple_button_ctr("iraa_temple_b2", 2);
 
        iraa_temple_button_ctr("iraa_temple_b3", 3);
 
        iraa_temple_button_ctr("iraa_temple_b4", 4);
 
        iraa_temple_button_ctr("iraa_temple_b5", 5);
 
        iraa_temple_button_ctr("iraa_temple_b6", 6);
 
        iraa_temple_button_ctr("iraa_temple_b7", 7);
 
        iraa_temple_button_ctr("iraa_temple_b8", 8);
 
    };
 
    way = {
 
        kh_vroom("Наверх", "iraa_temple_hidden_stairs"):disable();
 
        kh_vroom("Вниз", "iraa_temple_hidden_storage"):disable();
 
    };
 
    check = function(s, index)
 
        s.pressed_buttons[index] = not s.pressed_buttons[index];
 
        
 
        for i = 1, #s.active_parts do
 
            s.active_parts[i] = false;
 
        end;
 
        
 
        for i = 1, #s.pressed_buttons do
 
            if (s.pressed_buttons[i]) then
 
                for j = 1, #s.buttons[i] do
 
                    s.active_parts[s.buttons[i][j]] = not s.active_parts[s.buttons[i][j]];
 
                end;
 
            end;
 
        end;
 
        
 
        s.solved = true;
 
        for i = 1, #s.active_parts do
 
            if (not s.active_parts[i]) then
 
                s.solved = false;
 
                break;
 
            end;
 
        end;
 
        
 
        if (s.solved) then
 
            path("Наверх"):enable();
 
            path("Вниз"):enable();
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_hidden_storage = room {
 
    nam = "iraa_temple_hidden_storage";
 
    disp = [[Храм Ираафаанотра, хранилище]];
 
    dsc = [[Стены этой небольшой комнаты излучают слабый свет. ]];
 
    obj = {
 
        "iraa_temple_hidden_pedestal"
 
    };
 
};
 

	
 
iraa_temple_hidden_pedestal = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = "iraa_temple_hidden_pedestal";
 
    dsc = function(s)
 
        if s.state == 0:
 
        if s.state == 0 then
 
            return [[В центре установлен металлический пьедестал, на котором лежит металлическая {табличка}. ]];
 
        else
 
            return [[В центре установлен металлический {пьедестал}. ]];
 
        end;
 
    end;
 
    act = function(s)
 
        if s.state == 0:
 
        if s.state == 0 then
 
            item_lse_map.state = item_lse_map.state + 1;
 
            return [[Вы забираете металлическую табличку себе. ]];
 
        else
 
            return [[Вьедестал пуст. ]];
 
        end;
 
    end;
 
};
game_over.lua
Show inline comments
 
game_over_caught_iraa = game_over("game_over_caught_iraa", [[Стражник замечает вас и поднимает тревогу. Теперь, даже если вам удастся одолеть его и добыть фрагмент карты, вы ничего не сможете сделать -- на Атлантиде вас немедленно посадят под арест, а навьяры тепеь точно нестанут вам помогать. ]]);
 
 
game_over_banished_lfc = game_over("game_over_banished_lfc", [[Как только вы оказываетесь в межсекционном коридоре, вас окружают стражники Атлантиды. Они просят вас проследовать за ними и вы понимаете, что сопротивление бесполезно. Вас проводят в кабинет Винсента Даркстара. Когда стражники выходят, начальник службы безопасности поднимается из-за стола и начинает вас отчитывать:"Господин Дрейк. Вы крайне разочаровали меня. Мало того! Вы поставили под угрозу дальнейшую работу станции", -- впервые вы слышите, как Даркстар практически срывается на крик -- до этого он всегда говорил спокойно и уверенно, -- "Отныне, вы лишены всяческих привилегий и при первой возможности будете депортированы". Когда вы выходите из кабинета, охранники сопроваждают вас в вашу каюту и запирают там. Несколько месяцев вы проводите взаперти. Уильям и Адриан Блэк так и не вернулись из своей экспедиции.^Вскоре вас в запертой каюте Левиафана, мало отличающейся от каюты на станции, высылают на поверхность. Вас высаживают возле одного из небольшихэ прибрежных городков соединенных штатов, откуда вы без проблем доберетесь куда угодно. Однако, путь на Атлантиду потерян для вас навсегда.  ]]);
 
 
game_over_lse_prison_fight = game_over("game_over_lse_prison", [[Стражники с легкостью останавливают вашу попытку побега. Вы возвращаетесь в камеры и теперь вам уже не на что надеяться. ]]);
 
 
game_over_lse_prison = game_over("game_over_lse_prison", [[Фаэтларр рванулся к двери, расчитывая проскользнуть незаметно. К сожалению, дверь оказалась запертой и навьяру не оставалось ничего, кроме как попытаться убрать стражника, пока тот не позвал на помощь. К сожалению, Фаэтларр оказался недостаточно быстр. Дверь открылась и в помещение вбежали сразу несколько стражников. Фаэтларру не оставалось ничего, кроме как сдаться. Его запирают рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_lse_guards = game_over("game_over_lse_guards", [[Охранник поднимает тревогу. Вы не успеваете ничего сделать и оказываетесь схвачены. ]]);
 
 
game_over_phaetlarr_caught = game_over("game_over_phaetlarr_caught", [[Едва увидев Фаэтларра, стражники бросаются к нему, не давая никаких шансов на спасение. Через некоторое время, он оказывается в тюрьме, рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_phaetlarr_wrong_wire = game_over("game_over_phaetlarr_wrong_wire", [[Едва Фаэтларр обрезает провод, как свет в доке меняет цвет на красный, а со всех сторон доносятся громкие звуки сирены. Стражники среагировали моментально. Меткий бросок копья протыкает навьяра. Даже если он выжил, шансов спасти остальной экипаж у него не остается. ]]);
 
 
game_over_za_temple = game_over("game_over_za_temple", [[Развернув субмарину вы подставили винт под удары ваших противников. Несколько попаданий в винт выводят его из строя и Левиафан оказывается обездвижен. Теперь вы совершенно беззащитны перед атаками противника. ]]);
 
 
game_over_kraken = game_over("game_over_kraken", [[От сильных ударов корпус субмарины начал расходиться по швам. В помещения хлынула вода. Озверевший кракен продолжает хлестать Левиафан своими щупальцами. Наконец, чудовище хватает подлодку и отправляется вместе с ней в бездну. К этому времени на борту уже не осталось никого живого, кроме, быть может, навьяров. ]]);
 
 
game_over_za_fight = game_over("game_over_za_fight", [[Стражники навьяров - опасные противники. Очередной удар копья проделывает дыру в вашем скафандре и он наполняется водой. Вскоре вы задыхаетесь. ]]);
 
 
game_over_za_learr = game_over("game_over_za_learr", [[Леарр пытается оттолкнуть вас от штурвала и остановить Левиафан. Вы делаете резкий поворот и субмарина кренится на бок. Леарр, не удержавшись на ногах, падает. Навьярка кричит в бессильной ярости, когда вы пролетаете над воротами Нлейисланотра. Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Еще через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_za_anna = game_over("game_over_za_learr", [[Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Вы слышите едва различимый среди шума двигателей голос Анны: "Это была плохая идея". Через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_eaten_by_octopus = game_over("game_over_eaten_by_octopus", [[Гигантский спрут мгновенно опутывает вас своими щупальцами. Вы не можете вырваться из стальной хватки чудовища. Металл скафандра скрипит, не выдерживая давления и вы понимаете, что ваши дни сочтены. ]]);
 
 
game_over_eaten_by_shark = room {
 
    nam = "game_over_eaten_by_shark";
 
    disp = "Игра окончена";
 
    hideinv = true;
 
    dsc = [[Вы не успеваете заметить, как акула разгрызает ваш скафандр острыми зубами. Через несколько мгновений вы умираете. ]];
 
};
 
 
game_over_caught = room {
 
	nam = "game_over_caught";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники склада обнаруживают вас. В мгновение вы оказываетесь схвачены. Ни в полиции ни в суде никому нет никакого дела до причин вашей попытки проникновения на склад. Ближайшие несколько лет вы проведете в тюрьме. ]];
 
};
 
 
game_over_banished = room {
 
	nam = "game_over_banished";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники сопровождают вас до Левиафана. Без помощи Атлантиды, вы не сможете найти отца. Ваши поиски окончены. ]];
 
};
 
 
game_over_powerless = room {
 
	nam = "game_over_powerless";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Электрооборудование Левиафана выходит из строя и вы теряете всякую возможность управлять субмариной. Разъяренный скат продолжает атаковать субмарину, то испуская электрические разряды, то нанося удары хвостовым шипом. Через некоторое время обшивка не выдерживает и рубка Левиафана заполняется водой. ]];
 
};
 
 
game_over_shockfish = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Когда скат возвращается и обнаруживает вас, он мгновенно убивает вас, сперва проткнув хвостовым шипом и после чего выпустив мощный электрический разряд. ]];
 
};
 
 
game_over_shockfish_2 = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Вы входите в главный зал храма и не замечаете, как сзади вас скат плавно опускается и протыкает вас своим шипом. Мощный электрически разряд довершает дело и ваше тело падает на пол древнего святилища. ]];
 
};
 
 
game_over_sunk = room {
 
	nam = "game_over_sunk";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный удар хвостового шипа пробивает обшивку Левиафана насквозь. Вода быстро заполняет отсеки субмарины и у вас не остается никаких шансов спастись. ]];
 
};
 
 
game_over_shot = room {
 
	nam = "game_over_shot";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Блэк вскидывает пистолет и стреляет в вашу сторону. Вы чувствуете боль в груди. В глазах мутнеет и вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_awakening = room {
 
	nam = "game_over_awakening";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Пробуждение Наэтвьирра завершено. Вы зря старались. ]];
 
};
 
 
game_over_pylon = room {
 
	nam = "game_over_pylon";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный луч света, исходящий из пилона, испепеляет вас. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_naethvjirr = room {
 
	nam = "game_over_naethvjirr";
0 comments (0 inline, 0 general)