diff options
-rw-r--r-- | sql/updates/3910_world.sql | 2 | ||||
-rw-r--r-- | src/game/Spell.cpp | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sql/updates/3910_world.sql b/sql/updates/3910_world.sql index bc73d3aef5f..2e0d54fc545 100644 --- a/sql/updates/3910_world.sql +++ b/sql/updates/3910_world.sql @@ -1,6 +1,6 @@ UPDATE `creature_template` SET `ScriptName` = 'npc_threshwackonator' WHERE `entry` = 6669; -DELETE FROM `script_texts` WHERE `entry` IN (-1000413, -1000414); +DELETE FROM `script_texts` WHERE `entry` IN (-1000414, -1000413); INSERT INTO script_texts (entry, content_default, sound, type, language, emote, comment) VALUES (-1000413, 'Threshwackonator First Mate unit prepared to follow', 0, 2, 0, 0, 'threshwackonator EMOTE_START'), (-1000414, 'YARRR! Swabie, what have ye done?! He\'s gone mad! Baton him down the hatches! Hoist the mast! ARRRR! Every man for hi\'self!', 0, 0, 7, 0, 'threshwackonator SAY_AT_CLOSE'); diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 9d730761903..a58e56be0fb 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -800,7 +800,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura) Effects which are result of aura proc from triggered spell cannot proc to prevent chain proc of these spells */ - if (triggeredByAura && !triggeredByAura->GetParentAura()->GetTarget()->CanProc()) + if ((triggeredByAura && !triggeredByAura->GetParentAura()->GetTarget()->CanProc()) || !m_caster->CanProc()) { m_canTrigger=false; } @@ -808,7 +808,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura) if (m_IsTriggeredSpell && (m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER || m_spellInfo->AttributesEx3 & SPELL_ATTR_EX3_TRIGGERED_CAN_TRIGGER_2)) - m_procEx |= PROC_EX_INTERNAL_CANT_PROC | PROC_EX_INTERNAL_TRIGGERED; + m_procEx |= PROC_EX_INTERNAL_TRIGGERED; // Totem casts require spellfamilymask defined in spell_proc_event to proc if (m_originalCaster && m_caster != m_originalCaster && m_caster->GetTypeId()==TYPEID_UNIT && ((Creature*)m_caster)->isTotem() && m_caster->IsControlledByPlayer()) @@ -825,6 +825,8 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura) m_canTrigger=false; } } + if (m_IsTriggeredSpell || triggeredByAura) + m_procEx |= PROC_EX_INTERNAL_CANT_PROC; } void Spell::CleanupTargetList() |