An error in the condition
V547 Expression is always false. Probably the ‘||’ operator should be used here. SpellEffects.cpp 2872
void Spell::EffectEnchantItemTmp(SpellEffectIndex eff_idx) { .... // TODO: Strange stuff in following code // shaman family enchantments if (....) duration = 300; else if (m_spellInfo->SpellIconID == 241 && m_spellInfo->Id != 7434) duration = 3600; else if (m_spellInfo->Id == 28891 && m_spellInfo->Id == 28898) duration = 3600; .... }
In the specified condition, the variable m_spellInfo->Id is verified against two different values at the same time. The result of this check is always false, of course. The author most likely made a mistake and instead of ‘||’ operator used ‘&&’.
It should be noted that the program commented on strange code behavior, and perhaps, it was caused by this error exactly.
Please click here to see more bugs from this project.