Ru-MaNGOS

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

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

Патчи на рассмотрении Рассматриваемые к принятию патчи

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2010, 11:07   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию [patch] Unholy Blight (Нечестивая порча) + Glyph

Суть проблемы:
1) Талант не прокает
2) Талант наносит 1 урона (с исправлением П1)
3) Нет прибавки периодического урона от Символа нечестивой порчи

Часть 1. Автор: Laise
Код:
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index e30e0f7..877f92c 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6638,6 +6638,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                 triggered_spell_id = 61607;
                 break;
             }
+            // Unholy Blight
+            if (dummySpell->Id == 49194)
+            {
+                basepoints[0] = triggerAmount * damage / 1000;
+                triggered_spell_id = 50536;
+                break;
+            }
             // Vendetta
             if (dummySpell->SpellFamilyFlags & UI64LIT(0x0000000000010000))
             {
В базу
Код:
DELETE FROM `spell_proc_event` WHERE `entry` = 49194;
INSERT INTO `spell_proc_event` VALUES
(49194,0x00,15,0x00002000,0x00000000,0x00000000,0x00000000,0x00000000,0.000000,0.000000,0);
Часть 2. Автор johonson
Код:
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 563c525..bbd5279 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -9410,6 +9410,13 @@ uint32 Unit::SpellDamageBonusDone(Unit *pVictim, SpellEntry const *spellProto, u
                     }
                 }
             }
+            // Glyph of Unholy Blight
+            if (spellProto->Id == 50536)
+            {
+                if (Aura *glyphAura = GetDummyAura(63332))
+                    DoneTotalMod *= (glyphAura->GetModifier()->m_amount + 100.0f)/ 100.0f;
+                break;
+            }
             break;
         }
         default:
Insider42 вне форума   Ответить с цитированием
Старый 19.06.2010, 11:03   #2
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Игроки говорят что мол что-то со способностью не ладно, научились бажить урон через него. Кто-нибудь сталкивался? Сам проверить пока не могу

Говорят что с каждого нового лика - урон у Нечестивой порчи увеличивается все больше и больше. В итоге кинув лик в одну цель раз 10 подряд имеет очень большие цифры урона. Но ведь такого наращивания не должно происходить, есть идеи?

Последний раз редактировалось Insider42; 19.06.2010 в 11:10.
Insider42 вне форума   Ответить с цитированием
Старый 19.06.2010, 11:27   #3
Null
Гость
 
Сообщений: n/a
По умолчанию

Вот из всем нам известного эмулятора:
Код:
            // Unholy Blight
            if (dummySpell->Id == 49194)
            {
                basepoints0 = triggerAmount * damage / 100;
                // Glyph of Unholy Blight
                if (AuraEffect *glyph=GetAuraEffect(63332,0))
                    basepoints0 += basepoints0 * glyph->GetAmount() / 100;
                // Find replaced aura to use it's remaining amount
                AuraEffectList const& DoTAuras = target->GetAuraEffectsByType(SPELL_AURA_PERIODIC_DAMAGE);
                for (Unit::AuraEffectList::const_iterator i = DoTAuras.begin(); i != DoTAuras.end(); ++i)
                {
                     if ((*i)->GetCasterGUID() != GetGUID() || (*i)->GetId() != 50536)
                         continue;
                     basepoints0 += ((*i)->GetAmount() * ((*i)->GetTotalTicks() - ((*i)->GetTickNumber()))) / (*i)->GetTotalTicks();
                     break;
                }
                triggered_spell_id = 50536;
                break;
            }

Последний раз редактировалось Null; 19.06.2010 в 11:33.
  Ответить с цитированием
Старый 19.06.2010, 11:28   #4
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

Баг заключается в таланте + символ http://ru.wowhead.com/item=45803 итак если постояно спамить http://ru.wowhead.com/spell=47860 то урон от порчи возрастает с геометрической прогрессией, началось с 90 ед урона и закончилось 254к ед урона!
timmit вне форума   Ответить с цитированием
Старый 19.06.2010, 12:08   #5
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

я уже придумал как это ограничить, правда я незнаю точных значений, нужна инфа с оффа. Щас создам тему и всё увидите
Insider42 вне форума   Ответить с цитированием
Старый 19.06.2010, 19:25   #6
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Код:
            // Unholy Blight
            if (dummySpell->Id == 49194)
            {
                basepoints[0] = damage * triggerAmount / 100;

                // Glyph of Unholy Blight
                if (Aura *aura = GetDummyAura(63332))
                    basepoints[0] += basepoints[0] * aura->GetModifier()->m_amount / 100;

                // Split between 10 ticks
                basepoints[0] /= 10;
                triggered_spell_id = 50536;
                break;
            }
Точность теряется при делении, т.к. урон слишком маленький =\
+
Код:
DELETE FROM spell_bonus_data WHERE entry = 50536;
INSERT INTO spell_bonus_data VALUES
(50536, 0, 0, 0, 'Death Knight - Unholy Blight Triggered');
zergtmn вне форума   Ответить с цитированием
Старый 19.06.2010, 19:53   #7
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Не не, там не в этом дело было. Я уже написал патч в отдельной теме на все подобные спелы. Но вариант с обработкой глифа в коде таланта хорош

Последний раз редактировалось Insider42; 19.06.2010 в 19:55.
Insider42 вне форума   Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[11672][patch] Glyph of Shadow word: Death (Символ Слова Тьмы: Смерть) Insider42 Принятые патчи 2 25.06.2011 05:23
[patch] Glyph of Preparation Den Патчи 1 23.12.2010 14:26
[SQL patch] Glyph of Prayer of Healing (Символ молитвы исцеления) Insider42 Патчи на рассмотрении 0 28.10.2010 16:20
[patch] Glyph of Shadow Word: Pain Splinter Патчи на рассмотрении 0 29.05.2010 21:58
[9868][patch] Glyph of Freezing Trap Insider42 Принятые патчи 1 11.05.2010 11:53


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


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