Ru-MaNGOS

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

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

Отвергнутые патчи Патчи, отвергнутые от приёма в GIT

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2010, 18:48   #1
evilstar
Супер-модератор
 
Аватар для evilstar
 
Регистрация: 07.04.2010
Адрес: Москва
Сообщений: 221
Сказал(а) спасибо: 101
Поблагодарили 27 раз(а) в 17 сообщениях
evilstar Скоро придёт к известностиevilstar Скоро придёт к известности
Отправить сообщение для evilstar с помощью ICQ
Сообщение [patch]Скалирующиеся Маунты (Добавление)

Код:
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 5de9926..e5aab26 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -5759,6 +5759,48 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
 
                     break;
                 }
+				case 47977:                                 // Magic Broom
+                {
+                    if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+                        return;
+
+                    // Prevent stacking of mounts
+                    unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
+
+                    // Triggered spell id dependent of riding skill
+                    if (uint16 skillval = ((Player*)unitTarget)->GetSkillValue(SKILL_RIDING))
+                    {
+                        switch (skillval)
+						{
+							case 75: unitTarget->CastSpell(unitTarget, 42680, true);
+							case 150: unitTarget->CastSpell(unitTarget, 42683, true);
+							case 225: unitTarget->CastSpell(unitTarget, 42667, true);
+							case 300: unitTarget->CastSpell(unitTarget, 42668, true);
+						}
+                    }
+                    return;
+                }
+				case 48025:                                 // Headless Horseman's Mount
+                {
+                    if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+                        return;
+
+                    // Prevent stacking of mounts
+                    unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
+
+                    // Triggered spell id dependent of riding skill
+                    if (uint16 skillval = ((Player*)unitTarget)->GetSkillValue(SKILL_RIDING))
+                    {
+                        switch (skillval)
+						{
+							case 75: unitTarget->CastSpell(unitTarget, 51621, true);
+							case 150: unitTarget->CastSpell(unitTarget, 48024, true);
+							case 225: unitTarget->CastSpell(unitTarget, 51617, true);
+							case 300: unitTarget->CastSpell(unitTarget, 48023, true);
+						}
+                    }
+                    return;
+                }
                 case 54729:                                 // Winged Steed of the Ebon Blade
                 {
                     if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
@@ -5777,6 +5819,48 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
                     }
                     return;
                 }
+				case 72286:                                 // Invincible
+                {
+                    if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+                        return;
+
+                    // Prevent stacking of mounts
+                    unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
+
+                    // Triggered spell id dependent of riding skill
+                    if (uint16 skillval = ((Player*)unitTarget)->GetSkillValue(SKILL_RIDING))
+                    {
+                        switch (skillval)
+						{
+							case 75: unitTarget->CastSpell(unitTarget, 72281, true);
+							case 150: unitTarget->CastSpell(unitTarget, 72282, true);
+							case 225: unitTarget->CastSpell(unitTarget, 72283, true);
+							case 300: unitTarget->CastSpell(unitTarget, 72284, true);
+						}
+                    }
+                    return;
+                }
+				case 75614:                                 // Celestial Steed
+                {
+                    if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+                        return;
+
+                    // Prevent stacking of mounts
+                    unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
+
+                    // Triggered spell id dependent of riding skill
+                    if (uint16 skillval = ((Player*)unitTarget)->GetSkillValue(SKILL_RIDING))
+                    {
+                        switch (skillval)
+						{
+							case 75: unitTarget->CastSpell(unitTarget, 75619, true);
+							case 150: unitTarget->CastSpell(unitTarget, 75620, true);
+							case 225: unitTarget->CastSpell(unitTarget, 75617, true);
+							case 300: unitTarget->CastSpell(unitTarget, 75618, true);
+						}
+                    }
+                    return;
+                }
                 case 54436:                                 // Demonic Empowerment (succubus Vanish effect)
                 {
                     if (!unitTarget)
Я думаю тут еще надо организовать проверну по областям,
жду предложений как это сделать и может что изменить
evilstar вне форума   Ответить с цитированием
Старый 11.05.2010, 18:52   #2
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Может пора таблицу для этого завести? Таких спелов не один и не два...
Таблицу структуры (id, skill1_id, skill2_id, skill3_id, skill4_id)
Ну или на крайняк отдельную функцию

Последний раз редактировалось Insider42; 11.05.2010 в 18:56.
Insider42 вне форума   Ответить с цитированием
Старый 11.05.2010, 19:16   #3
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Я думаю перед этим стоит реализовать поддержку 310% маунтов.
LordJZ вне форума   Ответить с цитированием
Старый 11.05.2010, 23:42   #4
Laise
MaNGOS Dev
 
Аватар для Laise
 
Регистрация: 09.03.2010
Сообщений: 33
Сказал(а) спасибо: 27
Поблагодарили 26 раз(а) в 11 сообщениях
Laise На верном пути
По умолчанию

Цитата:
Ну или на крайняк отдельную функцию
скоро будет, таблицу нет смысла добавлять так, как есть спеллы у которых тоже должна быть обработка 1 на всю группу, но не связано с маунтами - заводить отдельную таблицу под каждую такую группу спеллов несколько бессмысленно
Laise вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
Insider42 (12.05.2010), KiriX (12.05.2010), unlucky (12.05.2010), Vladimir (12.05.2010)
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[патч] Добавление условий в areatrigger_teleport(доступ по квестам) NeatElves Патчи на рассмотрении 1 17.04.2010 13:18
[9677] Добавление Показателя блокирования Antimozg Принятые патчи 1 06.04.2010 01:16
[SQL]Добавление квестовых спеллов в тренеров (3.Х.Х и 2.4.3) Pro[100]Hens Патчи и наработки 3 11.03.2010 10:42
Добавление классовых квестовых скиллов тренерам для 3.0.X xstream Патчи и наработки 0 07.03.2010 15:57


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


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