Changeset - 690cff3defec
[Not reviewed]
default
0 1 0
Silverwing - 5 years ago 2019-07-17 18:19:57

Lseryanotrr made turn-based
1 file changed with 115 insertions and 200 deletions:
0 comments (0 inline, 0 general)
lse_confrontation.lua
Show inline comments
 
@@ -1457,7 +1457,10 @@ lse_power_station_dark = room {
 
        make_snapshot();
 
    end;
 
    way = {
 
        kh_vroom("В город", 'lse_inner_1');
 
        kh_vroom("В город", function(s)
 
            lifeon(lse_inner_circle_guards);
 
            return 'lse_inner_1';
 
        end);
 
        kh_vroom("В сервиcный тоннель", function(s)
 
            pr [[Вы еще не закончили свои дела здесь. ]];
 
            return false;
 
@@ -1469,113 +1472,121 @@ lse_power_station_dark = room {
 
    Inner circle
 
 ]]
 

	
 
lse_timer = function(s)
 
    local loc = stead.deref(here());
 
    if (lse_guard1.loc == "lse_inner_1") then
 
        lse_guard1.dir = 2;
 
        lse_guard1.loc = "lse_inner_2";
 
        
 
        if (loc == "lse_inner_1" or here().out == "lse_inner_1") then
 
            pn("Стражник уходит. ");
 
        elseif (loc == "lse_inner_3" or here().out == "lse_inner_3" or loc == "lse_inner_4" or here().out == "lse_inner_4") then
 
            pn("Стражник приближается. ");
 
        elseif (here().out == "lse_inner_2") then
 
            pn("Снаружи маячит стражник. ");
 
lse_inner_circle_guards = obj {
 
    nam = 'lse_inner_circle_guards';
 
    counter = 3;
 
    life = function(s)
 
        if s.counter > 0 then
 
            s.counter = s.counter - 1;
 
            return;
 
        end;
 
    elseif (lse_guard1.loc == "lse_inner_2") then
 
        if (lse_guard1.dir == 2) then
 
            lse_guard1.loc = "lse_inner_3";
 
            if (loc == "lse_inner_1") then
 
        s.counter = 3;
 
        local loc = stead.deref(here());
 
        if (lse_guard1.loc == "lse_inner_1") then
 
            lse_guard1.dir = 2;
 
            lse_guard1.loc = "lse_inner_2";
 

	
 
            if (loc == "lse_inner_1" or here().out == "lse_inner_1") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_4") then
 
            elseif (loc == "lse_inner_3" or here().out == "lse_inner_3" or loc == "lse_inner_4" or here().out == "lse_inner_4") then
 
                pn("Стражник приближается. ");
 
            elseif (here().out == "lse_inner_3") then
 
            elseif (here().out == "lse_inner_2") then
 
                pn("Снаружи маячит стражник. ");
 
            end;
 
        else
 
            lse_guard1.loc = "lse_inner_1";
 
            if (loc == "lse_inner_3") then
 
        elseif (lse_guard1.loc == "lse_inner_2") then
 
            if (lse_guard1.dir == 2) then
 
                lse_guard1.loc = "lse_inner_3";
 
                if (loc == "lse_inner_1") then
 
                    pn("Стражник уходит. ");
 
                elseif (loc == "lse_inner_4") then
 
                    pn("Стражник приближается. ");
 
                elseif (here().out == "lse_inner_3") then
 
                    pn("Снаружи маячит стражник. ");
 
                end;
 
            else
 
                lse_guard1.loc = "lse_inner_1";
 
                if (loc == "lse_inner_3") then
 
                    pn("Стражник уходит. ");
 
                elseif (loc == "lse_inner_4") then
 
                    pn("Стражник уходит. ");
 
                elseif (here().out == "lse_inner_1") then
 
                    pn("Снаружи маячит стражник. ");
 
                end;
 
            end;
 
            if (here().out == "lse_inner_2") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_4") then
 
            end;
 
        else
 
            lse_guard1.dir = 1;
 
            lse_guard1.loc = "lse_inner_2";
 
            if (loc == "lse_inner_3" or here().out == "lse_inner_3") then
 
                pn("Стражник уходит. ");
 
            elseif (here().out == "lse_inner_1") then
 
            elseif (loc == "lse_inner_1" or here().out == "lse_inner_1") then
 
                pn("Стражник приближается. ");
 
            elseif (loc == "lse_inner_4" or here().out == "lse_inner_4") then
 
                pn("Стражник уходит. ");
 
            elseif (here().out == "lse_inner_2") then
 
                pn("Снаружи маячит стражник. ");
 
            end;
 
        end;
 
        if (here().out == "lse_inner_2") then
 
            pn("Стражник уходит. ");
 

	
 
        if (lse_guard2.loc == "lse_inner_5") then
 
            lse_guard2.dir = 2;
 
            lse_guard2.loc = "lse_inner_6";
 

	
 
            if (loc == "lse_inner_5" or here().out == "lse_inner_5") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_5") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_7" or here().out == "lse_inner_7") then
 
                pn("Стражник приближается. ");
 
            elseif (here().out == "lse_inner_6") then
 
                pn("Снаружи маячит стражник. ");
 
            end;
 
        elseif (lse_guard2.loc == "lse_inner_6") then
 
            if (lse_guard2.dir == 2) then
 
                lse_guard2.loc = "lse_inner_7";
 
                if (loc == "lse_inner_5") then
 
                    pn("Стражник уходит. ");
 
                elseif (loc == "lse_inner_4") then
 
                    pn("Стражник уходит. ");
 
                elseif (here().out == "lse_inner_7") then
 
                    pn("Снаружи маячит стражник. ");
 
                end;
 
            else
 
                lse_guard2.loc = "lse_inner_5";
 
                if (loc == "lse_inner_7") then
 
                    pn("Стражник уходит. ");
 
                elseif (loc == "lse_inner_4") then
 
                    pn("Стражник приближается. ");
 
                elseif (here().out == "lse_inner_5") then
 
                    pn("Снаружи маячит стражник. ");
 
                end;
 
            end;
 

	
 
            if (loc == "lse_inner_6" or here().out == "lse_inner_6") then
 
                pn("Стражник уходит. ");
 
            end;
 
        else
 
            lse_guard2.dir = 1;
 
            lse_guard2.loc = "lse_inner_6";
 
            if (loc == "lse_inner_4") then
 
                pn("Стражник приближается. ");
 
            elseif (loc == "lse_inner_7" or here().out == "lse_inner_7") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_5" or here().out == "lse_inner_5") then
 
                pn("Стражник приближается. ");
 
            elseif (here().out == "lse_inner_6") then
 
                pn("Снаружи маячит стражник");
 
            end;
 
        end;
 
    else
 
        lse_guard1.dir = 1;
 
        lse_guard1.loc = "lse_inner_2";
 
        if (loc == "lse_inner_3" or here().out == "lse_inner_3") then
 
            pn("Стражник уходит. ");
 
        elseif (loc == "lse_inner_1" or here().out == "lse_inner_1") then
 
            pn("Стражник приближается. ");
 
        elseif (loc == "lse_inner_4" or here().out == "lse_inner_4") then
 
            pn("Стражник уходит. ");
 
        elseif (here().out == "lse_inner_2") then
 
            pn("Снаружи маячит стражник. ");
 

	
 
        if (loc == lse_guard1.loc or loc == lse_guard2.loc) then
 
            lifeoff(lse_inner_circle_guards);
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
    
 
    if (lse_guard2.loc == "lse_inner_5") then
 
        lse_guard2.dir = 2;
 
        lse_guard2.loc = "lse_inner_6";
 
        
 
        if (loc == "lse_inner_5" or here().out == "lse_inner_5") then
 
            pn("Стражник уходит. ");
 
        elseif (loc == "lse_inner_5") then
 
            pn("Стражник уходит. ");
 
        elseif (loc == "lse_inner_7" or here().out == "lse_inner_7") then
 
            pn("Стражник приближается. ");
 
        elseif (here().out == "lse_inner_6") then
 
            pn("Снаружи маячит стражник. ");
 
        end;
 
    elseif (lse_guard2.loc == "lse_inner_6") then
 
        if (lse_guard2.dir == 2) then
 
            lse_guard2.loc = "lse_inner_7";
 
            if (loc == "lse_inner_5") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_4") then
 
                pn("Стражник уходит. ");
 
            elseif (here().out == "lse_inner_7") then
 
                pn("Снаружи маячит стражник. ");
 
            end;
 
        else
 
            lse_guard2.loc = "lse_inner_5";
 
            if (loc == "lse_inner_7") then
 
                pn("Стражник уходит. ");
 
            elseif (loc == "lse_inner_4") then
 
                pn("Стражник приближается. ");
 
            elseif (here().out == "lse_inner_5") then
 
                pn("Снаружи маячит стражник. ");
 
            end;
 
        end;
 
        
 
        if (loc == "lse_inner_6" or here().out == "lse_inner_6") then
 
            pn("Стражник уходит. ");
 
        end;
 
    else
 
        lse_guard2.dir = 1;
 
        lse_guard2.loc = "lse_inner_6";
 
        if (loc == "lse_inner_4") then
 
            pn("Стражник приближается. ");
 
        elseif (loc == "lse_inner_7" or here().out == "lse_inner_7") then
 
            pn("Стражник уходит. ");
 
        elseif (loc == "lse_inner_5" or here().out == "lse_inner_5") then
 
            pn("Стражник приближается. ");
 
        elseif (here().out == "lse_inner_6") then
 
            pn("Снаружи маячит стражник");
 
        end;
 
    end;
 
    
 
    if (loc == lse_guard1.loc or loc == lse_guard2.loc) then
 
        timer:stop();
 
        game.timer = nil;
 
        walk("game_over_lse_guards");
 
    end;
 
end;
 
}
 

	
 
lse_guard1 = {
 
    dir = 1;
 
@@ -1607,27 +1618,16 @@ lse_inner_1 = room {
 
    end;
 
    enter = function(s)
 
        if (lse_guard1.loc == "lse_inner_1") then
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
        
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            lse_guard1.loc = "lse_inner_3";
 
            lse_guard1.dir = 1;
 
        
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("Против часовой стрелки", "lse_inner_2");
 
        kh_vroom("В помещение", "lse_inner_1_inside");
 
        kh_vroom("В энергостанцию", function(s)
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
            return "lse_power_station_dark";
 
        end);
 
        kh_vroom("По часовой стрелке", function(s)
 
@@ -1655,12 +1655,6 @@ lse_inner_1_inside = room {
 
    way = {
 
        kh_vroom("В город", "lse_inner_1");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_2 = room {
 
@@ -1680,9 +1674,7 @@ lse_inner_2 = room {
 
    end;
 
    enter = function(s)
 
        if (lse_guard1.loc == "lse_inner_2") then
 
            timer:stop();
 
            game.timer = nil;
 
            
 
            lifeoff(lse_inner_circle_guards);
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
@@ -1691,12 +1683,6 @@ lse_inner_2 = room {
 
        kh_vroom("В помещение", "lse_inner_2_inside");
 
        kh_vroom("По часовой стрелке", "lse_inner_1");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_2_inside = room {
 
@@ -1717,12 +1703,6 @@ lse_inner_2_inside = room {
 
    way = {
 
        kh_vroom("В город", "lse_inner_2");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_3 = room {
 
@@ -1746,8 +1726,7 @@ lse_inner_3 = room {
 
    end;
 
    enter = function(s)
 
        if (lse_guard1.loc == "lse_inner_3") then
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
        
 
            walk("game_over_lse_guards");
 
        end;
 
@@ -1757,12 +1736,6 @@ lse_inner_3 = room {
 
        kh_vroom("В помещение", "lse_inner_3_inside");
 
        kh_vroom("По часовой стрелке", "lse_inner_2");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_3_inside = room {
 
@@ -1783,12 +1756,6 @@ lse_inner_3_inside = room {
 
    way = {
 
        kh_vroom("В город", "lse_inner_3");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_4 = room {
 
@@ -1816,12 +1783,6 @@ lse_inner_4 = room {
 
        kh_vroom("В помещение", "lse_inner_4_inside");
 
        kh_vroom("По часовой стрелке", "lse_inner_3");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_4_inside = room {
 
@@ -1832,12 +1793,6 @@ lse_inner_4_inside = room {
 
    way = {
 
        kh_vroom("В город", "lse_inner_4");
 
    };
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
};
 

	
 
lse_inner_5 = room {
 
@@ -1861,18 +1816,11 @@ lse_inner_5 = room {
 
    end;
 
    enter = function(s)
 
        if (lse_guard2.loc == "lse_inner_5") then
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
        
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("Против часовой стрелки", "lse_inner_6");
 
        kh_vroom("В помещение", "lse_inner_5_inside");
 
@@ -1893,12 +1841,6 @@ lse_inner_5_inside = room {
 
        
 
        return f;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В город", "lse_inner_5");
 
    };
 
@@ -1921,18 +1863,11 @@ lse_inner_6 = room {
 
    end;
 
    enter = function(s)
 
        if (lse_guard2.loc == "lse_inner_6") then
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
        
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("Против часовой стрелки", "lse_inner_7");
 
        kh_vroom("В помещение", "lse_inner_6_inside");
 
@@ -1955,12 +1890,6 @@ lse_inner_6_inside = room {
 
        
 
        return f;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В город", "lse_inner_6");
 
    };
 
@@ -1986,20 +1915,13 @@ lse_inner_7 = room {
 
        return f;
 
    end;
 
    enter = function(s)
 
        service_tunnels_3.position = "10";
 
        if (lse_guard2.loc == "lse_inner_7") then
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
        
 
            walk("game_over_lse_guards");
 
        end;
 
    end;
 
    entered = function(s)
 
        service_tunnels_3.position = "10";
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("Против часовой стрелки", function(s)
 
            pn [[Там вам нечего делать. ]];
 
@@ -2007,8 +1929,7 @@ lse_inner_7 = room {
 
        end);
 
        kh_vroom("В помещение", "lse_inner_7_inside");
 
        kh_vroom("В сервисный тоннель", function(s)
 
            timer:stop();
 
            game.timer = nil;
 
            lifeoff(lse_inner_circle_guards);
 
            return "service_tunnels_3"
 
        end);
 
        kh_vroom("По часовой стрелке", "lse_inner_6");
 
@@ -2030,12 +1951,6 @@ lse_inner_7_inside = room {
 
        
 
        return f;
 
    end;
 
    entered = function(s)
 
        if (game.timer ~= lse_timer) then
 
            game.timer = lse_timer;
 
            timer:set(6000);
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В город", "lse_inner_7");
 
    };
0 comments (0 inline, 0 general)