Core/Spells: Fixed effects with index >= 8 not being handled

This commit is contained in:
Shauren
2015-05-10 00:07:48 +02:00
parent 8b5c3c8612
commit b06cd11496
2 changed files with 6 additions and 6 deletions

View File

@@ -2298,7 +2298,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
target->processed = true; // Target checked in apply effects procedure
// Get mask of effects for target
uint8 mask = target->effectMask;
uint32 mask = target->effectMask;
Unit* unit = m_caster->GetGUID() == target->targetGUID ? m_caster : ObjectAccessor::GetUnit(*m_caster, target->targetGUID);
if (!unit && target->targetGUID.IsPlayer()) // only players may be targeted across maps
@@ -2850,8 +2850,8 @@ bool Spell::UpdateChanneledTargetList()
if (m_channelTargetEffectMask == 0)
return true;
uint8 channelTargetEffectMask = m_channelTargetEffectMask;
uint8 channelAuraMask = 0;
uint32 channelTargetEffectMask = m_channelTargetEffectMask;
uint32 channelAuraMask = 0;
for (SpellEffectInfo const* effect : GetEffects())
if (effect && effect->Effect == SPELL_EFFECT_APPLY_AURA)
channelAuraMask |= 1 << effect->EffectIndex;

View File

@@ -671,7 +671,7 @@ class Spell
uint64 timeDelay;
SpellMissInfo missCondition:8;
SpellMissInfo reflectResult:8;
uint32 effectMask:32;
uint32 effectMask;
bool processed:1;
bool alive:1;
bool crit:1;
@@ -685,8 +685,8 @@ class Spell
{
ObjectGuid targetGUID;
uint64 timeDelay;
uint32 effectMask:32;
bool processed:1;
uint32 effectMask;
bool processed;
};
std::vector<GOTargetInfo> m_UniqueGOTargetInfo;