diff --git a/locations/pavels.lua b/locations/pavels.lua index 9647e76..f160de0 100644 --- a/locations/pavels.lua +++ b/locations/pavels.lua @@ -40,7 +40,8 @@ room { pn "Вам не нужна была боевая машина. Возвращаться в город на своём кабриолете было бы приятнее и быстрее." return false end, - act = function() + act = function() + char.saw_suit = true local out = [[ Боевой механизированный костюм высотой 2,7 метров, марка РГ-22. Рассчитан на одного пилота. @@ -238,110 +239,233 @@ obj { end } -room { +local tea = function() + local out = [[Чёрт с вами. Будете чаю?^^ + Стол выдвинулся вперёд и расширился. + Справа в нём открылась панель, из которой выехала табуретка. + Из-за вашей спины вылетел маленький робот с чайником и чашками. + Он быстро выставил приборы и начал подталкивать вас к табуретке.^^]] + out = out .. '-- Про вас уже ходят слухи.' + if char.reputation > 0 then + out = out .. 'Немного, но хорошие.' + end + if char.reputation < 0 then + out = out .. 'Немного, но не очень хорошие.' + end + out = out .. 'Никто так толком и не знает, что вы такое.' + return out +end +dlg { nam = 'pavels-under', disp = 'Подвал', - enter = [[Вы нашли маленькую дверцу, за которой начиналась лестница в тёмный подвал. - Где-то внизу, в конце лестницы, мигал слабый электрический свет.]], - decor = [[ + enter = function() + local out = [[Вы нашли маленькую дверцу, за которой начиналась лестница в тёмный подвал. + Где-то внизу, в конце лестницы, мигал слабый электрический свет.^^ Вы спустились в светлую холодную комнату, закрытую белыми плотными шторами. + В центре за широким круглым столом возвышалось мягкое Главное Кресло. + И в кресле сидел хозяин дома.^^]] + if char.war == "moon" then + out = out .. '-- Добро пожаловать, майор. Мне так и называть вас Майором?' + end + if char.war == "moon" then + out = out .. '-- Добро пожаловать, старший лейтенант. Мне так и называть вас по званию?' + end + return out + end, + decor = [[ + Вы стояли в светлой холодной комнате с белыми стенами. Она была похожа на какой-нибудь командный центр… только не на настоящий военный штаб, которых вы насмотрелись на войне, а на что-то более фантастическое.^^ - В центре чистой комнаты с белыми стенами стоял широкий круглый стол. - Внутри за рядами приборов и датчиков возвышалось мягкое Главное Кресло. - И в кресле сидел {pavel|хозяин дома.} + В центре на широком круглом столе стоят ряды приборов и датчиков, из-за + которых на вас смотрит {pavel|хозяин дома.} ]], obj = { obj { nam = 'npcpavel', disp = 'хозяин дома', - talk = function() - return walk('pavel') - end, + talk = 'Вы уже с ним говорите.', act = [[ Он смотрел на вас хитрым прищуром заинтересованной кошки. Кошки с пышными усами, которая никуда не спешит. ]] + }; + { + { + '-- Сейчас больше подходит «ремонтник», спасибо.', + '-- И всё-таки дайте мне что-нибудь поудобнее.' + }; + { + function() + return 'Меня зовут '..char.name..'. Просто '..char.name..'.' + end, + function() + return '-- Что, в самом деле? Вы как-то не похожи на '.. char.name ..'.' + end, + next = '#name' + } + }; + { + '#name', + { + 'Вы хотите посмотреть мой паспорт?', + tea, + next = '#rumours' + }; + { + function() return 'Как '..gendered('назвался', 'назвалась', 'назвалось', 'назвались')..'.' end, + tea, + next = '#rumours' + } + }; + { + '#rumours', + { + 'Просто гость из столицы. <сесть за чай>', + function() + char.tea = true + return 'Ну тогда рассказывайте, зачем приехали.' + end, + next = '#ask' + }; + { + 'Сплетничаем?', + '-- Знакомимся.' + }; + { + 'Человек с просьбой.', + '-- Я слушаю.', + next = '#ask' + }; + { + 'Всегда есть слухи. Может, к делу?', + 'Ну, раз так, то я вас слушаю.', + next = '#ask' + } + }; + { + '#ask', + { + function() + return plural('Мне', 'Нам')..' нужен программатор. Модель ЭУ-77. Вам нужно его описывать?' + end, + function() + local out = [[-- Нет, я знаю что это.^^ + Он отвлекается на один из мониторов.]] + if char.tea == true then + out = out .. 'Вы делаете глоток чая. Терпкий чёрный напиток приятно расслабляет.' + end + out = out .. [[^^-- Нет такой детали.]] + return out + end, + next = '#detail', + }, + { + 'У Анжелины сломан комбайн, и для починки нужен программатор ЭУ-77. Модель старая, заказ идёт долго. Может, у вас есть?', + function() + local out = [[-- Ну, раз для соседей…^^ + Он отвлекается на один из мониторов.]] + if char.tea == true then + out = out .. 'Вы делаете глоток чая. Терпкий чёрный напиток приятно расслабляет.' + end + out = out .. [[^^-- Нет такой детали.]] + return out + end, + next = '#detail', + } + }; + { + '#suit-pr', + { + 'Это всего лишь на время урожая. Потом всё равно заказывать новый программатор.', + function() + walk('pavels') + take('programmator') + return '-- Вот жук же вы, '..char.name..'. Разбирайте сами. А теперь уходите. Только чай перевожу.' + end + }; + { + 'Вы же сможете договориться как соседи.', + function() + walk('pavels') + take('programmator') + return '-- Вот жук же вы, '..char.name..'. Разбирайте сами. А теперь уходите. Только чай перевожу.' + end + } + }; + { + '#detail', + { + cond = function() + return (char.saw_suit == true) + end, + '-- У вас во дворе стоит РГ-22 с тремя независимыми программаторами этого типа. Вы на нём за хлебом ходите?', + function() + char.asked_suit = true + return [[-- А что если он мне дорог?]] + end, + next = '#suit-pr' + }, + { + [[Знаете, даже в нашей компании нет базы данных по всем деталям. + Вам можно позавидовать.]], + [[-- Завидуйте сколько хотите. Детали нет.]], + next = '#general' + }, + }, + { + '#general', + { + cond = function() + return (char.saw_suit == true and char.asked_suit ~= true) + end, + '-- У вас во дворе стоит РГ-22 с тремя независимыми программаторами этого типа. Вы на нём за хлебом ходите?', + function() + char.asked_suit = true + end, + }; + { + '#tea', + 'Вы всегда угощаете гостей чаем?', + function() + disable('#tea') + return 'Только интересных.' + end, + }; + { + '#servants', + cond = function() + return char.actions > 50 + end, + '[Традиционализм > 50%] Хороший у вас дом. А где же слуги?', -- обсуждение роботов + function() + disable('#servants') + disable('#servants2') + -- не показывать выключенный вариант, если внезапно игрок + -- опустил Традиционализм до 50% и меньше + return "Слуги? А, вы про роботов. Мне больше нравятся компактные модели. Не так быстро работают, но зато почти незаметны." + end + }; + { + '#servants2', + cond = function() + return char.actions <= 50 + end, + '{}[Традиционализм > 50%] Хороший у вас дом. А где же слуги?','' + }; + { + 'Ну, спасибо за ваше ничего.', + function() + walk('pavels') + return '-- Заходите в любое время.' + end + } } } } -dlg { - nam = 'pavel', - disp = false, - decor = [[ - Он смотрел на вас хитрым прищуром заинтересованной кошки. - Кошки с пышными усами, которая никуда не спешит. - ]], - obj = { - { - '#приветствие', - { - '[Традиционализм > 50%] Хороший у вас дом. А где же слуги?', -- обсуждение роботов - "Слуги? А, вы про роботов. Мне они не нужны." - }; - --[[ - { -- осуждение дома - function() - local out = [ [Как у вас чисто. - Наверное, вы заманиваете сюда маленьких ] ] - out = out..gendered('мальчиков', 'девочек', 'ребят', 'ребят') - out = out..[ [, а потом показываете им обучающие фильмы про ] ] - if char.war == "earth" then - out = out..'Триумф Войны' - end - if char.war == "moon" then - out = out..'Землян-Победителей' - end - out = out..'. Идеальное убежище посреди нигде.' - return out - end - }]] - { - '<Молча обойти стол и посмотреть на приборы>', -- передача инициативы в диалоге - [[Вы медленно обходите стол, осматривая приборы на нём. - Мониторы, которые до этого были закрыты от вас, показывают видео с камер - наблюдения. Снаружи дома, внутри гостиной. Одна из камер направлена на вас.^^ - -- Вы сами по себе или из компании?]], - next = '#гарантия' - }; - { -- заткнись и дай пройти мой квест - 'Мне нужна твоя мастерская. Сейчас.', - }; - }; - { - '#гарантия', - { - [[Гарантийный вызов.]], - function() walk('pavel-warranty') end, - }, - { - 'Вы давно видели свободных ремонтников? Мастерские стоят дорого, а без них вы ничего не сможете сделать.', - function() walk('pavel-warranty') end, - }, - { - 'Правильное слово - корпорации. Транспланетной корпорации.', - function() walk('pavel-warranty') end, - } - }; - { - '#начало', - { - 'И при чём же здесь военная служба? Зачем выпытывать роту?' - } - }; - } -} -dlg { - nam = 'pavel-warranty', - disp = false, - decor = [[-- Боевой опыт и квалификация. Редкая птица в этих краях.]], - obj = { - { - { - 'Кстати, про боевой опыт. В какой роте сам служил?', - 'Четвёртый мехапехотный, пятнадцать выбросов.' - } - } - } +obj { + nam = 'programmator', + disp = 'программатор', + mech = true, + inv = 'Плата управления передвижением искусственного интеллекта. Жутко старая, но рабочая.' }