From bd08a5dc88ef40e1a92fd30b49c9f2658d0c4862 Mon Sep 17 00:00:00 2001 From: Alexander Yakovlev Date: Mon, 20 Mar 2017 19:32:21 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=BE=D0=BC=D0=B0=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locations/pavels.lua | 145 ++++++++++++++++++++++++++++++++++++++++++- tools.lua | 7 +++ 2 files changed, 150 insertions(+), 2 deletions(-) diff --git a/locations/pavels.lua b/locations/pavels.lua index 746ac47..5dd135c 100644 --- a/locations/pavels.lua +++ b/locations/pavels.lua @@ -69,7 +69,7 @@ dlg { nam = 'pavels-call', disp = 'Разговор с домофоном', decor = [[Камера домофона смотрела на вас бесстрастным блеском.]], - enter = [[-- Кто там?]], + enter = [[-- Кто там? — спросил неприветливый мужской низкий голос.]], obj = { { { @@ -82,8 +82,30 @@ dlg { end }; { + '#yours', 'Это ваш РГ-22?', - 'Не продаётся.' + function() + disable('#yours') + return 'Не продаётся.' + end + }; + { + '#repair', + cond = function() + return char.quests.chos > 0 + end, + function() + disable('#repair') + enable('#enter') + return fmt.em(plural('Я занимаюсь', 'Мы занимаемся')..' ремонтом для Анжелины; она сказала, что у вас есть своя мастерская и вы можете помочь.') + end, + [[ -- То есть, ]]..pronoun_2()..[[ чинишь железяки.^ + -- Ну, скорее это больше программаторы, платы управления, ИскИны, роботы.^^ + + Голос на той стороне замолчал и начал чем-то шуршать.^^ + + -- В какой бригаде служил]]..endings()..[[?]], + next = '#war' }; { cond = function() @@ -96,5 +118,124 @@ dlg { end }; }; + { + '#war', + { + function() + return plural('Зампотех старший лейтенант', 'Зампотехи старшие лейтенанты')..' мехастрелковой роты, Фронт Обороны Земли.' + end, + function() + char.war = "earth" + walk('pavels-inside') + return [[-- Старший лейтенант? А по голосу не скажешь. Ну хоть будет о чём поболтать.^^]]..enter_pavels() + end + }; + { + function() + return plural('Майор', 'Майоры')..' ремонтного батальона, Армия Освобождения Луны.' + end, + function() + char.war = "moon" + walk('pavels-inside') + return [[-- Луны, значит… А по голосу не скажешь. Ладно, что прошло -- то не взлетело.^^]]..enter_pavels() + end + }; + } } } +enter_pavels = function() + return [[ + Дверь открылась с громким щелчком.^^ + Вы вошли в тёмную гостиную.^ + -- Я здесь, внизу! -- раздался голос хозяина. + ]]; +end + +room { + nam = 'pavels-inside', + disp = 'Гостиная', + way = {'pavels-under'}, + enter = function() + find('pavel-call').timer = 0 + lifeon('pavel-call') + return 'Вы разулись на сером махровом коврике с надписью «Человек человеку добр».' + end, + decor = [[ + Эта комната была большой, но здесь было так мало свободного места, что + вам пришлось перепрыгивать через {table|журнальный столик,} чтобы пересечь её. + Предметы были разбросаны, как будто из окон пролилась река, внесла эти случайные вещи + и ушла, оставив их лежать на дне комнаты.^^ + На полу были разбросаны {paper|какие-то бумажки.} За широким письменным столом + висели фотокарточки в рамках. На подоконнике слабо светился {aqua|аквариум.} + Со стен на вас смотрели красочные {portraits|портреты незнакомых людей,} как будто вы стояли в + каком-то музее, куда ещё не купили билет. + ]], + obj = { + obj { + nam = 'aqua', + disp = 'аквариум', + talk = 'Вы ещё не готовы разговаривать с аквариумами.', + act = [[ + Лазурные водоросли медленно сокращались и расслаблялись в прозрачной воде. + Они сокращались и расслаблялись, сокращались и расслаблялись, как будто + дышали чем-то ]]..fmt.em('другим.')..[[ Вы заметили мелкие фиолетовые пузырьки, + которые всплывали из переплетения водорослей к краям аквариума. + ]] + }; + obj { + nam = 'table', + disp = 'журнальный столик', + talk = 'Вам нечего сказать журнальному столику. Да и он немногословен.', + act = [[На столике лежал рисунок карандашом: робот-летописец тянет пишущую руку вверх. + В нижней части листа ручкой было написано: «Слава Земле»]] + }; + obj { + nam = 'paper', + disp = 'бумаги на полу', + talk = 'Бумага может сказать только то, что на ней напечатано.', + act = [[Медицинский листок: «Контузия женщина 26 лет передвигала шкаф свалилась внутрь. + Сломано два правых ребра, жалобы на боль в плече. Просит найти Хурхэнова.»^ + Детским почерком: «Трудный 3-1. Прыжок влево, вправо, Круг, Квадрат, Вверх, Круг, Квадрат.»^ + Страница из Горной Энциклопедии, буква Х: Халцедон, Хризолит, Хризопраз.^ + Распечатка инструкции по обновлению нейронных сетей пилотов серии РГ.^ + Таблица зависимости времени посадки цитрусовых от влажности воздуха. + ]] + }; + obj { + nam = 'portraits', + disp = 'портреты', + talk = 'Портреты молчали, отчего вам стало жутковато.', + act = [[ + Угрюмый старик в деловом костюме. + Грустный мужчина в генеральском кителе. + Напряжённая женщина в полосатой блузке с двумя галстуками. + Девочка в кабине красного боевого механизированного костюма, почти втрое больше неё.^^ + Вы не знали этих людей. + ]] + } + } +} + +obj { + nam = 'pavel-call', + timer = 0, + life = function(s) + s.timer = s.timer + 1 + local response = { + '-- Я внизу!', + '-- Эй! Сюда, в подвал!', + '-- Эй, там, наверху! Вы скоро?', + '-- Ничего там не трогать!', + '-- Разобьёшь что-нибудь — убью!' + } + if timer % 4 == 1 then + return rndstr(response) + end + end +} + +room { + nam = 'pavels-under', + disp = 'Подвал', + decor = [[]] +} diff --git a/tools.lua b/tools.lua index 1d1b54e..0994ec9 100644 --- a/tools.lua +++ b/tools.lua @@ -12,6 +12,7 @@ init = function () char.actions = 50 char.reputation = 50 char.can_leave = false + char.quests.chos = 0 place(menu { nam = "Персонаж", menu = function() @@ -131,6 +132,12 @@ pronoun_1 = function() end return 'я' end +pronoun_2 = function() + if char.plural == true then + return 'вы' + end + return 'ты' +end endings = function() if char.plural == true then return 'и'