Показать сообщение отдельно
Старый 21.07.2014, 19:53   #2
Karazhan
Пользователь
 
Регистрация: 26.09.2012
Сообщений: 93
Сказал(а) спасибо: 4
Поблагодарили 4 раз(а) в 3 сообщениях
Karazhan На верном пути
По умолчанию

Цитата:
-При использовании того же самого спелла http://ru.wowhead.com/spell=55964, босс после первого исчезновения(75% хп) появляется со 100% и снова произносит фразу аггро и нападает, при втором ванише(35%) он появляеться с 75% хп и опять кидает фразу аггро, и только после этого его можно добить оканчательно... в общем кидаю код. Буду очень благодарен за любую помощь!
EnterEvadeMode в вашем скрипте отсутствует. Используется стандартный ScriptedAI.
Код:
void ScriptedAI::EnterEvadeMode()
{
    m_creature->RemoveAllAurasOnEvade(); удаление всех аур при эвейде, исключая CONTROL_VEHICLE and FLY.
    m_creature->DeleteThreatList(); удаляет весь лист угрозы.
    m_creature->CombatStop(true); бой останавливается полностью. Вот и ответ.

    if (m_creature->isAlive())
        m_creature->GetMotionMaster()->MoveTargetedHome();

    m_creature->SetLootRecipient(NULL);

    Reset();
}
В СД2 оверрайдят эвейд мод для определённого босса(жаль EAI того не умеет)
Код:
void EnterEvadeMode() override
    {
        // Don't evade during vanish phase
        if (m_creature->HasAura(SPELL_VANISH)
            return;

        ScriptedAI::EnterEvadeMode();
    }
Вот попробуйте заоверрайдить(переписать тоесть). При наличии этой ауры не должен уходить в эвейд.
Брал пример со скрипта Мороуза. override добавлять обязательно.
По поводу поклона - есть функция.
Код:
void ScriptedAI::EnterCombat(Unit* pEnemy)
{
    if (pEnemy)
        Aggro(pEnemy);
}
Может она вам поможет.
По поводу движения моба есть 2 пути. Creature_movement_template. Или EscortAI. Также есть db_script_on_creature_movement.
__________________
So foolish.
Karazhan вне форума   Ответить с цитированием