Щаз будет стена текста
2Neacrees,Странная формула. В корне неверная.
The DR formula remains the same:
1/x' = 1/c + k/x
where
x' is the avoidance after DR.
x is the avoidance before DR.
c is a class dependent cap of the stat.
k is also a class dependent constant.
k=0,9560
cparry=cdodge=65.631440
1/c = 0,01523660
А у тебя
1/GetParryChance()+1/65.63144+0.956/GetParryChance())
т.е. 1/x + 1/c + k/x = y, где
y - то, что якобы должно высветиться на экране.
Сравни исходную
1/x' = 1/c + k/x формулу и твою
1/x + 1/c + k/x = y.
Я не понимаю, что ты хочешь подсчитать?
Шанс пари\доджа (после ДР) выведен на экране (жми "С");
Замечание: пассивно дается 5% пари и около 3,96% доджа (таурен-паладин 85лвл), которые при расчете не учитываются.Шанс пари\доджа (до ДР) - наведи на показания пари\доджа и увидишь табличку: "столько-то рейтинга пари\доджа добавляют столько-то % к пари\доджу" и приписка серым в скобках: (До снижения действенности повторяющихся эффектов)
Например:У меня 12,88%пари анбафед.
1512рейтинга пари дают 8,56%пари (до диминишинга)
Если из 12,88% вычесть 5% даваемые пассивно, получается 7,88%.
Т.е.
8,56 - 7,88 = 0,68.0,68% пари съел диминишинг.
Т.е. если ты хочешь подсчитать %пари (до ДР) скриптом в игре - у тебя ничего не получится. При использовании GetParryChance() или GetDodgeChance(), игрушка может выдать тебе лишь процент пари\доджа (после ДР).
И то, там еще будет % даваемый пассивно: 5% пари и 3,96% додж. См. замечание выше.Разве что ты можешь воспользоваться такой хитростью.
Смотрим формулу в 1-й цитате выше.
1/x' = 1/c + k/x, где
х' - %пари\додж отображаемый в окошке персонажа, и который можно вывести на экран через GetParryChance() или GetDodgeChance().
И из которого необходимо вычесть пассивный процент. Это важно! Для нахождения пассивного процента просто снимите все бафы и одежду. Так же необходимо находиться в спеке "Защита".;
С и K - константы. Значения указаны выше (в 1-й цитате).
и можно выразить отсюда х (значение пари до ДР, отображаемое в окне персонажа, серыми буквами в скобочках, при наведении на пари):
x = k/ (1/ (x' - 5) - 1/c)И далее можно подсчитать сколько %пари\доджа у тебя скушал ДР. Обозначим как "j".
x - x' = j
Вот такую формулу уже проще вывести на экран.
UP! Если я не ошибаюсь, подойдет такая формула (для пари):
/script DEFAULT_CHAT_FRAME:AddMessage("ДР скушал пари равное: "..string.format("%.2f", (0.956/((1/(GetParryChance()-5)-0.0152366))-(GetParryChance()-5))))
(для доджа)
/script DEFAULT_CHAT_FRAME:AddMessage("ДР скушал додж равный: "..string.format("%.2f", (0.956/((1/(GetDodgeChance()-3.96)-0.0152366))-(GetDodgeChance()-3.96))))
Суммарный ДР.
/run DEFAULT_CHAT_FRAME:AddMessage("Потерянный % аввойданса "..string.format("%.2f", (0.956/((1/(GetDodgeChance()-3.96)-0.0152366))-(GetDodgeChance()-3.96))+(0.956/((1/(GetParryChance()-5)-0.0152366))-(GetParryChance()-5))))
Для проверки можете подсчитать сколько диминишинг скушал вашего пари\доджа\авойданса - как указано в примере выше. И затем использовать одну из формул - значения должны совпасть
