obj { nam = 'back', dsc = function() return fmt.c("{Назад}") end, act = function() return walkout() end } local markers = { chos = "626,666", abandoned = "264,213", exit_west = "373,540", pavels = "168,609", houseclosed = "348,692", exit_north = "448,157", intersection = "555,550", town = "543,462", factory = "703,310", cathedral = "703,310" } room { nam = 'map', disp = "Карта", noinv = true, enter = function (here, from) char.lastroom = from.nam end, pic = function() local map = 'images/satellite.jpg' if markers[char.lastroom] then map = map .. ';images/marker.png@' .. markers[char.lastroom] end return map end, decor = [[ Вы сверяетесь с картой. ]], obj = {'back'} } dlg { nam = 'quests', disp = "Квесты", noinv = true, decor = [[ Вы вспоминаете обо всём, что нужно сделать.^^ ]], obj = {{ { cond = function() return char.quests.chos == nil end, 'Найти Ангелину Чо', 'Вы приехали по гарантийному вызову. Вам надо найти Ангелину Чо, починить всё что у неё есть по гарантии и вернуться.' }; { cond = function() return char.quests.car == 1 end, 'Вернуть автомобиль', 'Неизвестный робот посчитал ваш автомобиль за бесхозную технику. Скорее всего, он где-то в этой деревне.' }; { cond = function() return char.quests.car == 2 end, 'Вернуть автомобиль', 'Вы нашли сообщество роботов. Нужно убедить их отдать вам автомобиль.' }; { cond = function() return char.quests.car == 3 end, 'Вернуть автомобиль', 'Просто дождитесь, когда его привезут.' }; { cond = function() return char.quests.car == 4 end, 'Вернуть автомобиль', 'Автомобиль здесь. Его никто не охраняет. Просто сядьте в машину.' }; { cond = function() return char.quests.abandoned == 1 end, 'Бесхозные роботы', [[Мужчина в Клубе Памяти интересуется роботами на северной ферме. Их хозяин умер, и теперь ценные работники не подчиняются никому. Он хочет, чтобы вы настроили роботов на его голос.]] }; { cond = function() return char.quests.chos == 1 end, 'Найти дом Павла', 'Вы должны найти дом Павла и попросить у него программатор, чтобы починить Анжелине комбайн.' }; { cond = function() return char.quests.chos == 2 end, 'Убедить Павла отдать программатор', 'Старую технику надо искать у соседей.' }; { cond = function() return char.quests.chos == 3 end, 'Починить комбайн… или нет?', 'Починить Анжелине комбайн при помощи программатора.' }; { 'Назад', function() walkout() end, }; }} } dlg { nam = 'inventory', disp = "Телефон", noinv = true, decor = function() return 'Здесь будут все телефоны и заметки, которые вы запишете в телефон.' end, obj = {{ { always = true, 'Ангелина Чо', function() local retval = 'Вы набираете номер заказчика. Нет ответа.' if not visited('cho_dlg') then retval = retval .. ' Спит она там, что ли?' end return retval end, }; { always = true, 'Назад', function() walkout() end, }; }} } room { nam = 'character', disp = 'Персонаж', noinv = true, decor = function() return [[Обращение: ]]..fmt.tab('20%')..pronoun_3().. [[^Действия: ]]..fmt.tab('20%').. 'Оригинальность'..fmt.tab('40%')..opposed(char.actions)..' Традиционность'.. fmt.tab('80%')..char.actions..'%'.. [[^Репутация: ]]..fmt.tab('20%').. gendered('Нечестивец', 'Нечестивая', 'Нечестивое', 'Нечестивые') ..fmt.tab('40%')..opposed(char.reputation)..' '.. gendered('Святой', 'Святая', 'Святое', 'Святые').. fmt.tab('80%')..char.reputation..'%'.. [[^Раны: ]]..fmt.tab('20%')..char.wounds..[[ (при трёх ранах ]]..plural('персонаж умрёт', 'персонажи умрут')..')^' end, obj = {'back'} } room { nam = 'ending', disp = 'Уехать из Жестианы', noinv = true, decor = 'Вы уверены, что хотите немедленно уехать из Жестианы?^^'..fmt.c('{yes|Да}'), obj = { 'back', obj { nam = 'yes', act = function() walk('theend') end, } } } room { nam = 'theend', disp = 'КОНЕЦ', noinv = true, decor = fmt.c(fmt.b('КОНЕЦ')) }