┌────────────────────────────┬──────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────┐
│         Имя файла          │            Название py_macro             │                                             Описание                                              │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│damage_Log.py (damageLog.py)│{{py:xvm.damageLog.dLog}}                 │значение "formatHistory" из секции "log" файла damageLog.xc                                        │
│                            │{{py:xvm.damageLog.dLog_shadow('XXX')}}   │значение "XXX" из секции "log\shadow" файла damageLog.xc                                           │
│                            │{{py:xvm.damageLog.dLog_x}}               │значение "x" из секции "log" файла damageLog.xc или сохраненное значение координаты х в бою        │
│                            │{{py:xvm.damageLog.dLog_y}}               │значение "y" из секции "log" файла damageLog.xc или сохраненное значение координаты y в бою        │
│                            │{{py:xvm.damageLog.dLogBackground}}       │значение "formatHistory" из секции "logBackground" файла damageLog.xc                              │
│                            │{{py:xvm.damageLog.lastHit}}              │значение "formatLastHit" из файла damageLog.xc                                                     │
│                            │{{py:xvm.damageLog.lastHit_shadow('XXX')}}│значение "XXX" из секции "lastHit\shadow" файла damageLog.xc                                       │
│                            │{{py:xvm.damageLog.lastHit_x}}            │значение "x" из секции "lastHit" файла damageLog.xc или сохраненное значение координаты х в бою    │
│                            │{{py:xvm.damageLog.lastHit_y}}            │значение "y" из секции "lastHit" файла damageLog.xc или сохраненное значение координаты y в бою    │
│                            │{{py:xvm.damageLog.fire}}                 │если танк горит равен 100, иначе 0                                                                 │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│math.py                     │{{py:math.sum(x1,x2, … , xn)}}            │принимает список чисел, возвращает их сумму                                                        │
│                            │{{py:math.sub(a, b)}}                     │разность чисел (a - b)                                                                             │
│                            │{{py:math.mul(x1,x2, … , xn)}}            │принимает список чисел, возвращает их произведение                                                 │
│                            │{{py:math.div(a, b)}}                     │результат деления a на b (a / b)                                                                   │
│                            │{{py:math.pow(a, n)}}                     │возводит в степень n число a (a ^ n)                                                               │
│                            │{{py:math.abs(a)}}                        │возвращает абсолютную величину числа а                                                             │
│                            │{{py:random.randint(a, b)}}               │случайное целое число в диапазоне от a до b. Если a и b не заданы, то возвращает 0 или 1           │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│repairTime.py               │{{py:repairTimeEngine}}                   │время (секунды), оставшееся до починки двигателя                                                   │
│                            │{{py:repairTimeGun}}                      │время (секунды), оставшееся до починки орудия                                                      │
│                            │{{py:repairTimeTurret}}                   │время (секунды), оставшееся до починки башни                                                       │
│                            │{{py:repairTimeTracks}}                   │время (секунды), оставшееся до починки гуслей                                                      │
│                            │{{py:repairTimeSurveying}}                │время (секунды), оставшееся до починки приборов наблюдения                                         │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│score_panel.py              │{{py:score_panel.ally_frags}}             │количество убитых противников                                                                      │
│                            │{{py:score_panel.enemy_frags}}            │количество убитых союзников                                                                        │
│                            │{{py:score_panel.ally_vehicles}}          │общее количество союзников                                                                         │
│                            │{{py:score_panel.enemy_vehicles}}         │общее количество противников                                                                       │
│                            │{{py:score_panel.ally_frags_inverse}}     │количество живых союзников                                                                         │
│                            │{{py:score_panel.enemy_frags_inverse}}    │количество живых противников                                                                       │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│str.py                      │{{py:replace('str', 'old', 'new', max)}}  │заменяет в строке 'str' подстроку 'old' на 'new'. Параметр max указывает сколько раз будет заменена│
│                            │                                          │подстрока 'old' на 'new'. Если параметр max не задан, то заменяются все найденные 'old' на 'new'.  │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│totalEfficiency.py          │{{py:xvm.totalDamage}}                    │общий нанесенный урон игроком                                                                      │
│                            │{{py:xvm.totalAssist}}                    │общий урон нанесенный с помощью игрока                                                             │
│                            │{{py:xvm.totalBlocked}}                   │общий заблокированный урон игроком                                                                 │
│                            │{{py:xvm.damageReceived}}                 │общий полученный урон игроком                                                                      │
│                            │{{py:xvm.totalDamagesBlocked}}            │сумма {{py:xvm.totalDamage}} и {{py:xvm.totalBlocked}}                                             │
│                            │{{py:xvm.totalDamagesAssist}}             │сумма {{py:xvm.totalDamage}} и {{py:xvm.totalAssist}}                                              │
│                            │{{py:xvm.totalDamagesBlockedAssist}}      │сумма {{py:xvm.totalDamage}}, {{py:xvm.totalAssist}} и {{py:xvm.totalBlocked}}                     │
│                            │{{py:xvm.totalDamagesBlockedReceived}}    │сумма {{py:xvm.totalDamage}}, {{py:xvm.totalBlocked}} и {{py:xvm.damageReceived}}                  │
│                            │{{py:xvm.totalBlockedReceived}}           │сумма {{py:xvm.totalBlocked}} и {{py:xvm.damageReceived}}                                          │
│                            │{{py:xvm.damagesSquad}}                   │нанесенный урон взводом (урон нанесенный игроком не учитывается)                                   │
│                            │{{py:xvm.totalDamagesSquad}}              │общий нанесенный урон взводом                                                                      │
│                            │{{py:xvm.detection}}                      │количество обнаруженных противников (см. сноску 1)                                                 │
│                            │{{py:xvm.frags}}                          │количество фрагов (см. сноску 1)                                                                   │
│                            │{{py:xvm.assistTrack}}                    │урон нанесенный технике, обездвиженной игроком (сбитая гусеница) (см. сноску 1)                    │
│                            │{{py:xvm.assistSpot}}                     │урон нанесенный по засвету игрока (см. сноску 1)                                                   │
│                            │{{py:xvm.crits}}                          │количество нанесенных критических попаданий (см. сноску 1)                                         │
│                            │{{py:xvm.numberHitsBlocked}}              │количество заблокированных попаданий                                                               │
│                            │{{py:xvm.numberHitsDealt}}                │количество выстрелов с уроном                                                                      │
│                            │{{py:xvm.dmg}}                            │последний нанесенный урон                                                                          │
│                            │{{py:xvm.numberShotsDealt}}               │количество произведенных выстрелов                                                                 │
│                            │{{py:xvm.numberShotsReceived}}            │количество полученных попаданий                                                                    │
│                            │{{py:xvm.numberHitsReceived}}             │количество полученных попаданий с уроном                                                           │
│                            │{{py:xvm.numberDamagesDealt}}             │количество нанесенных повреждений                                                                  │
│                            │{{py:xvm.numberHits}}                     │количество попаданий                                                                               │
│                            │{{py:xvm.fragsSquad}}                     │количество фрагов взвода (фраги игрока не учитываются)                                             │
│                            │{{py:xvm.totalFragsSquad}}                │общее количество фрагов взвода                                                                     │
│                            │{{py:xvm.isPlayerInSquad}}                │возвращает 'sq' если игрок во взводе, иначе - пусто                                                │
│                            │{{py:xvm.totalDamageColor}}               │динамический цвет по общему нанесённому урону                                                      │
│                            │{{py:xvm.totalStun}}                      │общий урон, нанесенный по оглушенной вами технике                                                  │
│                            │{{py:xvm.isStuns}}                        │возвращает 'st' если техника игрока может оглушать, иначе - пусто                                  │
│                            │{{py:xvm.numberStuns}}                    │общее количество оглушений                                                                         │
│                            │{{py:xvm.numberDamagedVehicles}}          │количество поврежденной техники                                                                    │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│vinfo.py                    │{{py:vinfo.name}}                         │название своей техники или название техники цели                                                   │
│                            │{{py:vinfo.gun_reload}}                   │время перезарядки своей техники или время перезарядки цели                                         │
│                            │{{py:vinfo.vision_radius}}                │радиус обзора своей техники или радиус обзора цели                                                 │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│xvm.py                      │{{py:xvm.team_strength(a, e)}}            │возвращает строку соотношения сил команд вида XX = YY. Принимает два числа: a - сила союзников,    │
│                            │                                          │e - сила противников                                                                               │
│                            │{{py:xvm.screenWidth}}                    │ширина экрана в пикселях                                                                           │
│                            │{{py:xvm.screenHeight}}                   │высота экрана в пикселях                                                                           │
│                            │{{py:xvm.screenVCenter}}                  │середина экрана по высоте в пикселях                                                               │
│                            │{{py:xvm.screenHCenter}}                  │середина экрана по ширине в пикселях                                                               │
│                            │{{py:xvm.formatDate('value')}}            │где 'value' может принимать следующие значения:                                                    │
│                            │                                          │%a  - Сокращенное название дня недели                                                              │
│                            │                                          │%au - Сокращенное название дня недели (первая буква прописная)                                     │
│                            │                                          │%al - Сокращенное название дня недели (первая буква строчная)                                      │
│                            │                                          │%A  - Полное название дня недели                                                                   │
│                            │                                          │%Au - Полное название дня недели (первая буква прописная)                                          │
│                            │                                          │%Al - Полное название дня недели (первая буква строчная)                                           │
│                            │                                          │%b  - Сокращенное название месяца                                                                  │
│                            │                                          │%bu - Сокращенное название месяца (первая буква прописная)                                         │
│                            │                                          │%bl - Сокращенное название месяца (первая буква строчная)                                          │
│                            │                                          │%B  - Полное название месяца                                                                       │
│                            │                                          │%Bu - Полное название месяца (первая буква прописная)                                              │
│                            │                                          │%Bl - Полное название месяца (первая буква строчная)                                               │
│                            │                                          │%c  - Дата и время                                                                                 │
│                            │                                          │%d  - День месяца [01,31]                                                                          │
│                            │                                          │%H  - Час (24-часовой формат) [00,23]                                                              │
│                            │                                          │%I  - Час (12-часовой формат) [01,12]                                                              │
│                            │                                          │%j  - День года [001,366]                                                                          │
│                            │                                          │%m  - Номер месяца [01,12]                                                                         │
│                            │                                          │%M  - Число минут [00,59]                                                                          │
│                            │                                          │%p  - До полудня или после (при 12-часовом формате)                                                │
│                            │                                          │%S  - Число секунд [00,61]                                                                         │
│                            │                                          │%U  - Номер недели в году (нулевая неделя начинается с воскресенья) [00,53]                        │
│                            │                                          │%w  - Номер дня недели [0(Sunday),6]                                                               │
│                            │                                          │%W  - Номер недели в году (нулевая неделя начинается с понедельника) [00,53]                       │
│                            │                                          │%x  - Дата                                                                                         │
│                            │                                          │%X  - Время                                                                                        │
│                            │                                          │%y  - Год без века [00,99]                                                                         │
│                            │                                          │%Y  - Год с веком                                                                                  │
│                            │                                          │%Z  - Временная зона                                                                               │
│                            │                                          │%%  - Знак '%'                                                                                     │
│                            │                                          │Подробнее об данном макросе: https://koreanrandom.com/forum/topic/35339-                           │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│xvm.py (total_hp.py)        │{{py:xvm.total_hp.ally(norm)}}            │если norm не задан, то возвращает общее количество очков прочности союзников, иначе возвращает чис-│
│                            │                                          │ло от 0 до norm                                                                                    │
│                            │{{py:xvm.total_hp.enemy(norm)}}           │если norm не задан, то возвращает общее количество очков прочности противников, иначе возвращает   │
│                            │                                          │число от 0 до norm                                                                                 │
│                            │{{py:xvm.total_hp.color}}                 │цвет, зависящий от отношения очков прочности союзников и противников                               │
│                            │{{py:xvm.total_hp.sign}}                  │возвращает '<', '>' или '=', в зависимости от отношения очков прочности союзников и противников    │
│                            │{{py:xvm.total_hp.text}}                  │возвращает строку соотношения очков прочности команд вида XXXX = YYYY.                             │
│                            │{{py:xvm.total_hp.avgDamage(h, d)}}       │расчет урона до достижения среднего урона по текущей технике. h - текст, отображаемый перед уроном │
│                            │                                          │d - текущий урон в бою                                                                             │
│                            │{{py:xvm.total_hp.mainGun(h, d)}}         │расчет урона для получения медали "Основной калибр". h - текст, отображаемый перед уроном          │
│                            │                                          │d - текущий урон в бою                                                                             │
│                            │{{py:xvm.total_hp.getAvgDamage(a, b, d)}} │возвращает a, если вы в случайном бою и средний урон на текущей технике возможно рассчитать,       │
│                            │                                          │иначе возвращает b. d - текущий урон в бою                                                         │
│                            │{{py:xvm.total_hp.getMainGun(a, b, d)}}   │возвращает a, если вы в случайном бою и сумма очков прочности техники противника больше 999,       │
│                            │                                          │иначе возвращает b. d - текущий урон в бою                                                         │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│xvm.py (utils.py)           │{{py:xvm.dynamic_color_rating(r, v)}}     │макрос плавного перехода цвета между границами цветов из файла color.xc, r - название секции из    │
│                            │                                          │файла color.xc, v - значение. Пример: {{py:xvm.dynamic_color_rating('x', {{xwn8}})}}               │
├────────────────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│xvm.py (xvm2sup.py)         │{{py:xvm.xvm2sup(x)}}                     │переводит число x из шкалы XVM в процент превосходства (SUP%)                                      │
└────────────────────────────┴──────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────┘

1 - Для работы макросов {{py:xvm.detection}}, {{py:xvm.frags}}, {{py:xvm.assistTrack}}, {{py:xvm.assistSpot}}, {{py:xvm.crits}} в игре должны быть включены "События в бою".
