From d970b96e9bd100629cbcfb8f28bcdbbbd191260a Mon Sep 17 00:00:00 2001 From: silverwing Date: Fri, 7 May 2021 22:13:41 +0400 Subject: [PATCH 1/4] fix condition in room11. It was impossible to complete room if first phrase said was invalid --- room11.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/room11.lua b/room11.lua index 744f755..e60f8b9 100644 --- a/room11.lua +++ b/room11.lua @@ -581,7 +581,7 @@ room { before_Taste = 'Несмотря на то, что в зеркало можно смотреться, это не делает его менее пыльным.'; before_Talk = 'Поговорить со своим отражением? Нет, для того, чтобы поговорить с самой собой тебе не обязательно нужен зрительный контакт.'; ['before_Ask, Ask_to, AskFor, Tell'] = function(s,w) - if s:once(mp.event) and w:find "красное" and w:find "море" then + if w:find "красное" and w:find "море" and s:once(mp.event) then p 'Ты произнесла это и услышала за собой какой-то грохот. Что-то упало на пол.'; mp.score=mp.score+1; enable('kabinet_falsajoponardo'); @@ -1013,7 +1013,7 @@ room { -- -"таинственный кинжал,кинжал"; -- nam = "dagger"; -- description = "Таинственный кинжал."; ---} +--} From 0d72601e45e9d46340685941a193756b40c1efb5 Mon Sep 17 00:00:00 2001 From: silverwing Date: Sat, 8 May 2021 01:47:56 +0400 Subject: [PATCH 2/4] fix conditions in room17 --- room17.lua | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/room17.lua b/room17.lua index 386cf21..26e4a77 100644 --- a/room17.lua +++ b/room17.lua @@ -1,10 +1,12 @@ --- Доступное пространство имён для объектов - все имена объектов должны начинаться с "room17_" или "cherdak_" +-- Доступное пространство имён для объектов - все имена объектов должны начинаться с "room17_" или "cherdak_" -- Все описания можно менять -- Задача: Это изначально тёмная комната. Игрок может придти как с источником света, так и без него. Задача - найти предмет circlekey room { nam = "room17_cherdak"; title = "Чердак"; lock_down = false; + cornice_seen = false; + door_seen = false; dsc = "Почти нет пыли. Уютно, хоть и пустовато."; dark_dsc = "Здесь темно, единственный выход вниз."; d_to = function(s) @@ -80,6 +82,15 @@ obj { enable("room17_wall"); --disable '@d_to' here().lock_down = true; + + if here().cornice_seen then + enable("room17_cornice"); + end; + + if here().door_seen then + enable("room17_door"); + end; + mp:clear(); return false; end; @@ -92,13 +103,15 @@ obj { return false; end; after_Disrobe = function(s) - if not (have("room17_canvas") or have("room17_box") or have("room17_letter")) then --enable '@d_to' - here().lock_down = false; - end + here().lock_down = false; pn [[Ты снимаешь маску.]]; p [[^Обстановка комнаты изменилась.]]; mp:clear(); + + here().cornice_seen = not _'room17_cornice':disabled(); + here().door_seen = not _'room17_door':disabled(); + disable("room17_wall"); disable("room17_cornice"); disable("room17_door"); @@ -150,7 +163,7 @@ obj { end; end; after_Exam = function(s) - p [[На холсте нарисован очаг. В очаге горит огонь. На огне стоит котелок.^В котелке кипит баранья похлёбка с чесноком. Над котелком вьётся дым.]]; + p [[На холсте нарисован очаг. В очаге горит огонь. На огне стоит котелок.^В котелке кипит баранья похлёбка с чесноком. Над котелком вьётся дым.]]; end; after_PutOn = function(s, w) if not w ^ 'room17_cornice' then @@ -207,7 +220,7 @@ obj { if _"room17_mask":has'worn' then p [[«Эта дурацая дверца раздражает. Три часа на неё пялюсь, не могу отсюда выбраться. Завешу её чем-нибудь.»^ Похоже на почерк тёти Агаты. - «Это невыносимо. Дурацкая дверца просто исчезла. Теперь ни дверцы, ни другого выхода. Сижу и таращусь на пустую стену. + «Это невыносимо. Дурацкая дверца просто исчезла. Теперь ни дверцы, ни другого выхода. Сижу и таращусь на пустую стену. Лучше повесить холст обратно на карниз.»^ Вторая строка писалась гораздо позже первой.^Буквы крупнее и почерк неровный, но это всё ещё её почерк.]]; else @@ -224,7 +237,7 @@ obj { } obj { - -"стены, стенки/мн"; + -"стены,стенки/мн"; nam = "room17_walls"; description = function(s) if _"room17_mask":has'worn' then @@ -236,7 +249,7 @@ obj { }:attr 'static' obj { - -"стена , стенка/ед"; + -"стена,стенка/ед"; nam = "room17_wall"; before_Exam = function(s) enable("room17_cornice"); From 0cf4d68a12e217071d8ac9dcd4e0ba112da2366c Mon Sep 17 00:00:00 2001 From: silverwing Date: Sat, 8 May 2021 02:34:11 +0400 Subject: [PATCH 3/4] fix room15 --- room15.lua | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/room15.lua b/room15.lua index 6561151..a468143 100644 --- a/room15.lua +++ b/room15.lua @@ -6,7 +6,13 @@ room { nam = "room15_bedroom"; book_read = false; title = "Спальня"; - dsc = "Просторная комната с единственным окном. Выход из комнаты находится на западе. "; + dsc = function(s) + if pl:where()^'room15_void' then + return "Тебя окружает пустота. Через окно ты видишь просторную спальню. "; + else + return "Просторная комната с единственным окном. Выход из комнаты находится на западе. "; + end; + end; w_to = 'room14_secondfloor'; awake = false; complete = false; @@ -259,8 +265,10 @@ obj { if _'room15_bedroom'.awake then pr 'За окном ты видишь голубое небо. '; else - pr 'За окном ты видишь непроглядную пустоту. '; - mp:content(_'room15_void'); + if not pl:where()^'room15_void' then + pr 'За окном ты видишь непроглядную пустоту. '; + mp:content(_'room15_void'); + end; end; else pr 'Окно закрыто плотными занавесками. '; @@ -320,7 +328,12 @@ obj { pr 'Сначала стоит открыть занавески. '; return; end; - mp:xaction('Enter', _'room15_void'); + + if pl:where()^'room15_void' then + mp:xaction('Exit', _'room15_void'); + else + mp:xaction('Enter', _'room15_void'); + end; end; before_Receive = function(s) if _'room15_curtain':has('~open') then @@ -384,7 +397,7 @@ obj { }: attr('enterable,supporter,static,luminous'); obj { - -"белье|простыня"; + -"постельное белье,белье на кровати,белье|простыня"; nam = 'room15_sheets'; description = 'Чистая простыня лежит на кровати. '; before_Take = function(s) @@ -681,7 +694,7 @@ obj { }; obj { - -"простыни|обрывки простыней,обрывки простыни,обрывки ткани,обрывки|ткань"; + -"обрывки простыней,обрывки простыни,обрывки ткани,обрывки|простыни|ткань"; nam = 'room15_shreds'; description = 'Прочные и длинные полосы из простыней. '; before_Tie = function(s, w) @@ -833,7 +846,7 @@ obj { ["before_Taste,Eat"] = 'Вряд ли это вкусно. '; ["before_Rub,Touch"] = function(s) if s:has('on') then - pr 'Экран гладкий и приятный на ощупь. Ты чувствуешь легкое покалывание в пальцах от наэлектризованного кинескопа. '; + pr 'Экран гладкий приятный и на ощупь. Ты чувствуешь легкое покалывание в пальцах от наэлектризованного кинескопа. '; else pr 'Экран гладкий и приятный на ощупь. '; end; From dd04c566c5553e6df0e9597bc063fc0e60d4db7a Mon Sep 17 00:00:00 2001 From: silverwing Date: Sat, 8 May 2021 02:35:43 +0400 Subject: [PATCH 4/4] typo --- room15.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/room15.lua b/room15.lua index a468143..4bf0962 100644 --- a/room15.lua +++ b/room15.lua @@ -846,7 +846,7 @@ obj { ["before_Taste,Eat"] = 'Вряд ли это вкусно. '; ["before_Rub,Touch"] = function(s) if s:has('on') then - pr 'Экран гладкий приятный и на ощупь. Ты чувствуешь легкое покалывание в пальцах от наэлектризованного кинескопа. '; + pr 'Экран гладкий и приятный на ощупь. Ты чувствуешь легкое покалывание в пальцах от наэлектризованного кинескопа. '; else pr 'Экран гладкий и приятный на ощупь. '; end;