Показать сообщение отдельно
Старый 13.09.2010, 22:42   #3
fedr
Новичок
 
Аватар для fedr
 
Регистрация: 11.03.2010
Сообщений: 10
Сказал(а) спасибо: 13
Поблагодарили 4 раз(а) в 3 сообщениях
fedr На верном пути
По умолчанию

212 SpellFamilyFlagsLow uint
213 SpellFamilyFlagsHigh uint
214 SpellFamilyFlags2 uint

Получается отсюда.

Чего-то я совсем запутался:

Код:
bool SpellModifier::isAffectedOnSpell( SpellEntry const *spell ) const
{
    SpellEntry const *affect_spell = sSpellStore.LookupEntry(spellId);
    // False if affect_spell == NULL or spellFamily not equal
    if (!affect_spell || affect_spell->SpellFamilyName != spell->SpellFamilyName)
        return false;

    if (mask & spell->SpellFamilyFlags) // !!!
	return true;
	 
    return false;
}
Как я представляю: для каждой FamilyName есть группы спеллов (64). При этом у каждого спелла должен быть флаг причастности к одной из групп, и я полагал это и называется SpellFamilyFlags. Маска же содержит группы на которые распространяется действие данного эффекта и результат конъюкции будет >0, если флаг спелла содержится в ней... Поправьте, что не так %)
fedr вне форума   Ответить с цитированием