diff --git a/atlantis_navjiarr.lua b/atlantis_navjiarr.lua --- a/atlantis_navjiarr.lua +++ b/atlantis_navjiarr.lua @@ -898,9 +898,103 @@ iraa_temple_north_3 = room { 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 + if s.cycle[s.position] == 4 then + return [[На западе от вас вы видите {акулу}, она движется на запад. ]]; + end; + if 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 = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -908,9 +1002,15 @@ iraa_temple_ravine_1 = room { 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; }; iraa_temple_ravine_2 = room { + index = 2; nam = "iraa_temple_ravine_2"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -922,6 +1022,7 @@ iraa_temple_ravine_2 = room { }; iraa_temple_ravine_3 = room { + index = 3; nam = "iraa_temple_ravine_3"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -932,6 +1033,7 @@ iraa_temple_ravine_3 = room { }; iraa_temple_ravine_4 = room { + index = 4; nam = "iraa_temple_ravine_4"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -943,6 +1045,7 @@ iraa_temple_ravine_4 = room { }; iraa_temple_ravine_5 = room { + index = 5; nam = "iraa_temple_ravine_5"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -953,6 +1056,7 @@ iraa_temple_ravine_5 = room { }; iraa_temple_ravine_6 = room { + index = 6; nam = "iraa_temple_ravine_6"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -963,6 +1067,7 @@ iraa_temple_ravine_6 = room { }; iraa_temple_ravine_7 = room { + index = 7; nam = "iraa_temple_ravine_7"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -974,6 +1079,7 @@ iraa_temple_ravine_7 = room { }; iraa_temple_ravine_8 = room { + index = 8; nam = "iraa_temple_ravine_8"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -985,6 +1091,7 @@ iraa_temple_ravine_8 = room { }; iraa_temple_ravine_9 = room { + index = 9; nam = "iraa_temple_ravine_9"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]]; @@ -995,6 +1102,7 @@ iraa_temple_ravine_9 = room { }; iraa_temple_ravine_10 = room { + index = 10; nam = "iraa_temple_ravine_10"; disp = "Ущелье"; dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];