Changeset - 05ac6cf70850
[Not reviewed]
default
0 2 0
Silverwing - 8 years ago 2017-01-09 10:37:01

Zayslanotrr battle updated
2 files changed with 229 insertions and 206 deletions:
0 comments (0 inline, 0 general)
journey_zayslanotrr.lua
Show inline comments
 
@@ -1199,8 +1199,8 @@ za_plaetlarr_fight = battlefield {
 
    map = {
 
        {2,0,0,0,0,0,2};
 
        {2,0,0,0,0,0,2};
 
        {2,1,0,0,0,0,2};
 
        {2,0,0,0,0,1,2};
 
        {2,1,1,0,0,0,2};
 
        {2,0,0,0,1,1,2};
 
        {2,0,0,0,0,0,2};
 
        {2,0,0,0,0,0,2};
 
        {2,0,0,0,0,0,2};
 
@@ -1311,6 +1311,7 @@ za_cmbt_phaetlarr = combatant {
 
                else
 
                    pn("Фаэтларр бросает копье в " .. enemy.disp2 .. ", но промахивается. ");
 
                end;
 
                return;
 
            end;
 
        else
 
            if (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
@@ -1329,77 +1330,6 @@ za_cmbt_phaetlarr = combatant {
 
        s.x = path.p[2][1];
 
        s.y = path.p[2][2];
 
        pn("Фаэтларр идет к " .. enemy.disp3 .. ". ");
 

	
 
        if (true) then
 
            return;
 
        end;
 

	
 
        local enemies = {  };
 
        for item=1,#here().obj do
 
            local obj = here().obj[item];
 
            if (obj.enemy and obj.hp > 0) then
 
                table.insert(enemies, obj);
 
            end;
 
        end;
 
        if (#enemies == 0) then
 
            return;
 
        end;
 
        table.sort(enemies, function(a, b)
 
            return (here().getDistance(s.x, s.y, b.x, b.y) > here().getDistance(s.x, s.y, a.x, a.y));
 
        end);
 
        local enemy = enemies[1];
 
        local dist = here().getDistance(s.x, s.y, enemy.x, enemy.y);
 
        -- AI Order:
 
        -- If has spear and enemy is far   - throw spear
 
        -- If has spear and enemy is close - hit with spear
 
        -- if spear is nearer than any enemy - walk towards spear
 
        -- walk towards nearest enemy
 
        -- If enemy close and enemy has spear - take spear from enemy
 
        -- If enemy close and enemy doesn't have spear - hit with claws
 
        
 
        if (s.hasSpear and dist == 1) then
 
            if (rnd(4) > 1) then
 
                pn("Фаэтларр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                enemy.hp = enemy.hp - 2;
 
            else
 
                pn("Фаэтларр бьет " .. enemy.disp2 .. " копьем, но промахивается. "); 
 
            end;
 
        elseif (s.hasSpear and dist == 0) then
 
            enemy.hp = enemy.hp - 2;
 
            pn("Фаэтларр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
        elseif (s.hasSpear and dist < 4) then
 
            s.hasSpear = false;
 
            if (rnd(4) > dist) then
 
                enemy.hp = enemy.hp - 2;
 
                pn("Фаэтларр бросает копье в " .. enemy.disp2 .. " и попадает. ");
 
            else
 
                
 
                pn("Фаэтларр бросает копье в " .. enemy.disp2 .. ", но промахивается. ");
 
            end;
 
        elseif dist == 0 then
 
            if (enemy.hasSpear) then
 
                enemy.hasSpear = false;
 
                s.hasSpear = true;
 
                pn("Фаэтларр забирает копье у " .. enemy.disp2 .. ". ");
 
            else
 
                enemy.hp = enemy.hp - 1;
 
                pn("Фаэтларр бьет " .. enemy.disp2 .. " и попадает. ");
 
            end;
 
        else
 
            if (enemy.x > s.x) then
 
                s.x = s.x + 1;
 
            elseif (enemy.x < s.x) then
 
                s.x = s.x - 1;
 
            end;
 
            
 
            if (enemy.y > s.y) then
 
                s.y = s.y + 1;
 
            elseif (enemy.y < s.y) then
 
                s.y = s.y - 1;
 
            end;
 
            
 
            pn("Фаэтларр идет к " .. enemy.disp3 .. ". ");
 
        end;
 
    end;
 
    dsc = function(s)
 
        if (s.hp > 0) then
 
@@ -1427,17 +1357,27 @@ za_cmbt_learr = combatant {
 
        for item=1,#here().obj do
 
            local obj = here().obj[item];
 
            if (obj.enemy and obj.hp > 0) then
 
                table.insert(enemies, obj);
 
                local p = here():getWalkDistance(s.x, s.y, obj.x, obj.y);
 
                if (p) then
 
                    table.insert(enemies, {
 
                        o = obj,
 
                        p = p
 
                    });
 
                end;
 
            end;
 
        end;
 
        if (#enemies == 0) then
 
            pn("Леарр ждет. ");
 
            return;
 
        end;
 
        table.sort(enemies, function(a, b)
 
            return (here().getDistance(s.x, s.y, b.x, b.y) > here().getDistance(s.x, s.y, a.x, a.y));
 
            return (a.p.l < b.p.l);
 
        end);
 
        local enemy = enemies[1];
 
        local dist = here().getDistance(s.x, s.y, enemy.x, enemy.y);
 
        local enemy = enemies[1].o;
 
        local path = enemies[1].p;
 
        for i = 1,#enemies do
 
            print(enemies[i].p.l);
 
        end;
 
        -- AI Order:
 
        -- If has spear and enemy is far   - throw spear
 
        -- If has spear and enemy is close - hit with spear
 
@@ -1445,35 +1385,45 @@ za_cmbt_learr = combatant {
 
        -- walk towards nearest enemy
 
        -- If enemy close and enemy has spear - take spear from enemy
 
        -- If enemy close and enemy doesn't have spear - hit with claws
 
        
 
        if (s.hasSpear and dist == 1) then
 
            if (rnd(4) > 1) then
 
                pn("Леарр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 

	
 
        if s.hasSpear then
 
            if (math.abs(s.x - enemy.x) + math.abs(s.y - enemy.y) <= 2 and here():canShoot(s.x,s.y, enemy.x, enemy.y)) then
 
                --50%
 
                if (rnd(2) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Леарр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                else
 
                    pn("Леарр бьет " .. enemy.disp2 .. " копьем, но промахивается. ");
 
                end;
 
                return;
 
            elseif  (math.abs(s.x - enemy.x) == 1 and math.abs(s.y - enemy.y) == 1) then
 
                --75%
 
                if (rnd(4) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Леарр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                else
 
                    pn("Леарр бьет " .. enemy.disp2 .. " копьем, но промахивается. ");
 
                end;
 
                return;
 
            elseif (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                --100%
 
                enemy.hp = enemy.hp - 2;
 
            else
 
                pn("Леарр бьет " .. enemy.disp2 .. " копьем, но промахивается. "); 
 
                pn("Леарр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                return;
 
            end;
 
        elseif (s.hasSpear and dist == 0) then
 
            enemy.hp = enemy.hp - 2;
 
            pn("Леарр бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
        elseif dist == 0 then
 
            enemy.hp = enemy.hp - 1;
 
            pn("Леарр бьет " .. enemy.disp2 .. " и попадает. ");
 
        else
 
            if (enemy.x > s.x) then
 
                s.x = s.x + 1;
 
            elseif (enemy.x < s.x) then
 
                s.x = s.x - 1;
 
            if (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                enemy.hp = enemy.hp - 1;
 
                pn("Леарр бьет " .. enemy.disp2 .. " и попадает. ");
 
                return;
 
            end;
 
            
 
            if (enemy.y > s.y) then
 
                s.y = s.y + 1;
 
            elseif (enemy.y < s.y) then
 
                s.y = s.y - 1;
 
            end;
 
            
 
            pn("Леарр идет к " .. enemy.disp3 .. ". ");
 
        end;
 
        
 
        s.x = path.p[2][1];
 
        s.y = path.p[2][2];
 
        pn("Леарр идет к " .. enemy.disp3 .. ". ");
 
    end;
 
    dsc = function(s)
 
        if (s.hp > 0) then
 
@@ -1501,58 +1451,83 @@ za_cmbt_wright = combatant {
 
        for item=1,#here().obj do
 
            local obj = here().obj[item];
 
            if (obj.enemy and obj.hp > 0) then
 
                table.insert(enemies, obj);
 
                local p = here():getWalkDistance(s.x, s.y, obj.x, obj.y);
 
                if (p) then
 
                    table.insert(enemies, {
 
                        o = obj,
 
                        p = p
 
                    });
 
                end;
 
            end;
 
        end;
 
        if (#enemies == 0) then
 
            pn("Райт ждет. ");
 
            return;
 
        end;
 
        table.sort(enemies, function(a, b)
 
            return (here().getDistance(s.x, s.y, b.x, b.y) > here().getDistance(s.x, s.y, a.x, a.y));
 
            return (a.p.l < b.p.l);
 
        end);
 
        local enemy = enemies[1];
 
        local dist = here().getDistance(s.x, s.y, enemy.x, enemy.y);
 
        local enemy = enemies[1].o;
 
        local path = enemies[1].p;
 
        
 
        if (s.x ~= 6 or s.y ~=3) then
 
            local ppath = here():getWalkDistance(s.x, s.y, 6, 3);
 
            if (ppath.l < path.l) then
 
                s.x = ppath.p[2][1];
 
                s.y = ppath.p[2][2];
 
                pn("Райт идет к укрытию");
 
            end;
 
        end;
 
        
 
        -- AI Order:
 
        -- If has harpoon and enemy is far - shoot
 
        -- If has harpoon and enemy is close - hit with harpoon
 
        -- walk towards nearest enemy
 
        
 
        if (s.hasHarpoon and dist == 1) then
 
            if (rnd(4) > 1) then
 
        if (s.hasHarpoon) then
 
            if (math.abs(s.x - enemy.x) + math.abs(s.y - enemy.y) <= 2 and here():canShoot(s.x,s.y, enemy.x, enemy.y)) then
 
                --50%
 
                if (rnd(2) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Райт бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Райт бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif  (math.abs(s.x - enemy.x) == 1 and math.abs(s.y - enemy.y) == 1) then
 
                --75%
 
                if (rnd(4) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Райт бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Райт бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                --100%
 
                enemy.hp = enemy.hp - 2;
 
                pn("Райт бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                enemy.hp = enemy.hp - 2;
 
                return;
 
            else
 
                pn("Райт бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                local dist = math.sqrt((s.x - here().plX) * (s.x - here().plX) + (s.y - here().plY) * (s.y - here().plY));--here().getDistance(here().plX, here().plY, s.x, s.y);
 
                if (rnd(4) > dist - 2) then
 
                    s.hasSpear = false;
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Райт стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Райт стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            end;
 
        elseif (s.hasHarpoon and dist == 0) then
 
            enemy.hp = enemy.hp - 2;
 
            pn("Райт бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
        elseif (s.hasHarpoon and dist < 4) then
 
            s.hasHarpoon = false;
 
            if (rnd(4) > dist) then
 
                pn("Райт стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");    
 
                enemy.hp = enemy.hp - 2;
 
            else
 
                pn("Райт стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
            end;
 
        elseif (not s.hasHarpoon) then
 
        else
 
            s.hasHarpoon = true;
 
            pn("Райт перезаряжает ружье. ");
 
        else
 
            if (enemy.x > s.x) then
 
                s.x = s.x + 1;
 
            elseif (enemy.x < s.x) then
 
                s.x = s.x - 1;
 
            end;
 
            
 
            if (enemy.y > s.y) then
 
                s.y = s.y + 1;
 
            elseif (enemy.y < s.y) then
 
                s.y = s.y - 1;
 
            end;
 
            
 
            pn("Райт идет к " .. enemy.disp3 .. ". ");
 
        end;
 
        
 
        s.x = path.p[2][1];
 
        s.y = path.p[2][2];
 
        pn("Райт идет к " .. enemy.disp3 .. ". ");
 
    end;
 
    dsc = function(s)
 
        if (s.hp > 0) then
 
@@ -1580,58 +1555,83 @@ za_cmbt_radcliffe = combatant {
 
        for item=1,#here().obj do
 
            local obj = here().obj[item];
 
            if (obj.enemy and obj.hp > 0) then
 
                table.insert(enemies, obj);
 
                local p = here():getWalkDistance(s.x, s.y, obj.x, obj.y);
 
                if (p) then
 
                    table.insert(enemies, {
 
                        o = obj,
 
                        p = p
 
                    });
 
                end;
 
            end;
 
        end;
 
        if (#enemies == 0) then
 
            pn("Рэдклифф ждет. ");
 
            return;
 
        end;
 
        table.sort(enemies, function(a, b)
 
            return (here().getDistance(s.x, s.y, b.x, b.y) > here().getDistance(s.x, s.y, a.x, a.y));
 
            return (a.p.l < b.p.l);
 
        end);
 
        local enemy = enemies[1];
 
        local dist = here().getDistance(s.x, s.y, enemy.x, enemy.y);
 
        local enemy = enemies[1].o;
 
        local path = enemies[1].p;
 
        
 
        if (s.x ~= 6 or s.y ~=3) then
 
            local ppath = here():getWalkDistance(s.x, s.y, 6, 3);
 
            if (ppath.l < path.l) then
 
                s.x = ppath.p[2][1];
 
                s.y = ppath.p[2][2];
 
                pn("Рэдклифф идет к укрытию");
 
            end;
 
        end;
 
        
 
        -- AI Order:
 
        -- If has harpoon and enemy is far - shoot
 
        -- If has harpoon and enemy is close - hit with harpoon
 
        -- walk towards nearest enemy
 
        
 
        if (s.hasHarpoon and dist == 1) then
 
            if (rnd(4) > 1) then
 
        if (s.hasHarpoon) then
 
            if (math.abs(s.x - enemy.x) + math.abs(s.y - enemy.y) <= 2 and here():canShoot(s.x,s.y, enemy.x, enemy.y)) then
 
                --50%
 
                if (rnd(2) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif  (math.abs(s.x - enemy.x) == 1 and math.abs(s.y - enemy.y) == 1) then
 
                --75%
 
                if (rnd(4) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                --100%
 
                enemy.hp = enemy.hp - 2;
 
                pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                enemy.hp = enemy.hp - 2;
 
                return;
 
            else
 
                pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                local dist = math.sqrt((s.x - here().plX) * (s.x - here().plX) + (s.y - here().plY) * (s.y - here().plY));--here().getDistance(here().plX, here().plY, s.x, s.y);
 
                if (rnd(4) > dist - 2) then
 
                    s.hasSpear = false;
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Рэдклифф стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Рэдклифф стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            end;
 
        elseif (s.hasHarpoon and dist == 0) then
 
            enemy.hp = enemy.hp - 2;
 
            pn("Рэдклифф бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
        elseif (s.hasHarpoon and dist < 4) then
 
            s.hasHarpoon = false;
 
            if (rnd(4) > dist) then
 
                pn("Рэдклифф стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");    
 
                enemy.hp = enemy.hp - 2;
 
            else
 
                pn("Рэдклифф стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
            end;
 
        elseif (not s.hasHarpoon) then
 
        else
 
            s.hasHarpoon = true;
 
            pn("Рэдклифф перезаряжает ружье. ");
 
        else
 
            if (enemy.x > s.x) then
 
                s.x = s.x + 1;
 
            elseif (enemy.x < s.x) then
 
                s.x = s.x - 1;
 
            end;
 
            
 
            if (enemy.y > s.y) then
 
                s.y = s.y + 1;
 
            elseif (enemy.y < s.y) then
 
                s.y = s.y - 1;
 
            end;
 
            
 
            pn("Рэдклифф идет к " .. enemy.disp3 .. ". ");
 
        end;
 
        
 
        s.x = path.p[2][1];
 
        s.y = path.p[2][2];
 
        pn("Рэдклифф идет к " .. enemy.disp3 .. ". ");
 
    end;
 
    dsc = function(s)
 
        if (s.hp > 0) then
 
@@ -1659,62 +1659,85 @@ za_cmbt_anna = combatant {
 
        for item=1,#here().obj do
 
            local obj = here().obj[item];
 
            if (obj.enemy and obj.hp > 0) then
 
                table.insert(enemies, obj);
 
                local p = here():getWalkDistance(s.x, s.y, obj.x, obj.y);
 
                if (p) then
 
                    table.insert(enemies, {
 
                        o = obj,
 
                        p = p
 
                    });
 
                end;
 
            end;
 
        end;
 
        if (#enemies == 0) then
 
            pn("Анна ждет. ");
 
            return;
 
        end;
 
        table.sort(enemies, function(a, b)
 
            return (here().getDistance(s.x, s.y, b.x, b.y) > here().getDistance(s.x, s.y, a.x, a.y));
 
            return (a.p.l < b.p.l);
 
        end);
 
        local enemy = enemies[1].o;
 
        local path = enemies[1].p;
 
        
 
        local pldist = here().getDistance(s.x, s.y, pl.x, pl.y);
 
        if (s.x ~= 6 or s.y ~=3) then
 
            local ppath = here():getWalkDistance(s.x, s.y, 6, 3);
 
            if (ppath.l < path.l) then
 
                s.x = ppath.p[2][1];
 
                s.y = ppath.p[2][2];
 
                pn("Анна идет к укрытию");
 
            end;
 
        end;
 
        
 
        local enemy = enemies[1];
 
        local dist = here().getDistance(s.x, s.y, enemy.x, enemy.y);
 
        -- AI Order:
 
        -- If has harpoon and enemy is far - shoot
 
        -- If has harpoon and enemy is close - hit with harpoon
 
        -- walk towards nearest enemy
 
        
 
        if (s.hasHarpoon and dist == 1) then
 
            if (rnd(4) > 1) then
 
        if (s.hasHarpoon) then
 
            if (math.abs(s.x - enemy.x) + math.abs(s.y - enemy.y) <= 2 and here():canShoot(s.x,s.y, enemy.x, enemy.y)) then
 
                --50%
 
                if (rnd(2) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Анна бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Анна бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif  (math.abs(s.x - enemy.x) == 1 and math.abs(s.y - enemy.y) == 1) then
 
                --75%
 
                if (rnd(4) > 1) then
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Анна бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Анна бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            elseif (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                --100%
 
                enemy.hp = enemy.hp - 2;
 
                pn("Анна бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                enemy.hp = enemy.hp - 2;
 
                return;
 
            else
 
                pn("Анна бьет " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                local dist = math.sqrt((s.x - here().plX) * (s.x - here().plX) + (s.y - here().plY) * (s.y - here().plY));--here().getDistance(here().plX, here().plY, s.x, s.y);
 
                if (rnd(4) > dist - 2) then
 
                    s.hasSpear = false;
 
                    enemy.hp = enemy.hp - 2;
 
                    pn("Анна стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");
 
                else
 
                    pn("Анна стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
                end;
 
                return;
 
            end;
 
        elseif (s.hasHarpoon and dist == 0) then
 
            enemy.hp = enemy.hp - 2;
 
            pn("Анна бьет " .. enemy.disp2 .. " гарпуном и попадает. ");
 
        elseif (s.hasHarpoon and dist < 4) then
 
            s.hasHarpoon = false;
 
            if (rnd(4) > dist) then
 
                pn("Анна стреляет в " .. enemy.disp2 .. " гарпуном и попадает. ");    
 
                enemy.hp = enemy.hp - 2;
 
            else
 
                pn("Анна стреляет в " .. enemy.disp2 .. " гарпуном, но промахивается. "); 
 
            end;
 
        elseif (not s.hasHarpoon) then
 
        else
 
            s.hasHarpoon = true;
 
            pn("Анна перезаряжает ружье. ");
 
        elseif (pldist > 0) then
 
            if (pl.x > s.x) then
 
                s.x = s.x + 1;
 
            elseif (pl.x < s.x) then
 
                s.x = s.x - 1;
 
            end;
 
            
 
            if (pl.y > s.y) then
 
                s.y = s.y + 1;
 
            elseif (pl.y < s.y) then
 
                s.y = s.y - 1;
 
            end;
 
            
 
        end;
 
        
 
        local plpath = here():getWalkDistance(s.x, s.y, pl.x, pl.y);
 
        if (plpath.l > 2) then
 
            s.x = plpath.p[2][1];
 
            s.y = plpath.p[2][2];
 
            pn("Анна идет к вам. ");
 
        else
 
            pn("Анна ждет ваших действий. ");
 
        end;
 
    end;
 
    dsc = function(s)
main.lua
Show inline comments
 
@@ -246,7 +246,7 @@ function init()
 
	--pl.where = "za_plaetlarr_fight";
 
    pl.where = "za_phaetlarr_fight_intro";
 
    move(submarine_leviathan, "za_temple_back_entrance_foot");
 
    --char_anna.follow = true;
 
    char_anna.follow = true;
 
    --pl.where = "ven_chest_look";
 
    --move(ven_shark, "ven_temple_l1");
 
    
0 comments (0 inline, 0 general)