Ночной Ветер Суббота
20.04.2024
09:55
Приветствую Вас Гость | RSS Главная | Расчет появления временных эффектов (бафов/дебафов) - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Наш World of Warcraft » Теорикрафт » Расчет появления временных эффектов (бафов/дебафов) (статья)
Расчет появления временных эффектов (бафов/дебафов)
СевероДата: Понедельник, 16.03.2009, 18:47 | Сообщение # 1
Группа: Модераторы
Сообщений: 102
Статус: Offline
Введение

Очень часто встречаются таланты, с которыми появляется вероятность получить какой-либо баф на некоторое время. Для оценки полезности такого таланта важно знать, какой прирост к дпс дает этот баф и какую долю времени мы будем под этим бафом. В итоге можно посчитать какой прирост дпс даст каждое очко вложенное в талант. На основе этой информации можно строить рейдовые билды, вкладывая вначале в таланты дающие максимальный прирост к дпс.

 
СевероДата: Понедельник, 16.03.2009, 18:52 | Сообщение # 2
Группа: Модераторы
Сообщений: 102
Статус: Offline
Расчет средней длительности эффекта

Пусть p - вероятность появления бафа (или вероятность наложить дебаф на противника). Как правило это вероятность появляется при каждом касте атакующего закла на противника или прикаждом тике дота и т.п. Тогда 1-p - вероятность что бафа не получим.

Для простоты назовем
p - вероятность попадания
1-p - вероятность промаха

Тогда
Hn = p^n * (1-p) вероятность n попаданий подряд
Mn = (1-p)^n * p вероятность n промахов подряд

Нетрудно убедиться в условиях нормировки

Sum Hk = 1
k=[0..inf]

Sum Mk = 1
k=[0..inf]

Среднее число попаданий подряд
H = Sum k * Hk = 1/(1-p)
k=[0..inf]

Среднее число промахов подряд
M = Sum k * Mk = 1/p
k=[0..inf]
т.е. следующее попадание будет в среднем через 1/p промахов

Ради проверки предыдущих выкладок, убедимся, что доля попаданий равна
H/(H+M) = p

Допустим попадание возбуждает некий эффект (накладывает бафф/дебафф). Необходимо посчитать долю времени f в течении которого будет длиться этот эффект. f также будет вероятностью встретить этот эффект при постоянном касте заклов возбуждающих этот эффект с вероятностью p. Тогда, если прирост дпс от эффекта x, то средний прирост дпс от такого таланта f*x.

Длительность эффекта будем считать в количестве кастов N, умещающихся в длительность эффекта. Т.е. необходимо найти зависимость f = f(p,N)

Возможны два варианта
1) Если эффекта еще нет, то попадание инициирует эффект длительностью N, в течении этого времени касты не могут продлить эффект. Вероятность возникновения следующего появляется только при окончании предыдущего.
тогда
f = H*N / (H*N +M) = N*P/[1+ p(N-1)]

2) Каждый каст при попадании обновляет длительность эффекта, тогда средняя длительность эффекта будет больше N

Если в процессе каста были серии промахов длительностью меньше N, то в такой серии эффект не будет прерываться. Если же попадется серия промахов не меньше N, то эффект прервется.

Т.о вероятность серии промахов не прерывающей эффект
Pmh = Sum Mk
k=[0..N-1]

Средняя длительность серии промахов не прерывающей эффект
Mh =1/Pmh * Sum k * Mk
k=[0..N-1]

Вероятность, что серия промахов прервет эффект
Pmm = Sum Mk
k=[N..inf]

Средняя длительность серии промахов прерывающих эффект
Mm = 1/Pmm * Sum k * Mk
k=[N..inf]

Среднее время прерывания эффекта
Mm - N + 1

Нетрудно убедиться, что
Pmh + Pmm = 1
Pmh*Mh + Pmm*Mm = M

В итоге
f = [H + Pmh*Mh + (N-1)*Pmm] / [H + M]
f = [H + Pmh*Mh + (N-1)*(1-Pmh)] / [H + M]

Как строго и красиво доказать, что f во втором случае будет больше чем в первом я пока не знаю, но интуитивно так и должно быть.

Далее рассмотрим конкретные примеры

 
СевероДата: Понедельник, 16.03.2009, 18:58 | Сообщение # 3
Группа: Модераторы
Сообщений: 102
Статус: Offline
Эффект от заморозки фростболтом

Рассмотрим вклад талантов фростмага в замедление фростболта. Цель этих талантов - всадить в моба как можно больше болтов, пока он не добежал до мага. Соответственно, будем считать насколько больше повреждений получит моб с этими талантами.

Вечная мерзлота (Permafrost)

Изначально фростболт уменьшает скорость передвижения на 40%. С этим талантом скорость передвижения снижается дополнительно на 4%, 7%, 10%.

Пусть Т0 - время за которое цель добешит до атакера без замедления,
a - коэффициеть замедления от эффекта окоченения (сhill effect), т.е. если фростболт замедляет на 40%, то a=0.4
тогда
T = T0 / (1-a)

Посчитаем на сколько увеличится время с этими талантами: [1-(a+a*)] / [1-a]
здесь a* дополнительное замедление с талантов. Результат представлен в следующей таблице.

Code

40%  44%     47%     50%
1        1.071   1.132   1.2

Ледяной укус (Frostbite)

Доля времени, в течении которого цель простоит замороженной (пока не добежит до обидчика) равна f,
тогда время, необходимое чтобы добежать до цели с учетом этого эффекта
T = T0/(1-f)
т.е. в данном случае f можно интерпретировать как коэффициент замедления.

Суммарное время с учетом замедления и заморозки
T = T0[1/(1-a)][1/(1-f)]

Может ли болт обновить заморозку у уже замороженной цели я не знаю, поэтому приведу результаты для обоих вариантов:
1/(1-f) = 1 + N*p/(1-p) при условии, что болт не обновляет заморозку у уже замороженных целей
1/(1-f) = [H + M] / Pmm*(Mm-N+1) = 1/[p*(1-p)*Pmm*(Mm-N+1)] при обновлении заморозки
N в данном случае - количество болтов, которые успеет скастовать маг в течении 5 сеунд когда цель заморожена.Эта цифра варьируется в зависимости от хаста (в т.ч. и от Стылой крови) и ранга болтов. Будем считать, что N = 2 или 3. Результат приведен в таблице ниже

Code

N\p  0.05                  0.1                     0.15
2      1.105/1.108    1.222/1.235    1.353/1.384
3      1.158/1.166    1.333/1.372    1.529/1.628

(первая цифра без обновления заморозки, вторая - в обновлением.)

Отсюда видно, что заморозка более эффективно тормозит цель, к тому же, если будут бить несколько магов, то эффект от заморозки складывается, а от замедления нет.

Но при этом таланты на заморозку достаточно сомнительны:
в пвп, после 3х заморозок цель станет имунна к ним (и в нужный момент фростнова не сработает);
в рейдах такого рода таланты не нужны, т.к. все кидают в увеличение дпс;
основу соло кача составляет AoE + кайтинг, при этом случайные замороженные и отставшие цели существенно усложнят бой.

 
СевероДата: Четверг, 19.03.2009, 18:22 | Сообщение # 4
Группа: Модераторы
Сообщений: 102
Статус: Offline
Дополнительные ссылки

http://elitistjerks.com/f47/t21822-proc_mechanics/

 
СевероДата: Пятница, 09.10.2009, 13:28 | Сообщение # 5
Группа: Модераторы
Сообщений: 102
Статус: Offline
Для случая 2 я нашел более простое решение
f = 1 - (1-p)^N
результат совпадает с ранее полученным, только выглядит проще.
Полезно иногда сделать паузу, а потом взглянуть на проблему со стороны. biggrin

Идея решения - представить, что от каждого попадания может возникнуть эффект, причем они могут пересекаться во времени, но не стакуются
(результат эквивалентен случаю, когда при новом попадании обнуляется счетчик длительности эффекта).
Тогда одновременно могут присутствовать N эффектов, каждый с вероятностью p. При такой интерпретации f - вероятность, что в любой момент времени будет присутствовать хотя бы один из эффектов.

 
Форум » Наш World of Warcraft » Теорикрафт » Расчет появления временных эффектов (бафов/дебафов) (статья)
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2024 Создать бесплатный сайт с uCoz