Evil Islands Addon library
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Что нового в последней версии
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[!] - Важное замечание!
[*] - Изменение.
[-] - Исправлена ошибка.
[+] - Нововведение.

---------------------------------------------------------------------------
 Версия: 0.10.0.0                                       [02.08.2020 21:30]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
    [Addon]
    AttackAnimSpeed=1                 - Включить динамическую скорость анимации атаки и каста.
    NewRunes=1                        - Включить поддержку новых типов рун.
    UsePrototypeActionsForMobAttack=1 - Использовать параметр действий из прототипа юнита для атаки моба.
    UsePrototypeActionsForMobCast=1   - Использовать параметр действий из прототипа юнита для каста моба.
    FastTeleport=1                    - Уменьшить минимальную длительность каста с 30 до 1 игровых секунд.
    DisableCrippledHL=1               - Отключить ломание конечностей.
    UnlockExperimentalSpell=1         - Разблокировать экспериментальные заклинания.
[+] Добавлены новые скриптовые функции:
    1.  Eval(script: string, count: float)
        Выполнить строку script, в качестве скрипта. В script используются одинарная кавычка
        вместо двойной для записи строк. Пример script: "ConsoleString('Hello!')".
    2.  GSSetPlayerVar(nPlayer: float, name: string, value: float)
        Установить значение переменной для конкретного игрока nPlayer. Имеет смысл только для
        сетевой игры, т.к. в одиночной игре она эквивалентна команде GSSetVar.
        В сетевой игре переменные, создаваемые командой GSSetVar общие для всех игроков.
    3.  GSGetPlayerVar(nPlayer: float, name: string) : float
        Возвращает значение переменной, установленной командой GSSetPlayerVar.
    4.  GiveExp(nPlayer: float, exp: float)
        Выдать опыт игроку с номером nPlayer. Если игрока с таким номером нет (например, -1),
        то опыт выдаётся всем игрокам в пропорциях аналогичным стандартной выдаче опыта
        при убийстве монстра.
    5.  StartCameraSave(path: string)
        Начать запись движений камеры в файл path.
    6.  StopCameraSave()
        Завершить запись движения камеры.
    7.  Say(message: string)
        Написать сообщение message в чат.
    8.  And(a: float, b: float, ...) : float
        Логическое "И". Возвращает 1, если все аргументы равны 1. Иначе возвращает 0.
    9.  Or(a: float, b: float, ...) : float
        Логическое "ИЛИ". Возвращает 1, если хотя бы один аргумент равен 1. Иначе возвращает 0.
[+] Из EI Plugin перенесено исправление номеров игроков, которое позволяет многим скриптам указывать
    отличное от 0 значение. Т.е. nPlayer в параметрах функций - реальный номер игрока.
    Чтобы получить номер игрока, используйте GetPlayerOfUnit. Важно учитывать, что этот номер
    может меняться в течении игры (например, при заходе/выходе игроков на карту).
[+] Так же из EI Plugin перенесены новые скриптовые функции:
    1.  GetPlayerOfUnit(unit: object) : float
        Возвращает номер плеера для юнита, если имеется. Для всех бесплеерных юнитов возвращает 0
    2.  GetUnitExp(unit: object) : float
        Возвращает общий опыт юнита, полученный за всё время игры
    3.  GetArmor(unit: object, part: float, id: float) : float
        Возвращает броню юнита.
        part - часть тела: 0 (голова), 1 (торс), 2 (л.рука), 3 (п.рука), 4 (л.нога), 5 (п.нога), -1 (общая броня)
        id - тип брони: 0 (impaling), 1 (slashing), 2 (crushing), 3 (termical), 4 (chemical), 5 (electrical), 6 (general)
    4.  GetObjectStringID(object) : string
        Возвращает ID объекта в виде строки
    5.  FloatToStr(float) : string
        Перевести число в строку
    6.  StrToFloat(string) : float
        Перевести строку в число
    7.  StrCat(string, string, ...) : string
        Объеденить две и более строк в одну
    8.  StrLen(string) : float
        Длина строки
    9.  Sin(float) : float
        Синус
    10. Cos(float) : float
        Косинус
    11. Pow(base : float, pow : float) : float
        Возвести число в степень (основание ^ степень)
    12. DistancePointPoint(x1: float, y1: float, x2: float, y2: float) : float
        Возвращает расстояние между точками
    13. NearestUnit(x: float, y: float, r: float, flags: float) : object
        Ближайший к точке (x,y) юнит. Поиск ведется в радиусе r
        Если flags = 1, то учитываются одушевленные объекты (люди, монстры и т.д.)
        Если flags = 2, то учитываются неодушевленные объекты (дома, деревья и т.д.)
        Если flags = 3, то учитывается все объекты
    14. UnitsNearPoint(x: float, y: float, r: float, flags: float) : group
        Получить список юнитов возле точки. Правила аргументов как для NearestUnit.
[+] Изменено несколько существующих скриптовых функций:
    1.  Add(a: float, b: float, ...) : float
        В отличие от оригинальной функции Add, поддерживает более двух аргументов.
    2.  Mul(a: float, b: float, ...) : float
        В отличие от оригинальной функции Mul, поддерживает более двух аргументов.
[+] Добавлена возможность сохранять переменные (GS vars) в файле персонажа сетевой игры (.mp-файл).
    Для работы с такими переменными нужно использовать функции GSSetPlayerVar/GSGetPlayerVar.
    Сохраняются только те переменные, имя которых начинается с "gvar.".
[+] Добавлено несколько новых консольных команд:
    1.  execs - запуск указанного скрипта из указанного текстового файла.
        Разница с командой @AddMob("...") в простоте (не нужно создавать .mob-файл ради скрипта) и
        в возможности запускать скрипт несколько раз (.mob-файл можно добавить только один раз)
    2.  listgvar - выводит список глобальных переменных (GlobalVars)
[+] Добавлена поддержка аргументов командной строки и команда для проверки скриптов на наличие ошибок.
    Для удобства работы с командной строкой аддона добавлен скрипт addon.bat.
    Если с его помощью открыть .mob-файл, то скрипт в файле будет проверен на ошибки.

[-] Исправлены несколько багов скриптового движка игры:
    1.  Баг циклов For и ForIf, в которых было невозможно использовать аргументы скрипта
    2.  Баг обработки переменных, начало имён которых совпадает с именем какой-либо функции: например caster: object
    3.  Баг функции ResetTarget, из-за которого игра завершалась с ошибкой
    4.  Баг, из-за которого не работали скрипты в главном меню игры
[-] Исправлен баг игры, из-за которого было возможно открывать сундуки при недостаточных характеристиках персонажа
[-] Исправлен баг аддона с загрузкой .mob-файлов мода из папок с нестандартными аттрибутами

---------------------------------------------------------------------------
 Версия: 0.9.0.0                                        [07.06.2019 21:00]
---------------------------------------------------------------------------
[+] Добавлена экспериментальная поддержка широго экрана
    Параметр WideScreen, 1 - включен, 0 - выключен. По-умолчанию равен 0
[+] Добавлена настройка дальности отрисовки объектов
    Параметр ObjectsDrawRadius, от 1 до бесконечности. По-умолчанию равен 100
[+] Добавлена настройка дальности отрисовки ландшафта
    Параметр LandscapeDrawRadius, от 1 до бесконечности. По-умолчанию равен 100

[!] Перечисленные параметры находятся в ключе реестра:
    HKCU\Software\Gipat.Ru\EI_Starter\Settings

---------------------------------------------------------------------------
 Версия: 0.8.0.0                                        [23.03.2019 21:12]
---------------------------------------------------------------------------
[+] Экспериментальная функция автоматического бэкапа персонажа в случае вылета игры
    Если игра завершилась с ошибкой, addon попытается сохранить персонажа в папку mp\backup
    N.mp - основной сейв, lootall-N.mp - вместе с персонажем сохраняется весь лут на карте
[+] В случае падения игры сохраняется дамп памяти процесса, который поможет найти баг
[+] Добавлено логирование (addon.log) + логирование срабатывания патчей
[+] Добавлена настройка для config.reg:
    [MOD]
    AddonVersion=A.B.C.D    - Задать минимальную версию addon.dll, необходимую для запуска мода.
                              Например, 0.8.0.0. Или короче: 0.8.

[*] Множество внутренних изменений (рефакторинг)

[-] Исправлен баг, из-за которого в игре мог пропадать звук

---------------------------------------------------------------------------
 Версия: 0.7.0.16                                       [21.01.2019 1:41]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
    [Addon]
    ShowAllQuests=1    - Показывать все квесты, а не один радомный на зону.

[-] Различные мелкие фиксы.

---------------------------------------------------------------------------
 Версия: 0.7.0.15                                       [31.12.2018 13:30]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
    [Addon]
    DistanceModifier=1 - Отключить моддификатор расстояния при вычислении аттаки.
    WeightBonus=1      - Отключить бонус веса при вычислении аттаки.

[-] Исправлен серьезный баг, приводивший к вылетам игры в произвольные моменты времени.

---------------------------------------------------------------------------
 Версия: 0.7.0.14                                       [01.01.2015 14:39]
---------------------------------------------------------------------------
[+] Добавлена поодержка binkw32.dll из ЗвА (нужно скопировать этот файл в папку стартера).
[+] Добавлена возможность переопределить файлы config/lights*.ini.
[+] Добавлены настройки для ai.reg:
    [AddonExp]
    Limit=N               - Установить ограничение максимального размера опыта.

    [Addon]
    MagicRandom=0...1     - Значение рандомизации магического урона (от 0 до 1 - доля от эффекта).
    AllowMagicNegative=1  - Разрешить отрицательный урон магии.
    DeagrPlayerOnLoose=1  - Игрок перестаёт гнаться за противниками вне зоны видимости.
    DisableRunaway=1      - Запретить уворачиваться от удара.
    ArchersDefence=1      - Включить защиту лучникам.

[-] Убрано ограничение на число .mob файлов в папке maps.
[-] Исправлена ошибка, из-за которой addon.dll всегда писал логи и замедлял игру.

---------------------------------------------------------------------------
 Версия: 0.7.0.13                                       [27.11.2007 01:15]
---------------------------------------------------------------------------
[-] Исправлен порядок просмотра перехвата figures.res. В первую очередь просматривается figures.res из папки мода.

---------------------------------------------------------------------------
 Версия: 0.7.0.12                                       [21.12.2005 09:35]
---------------------------------------------------------------------------
[-] В некоторых ситуациях файл speech.res не перехватывался.

---------------------------------------------------------------------------
 Версия: 0.7.0.11                                       [07.12.2005 02:38]
---------------------------------------------------------------------------
[-] Следующие файлы подключались не полностью: Figures.res, Textures.res,
                                               Redress.res и Menus.Res

---------------------------------------------------------------------------
 Версия: 0.7.0.10                                       [27.11.2005 00:08]
---------------------------------------------------------------------------
[-] При использовании GameDebugFile в файле настроек мода - игра
    не запускалась. Ошибка появилась с версии 0.7.0.6

---------------------------------------------------------------------------
 Версия: 0.7.0.9                                        [11.11.2005 00:27]
---------------------------------------------------------------------------
[-] Игра не производила поиск файлов "pers *" в ресурсах мода.
    Из-за этой ошибки у новых персонажей отсутствовали имена.

---------------------------------------------------------------------------
 Версия: 0.7.0.8                                        [31.10.2005 06:54]
---------------------------------------------------------------------------
[+] Реализована совместимость с Английской и Немецкой версией game.exe

---------------------------------------------------------------------------
 Версия: 0.7.0.7                                        [31.10.2005 03:30]
---------------------------------------------------------------------------
[+] Подключен файл streamsn.reg
    [CONFIG]
    streamsn.reg=config\streamsn.reg
[+] Проигрываются .mp3 файлы из папки Stream мода.
[+] Проигрываются .cam файлы из папки Camera мода.
[+] Подключен файл Movie.Ini
    [CONFIG]
    Movie.Ini=config\Movie.Ini
[+] Подключен файл Tutorial.ini
    [CONFIG]
    tutorial.ini=config\tutorial.ini
[+] Принудительное включение подсказок.
    [MOD]
    ForceShowTutorial=1

---------------------------------------------------------------------------
 Версия: 0.7.0.6                                        [28.10.2005 09:07]
---------------------------------------------------------------------------
[-] Серьезная ошибка, приводившая к тому, что часть ресурсов просто не
    перехватывалась!
[+] Возможность отключить оригинальные ресурсы игры.
    Первый символ имени должен быть знак: -
    [RES]
    speech.res=-Ignore
    sfx.res=-
[+] Проигрываются .BIK файлы из папки Movies мода.
[+] Подключен файл music.reg
    [CONFIG]
    music.reg=config\music.reg



---------------------------------------------------------------------------
Версия: 0.6.0.5 [09.12.2003 17:01]
---------------------------------------------------------------------------
[+] Добавлена возможность отключить автоматический запуск анимации в зоне
    "Развалины".
    Для отключения, в файле настроек мода config.ini, нужно указать:
    [MOD]
    PreventZone1Animation=1

---------------------------------------------------------------------------
Версия: 0.6.0.4 [24.07.2003 20:15]
---------------------------------------------------------------------------
[+] Добавлена обработка папки Camera.

---------------------------------------------------------------------------
Версия: 0.6.0.3 [16.05.2003 14:20]
---------------------------------------------------------------------------
[-] Для работы библиотеки требовалась PSAPI.DLL, которая отсутствует в
    Windows 95, 98, 98SE, ME.

---------------------------------------------------------------------------
Версия: 0.6.0.2 [04.05.2003 23:56]
---------------------------------------------------------------------------
[-] Устранена ошибка с глобальными переменными. Не функциональная.
[+] Чат теперь сохраняется в HTML, Ники подкрашиваются цветами как в игре.
[+] Добавлена поддержка Английского и Русского game.exe для следующих
    функции:
    Установка лимитов для Perks
    Альтернативный расчет Exp
    Отключение доступа к пунктам меню "Сетевая игра", "Новая игра",
     "Старая игра".
    Хранить сейвы в папке мода
    Привязка имен файлов зон ZoneXX к аллодам (для сетевой игры).
    Вывод отладочных сообщений об ошибках игры в файл
    Сохранение чата на сервере сетевой игры
    Подключение ресурсов мода.


---------------------------------------------------------------------------
Версия: 0.6.0.1 [02.05.2003 21:47]
---------------------------------------------------------------------------
[+] Добавлена поддержка перехвата функций в Game.exe для
    Английской и Немецкой версии.
    На данный момент реализованы следующие функции:
    работа с папкой Maps и подключение файла Config.reg.

---------------------------------------------------------------------------
Версия: 0.5.0.6 [26.04.2003 18:45]
---------------------------------------------------------------------------
[+] В файле настроек мода config.ini, добавлены новые ключи:

    [MOD]
    Multi=0  - Запрещает доступ к пункту меню "Сетевая ига".
    Multi=1  - Разрешает доступ к пункту меню "Сетевая ига". (По умолчанию)

    [MOD]
    Single=0 - Запрещает доступ к пунктам меню: "Новая игра", "Старая игра".
    Single=1 - Разрешает доступ к пунктам меню: "Новая игра", "Старая игра". (По умолчанию)

    [MOD]
    GameSaves=0 - Запрещает изменять путь к сейвам игры "Saves" и "Mp".
    GameSaves=1 - Разрешает изменять путь к сейвам игры. (По умолчанию)
    (Для мода   - "Игра Без модов").


..[lost in space]..

---------------------------------------------------------------------------
Версия 0.4.0.0 [20.02.2003 21:35]
---------------------------------------------------------------------------
Основное
~~~~~~~~
[+] У пользователей WinXP, Win2K имеется проблема с переключением
    на русский язык во время игры.
    В этой версии библиотеки, Мы реализовали один из придуманных нами
    способов решения этой проблемы.
    Суть способа заключается в следующем: при запуске игры мы удаляем
    процесс ctfmon.exe, из-за которого, собственно говоря, и возникает эта
    проблема. После завершения игры мы вновь запускаем этот процесс.

(c) 2003-2019 Gipat.ru Dev team.