diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 83ee61b28..4b71ccc90 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2214,14 +2214,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real) return; } - case 34477: // Misdirection, main spell - case 57934: // Tricks of the Trade, main spell - { - if (m_removeMode != AURA_REMOVE_BY_DEFAULT) // used for direct in code aura removes - if (Unit* pCaster = GetCaster()) - pCaster->getHostileRefManager().ResetThreatRedirection(); - return; - } case 35079: // Misdirection, triggered buff case 59628: // Tricks of the Trade, triggered buff case 59665: // Vigilance, redirection spell @@ -2625,7 +2617,39 @@ void Aura::HandleAuraDummy(bool apply, bool Real) } break; } + case SPELLFAMILY_ROGUE: + switch(GetId()) + { + case 57934: // Tricks of the Trade, main spell + { + if (apply) + GetHolder()->SetAuraCharges(1); // not have proper chnarges set in spell data + else + { + // used for direct in code aura removes and rpoc event charges expire + if (m_removeMode != AURA_REMOVE_BY_DEFAULT) + target->getHostileRefManager().ResetThreatRedirection(); + } + return; + } + } + break; case SPELLFAMILY_HUNTER: + switch(GetId()) + { + case 34477: // Misdirection, main spell + { + if (apply) + GetHolder()->SetAuraCharges(1); // not have proper charges set in spell data + else + { + // used for direct in code aura removes and rpoc event charges expire + if (m_removeMode != AURA_REMOVE_BY_DEFAULT) + target->getHostileRefManager().ResetThreatRedirection(); + } + return; + } + } break; case SPELLFAMILY_PALADIN: switch(GetId()) diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index a164d8394..29530f2f7 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -1634,6 +1634,13 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura triggered_spell_id = 32747; break; } + // Tricks of the trade + case 57934: + { + triggered_spell_id = 59628; // 6 sec buff on self + target = this; + break; + } } // Cut to the Chase if (dummySpell->SpellIconID == 2909) @@ -1737,6 +1744,13 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura pVictim->CastSpell(pVictim, 57894, true, NULL, NULL, GetGUID()); return SPELL_AURA_PROC_OK; } + // Misdirection + else if(dummySpell->Id == 34477) + { + triggered_spell_id = 35079; // 4 sec buff on self + target = this; + break; + } break; } case SPELLFAMILY_PALADIN: diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index c2ea6eca1..108ed6a11 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10466" + #define REVISION_NR "10467" #endif // __REVISION_NR_H__