Хм, спасибо всем.
У меня возник другой вопрос. Писал скрипт для саурфанга, застрял на спелле Boiling Blood (72385), босс его использует не на одну цель, а на всех в радиусе видимости. Через .cast в игре то же самое.
В dbc написано Targets (22,15) (TARGET_CASTER_COORDINATES,TARGET_ALL_ENEMY_IN_ARE A). Перечитал кучу информации, но так и не узнал, как исправить скилл. В готовых скриптах саурфанга тоже ничего не нашел, код в функции UpdateUI идентичен. Искал в разных исходниках файлы, в которых упоминается 72385, не нашел. Но как-то у других этот скилл работает на одну цель. Пожалуйста, объясните)
Код:
void UpdateAI(const uint32 uiDiff)
{
//Spell Boiling Blood
if (m_uiBoilingBloodTimer <= uiDiff)
{
if (Unit *pTargetBB = m_creature->SelectAttackingTarget(ATTACKING_TARGET_RANDOM, 1))
{
DoCast(pTargetBB, SPELL_BOILING_BLOOD_1);
m_uiBoilingBloodTimer = 16000;
}
}
else
m_uiBoilingBloodTimer -= uiDiff;
m_uipower = m_creature->GetPower(POWER_ENERGY);
DoMeleeAttackIfReady();
}
Покопался в англоязычном гугле, обнаружил несколько переделанных файлов Spellmgr.cpp, где делалось что-то вроде
SpellEntry* spellinfo = sSpellStore.LookupEntry(i);
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
spellInfo->EffectImplicitTargetB[0] = 0;
У меня такое сделать не получается, тк spellinfo можно сделать только константой.