[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;
}
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())

View file

@ -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:

View file

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