Ru-MaNGOS

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

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

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

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

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

Суть проблемы: Черви нанося урон не исцеляют рыцаря смерти

Тут присутствует 2 проблемы:
1) не реализован сам спелл, который должен лечить
2) спелл не наложен на кровочервей

Решение пункта №1
Код:
diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
index 5fcaa17..8079f2a 100644
--- a/src/game/UnitAuraProcHandler.cpp
+++ b/src/game/UnitAuraProcHandler.cpp
@@ -929,6 +929,18 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
                     target = this;
                     break;
                 }
+                // Health Leech (used by Bloodworms)
+                case 50453:
+                {
+                    Unit *owner = GetOwner();
+                    if (!owner)
+                        return SPELL_AURA_PROC_FAILED;
+
+                    triggered_spell_id = 50454;
+                    basepoints[0] = int32(damage*1.69);
+                    target = owner;
+                    break;
+                }
                 // Vampiric Touch (generic, used by some boss)
                 case 52723:
                 case 60501:
Решение пункта №2 (на данный момент хаковое - лучше не придумал)
Код:
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index 06d048a..2e5bc0a 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -1871,6 +1871,10 @@ bool Pet::Create(uint32 guidlow, Map *map, uint32 phaseMask, uint32 Entry, uint3
     if(getPetType() == MINI_PET)                            // always non-attackable
         SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
 
+    // Bloodworms
+    if (GetEntry() == 28017)
+        CastSpell(this, 50453, true);
+
     return true;
 }
По поводу пункта №1 - брал данные с вовхеда, желательно найти более точный источник, т.к. там же написали что не 169%, а 150%

По поводу пункта №2 - хак чистой воды, нуждается в создании более корректного места в коде где можно нахардкодить наложение аур, т.к. это не единственный случай (например Дух дикого волка у шаманов). Если вы знаете таковое - тыкайте носом.

Последний раз редактировалось Insider42; 27.09.2010 в 20:32.
Insider42 вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Den (09.01.2011), rsa (28.09.2010), xex (30.09.2010)
Старый 27.09.2010, 20:15   #2
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Пункт 2 решается в creature_template_addon. Для волков тоже оттуда можно, но там ауры с переменными базепойнтами, поэтому у меня в патче на петов такие случаи рассматриваются отдельно.

PS непонятно почему || owner->GetTypeId() != TYPEID_PLAYER
за что лишаем НПЦ ДК такой фичи? гулей они нормально вызывают и прочими спеллами орудуют только в путь.

Последний раз редактировалось rsa; 27.09.2010 в 20:19.
rsa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Insider42 (27.09.2010)
Старый 27.09.2010, 20:28   #3
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

creature_template_addon не помогает
А кое-кто "свыше" говорит что это не вызывается для класса Pet, собственно поэтому и не даёт эффекта
Это было одной из моих первых идей, но увы...

У нпц ДК не талантов и пихать его ауру им не стоит... впрочем и проверка тогда не нужна

Последний раз редактировалось Insider42; 27.09.2010 в 20:33.
Insider42 вне форума   Ответить с цитированием
Старый 27.09.2010, 20:31   #4
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Понятно не помогает, потому что по неизвестным лично мне причинам отключен (скорее всего просто забыт). Включить - 1 строчка. Или можно использовать мой вариант spell_pet_aura таблицы (патч в этой же ветке форума).

Спс, работает нормально. Кто бы еще подсказал нормальные цифры урона для этих червей и скалируется ли он по АП хозяина, а то 150 дамаги на мой взгляд маловато для упакованного ДК.

Последний раз редактировалось rsa; 28.09.2010 в 14:48. Причина: протестировано
rsa вне форума   Ответить с цитированием
Старый 28.09.2010, 16:25   #5
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

так там не 1 червяк, в комментах на вовхеде так и пишут, что где-то по 150 с червя. Формула, используемая в патче взята из самого свежего коммента, где человек расписал логи боя. Вот бы кто ещё выложил скрины своих логов боя с 3.3.5
Insider42 вне форума   Ответить с цитированием
Старый 28.09.2010, 16:38   #6
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Ну раз 150, то так и оставим. Кстати, на них висит аура 310 или они от АОЕ сразу дохнут?
rsa вне форума   Ответить с цитированием
Старый 28.09.2010, 16:41   #7
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

в комментах написано мол легкая мишень для АОЕ, значит дохнут
Insider42 вне форума   Ответить с цитированием
Ответ


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

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



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


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