Я давно пользуюсь этим методом поиска оптимальных статов с максимальным "выхлопом" персонажа, и вот решил написать аддон, который будет показывать в игре всё, что надо. Надеюсь вам понравится :)
Хочу выразить отдельную благодарность аддон-мейкеру icreator за помощь в написании интерфейса и её замечательный аддон AddonTools. Для работы аддона необходимо иметь AddonsTools, который можно скачать по ссылке
( AddonsTools "r74+")
Пару слов про коэффициент
Коэффициент это произведение модификаторов ваших статов, высчитываемый по формуле:
Коэффициент = (1 + %крита - %некрита) * (модификатор_силы/разума) * (1 + %точности/духа) * (1 - %промахов/резистов)
Т.е. чем он выше, тем лучше
В аддоне есть 3 типа расчёта коэффициента:
1. Тултипный коэф. Он высчитывается и пишет в чат при изменении атакующих статов персонажа. В бою не показывает, дабы не флудить лишний раз в чате
2. Статистический коэф. урона. При нанесении хотя бы одного удара начинает работать этот коэф., который определяет точные ваши модификаторы (исключение на данный момент точность/дух) и считает точный коэф. под данную статистику, т.е. под данный момент. Чем больше статистики, тем точнее результаты, причём в статистику не входит расчёт количества резистов при нанесении летального удара
3. Коэф. хила. Данный коэф. начинает считаться при первом же тике хила. В отличии от урона, в хиле для жреца можно точно определять значения духа, тем самым видеть реальную картину работы статов. В статистику не попадают резисты и расчёт духа при оверхиле
2ой и 3ий коэф. выводятся в специальную панель:
Где P - физ.урон (жёлтый), M -маг.урон (синий), H - хил (зелёный)
Дабл-клик по панеле сбрасывает статистику
Правый клик мыши по панеле открывает панель статистики, которую видно на скриншоте
Команды:
1. /coef
Включает/отключает отображение и работу аддона
2. /coefheal VALUE
Назначает константу хила и сохраняет её в конфиге. Значение VALUE это показатель чистого хила, о нём опишу ниже
3. /coefan
Включает/отключает отображение аналитики (Если статы подгоняете под себя то лучше отключить чтоб не флудил в чат)
Окно калькулятора статов:
Вызывается нажатием правого клика по окну статистики и имеет следующий вид
Мы видим два переключателя, первый переключает тип расчёта модификаторов (по тултипам/по статистике), а второй переключает вид урона/хила (по физ.урону/маг.урону/хилу). Ниже виден перечень атакующих статов класса, их числовое значение и модификаторы, рядом со статами кнопки увеличения/уменьшения стата на 1. Справа можно увидеть вводимое поле радиуса (от 0 до 30) и кнопку расчёта. По нажатии кнопки расчёта будут расчитаны оптимальные коэф. и статы по введённому радиусу и отображаться в этом же окне напротив списка статов
В самом низу находится информационное поле (поле статуса), в котором высвечиваются сообщения о неверном вводе радиуса, о нахождении/не нахождении опт.статов и тд
Пару слов про радиус: чем он выше, тем больше комбинаций рассматривается, но в тоже время имеет бОльшую нагрузку на компьютер и клиент. На радиус стоит ограничение до 30, дабы не ввести клиент в спячку
Окно настроек:
На данный момент окно не активно, но вскоре будет закончена над ним работа и выложено обновление
1. Включает/отключает аналитику
2. Включает/отключает логирование кэффициента в чат (при смене статов)
3. Константа хила (вводится константа хила, о ней написано чуть ниже)
4. Минимальный % крита (удача, по дефолту 0%, нужен для поиска опт.статов)
5. Максимальный % промахов (ловкость/интуиция, по дефолту 10%, нужен для поиска опт.статов)
6. Максимальный % резистов (ловкость/интуиция, по дефолту 30%, нужен для поиска опт.статов)
7. Минимальный % пробивания (точность/дух, по дефолту 0%, нужен для поиска опт.статов)
Теперь я расскажу, как всё это работает
1. Чистый хил
Под чистым хилом я подразумеваю хил, на который не накладываются раны, т.е. хил в результате падения. Для определения этого чистого хила (константы), надо иметь 100% хп, попрыгать со скалы и похилиться Благословением, но так, чтобы не было оверхила (чтобы после одного тика хп было менее 100%), после этого открывает лог боя и смотрим значение отхила. Нам нужно нормальное/обычное показание хила, т.е. если был крит 100к, то нам нужно значение 50000, если был некрит 25к, то нужно командой прописать 50000, пример /coefheal 50000, после этого аддон будет сам расчитывать модификатор духа при крите/нормальном/некрите именно при отхиле благой без оверхила
Данный метод работает лишь по той причине, что благословение имеет фиксированный отхил. Т.е. если наш чистый хил 50000, а модификатор духа 20%, то ваш исходящий хил без учёта духа будет 50000/1.2 = 41667, именно это значение берётся за константу и, если в бою блага хильнула на 60000 (обычным хилом), то ваш реальный дух будет 44% и именно это значение будет крутиться в аддоне
В дальнейшем буду искать подобные лазейки для некрохилов и для урона у различных классов
2. Аналитики
Каждый ваш удар/хил сохраняется и по набору достаточной статистики (от 100 ударов/хилов) начинает работу аналитика, которая уведомляет вас при низком значении того или иного стата. На данный момент аналитика довольно простенькая, в дальнейшем собираюсь развить её и добавить ей побольше "мозгов"
Аналитика делится на 2 вида: тултипная и статистическая. У тултипной спереди приписка [Статы], у статистической [Урон] и [Хил]
3. Калькулятор статов
Калькулятор работает под двумя режимами: по тултипам и по статистике, помимо этого он расчитывает модификаторы по физ.урону, маг.урону и хилу. Он полностью построен на функциях, которые используются в поиске опт.статов (о них чуть ниже), и точно также имеет определённую погрешность, связанную с приближением и не абсолютно точными формулами расчёта модификатора на основании количества статов. Но несмотря на погрешности, с его помощью можно увидеть, что же будет полезнее, 10 статов перекинуть в удачу или силу/разум ;)
4. Поиск оптимальных статов
Хочу сразу всех предупредить, данная методика не является панацеей, вам в любом случае нужно подумать головой, перед тем как перераспределять статы, которые вам показал аддон. Также аддон не может предугадать фазу луны, сарнаутский рандом и залипание, ведь только в аллодах при 500 ловкости может быть меньше промахов, чем при 700...
Как работает поиск:
1. Сперва аддон высчитывает ваши бонусные значения статов, которые вы имеете от вех, анализирует всю вашу статистику (чем больше статистики, тем точнее результат) и вычисляет ваши реальные модификаторы
2. После этого он гоняет ваши атакующие статы по введённому вами радиусу, автоматически расчитывая новые реальные модификаторы новых высчитанных статов на базе текущей статистики, и на их базе находит максимальный коэффициент под текущую ситуацию, т.е. под текущую статистику
3. После нахождения (или не нахождения) оптимальных статов, он печатает в окне калькулятора свои результаты. Можно увидеть новое количество стата, разницу с текущим количеством стата, новый модификатор и, непосредственно, новый коэффициент
4. Также заполняется информационное поле (статус бар) следющим видом: если разница между модификаторами менее 3% от текущего, то пишет о незначительном улучшении, если разница от 3% до 7%, то о среднем улучшении, если выше 7%, то о значительном. В случае не нахождения опт.статов, печатается соответствующее сообщение
Хочу предупредить, что формулы расчёта модификаторов не верны на все 100% по двум причинам, мы не знаем точных формул, все формулы выведены вручную (акутальны только для 51 уровней), хоть и имеют довольно малую погрешность (до 0.1%) и 2ая причина это округление Lua, компилятор автоматически округляет некоторые значения и в результате этих двух фактов может выйти погрешность в некоторых моментах до 0.4%, но в основном до 0.2%
Также хочу предупредить, что калькулятор статов и поиск оптимальных статов актуальны только для 51 уровней, так что будьте внимательны
Последующие обновления:
1. Допилить настройки
2. Закончить eng локализацию (не все фразы переведены)
3. Добавить расчёт точности/духа для ДД. Это может затянуться на неопределённый срок, т.к. у меня нету персонажей всех классов, но вы можете мне помочь в этом и как только будут найдены лазейки, так сразу они будут добавлены в аддон. Нужно найти умение, которое всегда наносит фиксированный урон (в основном доты/хоты) для каждого класса, например, для разведчика вроде этим являются раны, т.е. с помощью этого умения (желательно часто используемого) и можно будет определять точные показания точности/духа для ваших классов
4. Добавить "мозгов" аналитике
5. Добавить в аддон расчёт модификаторов для 47 уровней неРУ серверов. Надеюсь мне в этом помогут наши зарубежные друзья, т.к. возможно, модификаторы на 47 уровнях на РУ серверах будут отличаться от оных на неРУ серверах... это аллоды, тут всё возможно...
6. Добавить мультиязычность, на данный момент поддерживаются только РУ и АНГЛ
От себя исправлен вывод в чат (отображение коэффициентов статов)