Ru-MaNGOS

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

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2010, 12:53   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию [patch] Warbringer 2nd part (Вестник войны 2часть)

Суть проблемы: функционирует только 2 часть таланта, с со снятием препятствующих передвижению эффектов, и то неправильно. Первую часть в этой теме мы рассматривать не будем.

Автор: я

Фикс
Код:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index f442c95..7b13f46 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -4992,7 +4992,7 @@ SpellCastResult Spell::CheckCast(bool strict)
             }
             case SPELL_EFFECT_CHARGE:
             {
-                if (m_caster->hasUnitState(UNIT_STAT_ROOT))
+                if (m_caster->hasUnitState(UNIT_STAT_ROOT) && !(m_spellInfo->Id == 3411 && m_caster->HasAura(57499)))
                     return SPELL_FAILED_ROOTED;
 
                 break;
в базу (запрос исправляет грубую ошибку в mangos.sql)
Код:
UPDATE `spell_proc_event` SET `SpellFamilyMaskA0`=0,`SpellFamilyMaskA1`=0,`SpellFamilyMaskA2`=0 where `entry`=57499;
И ещё: судя по всему реализация работы таланта в мангосе неверна. Это должно быть реализовано не через проки, а сниматься раньше чем будет произведен эффект!

В итоге что мы имеем? - При снятии корней (а ведь мы знаем, что если позволить использовать SPELL_EFFECT_CHARGE в корнях - игрок портуется к цели моментально) мы портуемся к цели (вместо того, чтобы добежать до неё) и снимаем корни.
Такого быть не должно, получается что мы игнорируем всякого рода препятствия (которые не мешают LoS) и также игнорируем mmaps (те, у кого этот мод стоит поймут)

По-моему тут 2 выхода:
1) Нужен какого-то рода preCast или захардкодить снятие в spell.cpp, там же где действует мой патч. Ну и избавиться от лишней записи в spell_proc_event + удалить реализацию 6953 оверрайда
2) Нужно переработать отвечающий за работу корней/приморозок и т.д. код, позволить двигаться на SPELL_EFFECT_CHARGE, а не портоваться сразу к цели

Последний раз редактировалось Insider42; 28.10.2010 в 13:05.
Insider42 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Den (16.12.2010)
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10746] Use objetguid for other .list auras command part newsbot CMaNGOS Commits 0 19.11.2010 16:30
[10643] Update the ACE part we use to 5.8.2 newsbot CMaNGOS Commits 3 09.11.2010 18:44
[10424] Fix 50334 additional targets part newsbot CMaNGOS Commits 0 30.08.2010 10:00
[9607] Fix SMSG_GUILD_INFO time part. newsbot CMaNGOS Commits 0 19.03.2010 18:20


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


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