[10467] Implement proper triggering for spell 34477, 57934

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also fixed charges amount (1) for main spell auras.
This commit is contained in:
tester20tester20 tester20 2010-09-11 01:59:59 +04:00 committed by VladimirMangos
parent 4d30b464b4
commit 7785daf2f9
3 changed files with 47 additions and 9 deletions

View file

@ -2214,14 +2214,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
return; 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 35079: // Misdirection, triggered buff
case 59628: // Tricks of the Trade, triggered buff case 59628: // Tricks of the Trade, triggered buff
case 59665: // Vigilance, redirection spell case 59665: // Vigilance, redirection spell
@ -2625,7 +2617,39 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
} }
break; 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: 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; break;
case SPELLFAMILY_PALADIN: case SPELLFAMILY_PALADIN:
switch(GetId()) switch(GetId())

View file

@ -1634,6 +1634,13 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
triggered_spell_id = 32747; triggered_spell_id = 32747;
break; break;
} }
// Tricks of the trade
case 57934:
{
triggered_spell_id = 59628; // 6 sec buff on self
target = this;
break;
}
} }
// Cut to the Chase // Cut to the Chase
if (dummySpell->SpellIconID == 2909) if (dummySpell->SpellIconID == 2909)
@ -1737,6 +1744,13 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
pVictim->CastSpell(pVictim, 57894, true, NULL, NULL, GetGUID()); pVictim->CastSpell(pVictim, 57894, true, NULL, NULL, GetGUID());
return SPELL_AURA_PROC_OK; return SPELL_AURA_PROC_OK;
} }
// Misdirection
else if(dummySpell->Id == 34477)
{
triggered_spell_id = 35079; // 4 sec buff on self
target = this;
break;
}
break; break;
} }
case SPELLFAMILY_PALADIN: case SPELLFAMILY_PALADIN:

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "10466" #define REVISION_NR "10467"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__