> For the complete documentation index, see [llms.txt](https://buff-inc.gitbook.io/buffmeplease/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://buff-inc.gitbook.io/buffmeplease/swift-mastery/average-support-model.md).

# Постановка вопроса

## Задача исследования

Начнём с определения критерия того, что мы будем считать эффективностью того или иного сочетания параметров. Как юнит поддержки, вы вносите основной вклад в прохождение рейда повышением урона союзников. А значит, его изменение для нас и будет основным параметром, по которому мы определим, выгоден тот или иной билд, или же нет. Использовать будем следующую формулу:

$$
Dmg\_{Ally}=X \cdot f\_A \cdot U\_A \cdot f\_S \cdot U\_S \cdot \bigg(f\_T \cdot U\_T + f\_Z \cdot U\_Z\bigg)
$$

Не бойтесь этой формулы: она очень проста в своей сути.

$$X$$ — некий базовый урон ДД до того, как у него появляется саппорт. Эту величину нам не нужно узнавать или определять: она везде будет неизвестной. Но очевидно, что если в одном билде у нас получится $$Dmg\_{Ally}=X$$, а в другом $$Dmg\_{Ally}=5X$$, то второй — впятеро лучше.

$$f$$ — это прирост. Мы показываем, как посчитать его в разделах о ☆[мечике](https://buff-inc.gitbook.io/buffmeplease/main-buff/)☆, ☆[стигме](https://buff-inc.gitbook.io/buffmeplease/stigma-buff/)☆, ☆[зетке](https://buff-inc.gitbook.io/buffmeplease/z-buff/)☆ и ☆[Тшке](https://buff-inc.gitbook.io/buffmeplease/t-buff/)☆. Это некий процент, на который вырастает урон ДД при наложении конкретного баффа.

$$U$$ — это аптайм наличия баффа. Если ваш бафф висит половину времени боя, логично, что его моментальный вклад надо умножить на 50%.

Баффы от T и Z суммируются в одной скобке потому, что так задумано разработчиком. Так они рассчитываются в игре, это не какое‑то математическое усложнение от нас.

Вот и всё! Значит, нам надо ответить на следующие вопросы:

1. Каков прирост урона от каждого из баффов?
2. Каков аптайм каждого из баффов?

…либо, разумеется, можно сразу выяснить произведение одного на другое, если это удобнее.

## Модель персонажа

Каждый персонаж уникален, и такой расчёт, вообще говоря, нужно вести индивидуально. Но мы хотим узнать не точную величину забаффа, а зависимость оной от параметров. Нам интересна тенденция, а не конкретика, поэтому мы будем использовать то, что называем «усреднённым саппортом». О том, кто это такой и как он выглядит, написано [отдельно](/buffmeplease/glossarium/average-support.md) — здесь же приведём основные параметры оного.

{% hint style="info" %}
Эффективность увеличения силы атаки — 63.90% \
Эффективность увеличения урона — 16.45% (до множителя мастерства и без самоцвета)\
Эффективность стигмы — 42.93%
{% endhint %}

Всё это значит, что мы уже знаем большую часть из необходимых для расчёта данных.

Так как мы рассматриваем именно тенденцию, будем считать, что персонажи находятся в самых стандартных и общепринятых билдах, без повышенного набора, без пониженной защиты и т. п. Выпишем себе в табличку все умения и их базовое время отката, а также величину базового набора классовой шкалы.

## Методика расчёта

{% stepper %}
{% step %}

### Узнаём величину набора

По формуле из соответствующего ☆[раздела](https://buff-inc.gitbook.io/buffmeplease/gauge-formula/)☆ вычисляем для каждого умения, сколько оно набирает за каст.
{% endstep %}

{% step %}

### Считаем время перезарядки

Воспользовавшись другим ☆[разделом](https://buff-inc.gitbook.io/buffmeplease/cooldown/)☆, вычисляем время перезарядки для каждого умения.
{% endstep %}

{% step %}

### Вычисляем набор в секунду

Здесь есть множество нюансов. Например, у художницы время перезарядки Архиумения зависит от числа сданных Z. Но для каждого такого случая мы вычисляем среднестатистические величины. Например, в описанном случае мы знаем, что для ускорения отката Архиумения надо сдать четыре Z, а скорость набора Z — вещь вычисляемая, следовательно, вычисляема и величина, на которую в среднем сокращается КД Архиумения.

{% hint style="danger" %}
Критически важный нюанс: в любом билде у любого саппорта на этом этапе становится ясно следующее:

При увеличении мастерства <mark style="color:red;">**уменьшается**</mark> величина набора в секунду!

Выигрыш от повышения мастерства <mark style="color:red;">**всегда**</mark> заключается в том, что эффективность классового баффа растёт быстрее, чем падает его аптайм.

<mark style="color:red;">**Запомните:**</mark> более высокое мастерство делает вас более медленным, повышает цену ваших ошибок, но и награждает сильнее, чем более высокая сноровка.
{% endhint %}
{% endstep %}

{% step %}

### Рассчитываем аптайм Z

Мы знаем, сколько единиц шкалы Z потребляет за каст, знаем, сколько персонаж набирает в секунду. Значит, можем вычислить и время, за которое набирается одна полная Z. А время действия Z, делённое на время её набора — это и есть её аптайм.

{% hint style="info" %}
Здесь выделяется паладин: у него вся система полностью иная, т. к. классовый бафф можно продлевать во время его действия с помощью определённых механик набора.
{% endhint %}

<details>

<summary>Расчёт для паладина:</summary>

Вспомним основные моменты, характерные для [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1]:

{% hint style="warning" %}

1. Шкала веры тратится постепенно.
2. Обычный набор во время активной ауры получать нельзя, а фиксированный — можно.
3. 100.0% (10 000 ед.) шкалы веры равны 16.0 секундам действия [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1].
   {% endhint %}

Что нам это даёт?

Во‑первых, паладин не может копить шкалу для следующего классового баффа, пока активен текущий — ему нужно дожидаться того момента, когда текущий полностью опустошит шкалу. Поэтому для расчёта аптайма нужно учитывать не только время набора шкалы для активации [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1], но и время её действия.

Во‑вторых, фиксированный набор можно получать и во время [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1], и вне её, а обычный набор — только во втором случае. Из‑за этого время действия [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1] нужно вычислять вручную — просто взять 16.0 секунд, увы, не получится.

{% stepper %}
{% step %}

### Базовое потребление шкалы веры Благословенной аурой

Здесь всё просто: достаточно разделить шкалу на время.

$$
\dfrac{10 000}{16}=625\text{ (ед./сек)}
$$
{% endstep %}

{% step %}

### Время действия Благословенной ауры

На этом этапе нам нужно узнать суммарную величину фиксированного набора в секунду из всех источников. Обозначим эту величину как $$Meter\_{Fixed}$$.

Про эту величину нужно понять следующее: в отличие от $$625$$, которые отнимают шкалу, $$Meter\_{Fixed}$$, наоборот, её прибавляет. Отсюда следует, что итоговое потребление шкалы веры — это разность между двумя этими значениями. Если эта разница станет нулевой или отрицательной, [<mark style="color:orange;">**Благословенная аура**</mark>](#user-content-fn-1)[^1] никогда заканчиваться не будет, что логично: шкалы веры будет поступать либо столько же, сколько потребляется, либо больше, из‑за чего она всегда будет оставаться на том же уровне или идти вверх соответственно.

Теперь мы можем посчитать время действия [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1]:

$$
\begin{cases} \infty &\text{$625-Meter\_{Fixed} \le 0$} \  \dfrac{10 000}{625-Meter\_{Fixed}}&\text{$625-Meter\_{Fixed} > 0$}  \end{cases}
$$

На момент написания этого раздела паладин в обычных условиях не может поддерживать [<mark style="color:orange;">**Благословенную ауру**</mark>](#user-content-fn-1)[^1] бесконечно, поэтому дальше будет учитываться только ситуация, когда $$625-Meter\_{Fixed} > 0$$.
{% endstep %}

{% step %}

### Время набора шкалы

На этом этапе нам нужно узнать суммарную величину обычного набора в секунду из всех источников. Обозначим эту величину как $$Meter\_{Common}$$.

Поскольку вне [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1], помимо обычного набора, можно получать и фиксированный, время набора вычисляется следующим образом:

$$
\dfrac{10 000}{Meter\_{Fixed}+Meter\_{Common}}
$$

{% hint style="info" %}
В $$Meter\_{Common}$$ также входит пассивное восстановление шкалы веры за нахождение в бою, равное 26 ед./сек. Эта величина довольно маленькая, и увеличить её никак нельзя, но для чистоты вычислений её следует учитывать.
{% endhint %}
{% endstep %}

{% step %}

### Аптайм Благословенной ауры

Наконец, можно посчитать аптайм. Как уже было упомянуто, чтобы начать накапливать шкалу веры для новой [<mark style="color:orange;">**Благословенной ауры**</mark>](#user-content-fn-1)[^1], нужно, чтобы предыдущая закончилась, т. е. потратила всю шкалу.

Поэтому, формула для аптайма выглядит вот так:

$$
\dfrac {\dfrac {10 000} {625-Meter\_{Fixed}}} {\dfrac {10 000} {625-Meter\_{Fixed}}+\dfrac{10 000}{Meter\_{Fixed}+Meter\_{Common}}}\text{, где $625-Meter\_{Fixed} > 0$}
$$
{% endstep %}
{% endstepper %}

</details>
{% endstep %}

{% step %}

### Рассчитываем аптайм T

Здесь ещё проще: нам ведь уже известно КД Архиумения. Делим на него время его действия — получаем нужную величину.
{% endstep %}

{% step %}

### Подсчитываем силу забаффа Z

Это несложно: надо просто прибавить к нашей модельной величине модельный же самоцвет и умножить всё перечисленное на коэффициент от мастерства, как показано в математическом ☆[разделе](https://buff-inc.gitbook.io/buffmeplease/z-buff/)☆.
{% endstep %}

{% step %}

### Готово!

У нас есть всё, нужное для расчёта. Подставляем в итоговую формулу и добавляем маленькие нюансы: автовычисление аптайма «мечика» на основании количества сноровки, учёт <img src="https://1753870032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRQvOwH3eOgqBiHbBpgye%2Fuploads%2F5H4pnmnBwzoIle8wdmkU%2Fbuff_18.png?alt=media&amp;token=ce53d4c4-3595-4f45-8986-29ed1c7d6f8d" alt="" data-size="line"> [<mark style="color:yellow;">**Собирателя душ**</mark>](#user-content-fn-2)[^2], синергий группы и прочего, и прочего…
{% endstep %}
{% endstepper %}

[^1]: ![](https://1753870032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRQvOwH3eOgqBiHbBpgye%2Fuploads%2FXcLwvE7d7kFiwgq07QLO%2Fhk_skill_01_21.png?alt=media\&token=20705e90-ac96-4545-8326-0843806980d2)

[^2]: При каждом нанесении урона противнику герой с некоторой вероятностью создаёт в радиусе <mark style="color:yellow;">8.0 м</mark> от себя одну усиленную на <mark style="color:green;">16.00%</mark> ауру, которая может быть получена только героем, и одну усиленную на <mark style="color:green;">16.00%</mark> ауру, которая может быть получена только союзниками героя. (Восстановление: <mark style="color:yellow;">10.0</mark> сек.)
