# HG changeset patch # User silverwing # Date 2017-07-27 14:45:57 # Node ID 51b04c5bd8a0027d1f8478ea8418337c9f88a33d # Parent fbee545399f94feb2f434954ab049d43b54c677e iraa wip diff --git a/atlantis_navjiarr.lua b/atlantis_navjiarr.lua --- a/atlantis_navjiarr.lua +++ b/atlantis_navjiarr.lua @@ -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 = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Прямо перед вами находится дверь, ведущая в основное помещение храма. Отсюда вы видите, что в нем никого нет. ]]; diff --git a/game_over.lua b/game_over.lua --- a/game_over.lua +++ b/game_over.lua @@ -1,3 +1,5 @@ +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", [[Стражники с легкостью останавливают вашу попытку побега. Вы возвращаетесь в камеры и теперь вам уже не на что надеяться. ]]);