Ответ разработчика одного из пиратских серверов по поводу фомулы сброса фира.

Вот нынешняя формула
// The chance to dispel an aura depends on the damage taken with respect to the casters level.
uint32 max_dmg = getLevel() > 8 ? 25 * getLevel() - 150 : 50;
float chance = float(damage + m_damageTakenUnderDispelledAura) / float(max_dmg + m_damageTakenUnderDispelledAura) * 100.0f;
if (roll_chance_f(chance) || m_damageTakenUnderDispelledAura + damage >= max_dmg)
{
RemoveSpellsCausingAura(auraType);
m_damageTakenUnderDispelledAura = 0;
}
else
m_damageTakenUnderDispelledAura += damage;Объясняю на примере 60 уровня под фиром, который получает средний урон 300.

Максимальный дамаг после которого 100% сбросится фир = 25 * 60 - 150 = 1350
Шанс при 1 полученом уроне = (300 + 0) / (1350 + 0) = 22%
Шанс при 2 полученом уроне = (300 + 300) / (1350 + 300) = 36%
Шанс при 3 полученом уроне = (300 + 600) / (1350 + 600) = 46%
Шанс при 4 полученом уроне = (300 + 900) / (1350 + 900) = 53%
Шанс при 5 полученом уроне = 100% так как 1200 + 300 > 1350


Естественно дамаг может быть разный, может быть меньше, может быть больше, и соответственно сбросится либо быстрей либо больше шанс будет. Если есть другие формулы, давайте их в студию.