mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Spells: Fixed effects with index >= 8 not being handled
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user