Core/Spells: Small update to TriggeredFlags and fix Glyph of Totem of Wrath with it.

Closes #2458
This commit is contained in:
Machiavelli
2011-07-31 23:47:11 +02:00
parent f26edf09d3
commit c074be2944
3 changed files with 4 additions and 4 deletions

View File

@@ -400,7 +400,7 @@ enum TriggerCastFlags
TRIGGERED_IGNORE_TARGET_DETECTABILITY = 0x00004000, //! Will ignore canSeeOrDetect
TRIGGERED_IGNORE_LOS = 0x00008000, //! Will ignore LOS to target
TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000, //! Will ignore caster aura restrictions or requirements
TRIGGERED_ALLOW_PROC_EVENTS = 0x00020000, //! Allows proc events from triggere spell
TRIGGERED_DISALLOW_PROC_EVENTS = 0x00020000, //! Allows proc events from triggere spell
TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, //! Will return SPELL_FAILED_DONT_REPORT in CheckCast functions
TRIGGERED_FULL_MASK = 0xFFFFFFFF,
};

View File

@@ -898,11 +898,11 @@ void Spell::prepareDataForTriggerSystem(AuraEffect const* /*triggeredByAura*/)
// Ranged autorepeat attack is set as triggered spell - ignore it
if (!(m_procAttacker & PROC_FLAG_DONE_RANGED_AUTO_ATTACK))
{
if (!(_triggeredCastFlags & TRIGGERED_ALLOW_PROC_EVENTS) &&
if (_triggeredCastFlags & TRIGGERED_DISALLOW_PROC_EVENTS &&
(m_spellInfo->AttributesEx2 & SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC ||
m_spellInfo->AttributesEx3 & SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2))
m_procEx |= PROC_EX_INTERNAL_CANT_PROC;
else if (!(_triggeredCastFlags & TRIGGERED_ALLOW_PROC_EVENTS))
else if (_triggeredCastFlags & TRIGGERED_DISALLOW_PROC_EVENTS)
m_procEx |= PROC_EX_INTERNAL_TRIGGERED;
}
// Totem casts require spellfamilymask defined in spell_proc_event to proc

View File

@@ -6987,7 +6987,7 @@ void Spell::EffectCastButtons(SpellEffIndex effIndex)
if (m_caster->GetPower(POWER_MANA) < cost)
continue;
TriggerCastFlags triggerFlags = TriggerCastFlags(TRIGGERED_IGNORE_GCD | TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_CAST_DIRECTLY | TRIGGERED_ALLOW_PROC_EVENTS);
TriggerCastFlags triggerFlags = TriggerCastFlags(TRIGGERED_IGNORE_GCD | TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_CAST_DIRECTLY);
m_caster->CastSpell(unitTarget, spell_id, triggerFlags);
}
}