Показать сообщение отдельно
Старый 10.06.2011, 10:22   #1
Zamir
Гость
 
Сообщений: n/a
По умолчанию

Здравствуйте. Я совсем еще новичек, недавно скачал чистые исходники и начал копаться в коде. Нашел в сд2 пустой скрипт малигоса, решил потренироваться на нем, добавить ему дыхание и текст от лоскутика. Текст при пуле и смерти босса срабатывал исправно, но вот дыхание почему-то не работало. Ид спелла 56272 я взял из скрипта малигоса из исходников rsa.
Гугл, ytdb вики о таблицах базы и поиск по форуму ничего не дали. Возможно я пропустил что-то важное. Например, добавить указанный спелл в базу или что-то подобное. Помогите
Код:
#include "precompiled.h"
enum
{
	SPELL_ARCANE_BREATH             = 56272, // Дыхание

	SAY_AGGRO						= -1533017, // пул лоскутика
	SAY_DEATH						= -1533020, // смерть лоскутика
};

struct MANGOS_DLL_DECL boss_malygosAI : public ScriptedAI
{
    boss_malygosAI(Creature* pCreature) : ScriptedAI(pCreature)
    {
        Reset();
    }
	uint32 m_uiArcaneBreathTimer;

	void Reset()
	{
		m_uiArcaneBreathTimer = 10000;
	}

	void Aggro(Unit* pWho)
    {
        DoScriptText(SAY_AGGRO, m_creature);
	// m_creature->RemoveSplineFlag(SPLINEFLAG_FLYING);
    }

    void JustDied(Unit* pKiller)
    {
        DoScriptText(SAY_DEATH, m_creature);
    }
	
	void UpdateAI(const uint32 uiDiff)
    {
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

        // Дыхание
        if (m_uiArcaneBreathTimer < uiDiff)
        {
			if (DoCastSpellIfCan(m_creature->getVictim(), SPELL_ARCANE_BREATH) == CAST_OK)
			{
				m_uiArcaneBreathTimer = 10000;
				DoScriptText(SAY_DEATH, m_creature); // проверка, срабатывает ли код вообще
			}
        }
		else
			m_uiArcaneBreathTimer -= uiDiff;

		// Мили атака
        DoMeleeAttackIfReady();
    }
};
CreatureAI* GetAI_boss_malygos(Creature* pCreature)
{
    return new boss_malygosAI(pCreature);
}
void AddSC_boss_malygos()
{
	Script *newscript;

    newscript = new Script;
    newscript->Name = "boss_malygos";
    newscript->GetAI = &GetAI_boss_malygos;
    newscript->RegisterSelf();
}
Вставлял другие спеллы вроде дыхания ониксии, халиона и синдрагосы - кастует. Но вот именно собственный 56272 не хочет никак.
  Ответить с цитированием