Октябрь 2003

01.10.2003

  • Доделано приготовление пищи, так же оно учитывается в командах "осмотреть" и "есть".
  • Подкорректированы параметры жажды... а то выпить, чтоб утолить жажду -59 нереально, это надо 6 литров воды.
  • Изменены имена файлов с объектами, вместо простого десятичного номера теперь восьмисимвольный hex-код. И при сортировке каталога Objects по именам, все объекты становятся в порядке номеров.
  • Исправлены объекты Китобоя.
  • Материалам из раздела "пища" заполнены параметры готовки.
  • Исправлена ошибка в преобразовании объекта при поломке/угасании: вместе со всеми из шаблона копировалась и сама функция "шаблон".

03.10.2003

  • Функция "вес_полный", и модификаторы описания объекта в зависимости от доли текущего веса от полного.
  • Написаны все шаблоны переходов между состояниями голода и жажды.

04.10.2003

  • Сделана проверка на некорректные символы в идентификаторе при создании комнаты.
  • Варианты команды: "есть <что>", "есть <что> кусок", "есть <что> <сколько>". Все по аналогии с командой "пить".
  • Свойства расы: "DrinkNormal", "DrinkGulp", "EatNormal", "EatPiece". Задают размеры глотка/куска для каждой расы.

05.10.2003

  • В паре мест сделана проверка на деление на ноль.
  • Функция "можно_делить" и одноименное свойство материала.
  • Команда "разделить".

07.10.2003

  • Готовность объекта видна и в виде модификатора описания.
  • При преобразовании объекта в шаблон не удаляются функции, связанные с одеждой.
  • Группа материалов "food/spice" и три материала в ней.
  • Свойства материалов "Spice", "SpiceDosage", "SpiceDescription", "SpiceTemplate".
  • Функция "приправа".
  • Приправы на объекте видны в виде модификаторов.
  • Команда "посыпать".
  • Функция "контжидкость_бесконечность".

08.10.2003

  • Исправлены несколько замеченных недоделок.
  • При сочетании света и огня вместо "(светится)" будет "(горит)".
  • Функция "скрипт", содержащая скрипт для данного объекта.
  • Добавлены скриптовые события для объектов: speech, greeting, take, put, drop, look.
  • Добавлено множество скриптовых функций и процедур.

09.10.2003

  • Скриптовые события для объектов: open, close, lock, unlock, wear, remove, sit, rest, sleep, awake, standat, read, write, hang, eat, drink, light, quench.
  • Все события, кроме speech и greeting, имеют вариант с суффиксом "_can", например take_can. Это событие вызывается до соответствующего действия, и может разрешить или запретить его.
  • Скриптовое событие "quench_auto", вызываемое при автоматическом гашении объекта по истечении времени горения. Может разрешить или запретить преобразование объекта в шаблон.
  • Скриптовое событие "random", вызываемое каждую секунду с данной вероятностью. (как для персонажей, так и для объектов)
  • Скриптовое событие "time", вызываемое в определенное время. (как для персонажей, так и для объектов)
  • Функция "нельзя_наполнить".

10.10.2003

  • (техническое) Программа избавлена от TApplication (наследие Delphi VCL), благодаря чему размер exe-шника уменьшился на ~300Кб. Кроме того, это позволило успешно скомпилировать проект под Линуксом.

12.10.2003

  • Команда "есть" меняет состав приправ, если они есть.

13.10.2003

  • Добавлены скриптовые события для объектов: go_can, go_msg, go.

14.10.2003

  • Функция "material_measure".
  • Свойства материалов: Gender, Measure, Skills.
  • В шаблонах на команду "одеть" исправлен глагол: не "одели", а "надели".
  • Механизм буферизации команд и времени выполнения команд (задержки между ними). Пока задержку имеет лишь команда "идти".
  • Функция "дверь_время", задающая время прохождения через эту дверь. При отсутствии этой функции время считается исходя из типов комнат.

15.10.2003

  • Свойство персонажа "Skills".
  • (техническое) Рабочая кодировка сервера изменена на KOI8-R.
  • Модификаторы на персонажа: "(что-то пишет)" и "(что-то делает)".
  • Команда "создать" и начата новая система создания объектов.
  • Свойство материала "Adjective" - прилагательное, обозначающее "сделанный из". Например для материала "камень" - "каменн{ый,ая,ое,ые}".
  • Множество новых материалов.

16.10.2003

  • Убран тип функций "текст", а функции "полное_описание" и "текст" переведены на тип "внешний текст".
  • Изменены английские названия функций: вместо "desc" - "sdesc", вместо "fulldesc" - "desc".
  • (техническое) Кардинально изменен формат хранения объектов, а так же многие списки строк в программе теперь хэшированы. Это ускорило работу примерно в три раза, и сократило в полтора раза объем данных для объектов (без учета книг).

17.10.2003

  • Исправлены некоторые ошибки в программе. (ошибка родовых окончаний, ошибка при шепоте "неизвестно кому")
  • (техническое) Переделан класс THashedStringList, чтоб не удалял строки при пустом значении.
  • Продолжено развитие команды "создать".
  • Раса "гном".

18.10.2003

  • Функция "дверь_статус", ограничивающая доступ по статусу.
  • Стартовой комнатой снова стала "Общая комната" из старой части мира.
  • Тип комнаты "освещенное помещение" - независимое от внешних условий помещение, всегда освещенное на уровне 0.5, без учета объектов-источников света.
  • Всем комнатам старой части мира изменен тип на "освещенное помещение".
  • Увеличено время перемещения, и притом добавлены модификаторы времени: полет уменьшает время в 4 раза, опьянение увеличивает время в 3 раза.
  • Переделана система задержки при перемещении, теперь это выглядит более реалистично - "Вы уходите" и затем пауза.
  • Убрана группа команд "расширенные", вместо этого добавлены две группы: "житель" и "привилегированный житель". Вместе с группой "администратор" они определяют команды, доступные по статусу.
  • Команда "создать" доступна только жителям.
  • Команда "перемешать".

20.10.2003

  • Несколько жидкостей.

21.10.2003

  • Исправлен текст, выдаваемый при переходе через двери.
  • При отключении в положении сна модификатор становится "(в глубоком сне)", а не "(в медитации)".
  • Команда "глюк", для сообщении об ошибках.
  • Фунеция "игральная_карта".
  • Команды "осмкарт", "откркарт" и "закркарт".
  • Поддержка в режиме проектирования свойств: "нельзя взять", "можно сесть", "можно лечь", "можно одеть".

22.10.2003

  • Команда "создать" автоматом ставит владельца создаваемого объекта. (доработать объект может только его создатель)
  • Поддержка в режиме проектирования свойств: "замок", "ключ".

24.10.2003

  • Возможность записать проект на бумаге.
  • Материал "камень/обсидиан".

25.10.2003

  • Функция "алиас". Алиасы это альтернативные названия объектов, по которым можно с ними обращаться. Карты при этом рассматриваются особо: они должны быть открыты, чтоб сработал алиас.
  • Всем картям даны алиасы типа "зм", где "з" - 6, 7, 8, 9, 10, в, д, к, т, а "м" - п, к, б, ч. Например "вк" - валет крестей. Во избежание пересечения с другими объектами, масть может указываться полностью, например "вкрестей".
  • Команда "сорткарт". Сортирует открытые карты у вас в руках.
  • Команда "создать" заменена на "проект новый".
  • Команда "проект отменить".
  • Команда "проект читать" и общая справка по команде "проект".
  • Раса "фея".
  • Нормальный перенос строк в списке свойств в режиме проектирования.
  • Поддержка в режиме проектирования свойств: "книга", "нельзя менять", "контжидкость", "нельзя наполнить".
  • Жидкость "керосин".
  • Подправлена пара социалов.

26.10.2003

  • Исправлена команда "следовать".

27.10.2003

  • Пункт настроек в меню проектирования.
  • Два разных вида списка свойств в проектировании.
  • Поддержка в режиме проектирования свойства "очки". (включает функции "очки_цвет" и "видеть_невидимое")

28.10.2003

  • Поддержка протокола MSP (MUD Sound Protocol). Полушутка-полуправда :) Сервер сообщает о том, что он поддерживает MSP, но со стороны клиента тоже должна быть поддержка.
  • После внимательного прочтения RFC854 больше нет проблемы с буквой Я.
  • Поддержка в режиме проектирования свойства "часы".
  • В режиме проектирования в свойстве "контжидкость" добавлен вопрос "можно пить".

30.10.2003

  • Добавлена настройка нумерации свойств в проектировании.
  • Удалена функция "можно_повесить_на_стену", ее заменяет присутствие функции "висит_на_стене".
  • Поддержка в режиме проектирования свойств: "хрупкость", "сломанный объект", "можно повесить", "можно есть".

31.10.2003

  • Тип функций "логический" теперь сходен с типом "перечислимый", и по сути является просто списком с двумя значениями, а не 0 и 1.
  • Поддержка в режиме проектирования свойств: "можно писать", "полный вес", "можно делить", "игральная карта", "скрипт", "свет".
  • Добавлен тип функций "пользователь". Функция "владелец" изменена на этот тип.
  • Функция "почтовый_ящик", и аналогичное свойство у персонажа.