CombatStats и Convenience MM67 mod не влияет на игровой процесс, игровую механику или сложность оригинальной игры.
Мод требует патч Grayface и MMExtension, но ничего не добавляет и не меняет игру сверх этого
Мод может работать с любой сохраненной игрой, нет необходимости начинать новую. Сохранения останутся нетронутыми, если вы удалите мод (но зачем?).
По сути, это тот же старый добрый ванильный Might and Magic 6-7, без каких-либо попыток сделать вечную классику сложнее/интереснее/новее.
Для удобства и глубокого анализа группы были введены следующие функции:
- Классический журнал боя
- Регистрация каждого нанесенного (и полученного) урона с меткой времени, игроком, целью, размером урона, типом и источником (ближний бой, дальний бой или определенное заклинание)
- Формат сохранения CSV, настраиваемый
- Можно назначить имя файла лога для каждой сохраненной игры отдельно
- Вы можете выполнять собственный анализ и обработку, но основные вещи уже реализованы в игре
- Журнал боя в игре
- История последних ударов, как в ММ9
- Цвета по типу урона
- Обработка статистики урона в игре
- Накопление данных, таких как общий нанесенный/полученный урон и средний [наблюдаемый] DPS для ближнего боя/дальнего боя/магии
- Внутриигровые таблицы для сравнения эффективности членов группы
- Выбранный сегмент/текущая карта/общие данные за всю игру в отдельных таблицах
- Экспорт статистики в файл на память
- Рекорды урона, отдельно по ближнему бою, стрельбе и магии
- Расширенная страница персонажа
- Атрибуты (по цветам бочек) (спасибо MAW моду) с текущим значением модификатора
- Сопротивления магиям в процентах, по цветам стихий. Шансы негативных эффектов в зависимости оти типа сопротивления
- Окончательная метрика урона в ближнем и дальнем бою в виде тщательно [рассчитанного] DPS для выбора лучшей комбинации оружия
- Эффективное здоровье («Vitality»), использующее HP, класс брони (шанс промаха врога) и сопротивление магии в единой метрике
- Подсказки навыков, например, общая скидка торговца или текущий навык обезвреживания ловушек в зависимости от сложности области [Необязательно]
- Подсказки со средним уроном заклинаний, сообразно текущему уровню умений
- Удобные функции
- Автоматическая сортировка предметов. Заимствовано из мода MAW MMMerge с небольшими изменениями (алхимия/сортировка неопознанных предметов).
- Полное расписание путешествий / Карта мира / Учителя / Таблица рецептов алхимии в Autonotes (вкладка Seer) [Необязательно]
- Максимальный навык идентификации предмета и ремонта действует для всей группы [Необязательно]
- Автоматический ремонт предметов при наличии достаточного навыка [Необязательно]
- Грандмастерская идентификация монстра при нажатии ALT [Необязательно]
- Та же самая грандмастерская идентификация монстра, но для MM6 [Необязательно]
- Оповещения об истечении срока действия баффов (больше нет слабости от пропущенного Haste) [Необязательно]
- Будильник чтоб не пропустить закрытие магазинов [Необязательно]
- Версия MM6 или MM7 от GOG (не забудьте установить параметры совместимости с WinXP)
- Последний патч Grayface MM6, MM7 (протестирован для 2.5.7): https://grayface.github.io/mm/#GrayFace-MM6-Patch , https://grayface.github.io/mm/#GrayFace-MM7-Patch
- MMExtension v2.3: https://github.com/GrayFace/MMExtension
- Этот мод. Последняя версия в репозитории https://github.com/torkvato/CombatStats-MM67-mod (Code > Download ZIP)
Вместо двух последних шагов можно загрузить весь пакет с последней стабильной версией
https://drive.google.com/file/d/1PTUgZI5dy_-i55jeMWRD7cmfDV2XDPN6
Важное примечание: поскольку мелкие исправления все еще выпускаются, рекомендуется загрузить последнюю версию из репозитория, даже если вы скачали полный пакет\
- Удаление: запустите ccUninst.bat в папке Scripts. Установка и удаление модов не влияет на игровой процесс
- Сообщения об ошибках и поддержка в группе TG - https://t.me/+WAc2jt1nvT1iMzIy
Конфигурация Вы можете проверить доступные параметры конфигурации в файле Scripts/Global/ccInit.lua\ Отключить то что вы считаете читерским, посмотреть или переназначить управление.
Этот мод является осуществлением давней мечты, мечты увидеть в деталях, что происходит с командой героев, мечты получить реальные данные для бесконечных споров о том, кто лучше.
Долгое время я не знал, как подступиться к этой задаче, пока не увидел мод MAW
https://github.com/malekitsu/maw-mod-mmmerge
Я был буквально поглощен им несколько месяцев, наслаждаясь как игровым процессом, так и новыми знаниями о моддинге.
Мод MAW, разработанный Malekith и его командой, стал для меня просто откровением.
Оттуда я позаимствовал много того, что впервые появилось в MAW - цвета атрибутов, отображение характеристик DPS и Vitality и, конечно же, замечательную автосортировку инвентаря, без которой я теперь просто не могу играть.
Но прямые заимствования это далеко не все - мод MAW показал мне, что все возможно, и показал, как это можно сделать, заглянув в его код, я открыл для себя и Lua, и MMExtension.
Еще один замечательный человек, который фактически сделал возможным любой моддинг MM - Grayface, автор MMExtension. Просто невозможно недооценить его влияние на сообщество MM, как моддеров, так и геймеров.
Включение опции журнала боя создаст файл .csv в каталоге игры и будет регистрировать в нем все [успешные] попадания.
Вы можете полностью отключить журнал боя (CombatLogEnabled=0), регистрировать только урон группы (CombatLogEnabled=1) и урон группы и монстров (CombatLogEnabled=2)
Также в файле конфигурации вы можете указать разделитель журнала, но изменение порядка и добавление новых данных потребуют более подробных изменений кода
Нажав [ALT-C] можно выбрать новое имя для журнала. Сохранение игры также сохранит и новое имя файла, и все новые данные будут записываться в этот файл.
Таким образом, можно иметь несколько журналов для нескольких сохраненных игр/партий.
Поля:
- Временная метка в игровых "тиках". 256 тиков = 1 игровая минута = 2 секунды реального времени = 120 очков "восстановления"/ "Recovery".
- Номер игрока (0-3)
- Класс и уровень игрока
- Имя игрока
- Индикатор направления удара >> или <<, указывает на цель
- Имя монстра
- Нанесенный урон
- Вид урона (Огонь, Воздух, Тьма и т. д.)
- Источник урона, удар в ближнем бою, выстрел из лука/бластера или определенное заклинание с его навыком и мастерством
Поскольку игра обрабатывает каждый случай урона отдельно, удар элементарным зачарованным оружием даст две строки в журнале боя. То же самое с AoE-заклинаниями или заклинаниями типа "дробовик" (кроме Армагеддона, который считается отдельным скриптом и под нормальный урон не подпадает)
Помимо вывода в файл, нанесенный и полученный урон можно просмотреть в истории сражений в стиле MM9 (клавиша по умолчанию -[H] ) Нажав ALT-H можно вывести табличку со списком и подсчетом убитых монстров.
![alt text](https://private-user-images.githubusercontent.com/16902740/402393447-9d772466-850e-4028-a236-58e3fd3a6d5c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTc2NTYsIm5iZiI6MTczOTYxNzM1NiwicGF0aCI6Ii8xNjkwMjc0MC80MDIzOTM0NDctOWQ3NzI0NjYtODUwZS00MDI4LWEyMzYtNThlM2ZkM2E2ZDVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDExMDIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2NzRjMDViMWM1NWUyZWMxOWFjMjZjMTUyNDg5NjkyMTYzZDk2ODY2ZTMyYTI5YzQ4OWM1MjY5ZDViZDBlNWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.DImF_Gu01a0PFypsUw76W_jZykSdED0046lVz1sz9Qw)
Нанесенный урон
Мод накапливает и хранит урон, нанесенный группой и монстрами.
Урон делится на три категории: Ближний бой Melee, Дистанционный бой (луки и бластеры) - Ranged и магия Spells, каждая категория обрабатывается индивидуально для каждого члена группы.
Кроме того, есть три различных набора данных:
- Данные текущей локации: специфичные для определенной внутренней/наружной области, сохраняются до возрождения карты (примерно через 2 года)
- Полные данные: общая статистика с самого начала игры
- Данные сегмента: статистика с момента последнего ручного сброса ([R] на странице персонажа)
Сводки статистики по текущей карте можно получить, щелкнув [правой кнопкой мыши] в области DPS на странице персонажа
[ALT] и [CTRL] показывают данные всей игры и сегмента.
Здесь вы также можете экспортировать [E] эти таблицы в файл для дальнейшего использования.
Наблюдаемый DPS
DPS или урон в секунду является наиболее важным показателем боевого мастерства. Здесь мы рассчитываем общий урон, нанесенный игроком, деленный на общее активное время
Активное время рассчитывается с первого успешного попадания и заканчивается, если в течение 5 секунд нет успешных попаданий. DPS рассчитывается для каждого члена группы независимо и по тем же трем наборам накопления данных: локация, полный и сбрасываемый сегмент.
![alt text](https://private-user-images.githubusercontent.com/16902740/402393491-fc77963c-196b-4448-b2b7-a148eb8a0734.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTc2NTYsIm5iZiI6MTczOTYxNzM1NiwicGF0aCI6Ii8xNjkwMjc0MC80MDIzOTM0OTEtZmM3Nzk2M2MtMTk2Yi00NDQ4LWIyYjctYTE0OGViOGEwNzM0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDExMDIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU1ODM1OTRjYTJmNzIwYjZlYTVlZDhlNmE4Y2E5YmNjMjJmZWRiNWM5M2FjMDJiMTE1OTcyZjRhM2M5NTRhYmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YFH0YAeu031Qsoqj9Xo0gKkppeEB8A1Tg2MLRflb5fc)
Полученный урон Полученный урон на каждого члена группы накапливается по локации/полной игре/сегменту и показывается в одной из таблиц по [RClick], [ALT-RClick] и [CTRL-RClick] по строчке с Vitality Полученный партией урон так же делится на ближний бой/дальний бой/заклинание. Учитывается только урон, нанесенный монстрами и размещенными на карте ловушками. Урон ловушек на сундуках и урон от падения не включены в статистику и не отображаются в логах.
Рекорды
Мод будет записывать лучшие удары ближнего боя, дальнего боя и магии отдельно (также независимо для трех наборов данных: карта, полный и сегмент)
Чтобы преодолеть проблему нескольких видов урона/нескольких источников урона на удар, добавлена логика накопления.
Урон считается одним ударом, если он происходит в одну и ту же временную метку, нанесен одним и тем же игроком и против монстра с тем же именем.
Таким образом, удар ближнего боя с уроном Phys+Fire будет суммироваться, урон Fireball против группы монстров с одинаковым именем будет суммироваться.
В режиме реалтайма, урон от заклинаний с несколькими снарядами может быть размазан во времени по мере их попадания, и рекорды будут меньше.
Рекоды доступны правым кликом по строчке "Броня" на страничке персонажа.
![alt text](https://private-user-images.githubusercontent.com/16902740/411361966-d948a054-1692-457a-b706-93c7b3841261.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTc2NTYsIm5iZiI6MTczOTYxNzM1NiwicGF0aCI6Ii8xNjkwMjc0MC80MTEzNjE5NjYtZDk0OGEwNTQtMTY5Mi00NTdhLWI3MDYtOTNjN2IzODQxMjYxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDExMDIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTljMWRlM2NkZmNlYWNiZTY0NGVlNjk4NjBmMzk4NmEyNTRkNWU2NDBiOTEwODA0ZThjOTViNjYxN2ZlMjY5ZTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RSqPuAbXcntugNFAGb_L-xR8Wq2JkTsUWTtuWhKrTfk)
Урон в секунду, DPS
-
Процент попадания рассчитывается на основе текущего модификатора To-Hit против моба с известным классом брони AC
P = (15 + PlayerAttack * 2) / (30 + PlayerAttack * 2 + AC)
Для расчета считается что партия воются с более сильными монстрами и х AC (и Lvl) предполагается равным 3x Party Lvl (но не более 100) -
DPS рассчитывается на основе среднего урона, который учитывает
-
Вероятность промаха
-
Базовый урон оружия с уже учтенными Силой/Героизмом (числа уже указанные на страничке персонажа)
-
Постоянный и временный стихийный урон для обоих видов оружия (и артефактов/реликвий) (не показан явно)
-
Шанс утроения базового урона Мастерства кинжалов
-
Усиление Рук-молотов
Не учитываются: Слабость, Бонусы расовых особенностей, Сопротивления монстров
Средний Урон делится на текущее значение "восстановления" в секундах, чтобы получить окончательное отображаемое значение DPS, которое включает все факторы, влияющие на выходной урон, и, таким образом, может использоваться для сравнения оружия
Vitality (эффективное здоровье) Vitality рассчитывается с учетом шанса уклонения от физических ударов игрока (определяется AC) и магических сопротивлений. Веса сопротивлений урону рассчитываются на основе анализа входящего урона для полного прохождения игры хорошо пробафанной группой. Поскольку в игре существуют заклинания которые попадают всегда вне зависимости от АС и типы урона которые игнорируют сопротивления, итоговая метрика довольно своеобразна.
![alt text](https://private-user-images.githubusercontent.com/16902740/402393519-af850de2-4130-4086-9869-45d0ba30b621.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTc2NTYsIm5iZiI6MTczOTYxNzM1NiwicGF0aCI6Ii8xNjkwMjc0MC80MDIzOTM1MTktYWY4NTBkZTItNDEzMC00MDg2LTk4NjktNDVkMGJhMzBiNjIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDExMDIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI3YjM0MThhM2YwYzM5ZjMwMjlmNGRjNTZiOTZjNTUwMjNiYTIwMzYyZGRkMzA0MTc2ZTQ3N2IxMzg1OWYxZDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NNKvFkzSKffPeSGcNXNL7KW1y_-RoBrUNEfzczilupM)
Очень полезная функция мода — сортировка всего инвентаря группы или одного игрока нажатием одной кнопки (кнопки [T] и [R]) Сортировка перестраивает инвентарь, помещая самые крупные предметы на первое место и заполняя пробелы более мелкими, что позволяет освободить немного места. Кроме того, можно назначить игрока для предметов, связанных с алхимией ([Y]). После сортировки этот игрок получит следующие предметы в следующем порядке:
- Снаряжение с бонусом +Alchemy, если оно есть
- Пустые бутылки, бутылки с катализаторами и все простые зелья: R,B,Y,P,O,G
- Катализаторы в порядке возрастания силы
- Ингредиенты в порядке R-B-Y
- Остальные зелья — многослойные, белые и черные
Если инвентарь игрока с алхимией заполнен (всегда сохраняется 2 места), следующий игрок получит остальное. Для последнего (четвертого) игрока, следующим игроком будет третий. Так же есть возможность установить игрока который будет собирать неидентифицированные предметы [U], если вы по какой-то причине не отключили функцию расшаривания умения идентификации
Тренировочный манекен [ALT-L] Вызывает перед партией тренировочный манекен, парализованного моба с 32к здоровья, нулевым AC и сопротивляемостями. При этом файл журнала боя принудительно назначается как "cl_dummy.csv", чтобы не запортить данные обычной игры. Если вы сохраните игру после вызова манекена, новый файл журнала тоже сохранится, так что не делайте этого.
Справочная информация
Полезная информация об игре обобщена в нескольких удобных таблицах, включая полное расписание конюшен/лодок, карту регионов, местоположение учителей и полный сборник рецептов алхимии.
Каждый раздел может быть независимо включен/отключен в файле Scripts/ccInit.lua.
Общий ID предмета и навык ремонта
Предупреждение об окончании баффов Список отслеживаемых заклинаний может быть сконфигурирован в Scripts/ccInit.lua Используйте https://grayface.github.io/mm/ext/ref/#const.PartyBuff и https://grayface.github.io/mm/ext/ref/#const.PlayerBuff для точного имени.
Простой будильник Устанавливается в инициализационном файле в 24ч формате, например "17:30" или можно оставить пустым для отключения "" Время, конечно же, игровое. Чтобы не пропустить закрытие магазинов, например.
Тренировочны манекен [ALT-L] вызывает перед партией тренировочный манекен. Формально это парализованный монстр с 32к здоровья, отрицательным классом брони и нулеым сопротивлением. Все атаки попадают, все спеллы наносят полный урон. При вызове манекена данные лога боя начинают писаться в "cl_dummy.csv" чтобы не искажать данные реальной игры. Если вы сохраните игру после вызова манекена, этот файл станет основным, и чтобы вернуться к прежнему нужн будет назначить его вручную (ALT-C)
Cписок добытых монстров
![alt text](https://private-user-images.githubusercontent.com/16902740/411095328-8d982ff7-f992-4d97-be5a-f388f1e4b57a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTc2NTYsIm5iZiI6MTczOTYxNzM1NiwicGF0aCI6Ii8xNjkwMjc0MC80MTEwOTUzMjgtOGQ5ODJmZjctZjk5Mi00ZDk3LWJlNWEtZjM4OGYxZTRiNTdhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDExMDIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThjMDI5MzVmZjg3ODc2MzU0MDk5ZjdmOGI2OTRiYmJhMzc2MmYyZTkzMmEwZmEwOWE1ZDQ1ODZjYWJkNmQ5OWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aiSj0A4KvnveteYGV1FmjhcB4tuDCxMK3w1XFrKuNqM)
История боев
[H], как это было в MM9. Это перекрывает исторические заметки Венделла Твида, поэтому, если вам действительно нужны его работы, вы можете получить к ним доступ через книгу или переназначить клавишу в меню
Статистика урона
[RClick] на экране статистики игрока: нажатие на статистику DPS приведет к данным сегмента, нажатие на Vitality приведет к данным локации
[ALT]+[RClick] приводит к полной статистике с начала игры
На экране статистики персонажа:
[E] и затем [Y] для экспорта таблиц в файл
[R] и затем [Y] для сброса данных сегмента
Управление инвентарем
[R] для сортировки текущего инвентаря игрока
[T] для сортировки инвентаря группы
[Y] для выбора/отмены выбора назначенного игрока для Алхимии
[U] для выбора/отмены выбора назначенного игрока для Неопознанных предметов
Дополнительные заметки
[N] Дополнительные заметки, добавленные на вкладку Seer в Autonotes
- Расписание поездок
- Карта мира
- Таблица учителей
- Рецепты алхимии
ID Monster
Если соответствующая опция в разделе «легкие читы» включена, [ALT] при проверке характеристик монстра выдаст полную информацию GM
Та же самая опция доступна в ММ6 нажатием кнопки "G"
)