Если это и разовый глюк, то весьма неприятный. Visual Studio не опознал подмену файла при Switch-е бранча в SVN. В итоге в коммит ушли файлы не из того бранча. Понятно, что всё восстанавливается, но на то, чтобы разобрать, какие правки были внесены мной в не ту версию файла, а какие -- из чужого бранча -- ушло время.
А я-то привык, что он всегда её опознаёт и предлагает перезагрузить содержимое.
Мораль: всегда закрывать все открытые файлы при "Switch"/"Update до определённой версии".
Был я в каком-то магазине когда-то. А там шкатулочки продавались. Я спрашиваю -- а у вас есть шкатулочки на замочке? Мне отвечают -- да, вон стоят! Я смотрю, а они может и на замочке, но не запираются. Просто защёлка. Я говорю -- да мне с ключом надо. Мне отвечают -- таких нет. А у вас если есть что запирать, вы с собой носите! А я отвечаю -- ах, если бы я мог носить с собой всё, что хочу запереть!
Статья описывает так называемый wizard mode в NetHack. Указаны основные функции, особенности, области применения. Проведёно сравнение с режимом исследования (explore mode).
(читать дальше) 1 Введение Рано или поздно игроки в NetHack сталкиваются с трудностями при прохождении. При этом трудности бывают связаны с отсутствием глубокого понимания игровой механики и невозможностью повторно обыграть одну и ту же ситуацию (причём последнее мешает накоплению опыта). Более того, ситуации зачастую повторяются, но в несколько иных обстоятельствах. Вспомните, сколько раз вы умирали от укуса гигантских муравьёв (giant ants). С целью предоставления игрокам возможности ускоренного накопления опыта игры, самой игрой предлагается документированный режим исследования (explore mode). Однако есть другой, более мощный механизм взаимодействия с миром NetHack, открывающий практически безграничные возможности по экспериментированию. Это режим "волшебника" (wizard mode), предназначенный для отладки игры.
2 Режим исследования (explore mode) Несмотря на то, что статья посвящена не этому режиму, обходить стороной его не следует. Режим исследования предоставляет игроку несколько функций, дающих ему возможность практически гарантированно пройти игру (кроме случаев игровой непроходимости, см. nethackwiki.com/wiki/Unwinnable).
2.1 Вход в режим исследования Войти в этот режим можно двумя способами:
В любой момент во время игры надо нажать Shift+X. После ответа "y" на запрос Do you want to enter explore mode? [yn] (n);
Задание входа в режим ещё до начала игры. Для этого надо запустить игру с параметром -X. Например: nethackw.exe -X При этом вы получите палочку исполнения желаний.
Выход из режима исследования невозможен. Результаты, полученные в режиме исследования, не учитываются в таблице рекордов (хранится в файле nhrecord), но учитываются в таблице сыгранных игр (хранится в файле logfile).
2.2 Возможности, предоставляемые режимом исследования Перечислим их:
Невозможность смерти без согласия игрока. Каждый раз, когда игрок умирает, он получает запрос "Die?[yn](n)" Только если он ответит "y", он умрёт -- это является основной функцией данного режима, т.к. случайная смерть -- самое распространённое препятствие прохождению игры;
Возможность получить весь список текущих атрибутов. Когда игрок в обычном режиме нажимает Ctrl+X, он получает только "открытые" атрибуты, которые ему известны всегда: имя, раса, роль, пол, направление веры (alignment) и список божеств пантеона (с указанием того, в кого игрок верит в текущий момент и того, в кого он верил изначально). Однако есть ещё и другие атрибуты, такие как сопротивления (огню, холоду и т.д.), уровень и характер удачи, взаимоотношения с богом и т.д. Вот в режиме исследования их можно посмотреть в любой момент по нажатию того же сочетания клавиш. В нормальной игре для этого нужно получить "просветление" (enlightenment) тем или иным способом;
Возможность оставить файл сохранения даже после загрузки. При старте сохранённой игры будет выдан запрос: Do you want to keep the save file? [yn] (n) Если ответить "y", то файл сохранится. Это позволяет (сохранившись в нужном месте) разыгрывать одну и ту же ситуацию неограниченное число раз;
Палочка исполнения желаний (wand of wishing). Если вы начнёте игру изначально в режиме исследования, в довесок к основному инвентарю вы получите wand of wishing (0:3), что даст вам возможность загадать 7 желаний (включая свитки зарядки -- scroll of charging).
3 Режим волшебника (wizard mode) Все функции, имеющиеся в режиме исследования, присутствуют и в режиме волшебника. Но собственных функций гораздо больше.
3.1 Вход в режим волшебника Для входа в режим волшебника, необходимо вызвать игру со следующими параметрами: nethack -u wizard -D Где: -D -- режим отладки -u -- задание имени пользователя
Если вы будете часто использовать этот режим, создайте текстовый файл и запишите в него эту команду. Когда запишете, переименуйте его в nhwizard.cmd (для Windows) nhwizard.sh (для Linux -- там ещё придётся первой строкой написать #!/bin/sh -- но линуксоиды про это знают). После этого при двойном щелчке по скрипту/командному файлу будет происходить запуск игры сразу в режиме волшебника.
В сборке по умолчанию пользователь должен иметь имя wizard. В UNIX-like системах игроку может быть не позволено выбрать имя произвольно -- вместо этого будет будет подставлено имя текущего пользователя. И если пользователя зовут не "wizard", произойдёт запуск в режиме explore mode. В некоторых сборках вместо имени wizard может быть подставлено другое имя, как правило -- root. Т.е. чтобы играть в режиме волшебника на таких системах придётся иметь доступ к root. Имя пользователя, необходимое для игры в режиме волшебника, задаётся в исходном коде игры (файл config.h, строки 146 и 149 -- надо заменить то, что в двойных кавычках на то, что надо и пересобрать игру; описание процесса пересборки выходит за рамки статьи). Сохранённую игру в обычном режиме можно перевести в режим волшебника, если в имени файла сохранения игры заменить текущее имя на имя wizard (или что там вместо него). Например, изменить имя: Administrator-zHz.NetHack-saved-game На имя: Administrator-wizard.NetHack-saved-game
3.2 Функции, специфичные для режима волшебника Перечислим возможности режима волшебника. Все функции доступны в любой момент независимо от обстоятельств. То есть, к примеру, загадывание желания возможно даже при отсутствии палочки желаний, когда вы стоите один посреди комнаты и у вас в руках ничего нет.
Контролируемая внутриуровневая и межуровневая телепортация;
Получение карты уровня;
Получение раскладки уровней по игре (номера уровней, где начинается Сокобан, Геенна (Gehennom) и т.д.);
Полиморф себя и окружающих мобов (т.е. монстров);
Создание моба (можно задать тип);
Загадывание желания (можно желать даже те предметы, которые обычно желать нельзя, например... фонтан, подробнее см. ниже);
Поиск дверей и ловушек;
Идентификация всего инвентаря;
Смена уровня опыта персонажа (Experience level) в любую сторону до любого значения;
Заведомо успешная молитва;
Отказ от загрузки костей (bones) на уровне, куда вы зашли, вопрос о сохранении их в конце игры и вопрос о том, сохранять ли кости на уровне, после того, как вы туда зашли;
Дополнительный заведомо заданный инвентарь;
Геноцид всех мобов на уровне, кроме вас (но включая котёнка).
Также есть ряд возможностей, которые могут пригодиться только при отладке:
Показ источников света
Показ режима стен;
Принудительное падение программы (паника);
Показ областей, которые вам видны из текущей точки;
Показ векторов "осмотрено";
Показ очереди ждущих объектов (гниющие трупы и т.д.);
Показ статистики расходования памяти.
3.3 Вызов различных команд режима волшебника Ниже в виде таблицы представлены команды, которые можно подавать игре.
Таблица 1. Команды режима волшебника, вызываемые клавишами.
Сочетание клавиш
Функция
Ctrl+E
показать ловушки и скрытые двери
Ctrl+F
показать карту уровня
Ctrl+G
создать монстра
Ctrl+I
идентификация всего инвентаря
Ctrl+O
показать раскладку игры по уровням (на каком уровне Сокобан и т.д.)
Ctrl+V
межуровневая телепортация
Ctrl+W
загадать желание
Часть команд вызывается через режим расширенных команд (#).
Таблица 2. Расширенные команды режима волшебника.
#levelchange
смена уровня с текущего до заданного (в любую сторону)
#lightsource
показ плавающих источников света
#monpolycontrol
контроль превращений монстров
#panic
проверка функции паники
#polyself
превращение (полиморф) себя самого
#seenv
просмотр вектора осмотренного
#stats
статистика расхода памяти
#timeout
список объектов, для которых идёт отсчёт времени (тухнущие трупы и т.п.)
#vision
просмотр области, видимой из текущей точки
#wmode
просмотр режима стен
3.4 Подробное описание различных команд режима волшебника
3.4.1 Команды, вызываемые через сочетания клавиш
3.4.1.1 Ctrl+E: Показать ловушки и скрытые двери Работает точно так же, как и wand of secret door detection/заклинание detect unseen. Хода не забирает.
3.4.1.2 Ctrl+F: Показать карту уровня Работает точно так же, как и scroll of magic mapping/заклинание magic mapping. Работает даже на тех уровнях, которые обычные средства не показывают. Хода не забирает.
3.4.1.3 Ctrl+G: Создать монстра Вам задаётся вопрос, какого монстра вы хотите создать. Можно задать любого монстра, в т.ч. уникального (например, Death). Монстр появится рядом с вами. Если рядом с вами места нет, он появится в ближайшем доступном для вас месте. Ход на это не расходуется. Можно последовательным вызовом создать несколько уникальных монстров. Для монстров можно явно задавать статус враждебности -- tame (ручной), peaceful (мирный) или hostile (враждебный). Другие способы создания монстра (волшебная палочка, свиток, заклинание) также выдают вопросы о типе монстра. Чтобы сделать случайного монстра, надо нажать Escape. Кот в мешке (bag of tricks) создаёт случайного монстра не задавая вопросов. Ответьте "]", чтобы созданный монстр был случайным, но типичным для данного уровня.
3.4.1.4 Ctrl+I: Идентификация всего инвентаря Работает как scroll of identify, когда он опознаёт весь инвентарь. Хода не тратит.
3.4.1.5 Ctrl+O: Показать раскладку игры по уровням На экране появляется список всех специальных уровней и места, где происходит соединение ветвей. Чем объяснять, как это себя ведёт, проще показать пример (с комментариями):
The Dungeons of Doom: levels 1 to 28 One way stair to The Elemental Planes: 1 Stair to The Gnomish Mines: 3 // лестница в Гномьи Шахты oracle: 5 // Оракул Stair to Sokoban: 6 // Лестница в Сокобан Portal to The Quest: 12 // Портал в Квест bigrm: 12 // Big Room -- Большая Комната rogue: 15 // Rogue-level -- Rogue-уровень medusa: 26 // Медуза Connection to Gehennom: 28 // Выход в Геенну castle: 28 (tune FCBEB) // Уровень, где замок -- заметьте, дополнительно указывается мелодия открытия Gehennom: levels 29 to 50 valley: 29 // Valley of the Dead -- долина мёртвых juiblex: 32 // болото Джуиблекса asmodeus: 34 // Асмодей baalz: 36 // Вельзевул Stair to Vlad's Tower: 37 // Выход в башню Влада (растёт вверх) orcus: 38 // Город Оркуса wizard1: 44 // три уровня башни волшебника wizard2: 45 // то же wizard3: 46 // то же fakewiz1: 47 // фальшивая башня 1 fakewiz2: 48 // фальшивая башня 2 (в одной из них вход в настоящую) sanctum: 50 // Санктум -- там амулет The Gnomish Mines: levels 4 to 11 // Гномьи шахты minetn: 6 // Город Шахт minend: 11 // Конец Шахт The Quest: levels 12 to 17 // Квест Wiz-strt: 12 // Начало Wiz-loca: 14 // Середина Wiz-goal: 17 // Конец Sokoban: levels 2 to 5, entrance from below // Сокобан soko1: 2 soko2: 3 soko3: 4 soko4: 5 Fort Ludios: level 19 // Форт Луидос knox: 19 Vlad's Tower: levels 34 to 36, entrance from below // Башня Влада tower1: 34 The Elemental Planes: levels -5 to 0, entrance on -1 // Элементальные планы astral: -5 water: -4 fire: -3 air: -2 earth: -1 dummy: 0
Floating branches Portal to Fort Ludios
Список позволяет легко ориентироваться в игре. Если вы находитесь на элементальных планах (Endgame) или на дне Геенны, вам будут дополнительно сообщены координаты портала на следующий план либо Вибрирующего Квадрата (vibrating square) соответственно.
3.4.1.6 Ctrl+V: Межуровневая телепортация. Работает, как cursed scroll of teleportation или аналоги. Спрашивает, на какой уровень телепортироваться, как всегда бывает при контролируемой телепортации. В качестве ответа можно ввести "?" и нажать Enter. Тогда появится раскладка игры, как по Ctrl+O, где можно будет выбрать, куда переместиться. Хода не забирает. Иногда не работает -- почему, не выяснил. Требуется дальнейшее изучение.
Нельзя телепортироваться ниже Долины Мёртвых (Valley of the dead) путём ввода уровня. Но через меню -- можно. Нельзя телепортироваться, когда вы уже в Endgame.
3.4.1.7 Ctrl+W: Загадать желание Загадать желание можно в любой момент, не расходуя ход. При этом увеличивается время до следующей молитвы. Загадывать можно любые объекты с заданными характеристиками в относительно неограниченном количестве.
Какие характеристики вещи можно задать?
Святость вещи
Загрязнённость вещи;
Защищённость вещи от внешних воздействий;
Испорченность вещи
Это как обычно. Кроме того, можно указать:
количество вещей (любое, хоть 100; шанс выпадения 100%);
Зачарованность вещи (до +127; для оружия более примерно +50 при общем уроне монстру более 127 возможны проблемы из-за переполнения внутренних представлений чисел)
Число зарядов заряжаемых вещей (тоже можно задавать любое, до 127, например, wand of death (0:127));
Наличие ловушки в контейнере (например, trapped large box)
Какие вещи можно загадать, кроме тех, что обычно?
Любой артефакт с шансом получения 100%;
Предметы, необходимые для Вызова (Invocation);
Venom. Это капля яда плюющейся змеи. Эту штуку можно заказать только в режиме волшебника. Её можно выбросить из инвентаря, но нельзя подобрать. Как её использовать? Кидаете через команду throw и она ослепляет того, в кого попала (если заказана blinding venom). Или наносит ему урон (acid venom). Ещё этой штукой можно писать на полу.
Всё. Что по-прежнему заказать нельзя?
Дубли артефактов (кроме предметов для призыва -- их можно тиражировать в неограниченном количестве; предметы для призыва (Invocation: nethackwiki.com/wiki/Invocation) это Bell of Opening, Candelabrum if Invocation и Book of the Dead). Вы получите "базовый" предмет типа артефакта. Допустим, вместо второго Magicbane вы получите athame.
Что можно заказать, кроме предметов? Различные элементы ландшафта. Элемент появится на той клетке, где вы стоите. Это включает в себя:
Ловушки (если на уровне нельзя копать вниз, то вместо ловушки "дыра" (hole), и "дверь-ловушка" (trap door) будет сгенерирована ловушка "камень с потолка";
Лава (lava);
Iron bars -- такие штуки, через которых летят копья и стрелы, а остальное нет (и пройти нельзя). Решётка железная, короче.
Что нельзя пожелать из ландшафта:
Стены
Двери;
Перекидные мосты (drawbridge);
Всё остальное
Чего не следует желать в режиме волшебника? Нет, вы можете это пожелать, но оно будет лишь засорять инвентарь. Если эксперименты касаются именно следующих объектов, то всё нормально.
Potion of gain level. Для изменения уровня есть #levelchange (см. 3.4.2.1), для телепортации -- Ctrl+V.
Любую еду. В wizard mode можно всегда успешно молиться, а также не умереть от голода путём отказа от смерти. Если вы много телепортируетесь, то еду всё же лучше заказать;
Eye of Aethiopica ради телепортации. Вы можете телепортироваться сразу в нужную ветвь при помощи Ctrl+V. Ради регенерации маны его, так и быть, пожелать можно;
Оружие, зачарованное более, чем на +50. Им никого не убьёшь из-за переполнения внутренних представлений чисел;
Любые другие предметы, которые дублируют возможности wizard mode
3.4.2 Команды, вызываемые через расширенное меню (#) Излишне указывать, что все команды не имеют параметров и работают в диалоговом режиме. Ввели команду, нажали Enter, ответили на вопрос (если надо). Команды, помеченные звёздочкой, имеют сугубо отладочное значение. Если вы не разработчик и не тестировщик модификаций NetHack, можете эти разделы пропустить.
3.4.2.1 #levelchange Команда вызывает немедленное изменение уровня персонажей до нужного. Нельзя задать уровень меньше 1 и больше 30. Хода не расходует.
3.4.2.2 * #lightsource Выдаёт список динамических источников света. Хода не рсаходует. Например:
Mobile light sources: hero @ ( 8,17)
location range flags type id -------- ----- ------ ---- ------- 8,15 1 0x0001 obj 00C95A38 8,16 1 0x0001 mon 00C95978
Первый источник света -- сам персонаж -- это указано. Второй -- зажжённый potion of oil (первая строка таблицы). Третий -- монстр yellow light. Первая колонка указывает место расположения источника (координаты x, y отсчитываются от левого верхнего края экрана из координаты (0,0)) Вторая колонка указывает на радиус источника света (в клетках). Третья колонка -- флаги. Что точно значат -- не выяснил. Четвёртая колонка -- obj для объектов и mon для монстров. Если светящийся монстр вы сами, то будет указано you. Пятая колонка -- адрес источника света в памяти.
3.4.2.3 #monpolycontrol Эта команда переключает режим контроля полиморфа окружающих вас монстров. Если опция выключена, всё работает как обычно. Если включена, то когда монстр пытается превратиться во что-нибудь, вас спросят, во что ему следует превратиться. Имя монстра следует писать целиком, допустим, вместо "mimic" надо писать "large mimic". Если вы работаете с doppelganger или другим монстром, эта опция может вам надоесть, т.к. превращаться он будет чуть ли не каждый ход. Хода не расходует.
3.4.2.4 * #panic Эта команда вызывает немедленное падение программы. Для теста. Правда перед падением вас спросят подтверждения.
3.4.2.5 #polyself Работает так же, как и wand of polymorph совмещённое с ring of polymorph control. После вызова вас спросят, в кого вы хотите превратиться. Надо написать имя монстра целиком. Действуют обычные правила и ограничения.
3.4.2.6 * #seenv Показ карты уровня (вектора "увидено"): что вы видели, а что вы не видели и с какой стороны. Тяжело объяснить это своими словами, поэтому приведу перевод объяснения из исходного текста: "Значения вектора "увидено". Вектор "увидено" -- массив из восьми бит, каждый из которых характеризует одно из восьми направлений с центром в точке x:
0 1 2
7 x 3
6 5 4
[младший бит -- 0, старший -- 7 -- прим. zHz] В случае со стенами, одна клетка со стеной может быть осмотрена с восьми возможных направлений. Если мы знаем тип стены и направления, с которых она уже была увидена, мы можем определить, как она выглядит с точки зрения персонажа."
Таким образом, значение вектора "осмотрено" в каждой точке -- две шестнадцатеричные цифры (и, таким образом, они занимают два символа на экране). Сам персонаж отображается как "@@". Вокруг него режимы всех клеток, который он видел хотя бы с одной стороны. Для всех остальных клеток отображается пустой символ. Шестнадцатеричные значения, соответствующие каждой стороне:
Значения складываются. Допустим, если клетка была видена персонажем со сторон 2 и 3, то в ней будет значение 0x08+0x04=0x0C (шестнадцатеричная арифметика)
Если вы сделали magic mapping, то все клетки устанавливаются в 0xFF.
3.4.2.7 * #stats Отображает таблицу статистики расхода динамической памяти. Например:
Первая колонка -- тип сущности, вторая -- число сущностей, третья -- число байт. Первый раздел посвящён объектам, второй -- монстрам. О типах сущностей писать не буду, подробнее с ними можно ознакомиться в файле cmd.c, строчка 1704 и ниже.
3.4.2.8 #timeout Отображение списка объектов с ограниченным временем существования. Чаще всего -- трупов. Пример:
В первой строке выводится текущее время (для ориентировки). Далее -- список объектов. Первая колонка обозначает момент, в который произойдёт событие с объектом. Вторая -- идентификационный номер объекта. Третья -- с чем имеем дело. По-видимому, тут всегда object, т.к. в списке возможных функций все функции работают с объектами, а не с монстрами. Этот вопрос требует дальнейшего изучения. Четвёртая -- ЧТО произойдёт (и в скобках адрес объекта).
Что может произойти с объектом? Об этом можно понять по колонке call. Далее приведена таблица: что и с чем происходит:
Таблица 4. Действия, происходящие по таймауту.
Функция
Что происходит
С чем
revive_mon
Возрождение трупа
Возрождающиеся монстры (например, тролли)
burn_object
Догорание
Объекты, которые пропадают, когда догорят (например, свечи)
hatch_egg
Вылупление
Яйца (если яйцо принадлежит какому-либо монстру)
rot_corpse
Протухание
Трупы (кроме возрождающихся)
rot_organic
Протухание
Закопанные вещи из органических материалов (например, мешки (sack))
fig_transform
Оживление
Фигурки (figurine), но только проклятые и только в инвентаре.
Если в списке нет ни одного объекта, будет написано .
3.4.2.9 * #vision Показывает, что видно из текущей точки. Текущая точка обозначена символом @. Каждая клетка поля представлена числом от 0 до 7 (0 отображается как пусткая клетка). Для формирования значения используются следующий значения:
Таблица 5. Биты, формирующие значение видимости клетки.
Номер бита
Значение бита
Режим видимости
0
1
Потенциальная видимость (клетка может быть увидена, если будет освещена, либо если персонаж перестанет быть слепым)
1
2
Реальная видимость (персонаж видит клетку)
2
4
Наличие освещения (клетка освещена лампой либо иным предметом; постоянное освещение комнат не считается)
Значения в каждой клетке складываются. Если вы видите клетку, она в тёмном коридоре, но освещена свечой, то в клетке будет значение 1+2+4=7. Для того, чтобы определить режим видимости, число необходимо перевести в двоичную систему счисления и посмотреть, какие биты установлены. Перевести число можно при помощи калькулятора в Windows.
3.4.2.10 * #wmode Показывает режимы стен. Очень замутная штука. Ниже приведена таблица, показывающая, какой символ что обозначает.
Таблица 6. Значение символов при отображении режима стен.
Символ
Значение
@
Персонаж (текущая клетка)
x
Пусто (глухая стена в середине карты)
.
Пол в зале (отсутствие стены посреди комнаты)
#
Коридор
Число
См. ниже
Число в клетке на поле обозначает собственно режим стены. Что такое режим стены? Это указание на то, с какой стороны стена "отделана", а с какой -- нет. Допустим, стена в зале размером 3 на 6 со стороны внутренностей зала отделана, а со стороны внешнего камня -- нет. Ниже приводится таблица с обозначением того, что значит то или иное число для разных компоновок стен. Указывается область, которая заполнена камнем (т.е. "Ничего" указывает, что ничего не заполнено камнем, т.е. стена со всех сторон "отделана", "облицована"). Стены бывают четырёх типов: прямая, угловая, буквой Т и крестовая. Примеры различных стен в разных режимах приведены под таблицей (примеры взяты из исходного текста игры, файл rm.h, строка 345 и далее).
Таблица 7. Значения режима стен для различных типов стен.
Число режима
Прямая стена
Угловая стена
Стена буквой Т*
Крестовая стена
0
Ничего
Ничего
Ничего
Ничего
1
Слева/Сверху
Снаружи угла
Сверху
Сверху слева
2
Справа/Снизу
Внутри угла
Снизу слева
Сверху Справа
3
-
-
Снизу справа
Снизу слева
4
-
-
-
Снизу слева
5
-
-
-
Сверху слева и снизу справа
6
-
-
-
Снизу слева и сверху справа
* Заполненность приведена для стены в виде прямой буквы Т. Если стена повёрнута, то заполненную область следует повернуть вокруг центра буквы Т на столько же, насколько следует повернуть саму букву Т, чтобы получить стену в нужном виде (см. пример ниже).
Если у крестовой стены занято камнем и слева снизу и справа снизу -- это уже просто не крестовая стена.
Примеры: F -- облицованная стена, R -- порода. Прямая стена, режим 1:
RRR --- FFF
Угловая стена, режим 2:
FFF F+- F|R
Стена буквой Т, режим 3:
F|F -+F R|F
Крестовая стена, режим 5:
R|F -+- F|R
3.4.3 Утерянные команды режима волшебника Следующие команды могут быть включены, если перекомпилировать NetHack с правильными опциями. Ручаться за правильность понимания, что они делают, я не могу. Макроопределения из первой колонки должны быть определены в файле ntconf.h. Допустим, чтобы включить макроопределение ABCTEST, надо написать в файле где-нибудь (если не понимаете, как это работает, напишите после строки #define NTCONF_H) следующую строчку:
#define ABCTEST
и пересобрать игру.
Таблица 8. Утерянные команды режима волшебника.
Макроопределение
Команда
Что делает
DEBUG_MIGRATING_MONS
#migratemons
Приводит на уровень заданное число случайных монстров. Число монстров задаётся с клавиатуры.
PORT_DEBUG
#portdebug
Отладка примочек, специфичных для реализации. Под каждую ОС/версию (текстовая, графическая) тут будет что-то своё.
DEBUG
#wizdebug
Закапывает все объекты на клетке игрока и вокруг (итого 9 клеток). По-видимому, может быть несколько функций под этим именем, и каждый раз надо при компиляции выбирать, какая нужна. Однако в исходниках есть только одна функция. Эта.
3.5 Элементы геймплея, присутствующие в обычной игре, но имеющие особенности в режиме волшебника Особенности, касающиеся тех функций геймплея, для которых есть специальные команды в режиме волшебника, описаны в разделе 3.4.
3.5.1 Смерть Как и в режиме исследования (см. п. 2.1) смерть невозможна без согласия игрока. Вас спросят в любом случае, хотите ли вы умереть. И вы умрёте, только если согласитесь. При этом амулет спасения жизни работает обычным образом -- если смерть возможно предотвратить при помощи него, он израсходуется. Отказаться можно даже от смерти в результате геноцида себя самого (@).
3.5.2 Файл с сохранением Вы можете сохранить файл с сохранением после загрузки (на вопрос "Do you want to keep the save file? [yn](n)" надо ответить "y"). При этом, если вы с существующим файлом сохранения решите сохраниться ещё раз, получите дополнительный запрос о перезаписи -- в смысле, вас спросят, перезаписать файл или нет ("Overwrite the old file? [yn](n)"; "y" -- перезаписать). Если вы откажетесь от перезаписи ("n"), игра продолжится в обычном режиме.
3.5.3 Показ атрибутов Работает точно так же, как и в режиме исследования (см. п. 2.2, 2-й пункт в списке) Кроме возможности посмотреть все атрибуты, вам будет выведено численное значение:
Удачи;
Уровня веры (alignment record);
Времени до следующей молитвы (если сейчас молиться нельзя;
Гнева бога (если есть);
Числа ходов до возврата в основную форму/выплёвывания монстром, который вас поглотил.
Кроме того, выводится состояние раненности ног (wounded legs) питомца, на котором вы едете.
3.5.4 Телепортация Работает всегда (но ограничение, связанное с ношением настоящего Амулета Йендора всё-таки накладывается), причём телепортация всегда контролируемая (можно выбрать место, куда телепортироваться). Единственный способ произвести неконтролируемую телепортацию -- выбрать место, куда телепортироваться заведомо нельзя, например, левый верхний угол карты. За телепортацию снимают 20 очков маны, как обычно при вызове телепортации через это сочетание клавиш (если маны осталось меньше, забирается вся). Отличие в том, что эта телепортация работает всегда, даже если способности к телепортации нет, даже если уровень запрещён для телепортации, даже если маны не осталось сосвсем. Голод возникает точно так же, как и при обычной телепортации по Ctrl+T.
3.5.5 Молитва В отличие от обычной игры, тут всегда можно успешно помолиться (но, как выяснилось, в Геенне молиться нельзя всё равно!). Когда вы собираетесь молиться, вас спросят, заставить ли бога быть довольным ("Force the gods to be pleased? [yn](n)")? Если вы ответите "y", молитва будет успешной. Если ответить "n", молитва пройдёт в обычном режиме. Принудительно успешная молитва, кроме того:
Зануляет время до следующей молитвы (ПЕРЕД молитвой; после молитвы время снова ненулевое);
Отрицательную удачу доводит до нуля;
Если ваш уровень веры меньше, либо равен нулю, он становится равен единице;
Уровень гнева бога становится равен нулю;
Закрывает глаза бога на остальные ваши недочёты.
3.5.6 Навыки В отличие от обычной игры, навыки можно прокачивать произвольным образом, даже если вы его не применили успешно необходимое число раз. Когда вы задействуете команду #enchance, вас спросят, хотите ли вы прокачать навыки без их развития ("Advance skills without practice?[yn](n)"). Если вы ответите "y", то сможете прокачать навык до максимума. Ограничения, присущие роли/текущему положению, остаются. Кроме того, в этом меню отображается справа для каждого навыка два числа. Первое -- число успешных применений, второе (в скобках) -- сколько применений надо до следующего уровня.
Если вы выбрали не развивать навыки без практики, то в заголовке меню будет выведено число слотов для расширения навыков, которое у вас осталось.
3.5.7 Геноцид Геноцид работает как обычно за одним исключением: если вы прочли святой свиток геноцида и в качестве ответа на вопрос, что вы хотите геноцидить (What class of monsters do you wish to genocide?), ответите "*", на уровне пропадут все монстры, кроме вас (включая вашего котёнка... постойте, он ещё с вами?!). Трупы и инвентарь монстры не оставляют.
3.5.7 Кости (bones) Отличие костей в режиме волшебника:
Когда вы умираете, вас спрашивают, сохранить кости или нет ("Save bones?[yn](n)"; "y" -- сохранить, "n" -- нет). Это относится только к смерти, если вы нажмёте "выход" (#quit), кости не сохранятся;
Когда вы заходите на уровень с костями, вас спрашивают, загружать кости или играть как обычно? ("Get bones?[yn](n)"). Можно отказаться от костей -- "n";
Если вы всё же захотели воспользоваться костями, то у вас будет выбор, оставить файл с костями ("n") или удалить ("y") (вопрос "Unlink bones?[yn](n)");
Можно сохранить кости на уровнях 1-3.
3.5.8 Наличие/отсутствие различных уровней В отличие от обычной игры, следующие уровни появляются с вероятностью 100%:
Большая комната (big room) -- в обычной игре вероятность появления 40%;
Форт Луидос (Ford Luidos) -- вход расположен в первой возможной сокровищнице, а не в случайной.
3.5.9 Дополнительные ограничения (conduct, voluntary challange) Кроме обычного списка всё ещё выполненных ограничений, а также числа загаданных желаний и числа сгеноциденных монстров, также выводится:
Сколько раз вы воспользовались оружием;
Сколько раз вы писали и читали;
Сколько раз вы превращались;
Сколько раз вы превращали объекты (превращения монстров не учитываются).
3.5.10 Допуск к квесту Если единственная причина недопуска к квесту -- недостаточный уровень веры, вам будет предложено временно повысить его. Однако если он будет превышать максимальный уровень, возможный на данный момент времени, после любого действия, его изменяющего, он уменьшится до максимально возможного значения.
3.5.11 Фонтаны Если выходит, что фонтан должен высохнуть (The fountain dries up!), то вместо высыхания вам выводится предупреждение (Dry up the fountain?[yn](n)). Если ответить "n", фонтан сохранится. 3.5.12 Езда верхом Вы всегда можете успешно залезть на лошадь, если ответите "y" в ответ на вопрос "Force the mount to succeed?[yn](n)". Но седло всё-таки понадобится.
3.6 Элементы геймплея, отсутствующие в обычной игре (кроме специальных команд; команды описаны в п. 3.4) Пункты 3.6.1-3.6.3 касаются в том числе "переменных окружения". Если вы не знаете, что это такое, но хотите использовать описанные возможности, добавьте в скрипт/командный файл, через который вы вызываете режим волшебника, строки вида: set ИМЯ_ПЕРЕМЕННОЙ=ЗНАЧЕНИЕ Это будет работать в Windows. В Linux/Mac OS X (последнее -- предположительно) следует написать export ИМЯ_ПЕРЕМЕННОЙ=ЗНАЧЕНИЕ
3.6.1 Wizard kit -- набор волшебника При игре в режиме волшебника есть возможность при старте игры заказать весь необходимый инвентарь. Для этого необходимо задать значение переменной окружения WIZKIT -- в неё необходимо поместить имя текстового файла. Также можно указать это имя в файле опций defaults.nh (с тем же именем; например, дописать в конец: WIZKIT=wizkit.txt). При этом значение переменной окружения "перебивает" файл настроек. В этом файле необходимо указать всё то, что вы хотите получить в инвентарь, кроме того, что ваша роль получает по умолчанию. В файле может быть максимум 128 строк. Каждая строка должна выглядеть так, будто вы загадываете ей желание (на самом деле эти строчки и обрабатываются функцией исполнения желаний). При начале новой игры (и только в этом случае) всё из этого файла окажется у вас в инвентаре.
3.6.2 Заказ нужных вариаций уровней Значение переменной окружения SPLEVTYPE определяет, которая из нескольких вариаций уровня будет находиться в игре. Если уровень чисто случайный или у него только один вариант, переменная не работает. Формат: "имя_уровня1-число,имя_уровня2-число,.." (пример: "bigrm-1,medusa-2,soko4-1". В таблице ниже приведены уровни, которые можно изменять. Примечание. Нумерация уровней Сокобана в Википедии и внутри игры не совпадает. Этим вызвано то, что внутриигровой уровень soko4-1 соответствует в википедии уровню 1b. Ссылки приведены правильные. На них и следует ориентироваться.
3.6.3 Заказ нужных специальных комнат. Задав значение переменной окружения SHOPTYPE, можно добиться генерации комнаты заданного специального типа на каждом случайно генерируемом уровне подземелья. Это не относится к Геенне. Это не относится и к случайным уровням в Квесте и в шахтах. В переменной окружения проверяется только первый символ. Чтобы задать значение переменной, нужно открыть окно командной строки в той папке, где у вас NetHack, после чего написать set SHOPTYPE=A (и нажать Enter). Вместо "A" нужно подставить нужное значение из таблицы, приведённой ниже. Примечание 1. Генерация комнаты происходит только на ещё не сгенерированных уровнях. Если вы уже были на уровне, он не изменится. Примечание 2. По ходу игры можно менять значение переменной, тогда тип специальной комнаты будет меняться. К примеру, заказали храм, спустились ниже -- вот он, храм. Сохранились, сменили значение переменной на "обычный магазин", зашли, спустились ещё ниже -- вот вам обычный магазин. Примечание 3. Заглавные и строчные буквы не различаются. Примечание 4. Сгенерировать магазин со свечками таким образом нельзя. Сокровищницу (vault), кажется, тоже (данный вопрос требует дальнейшего изучения). Примечание 5. Если игра не смогла по вашей переменной определить тип магазина, будет создан случайный магазин.
Таблица 10. Значение переменной SHOPTYPE для различных типов специальных комнат
Волшебные палочки (quality apparel and accessories)
-"-
(
Магазин
Инструменты (hardware store)
-"-
+
Магазин
Книги (rare books)
-"-
4 Советы по манипуляциям с персонажем в режиме волшебника
4.1 Общие советы 1. К сожалению, напрямую задать значения атрибутов нельзя. Но можно комбинировать potion of sickness/potion of gain ability до тех пор, пока соотношение атрибутов не станет приемлемым. 2. Чтобы всегда иметь достаточно маны, закажите себе Eye of Aethiopica. Однако, при серьёзных магических экспериментах, он может не успевать за вами. Тогда вам помогут 100 blessed scrolls of charging, если читать их растерянным (confused). Простейший способ получить растерянность в один ход -- potion of confusion. Не забудьте потом применить unicorn horn 3. Получить нужное число маны/здоровья можно при помощи potions of gain energy/potions of full healing соответственно. 4. Манипуляция удачей. Пожелайте себе luckstone. Пожелайте алтарь и 10 трупов Xan, к примеру. После жертвы каждого из них, нажимайте Ctrl+X и смотрите на втором экране удачу. Если стало слишком много, пожелайте себе зеркало и разбейте его (-2). В принципе, так можно получить любую удачу от -13 до +13. 5. Волшебные палочки всегда желайте (0:127). Не заряжайте израсходованные -- заказывайте новые! 6. Поскольку вы находитесь в тестовом режиме, ваш уровень веры (alignment record) может принимать странные значения (в том числе, отрицательные). На практике это значит, что крайне не рекомендуется приносить жертвы на чужих алтарях, чтобы их переделать в свои. Вы сами можете случайно сменить вероисповедание. А даже в режиме волшебника поменять вероисповедание больше одного раза нельзя. Это, в принципе, не проблема, т.к. вы всё равно можете телепортироваться в нужный уровень квеста и никакой квест-лидер вам не указ (в обычной игре квест-лидер не даёт выполнять квест, если вы сменили вероисповедание). Более того, артефакты призыва (и даже сам амулет Йендора) может быть заказан через желание. Но всё равно неприятно. Лучше пожелайте себе алтарь своего вероисповедания и развлекайтесь с ним. Или перед жертвой проверьте свой уровень веры (Ctrl+X, Enter). 7. Если ваши эксперименты связаны с телепортацией, вы станете очень голодным. Можно конечно раз за разом умирать и воскресать, но это приведёт к выводу целого ряда ненужных сообщений. Лучше заранее пожелать себе 50 lembas wafer или 50 K-rations. И есть по мере необходимости.
4.2 Как получить внутренние свойства (intrisic) Ниже приведена таблица: что желать, чтобы максимально эффективно получить то или иное внутреннее свойство.
Таблица 11. Типичные желания для приобретения внутренних свойства (intrisic)
Свойство
Что желать
Телепатия (telepathy)
blessed tin of floating eye meat
Видеть невидимое (see invisible)
blessed potion of see invisible
Защита от ядов (poison resistance)
blessed tin of green dragon meat
Защита от дезинтеграции (disintegration resistance)
blessed tin of black dragon meat
Защита от молнии (shock resistance)
blessed tin of blue dragon meat
Защита от огня (fire resistance)
blessed tin of red dragon meat
Защита от холода (cold resistance)
blessed tin of white dragon meat
Защита от сонливости (sleep resistance)
blessed tin of organge dragon meat
Болезнь телепортации (could teleport), контроль телепорта (teleport control)
не требуется; это и так есть -- всегда
Разборчивость в еде (could recognize detrimental food)
blessed scroll of food detection
Невидимость (invisible to others)
wand of make invisible
Скорость (fast)
wand of speed monster
Остальные свойства зависят не от съеденного/применённого, а от используемых предметов. Их я здесь не перечисляю.
nethackwiki.com/wiki/Wizard_mode -- описание режима волшебника на nethackwiki.com. Также были использованы другие материалы этой википедии;
Исходный код NetHack 3.4.3.
В случае, если когда-либо nethackwiki перестанет работать, её материалы можно найти в Архиве Интернета: web.archive.org/ Связаться с автором можно по адресу mailto:[email protected] .
В Ашане сделали систему, при которой, чтобы получить тележку, надо засунуть в неё золотой червонец. Тогда она снимается с цепи и можно её катать. А после покупок тележку надо прикатить обратно, прицепить её и получить червонец обратно.
Я не буду писать тут о том, что владельцы таким образом экономят на обслуживающем персонале за счёт удобства клиента, не буду писать и о контингенте, который тусуется на стоянке и выковыривает червонцы из тех тележек, которые покупатели бросили несмотря на этот самый червонец.
Напишу я про способ частичного обхода. Если вы идёте в Ашан не один, возьмите чётное число тележек. Тогда, когда будете уезжать, сможете сцепить их парами друг с другом и извлечь все червонцы, бросив тележки там, где не положено. Сцеплять надо ручками.
Это как Невидимый Горизонт (fukashi no kyoukaisen, 不可視の境界線, только видимый!
Люблю я такие "мистическо-магические" сериалы. Сделано, конечно, очень интересно, только я недоволен (фуюкай дэсу) двумя вещами: а) серий всего 12; из-за этого мир раскрыт плохо. Нужно ещё! б) концовка почти слита.
Почему почти и почему слита, я напишу ниже. Там спойлеры.
(спойлеры!) Честно говоря, этот штамп уже надоел. Какой штамп? Когда персонажа (как правило, главного героя) в конце убивают (или убирают другим образом), потом как следует об'ясняют зрителям, что это уже всё, совсем конец. А потом в конце этот персонаж как ни в чём ни бывало тусуется с остальными. И вот это уже не об'ясняется. Ну, ребята, блин. Либо уж спасайте персонажа изначально, либо убивайте на совсем. Чтобы не было никаких разночтений. Или это типа чтобы угодить и ненавистникам и сторонникам персонажа? То ли дело у Ремарка! (печальный смех за кадром)
Есть чуть лучший вариант -- "и встретились они в следующей жизни". Это ещё более-менее, но из той же серии.
Примеров таких и других сериалов я приводить не буду -- это же спойлеры.
Ну, если предположить, что режиссёры таки определились -- и либо сразу спасли Курияму (или хотя бы об'яснили её появление), либо убили её совсем, без этого туда-сюда, то концовка более-менее. Хотя... э! Да всё вернулось в изначальную позицию! Можно начинать заново.
Пара скринов:
И правильно! А то постоянно под глазами красные пятна, а тут уши хоть! А вот такое в игре NetHack на Астральном плане творится. Только там всех не вынесешь -- новые приходят.
Про Хирооми, который носится со своей сестрой и про ГГ, который тащится от очков не пишу -- всем всё понятно.
А точнее, пройдёт. Я когда-то обещал некоему товарищу новеллу про Титанду в стиле Декамерона и даже написал её, но проблема была в том, что мне нужна была проверка независимым экспертом, который бы одновременно смотрел Хё:ку и читал Декамерон, чтобы он мог оценить, был ли соблюдён стиль.
Наконец, один такой эксперт нарисовался -- благодарю Crawling Chaos за проверку. Он сообщает, что стиль соблюдён. К сожалению, я не знаю, обретается ли ещё тут тот товарищ, который просил, или уже нет. Но если вы знаете, кто это был, сообщите ему, пожалуйста, что кушать подано.
Тем, кто Декамерон не читал, может быть неинтересно. Но им (а также тем, кто забыл, что это такое), я напоминаю: в начале каждой новеллы Декамерона кратко описывается её содержимое вместе со страшными спойлерами. Такая штука называется "абреже". Сделал я абреже и тут (для похожести), но если не хотите узнать спойлеры раньше времени, абреже следует пропустить (оно написано курсивом)
На фестивале кукол школяр Орэки Хотаро понимает, что влюбился в школярку Титанду Эру. Оказывая ей знаки внимания, он выясняет, что любовь его взаимна. Влюблённые ищут возможность сойтись, и она представляется, когда школа выезжает на экскурсию в другой город. Чуть не попавшись во время утех, они оказываются взаперти, однако умело выпутываются из беды.
Благородные дамы и господа, я хочу рассказать вам историю, произошедшую в далёкой стране Японии в то время, когда там правил, а может и сейчас ещё правит великий император Акихито. Жил в небольшом городе школяр по имени Орэки Хотаро. Способности у него были выдающимися, однако не в тех науках, которые ему надлежало изучать. Однажды школярка Титанда Эру, не в меру любопытная и не менее выдающаяся, чем Орэки, родившаяся в знатной семье, попросила его помочь с проведением фестиваля кукол, который устраивали в их городе. Во время фестиваля, устраивавшегося каждый год, должно было проводиться шествие живых кукол, и роль одной из кукол исполняла Титанда. Так случилось, что слуга, который должен был держать над Титандой зонтик во время шествия, заболел, а заменить его было некому. Орэки согласился помочь Титанде и держать над ней зонтик. Перед шествием слуги одели Титанду в заранее подготовленное красивое платье и украсили её при помощи различных заколок и румян. Когда Орэки увидел преобразившуюся Титанду, то сразу без памяти влюбился в неё, да так сильно, что только себя хорошо и чувствовал, когда её видел. Он принялся оказывать ей всевозможные знаки внимания, угождал ей, помогал ей разгадывать загадки, удовлетворяя её любопытство. Вскоре Титанда тоже влюбилась в Орэки и показывала радость всякий раз, когда оказывалась в его обществе. Он это заметил и не прошло много времени, прежде, чем они открылись друг другу. Они решили сойтись, чтобы достигнуть конечной цели любви, однако в доме Хотаро постоянно находилась его сестра, отдыхавшая после долгого путешествия, а в поместье Титанды, как у знатной особы, жило ещё больше людей. Сойтись в школе, где учились оба школяра, было невозможно по тем же причинам. Так прошло некоторое время, пока они недоумевали, что же им делать, когда им сообщили, что их школа выезжает на экскурсию в другой город. Всех школяров посадили в большие, просторные самобеглые коляски и повезли в город Нару. Поскольку экскурсия должна была длиться три дня кряду, школяров сначала отвезли на постоялый двор. Главный наставник сказал, когда они приехали на постоялый двор: «Уважаемые школяры, мы приехали в древний город Нару, славный своими традициями и историей. На протяжении ближайших трёх дней мы будем познавать этот город и нравы его жителей. Надеюсь, это учение будет вам полезно в вашей дальнейшей жизни. Дабы вам было, где освежиться и почивать после тяжёлого учения, вас привезли на постоялый двор. Прекрасным дамам приготовлена просторная опочивальня на третьем этаже, а благородным юношам на четвёртом. Поскольку вы все молоды и горячи, я назначаю трёх наставников для того, чтобы они следили за вашим достойным поведением в ночную пору. Наставники Омити, Накамура и Танака будут дежурить и следить, чтобы школяры одного пола не оказались по случайности или по намерению в опочивальне, предназначенной для отдыха другого пола, либо иным незаконным образом не уединились друг с другом. Их собственная опочивальня находится на втором этаже под вашими. Я говорю вам это, чтобы вы не нарушали их покоя в дневное время, когда они сами будут отдыхать». После такой речи главный наставник велел школярам уложить свою кладь в опочивальнях и отправляться на учение. Титанда и Орэки поняли, что, несмотря на серьёзный дозор, у них, возможно, появится возможность тайно сойтись. Во время учения школяров вели по городу и рассказывали о его истории, показывали древние дворцы и храмы. Улучив момент, Орэки купил в уличной лавке длинную и крепкую верёвку. Потом они с Титандой держали уговор о том, что они будут делать ночью. Уже солнце село, когда они вернулись на постоялый двор, освежились и подкрепились изысканными кушаньями, подачей которых заведовал разумный сенешаль. После чего все школяры разошлись по опочивальням. Дождавшись времени, когда все остальные школяры заснули, Орэки встал со своего одра и вышел на балкон опочивальни, прихватив с собой верёвку. Крепко-накрепко привязав её к краю балкона, он спустил её вниз, после чего с великой осторожностью спустился на третий этаж, где его уже ждала Титанда. Они решили не сходиться ни в одной из опочивален для школяров, поскольку школяров в них было много, и кто-нибудь мог их случайно заметить, поэтому они спустились ещё ниже, на балкон второго этажа. Дверь балкона опочивальни для наставников, следящих за достойным поведением школяров, была открыта, поскольку погода стояла жаркая. В самой опочивальне никого не было, так как наставники вышли на работу. Орэки и Титанда зашли в опочивальню, где, к великому своему утешению, познали друг друга при лунном свете несколько раз подряд. После чего они вышли из опочивальни и поднялись по верёвке обратно, к себе. На другой день им снова удалось сойтись и в последний день поездки тоже, но удача бывает переменчива и, в третий день, когда они только начали утешаться во второй раз, они услышали, как дверь комнаты открывают. Всё, что они могли успеть сделать – спрятаться, прихватив с собой одежду, в шкафу для футонов, так в Японии называются одры, на которых ночью спят, а днём сворачивают и прячут, чтобы они не занимали места. Оставив небольшую щель, они стали наблюдать за происходящим в опочивальне. Один из наставников зашёл внутрь, запер дверь на засов, после чего он почти полностью закрыл дверь на балкон, а свой одр перенёс к этой двери. Потом наставник разместился на нём и, по-видимому, решил почивать. Любовники оказались обнажёнными в небольшом шкафу в опочивальне наставников без возможности тайно убежать оттуда. Будь они схвачены, Орэки бы грозило суровое наказание, а честь рода Титанды была бы потеряна. Для начала они с превеликим трудом оделись в свои ночные рубашки, поскольку обнажённость в тёмном шкафу располагала к продолжению утех, а обстоятельства нет. После чего они стали держать совет, что им делать. Выходило, что любой способ приведёт к тому, что они буду схвачены. Титанда выглянула в щель и увидела недалеко от шкафа слабое свечение. Она сказала Орэки: «Мне любопытно, что там светится!» Орэки выглянул и понял, что светился мобильный телефон, лежащий рядом с пустующим одром другого наставника, который разместил его близко к шкафу. Он с великой осторожностью высунул свою руку из шкафа и попытался достать телефон, однако тот был слишком далеко. Не хватало буквально длины ладони. Вылезти из шкафа он не мог, поскольку было неизвестно, спит наставник или нет. Тогда он попросил Титанду одолжить ему свой корсет-бюстгальтер. Не без труда получив желаемое, он высунул корсет в щель и попытался им зацепить телефон, однако чашечка была слишком лёгкой и соскальзывала с телефона, не двигая его. Тогда Орэки спросил у Титанды, нет ли у неё чего-нибудь тяжёлого. У неё была только большая заколка, которой она скрепила свои волосы, чтобы они не мешались во время утех и при лазании по верёвке. Орэки прикрепил заколку к одной из чашечек корсета и попытал счастья ещё раз. На этот раз чашечка не соскользнула и Орэки смог получить телефон. Телефон работал, так что Орэки решил написать письмо своему другу Сатоси, ещё одному школяру, который выехал на экскурсию вместе с ними и сейчас находился в опочивальне. Орэки написал: «Дорогой Сатоси! Желаю тебе с Маякой ежедневно столько же того, от чего берутся дети, сколько у меня с Титандой было в эти три дня. Сказать по правде, из-за этого мы оказались в довольно затруднительном положении. Мы утешались в опочивальне наставников, которые следят за достойным поведением школяров ночью, когда один из наставников, сам ведя себя недостойно, явился в свою опочивальню и, вместо того, чтобы работать, придавил собой свой одр. Мы укрылись в стенном шкафу, однако он свой одр так перетащил, что мы не можем тайно выйти. Помоги, пожалуйста, вымани его из опочивальни хотя бы ненадолго, тогда мы сможем сбежать. Благослови тебя Господь. Орэки». Письмо он, разумеется, сразу же удалил из телефона. После чего влюблённые принялись ждать помощи. Прошло совсем немного времени, прежде чем послышался стук в дверь. Сатоси стучал в дверь и звал наставника. Наставник поднялся с одра, но дверь не открывал. Сколько Сатоси его не звал, наставник не отзывался. Через некоторое время Сатоси перестал звать и удалился, а наставник лёг обратно. Тогда Орэки решил прислать наставнику-лодырю письмо от лица другого наставника, раз призывы о помощи от простых школяров тот не считает важными. Для начала он решил выяснить, чей же всё-таки телефон оказался у него. В записной книжки были телефоны Омити-наставника и Накамура-наставника, а телефона Танака-наставника не было. Значит, это был его телефон, так как в этой опочивальне должны были отдыхать только три наставника. Осталось определить, кто из них был лодырем. Омити-наставника Орэки знал хорошо, тот был очень аккуратен и педантичен. Так что лодырем был Накамура-наставник. Орэки подумал и написал ему письмо: «Уважаемый Накамура-наставник! Я работал и следил за достойным поведением школяров, когда усмотрел некоторую странную ситуацию, касающуюся двоих из них. Похоже, они заняты незаконным прелюбодеянием в одной из свободных комнат постоялого двора на первом этаже. Я бы хотел, чтобы вы были свидетелем, когда я их схвачу, однако не могу вас найти. Мне главный наставник сказал, что если мы схватим кого-либо из школяров за незаконными деяниями, нам дадут кошель с золотом. Так что прошу вас прийти на первый этаж, дабы мы смогли вместе схватить их, ибо свидетели в случае поимки очень важны. С уважением, Танака». Орэки отправил письмо и вскоре наблюдал чудесную картину, как Накамура-наставник в спешном порядке вскочил с одра и выбежал из опочивальни. Орэки с Титандой сразу после этого вылезли из шкафа и спешно поднялись в свои опочивальни, а верёвку выбросили. Так их тайна оказалась нераскрытой. А когда они вернулись из поездки, сестра Орэки уехала в новое путешествие, и, пока его родители выходили на работу, Орэки с Титандой смогли забавляться в его доме, что они и делали много раз, чего желаю и вам.
Кто не знает: если вам посылают отправление из другой страны, и вы хотите отслеживать его по номеру, то отслеживание номера в каждой стране происходит при помощи сайта местной почты. Например, вы заказали шнягу из Китая. Вот пока она ещё в Китае, её надо отслеживать на сайте почты Китая, а как в Россию в'едет -- на сайте почты России. Обратное тоже работает -- если вы отправили что-то из России, то после уезда из неё, надо смотреть местонахождение на сайте страны получения.
Может ли быть, что отправление следует транзитом через левые страны -- не знаю. Как и не знаю, где тогда искать.
Что меня в них бесит? Курсив во введении и в послесловии. Целые страницы курсива читаются тяжело.
Макс Фрай -- тот писатель, у которого на одной странице могут быть слова "хрен", "дичь" (в смысле "дикость") и "демиург", "вотще". Смотрится смешно.
Кратикие вердикты:
Горе господина Гро: интересно и относительно серьёзно (в отличие от всех остальных); Обжора-хохотун: не очень интересно -- очень жаль, что две под-истории внутри не об'единили связками; Дар Шаванахолы: очень интересно -- жаль что в конце частично обломали; Тубурская игра: очень интересно.
Постоянные отсылки к прошлым произведениям напрягают, хотя и даны ссылки "это событие упоминается там-то там-то". Но, извините, я не помню, что там было. Книжки Макса Фрая читаются зело быстро, но так же быстро забываются. Помню лишь малую часть.
О "Тубурской игре" хотел написать особо.
Во-первых, история "Хроник" действительно закончилась. Та, которая шла на фоне между рассказами. Но сделан задел и на продолжение в другой серии. Я бы поддержал подобное продолжение, хотя читателям могли надоесть одни и те же персонажи и один и тот же стиль.
Во-вторых, весьма любопытно, что автор поднял тему осознанных сновидений. Никогда ими не занимался.
В-третьих, Нумминорих Кута. Я вообще не мог вспомнить, кто это, пока прямым текстом не написали. Остальных более-менее помнил, а этого ну вообще нет.
В-четвёрых, сама эта самая "игра". Тубурская. Ооо... я думал -- "тубурская игра" -- наверное какая-нибудь очень сложная игра. Типа детектива. Кто всех превзойдёт по интеллекту, тот и победил. А остальных убивают. Ну, к примеру. А когда узнал, что это -- долго смеялся.
С точки зрения концепции мира "призраки" об'яснены не до конца, хотя ясно дано понять (за все Хроники), что они играют значительно более важную роль, чем можно было подумать.
Вот что интересно. Независимо от времени, в которое я лёг спать, я проснусь в районе полудня (если меня никто не разбудит). Даже если я лёг спать в 7 утра.
Я этого не понимаю -- есть вещи, которые приходится делать редко, к примеру, раз в год. И это всё равно задалбывает. Думаешь -- "ну вот, опять это делать". Например, собирать ёлку. Я не говорю о подготовке к новому году в принципе, я именно о сборке ёлки -- остальное таких ощущений не вызывает. Вот почему, а? И ведь таких вещей не одна, а минимум несколько.
Маме пришло SMS. "/BANK/ С вашей карты снято 9000 рублей. За информацией обращайтесь по телефону: 8903...". Это развод. Я про него читал. Хотел поприкалываться, но мне не разрешили. -_-
К слову, ни одной банковской карты на текущий момент у неё нет.
Не путать "Серебряную ложку" с "Длинной серебряной ложкой" (о которой я напишу чуть позже). UPD. Написал -- zhz00.diary.ru/p194628377.htm .
Этот сериал категорически не рекомендуется к просмотру вегетарианцам, да. Ибо поднята тема употребления животных в пищу. И на этом построен весь сериал. Серебряную ложку дарят младенцу, чтобы он не голодал -- этот сериал о том, как не голодают.
Ноитамина полюбила делать сериалы про сельское хозяйство. Но "Сельскохозяйственные истории" и "Серебряная ложка" -- разные вещи. Кстати, в "Серебряной ложке" был референс к "Сельскохозяйственным историям", когда сказали, что в некоторых школах варят сакэ. Серебряная ложка более серьёзная. И вызывает другие ассоциации. В первую очередь -- с книгами Джеймса Хэрриота. В силу более "животного" уклона.
Поразительная картина: мужик катит по двору тачку (на одном колесе), наполненную горячей водой. Докатывает её до пластикового ведра и начинает воду туда сливать.
Потом я понял, что это не наркомания. Мужик просто при помощи содержимого тачки исправлял дыры в катке, расположенном неподалёку.
Однако текущие погодные условия, мягко говоря, не способствуют заливанию катка -- ночью замерзает, днём подтаивает.
Ого, я нашёл ещё одного человека, который умышленно не регистрируется ни в каких социальных сетях и не выкладывает в инет свои фоточки. А я думал, я такой один.
Было замечено на разных компах и в разных средах разработки следующее явление: при пошаговой интерактивной отладке после очередного нажатия "следующая строка" программа иногда вместо почти мгновенного перехода к следующей строке изображает, что выполняет текущую. Может выполнять минуту, две, три, хотя в строке действие элементарное. Проявляется нестабильно и в разных местах. При прохождении мест без отладки никаких "зависаний" не происходит.
Ничто так не портит первое впечатление о первом попавшемся магазине, как пыльная вывеска. Даже если она выполнена на невысоком уровне (простой рубленый шрифт без оформления), но она не в пыли, то это ок. А то -- впечатление, что магазин заброшен. Даже если работает.
Есть такой интересный вид времяпрепровождения -- смотреть, как другие играют в компьютерные игры. Не могу это об'яснить, но это весьма занимательно (ещё можно подсказывать). Я это ещё в школе заметил -- тогда часто играли в приставки. И когда-то по телевизору гоняли передачу, где надо было звонить и управлять паровозиком на экране при помощи тонального набора (и все телезрители на это смотрели). Я никогда не звонил -- но смотрел.
В силу ряда причин не могу не продолжить писать про студентов -_-.
Студенты -- это толпа зомби с одним единственным желанием -- получить "зачёт". Все их предложения сводятся к "а давайте <любое условие>, а вы мне поставите зачёт". Например, "а давайте если я смогу двадцать секунд простоять на голове, вы мне поставите зачёт" (пример намеренно выдуманный). В ход идут любые уловки: махание рукой над листочком со словами "тут всё написано" (по сути там ничего не написано), поддакивание "группы поддержки": "Да он всё знает, поставьте ему зачёт!" (он ничего не знает), качание прав, подделка отметок и т.д.
И поддаваться этой толпе ни в коме случае нельзя. Стоит уступить -- и сядут на шею. Я, правда, не проверял, что будет, если уступить. Но что сядут -- очень отчётливо чувствуется. И мне другие люди говорили то же самое -- но тогда я это не познал на собственном опыте.
После работы с толпой зомби в 50 человек, которые имеют тягу не к познанию, а к зачёту, я чувствую, что всё меньше считаю их людьми.