Не, не, не, так точно нельзя, даже по 2 причинам
1) в Effect используются индексы, поэтому корректна будет только запись Effect[i], где i = SpellEffectIndex(EFFECT_INDEX_0, EFFCT_INDEX_1, EFFECT_INDEX_2), т.е чтоб найти нужный эффект - обязательно надо делать цикл
2) & - битовая операция, а для конкретного номера эффекта это не требуется, т.е надо использовать ==
пример в кач-ве битового И
Код:
a = 12 // hex - 00001100
b = 8 // hex - 00001000
побитово начинаем применять
a & b = 1 AND 1 = 1, 1 AND 0 = 0, 0 AND 0 = 0, 0 AND 0 = 0, итог - 00001000 = 8