Октябрь 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.
- Поддержка в режиме проектирования свойств: "можно писать", "полный вес", "можно делить", "игральная карта", "скрипт", "свет".
- Добавлен тип функций "пользователь". Функция "владелец" изменена на этот тип.
- Функция "почтовый_ящик", и аналогичное свойство у персонажа.