Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   Death Grip (spell 49576) (http://mangos.ytdb.ru/showthread.php?t=864)

labor 28.04.2010 09:57

Death Grip (spell 49576)
 
Никак не получается разобрать с "Хватка смерти" у дк, каст происходит эфект показывается, но моб не притягивается...
Поиск по форуму и гуглу не помог.

Из патчей стоит только:
http://ru-mangos.ru/showthread.php?t=836
http://getmangos.com/community/showthread.php?11759-[dev]Vehicles&p=113025&viewfull=1#post113025

Код:

MaNGOS/0.16.0 (* * Revision 9797 - *) for FreeBSD_x32
YTDB_0.13.3_R544_MaNGOS_R9773_SD2_R1677_ACID_R304_RuDB_R37.6
EventAI: ACID 3.0.4 - Final Release for Mangos (3.3.2 Client)

Лог



Заранее спасибо за помощь!

xmolex 28.04.2010 10:12

Код:

diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 63d3334..a76b4bc 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2350,6 +2350,33 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
                m_caster->CastCustomSpell(m_caster, 45470, &bp, NULL, NULL, true);
                return;
            }
+            switch(m_spellInfo->Id)
+            {
+                // Death Grip
+                case 49560:
+                case 49576:
+                {
+                    if (!unitTarget || !m_caster)
+                        return;
+
+                    float x = m_caster->GetPositionX();
+                    float y = m_caster->GetPositionY();
+                    float z = m_caster->GetPositionZ()+1;
+                    float orientation = unitTarget->GetOrientation();
+
+                    m_caster->CastSpell(unitTarget,51399,true,NULL);
+
+                    if(unitTarget->GetTypeId() != TYPEID_PLAYER)
+                    {
+                        unitTarget->GetMap()->CreatureRelocation((Creature*)unitTarget,x,y,z,orientation);
+                        ((Creature*)unitTarget)->SendMonsterMove(x, y, z, SPLINETYPE_NORMAL, SPLINEFLAG_UNKNOWN11, 1);
+                    }
+                    else
+                        unitTarget->NearTeleportTo(x,y,z,orientation,false);
+
+                    return;
+                }
+            }
            break;
        }
    }


Mayss 05.05.2010 21:13

Патч работает правельно без крешей?

feanorco 06.05.2010 08:08

такой же вопрос интересует. так как при его установке краши начали появляться. до этого их небыло вообще :(

labor 21.05.2010 18:05

Код:

MaNGOS/0.16.0 (* * Revision 9797 - *) for FreeBSD_x32
YTDB_0.13.3_R544_MaNGOS_R9773_SD2_R1677_ACID_R304_RuDB_R37.6
EventAI: ACID 3.0.4 - Final Release for Mangos (3.3.2 Client)

Из за данного патча крашей не наблюдается, работает правильно.

zergtmn 21.05.2010 19:55

Это не патч, а один сплошной хак.
Попробуйте добавить что-то типа этого в EffectDummy:
Код:

// Death Grip
else if (m_spellInfo->Id == 49576)
{
    if (!unitTarget)
        return;

    m_caster->CastSpell(unitTarget, 49560, true);
    return;
}
else if (m_spellInfo->Id == 49560)
{
    if (!unitTarget)
        return;

    uint32 spellId = m_spellInfo->CalculateSimpleValue(EFFECT_INDEX_0);
    unitTarget->CastSpell(m_caster->GetPositionX(), m_caster->GetPositionY(), m_caster->GetPositionZ(), spellId, true);
    return;
}

А он точно к координатам ДК притягивает или немного вперед?

labor 22.05.2010 06:45

Цитата:

Сообщение от zergtmn (Сообщение 7049)
Это не патч, а один сплошной хак.
А он точно к координатам ДК притягивает или немного вперед?

Да, он действительно немного перекидывает объект атаки и приходится отходить назад на 1-2 шага, чтобы остальные касты проходили по объекту.


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

ru-mangos.ru - Русское сообщество MaNGOS