diff --git a/atlantis_navjiarr.lua b/atlantis_navjiarr.lua --- a/atlantis_navjiarr.lua +++ b/atlantis_navjiarr.lua @@ -938,11 +938,11 @@ iraa_temple_shark = room { 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; @@ -1007,6 +1007,9 @@ iraa_temple_ravine_1 = room { lifeon(iraa_temple_shark); end; end; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_2 = room { @@ -1019,6 +1022,9 @@ iraa_temple_ravine_2 = room { kh_vroom("На север", "iraa_temple_ravine_6"); kh_vroom("На восток", "iraa_temple_ravine_3"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_3 = room { @@ -1030,6 +1036,9 @@ iraa_temple_ravine_3 = room { kh_vroom("На запад", "iraa_temple_ravine_2"); kh_vroom("На восток", "iraa_temple_ravine_4"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_4 = room { @@ -1042,6 +1051,9 @@ iraa_temple_ravine_4 = room { kh_vroom("На север", "iraa_temple_ravine_9"); kh_vroom("На восток", "iraa_temple_ravine_5"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_5 = room { @@ -1053,6 +1065,12 @@ iraa_temple_ravine_5 = room { 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 { @@ -1064,6 +1082,9 @@ iraa_temple_ravine_6 = room { kh_vroom("На юг", "iraa_temple_ravine_2"); kh_vroom("На север", "iraa_temple_ravine_7"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_7 = room { @@ -1076,6 +1097,9 @@ iraa_temple_ravine_7 = room { kh_vroom("На восток", "iraa_temple_ravine_8"); kh_vroom("На север", "iraa_temple_ravine_10"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_8 = room { @@ -1088,6 +1112,9 @@ iraa_temple_ravine_8 = room { kh_vroom("На север", "iraa_temple_ravine_10"); kh_vroom("На восток", "iraa_temple_ravine_9"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_9 = room { @@ -1099,6 +1126,9 @@ iraa_temple_ravine_9 = room { kh_vroom("На запад", "iraa_temple_ravine_8"); kh_vroom("На юг", "iraa_temple_ravine_4"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_10 = room { @@ -1111,6 +1141,9 @@ iraa_temple_ravine_10 = room { kh_vroom("На восток", "iraa_temple_ravine_8"); kh_vroom("На юг", "iraa_temple_ravine_7"); }; + obj = { + "iraa_temple_shark" + }; }; iraa_temple_ravine_11 = room { @@ -1125,6 +1158,7 @@ iraa_temple_ravine_11 = room { }; iraa_temple_crack = room { + index = 7; nam = "iraa_temple_crack"; disp = "Трещина в скале"; dsc = [[Небольшая узкая трещина в скале. Вы с огромным трудом перемещаетесь внутри. С одной стороны вы видите ущелье, ерез которое вы проникли сюда. С другой стороны -- какой-то хорошо освещенный коридор. ]]; @@ -1132,9 +1166,94 @@ iraa_temple_crack = room { 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 = [[Вы стоите в самом конце коридора в храме Ираафаанотра. Вокруг -- ровные камееные стены. В одной из них вы видите глубокую, трещину, через которую вы с трудом протиснулись сюда. Еще в одной из стен вы видите небольшой дверной проем, за которым скрывается маленькая комнатка. ]]; @@ -1146,6 +1265,7 @@ iraa_temple_corridor_6 = room { }; iraa_temple_corridor_5 = room { + index = 5; nam = "iraa_temple_corridor_5"; disp = "Храм Ираафаанотра, коридор"; dsc = [[Вы стоите в коридоре в храме Ираафаанотра. В одной из ровных каменных стен, расположенных по сторонам от вас, имеется небольшой дверной проем, за которым скрывается маленькая комнатка. ]]; @@ -1157,6 +1277,7 @@ iraa_temple_corridor_5 = room { }; iraa_temple_corridor_4 = room { + index = 4; nam = "iraa_temple_corridor_4"; disp = "Храм Ираафаанотра, коридор"; dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]]; @@ -1167,6 +1288,7 @@ iraa_temple_corridor_4 = room { }; iraa_temple_corridor_3 = room { + index = 3; nam = "iraa_temple_corridor_3"; disp = "Храм Ираафаанотра, коридор"; dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Здесь коридор сворачивает под прямым углом к северу. В конце коридора на западе вы видите массивную каменную дверь, которая сейчас открыта. На севере коридор заканчивается тупиком. К востоку от вас массивная каменная дверь, но она заперта. ]]; @@ -1178,6 +1300,7 @@ iraa_temple_corridor_3 = room { }; iraa_temple_corridor_2 = room { + index = 2; nam = "iraa_temple_corridor_2"; disp = "Храм Ираафаанотра, коридор"; dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]]; @@ -1190,6 +1313,7 @@ iraa_temple_corridor_2 = room { }; iraa_temple_corridor_1 = room { + index = 1; nam = "iraa_temple_corridor_1"; disp = "Храм Ираафаанотра, коридор"; dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Прямо перед вами находится дверь, ведущая в основное помещение храма. Отсюда вы видите, что в нем никого нет. ]]; @@ -1569,14 +1693,14 @@ iraa_temple_hidden_pedestal = obj { }; 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