Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи

Важная информация

Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник.

Если кто-то хочет задать вопрос по патчу - велкам.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.06.2010, 12:21   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию [patch/dev] Предел роста урона DOT'ов

В данный момент есть некая проблема:
Берём допустим паладинский талант Праведная месть, учим на 3 очка.
Выучиваем какой-нибудь спел сильно наращивающий крит, допустим я находил такой, на 50% шанс крита увеличивает, либо же просто одеваемся в "топ" гир.
Идём к манекену, достаем 3 основных способности с которых Праведная месть срабатывает и бъем ими по манекену пока не устанем. Урон от Праведной мести будет возрастать с каждым критом, в итоге может дойти до поднебесных цифр если цикл крита не будет прерван. Такая же проблема у Нечестивой порчи, но т.к. она не работает на чистом мангосе без доп. патча (который вы можете найти в разделе Патчи), бага вы не воспроизведете. А делается он ещё легче чем у паладина, кидаем по кд Лик смерти в одну цель и смотрим как циферки тиков растут, например у меня на сервере разгоняли до 300 000 урона в секунду на боссе.

По моим источникам (с оффа) мне известно что например паладины примерно в обвесе а6-а7 не разгоняют урон тиков более чем 3500/тик (поправить разрешаю), другой паладин (в другом обвесе) назвал иные цифры (одет хуже - цифры меньше). Возникла идея, что на оффе есть некий КАП урона замеряемый в Х (множитель) от возможного урона (полного урона за время всех тиков).
Пока нет точной информации - будем считать что этот множитель равняется 5. Т.е. считаем так:
Урон за время всех тиков * 5 - это и есть предел роста урона тиков.

Патч
Код:
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index fe10376..c00a897 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -3974,8 +3974,12 @@ bool Unit::AddAura(Aura *Aur)
                     {
                         int32 remainingTicks = aur2->GetAuraMaxTicks() - aur2->GetAuraTicks();
                         int32 remainingDamage = aur2->GetModifier()->m_amount * remainingTicks;
+                        int32 damageCap = aur2->GetModifier()->m_amount * 5;
+                        int32 damageIncrease = int32(remainingDamage / Aur->GetAuraMaxTicks());
+                        int32 newDamage = Aur->GetModifier()->m_amount + damageIncrease;
 
-                        Aur->GetModifier()->m_amount += int32(remainingDamage / Aur->GetAuraMaxTicks());
+                        if (newDamage <= damageCap)
+                            Aur->GetModifier()->m_amount += damageIncrease;
                     }
                     // can be only single (this check done at _each_ aura add
                     RemoveAura(i2,AURA_REMOVE_BY_STACK);
Жду конструктивной критики

Последний раз редактировалось Insider42; 20.06.2010 в 13:00.
Insider42 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Limpnau (21.06.2010)
Старый 20.06.2010, 07:27   #2
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

Нужная вещь, но с цифрами не помогу, увы.
  Ответить с цитированием
Старый 20.06.2010, 11:41   #3
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Как ни странно, но судя по тестам, в случае с Нечестивой порчей это не помогает, а лишь замедляет набор поднебесных циферок DPS. Есть догадки почему?
Insider42 вне форума   Ответить с цитированием
Старый 20.06.2010, 12:05   #4
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

int32 damageCap = aur2->GetModifier()->m_amount * aur2->GetAuraMaxTicks() * 5;
неправильно считается вот это?..
zhenya вне форума   Ответить с цитированием
Старый 20.06.2010, 12:27   #5
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

да я вот тоже всё удивляюсь, в случае с паладином всё нормально - больше 3к за тик с 4600 силы атаки и оружием уровня А6 разогнать не получилось (с патчем), а вот Нечествая порча даже с патчем продолжает глючить :/ попробую немного другую версию патча Нечестивой порчи, поглядим что будет

Нашёл проблему, исправил, см. первый пост

Последний раз редактировалось Insider42; 20.06.2010 в 13:00.
Insider42 вне форума   Ответить с цитированием
Старый 21.06.2010, 18:36   #6
n0n4m3
Гость
 
Сообщений: n/a
По умолчанию

As you continue to crit, your previous critical's damage is not lost, however, the duration of RV is reset, and the remainder of your previous crit's damage is tacked onto the new crit's damage.
проблему надо решать правильно tbh
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логирование большого урона у персов lolhka_ua Флудильня 4 23.04.2010 13:02


Текущее время: 07:55. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot