Версия 2.4.8
13.01.2007
- В таблицах рас и сущностей добавлен столбец Thirst - коэффициент степени жажды. Он же может служить показателем водности существа.
- При воскрешении теперь удаляется эффект ожидания реинкарнации.
- Команда сброскоманд теперь также прерывает колдовство.
- Добавлены условия заклинаний: have_hunger, have_thirst.
- Добавлено заклинание: иссушение.
- Изменены условия заклинаний: loc_air, loct_air.
- Добавлены условия заклинаний: loc_airopen, loct_airopen.
- Добавлен тип действия заклинания: knockdown.
- Добавлено заклинание: газовый взрыв.
- В таблицах рас и сущностей добавлен столбец Warmth - коэффициент степени теплоизлучения.
- Добавлены эффекты: warmth_up, warmth_down, infravision.
- Добавлено заклинание: инфразрение.
14.01.2007
- Добавлены заклинания: прижигание ран, возгорание, оковы плоти.
15.01.2007
- Добавлена раса: огненный элементаль.
- Добавлена сущность: берсеркер.
- Добавлен навык: природная устойчивость.
17.01.2007
- В таблицы рас и сущностей добавлен столбец Corporeality - коэффициент материальности существа.
- В тех же таблицах столбцы Soul и Mind изменены с логических на численные, и являются коэффициентами соответственно астральной и ментальной силы существа.
20.01.2007
- В таблицу эффектов добавлены столбцы AddParam и APCoeff - идентификатор и коэффициент параметра, изменяемого данным эффектом. Теперь для эффектов, просто меняющих параметры, не нужно писать обработку в коде. (итог: +2кб таблица, -7кб код)
22.01.2007
- Исправлен глюк с минусовым счетчиком атак.
- Практика владения оружием теперь зависит от базовой скорости этого оружия. Ключевым понятием стало не число раз удачного использования (попаданий), а время удачного использования.
27.01.2007
- Завершены все изменения, необходимые для новой системы зрения.
- Функция PositionAsText перенесена как метод TUser.PositionText и оптимизирована с помощью использования TStringBuilder. (-1.5кб кода)
- Проверка на необходимость отправки шаблона (флаг guestinvis или призрак) перенесена из функции ParseTemplate в метод TUser.SendTemplate.
- Функция ParseTemplate модернизирована на использование TStringBuilder.
- Добавлены эффекты: ускорение протрезвления, замедление протрезвления.
- Добавлены заклинания: северное дыхание, ясность разума.
- Добавлено влияние опьянения на концентрацию.
28.01.2007
- Сообщение о появлении персонажа перенесено после самого перемещения, чтобы считалось по освещенности конечной локации. (это касается ВСЕХ видов перемещений)
- Упрощен метод SendMassMessage.
- Добавлено понятие режима имен (обычный, знакомства, реальный), и возможность указания данного режима для шаблонов, видимого имени, и поиска по имени.
- Удалено сохраняемое свойство персонажа Add и добавлен вызываемый при загрузке метод пересчета данного свойства.
- Добавлено заклинание: сила воздуха.
- Добавлена команда зрение.
02.02.2007
- Создан новый итератор персонажей (TUserIterator) и все старые итераторы (TSearchUser) заменены на его использование. (+1.5кб кода новый, -4.5кб кода старый)
- Исправлена пара ошибок в обработке шаблонов.
03.02.2007
- Оптимизированы функции работы со списками персонажей под использование TUserIterator_List. (-0.5кб кода и большое ускорение)
- Все ForEachUL заменены на использование TUserIterator. (-2.5кб кода)
- В класс локации добавлен список персонажей, находящихся в ней. Этот список не сохраняется на диск, и используется только для быстрого перебора персонажей в данной локации. (по сравнению с перебором ВСЕХ персонажей и фильтра по их свойству Room - это ОЧЕНЬ быстро)
05.02.2007
- Из расчетов диапазона и точки оптического зрения убрано все относящееся к расчету освещенности и поставлен один запрос освещенности локации.
- В локации добавлено не сохраняемое свойство Luminosity (текущий уровень освещенности) и метод UpdateLuminosity (расчет и обновление уровня освещенности). Расчет теперь не ведется при каждом запросе освещенности, но необходимо на все события, изменяющие источники света, добавить вызов обновления.
- Вызов обновления освещенности добавлен во все наиболее очевидные места.
- Для мобов не считается граница слабой различимости, во избежание их анонимности.
- Исправлены требования навыков при разборке проекта.
06.02.2007
- Изменен принцип действия держания: не «локация держащегося всегда равна локации несущего», а «при изменении локации несущего меняются локации всех держащихся».
- Для большей красивости переименованы свойства: TUser.Room в TUser.RoomId, TUser.RoomC в TUser.Room, TRoom.FileName в TRoom.Id.
- Исправлена команда !локскрипт: она работала только с текущей локацией.
- Исправлена ошибка в команде !мобкопия.
07.02.2007
- Создана таблица команд, куда перенесены все данные о командах. Удалены почти все конструкторы классов команд, так как данные, заполняемые ими, теперь содержатся в таблице. Удалено ручное создание экземпляров команд, заменено на загрузку таблицы. Из статики удален список социалов. (-34кб кода, -3кб статика, +29кб таблица)
- Все названия доп.команд перенесены из старого списка в общий языковой файл, что упростило их проверку. Список названий команд удален. (-10кб кода, -7кб статика, +4кб язык.файл)
- Добавлена раса: полуэлементаль (воздух).
08.02.2007
- Добавлены эффекты стихийных сущностей для возможности интерференций на них.
- Добавлено влияние материальности на чувствительность к критическому удару и к травмам.
- Добавлены эффекты: усиление запахов, ослабление запахов, блокировка запахов.
09.02.2007
- Создан класс TCommandParser, передающийся командам для разбора параметров. Все команды переписаны под его использование. (-11кб кода)
- Добавлены свойства персонажа Deity и Spouse.
- Ввиду неиспользуемости удалено свойство персонажа WhoString.
- Переписан метод получения WhoString и исправлены его применения.
- Типичная конструкция «ошибка при отсутствии параметра» заменена на один вызов метода. (-1.6кб кода)
- Доработана команда титул: если во введенном титуле есть имя, то титул заменит собой всю строку из кто, включая имя. Таким образом можно задавать любые титулы, в том числе и со словами перед именем.