# HG changeset patch # User Silverwing # Date 2020-05-05 14:59:06 # Node ID 0ca5d08495db978e2a5d22abca35c86aed8f19c7 # Parent 422b38e4c1f72173e4e0582a38805375504521fb fix: venaedanotrr temple diff --git a/journey_venaedanotrr.lua b/journey_venaedanotrr.lua --- a/journey_venaedanotrr.lua +++ b/journey_venaedanotrr.lua @@ -1781,18 +1781,33 @@ ven_temple_hall_1 = room { ven_temple_pedestal = obj { var { state = 0; + pusher = false; }; nam = 'ven_temple_pedestal'; - dsc = [[С одной из сторон пьедестала вашему взору открывается потайная ниша, внутри которой спрятана {кнопка}. ]]; + dsc = function(s) + if s.state == 0 then + return [[С одной из сторон пьедестала вашему взору открывается потайная ниша, внутри которой спрятана {кнопка}. ]]; + else + if s.pusher == 'item_ven_spear' then + return [[С одной из сторон пьедестала вашему взору открывается потайная ниша, внутри которой спрятана кнопка. {Копье} вставлено в нишу и нажимает кнопку. ]]; + else + return [[С одной из сторон пьедестала вашему взору открывается потайная ниша, внутри которой спрятана кнопка. {Гарпунное ружье} вставлено в нишу и нажимает кнопку. ]]; + end; + end; + end; act = function(s) if s.state == 0 then return [[Кнопка слишком далеко, чтобы нажать ее рукой. ]]; else - ven_temple_pedestal.state = 0; - ven_temple_qhall.state = 0; - path("Наверх", ven_temple_qhall):disable(); - put(item_harpoon, pl); - return "Вы забираете ружье. "; + if s.pusher == 'item_ven_spear' then + return "Копье застряло. "; + else + ven_temple_pedestal.state = 0; + ven_temple_qhall.state = 0; + path("Наверх", ven_temple_qhall):disable(); + put(item_harpoon, pl); + return "Вы забираете ружье. "; + end; end; end; canshoot = false; @@ -1800,11 +1815,21 @@ ven_temple_pedestal = obj { used = function(s, o) if o == item_harpoon then if s.state == 0 then + s.pusher = 'item_harpoon'; remove(item_harpoon, pl); ven_temple_pedestal.state = 1; ven_temple_qhall.state = 1; path("Наверх", ven_temple_qhall):enable(); - return [[Вы нажимаете кнопку гарпунным ружьем. К сожалению, его придется оставить здесь иначе кнопка отожмется. ]]; + return [[Вы нажимаете кнопку гарпунным ружьем. К сожалению, его придется оставить здесь, иначе кнопка отожмется. ]]; + end; + elseif o == item_ven_spear then + if s.state == 0 then + s.pusher = 'item_ven_spear'; + remove(item_ven_spear, pl); + ven_temple_pedestal.state = 1; + ven_temple_qhall.state = 1; + path("Наверх", ven_temple_qhall):enable(); + return [[Вы нажимаете кнопку копьем. Копье застревает в отверстии и вы не можете его вытащить. ]]; end; end; end; diff --git a/journey_venaedanotrr_labyrinth.lua b/journey_venaedanotrr_labyrinth.lua --- a/journey_venaedanotrr_labyrinth.lua +++ b/journey_venaedanotrr_labyrinth.lua @@ -175,7 +175,6 @@ ven_temple_labyrinth_l1 = labyrinth { "На восток"; "На юг"; "На запад"; - "Выйти"; }; nam = "Венаэданотр, храм, лабиринт"; dsc = function(s) @@ -266,11 +265,11 @@ ven_temple_labyrinth_l1 = labyrinth { e2 = "03"; }; ["03"] = { - name = [[Вы стоите у лестницы, ведущей вниз, к главному помещению храма. Со всех сторон вас окружают металлические стены. Пол и потолок сделаны из странного светящегося материала, твердого на ощупь. ]]; + name = [[Коридоры с металлическими стенами тянутся от вас на север, запад и восток. К югу от вас расположена лестница, ведущая вниз, к главному помещению храма. Пол и потолок сделаны из странного светящегося материала, твердого на ощупь. ]]; e1 = "13"; e2 = "04"; + ex3 = "ven_temple_qhall"; e4 = "02"; - ex5 = "ven_temple_qhall"; e1lock = function(s) return lock03; end; @@ -570,8 +569,9 @@ ven_temple_labyrinth_l1 = labyrinth { e4 = "71"; }; ["73"] = { + name = 'К северу от вас расположена лестница, ведущая наверх. на юге и западе от вас расположены металлические стены, ничем не отличающиеся от таковых в других частях лабиринта. '; e2 = "74"; - ex5 = "ven_temple_labyrinth_l2"; + ex1 = "ven_temple_labyrinth_l2"; }; ["74"] = { e3 = "64"; @@ -596,8 +596,16 @@ ven_shark = obj { var { position = "00", active = true; + killed_with = false; }; + disp2 = 'акулу'; nam = "ven_shark"; + canshoot = true; + onshoot = function(s) + s.active = false; + s.killed_with = true; + return [[Пронзенная гарпуном, акула умирает. ]]; + end; dsc = function(s) --local d = 0; local seen = false; @@ -662,6 +670,8 @@ ven_shark = obj { if (seen) then if (s.active) then p "вы видите мчащуюся к вам навстречу {акулу}. "; + elseif s.killed_with then + p "вы видите мертвую акулу, пронзенную гарпуном. "; else p "вы видите мертвую акулу, пронзенную коралловым копьем. "; end;