[11024] Fixed work spell 50720

* Threat redirection correctly applied
* Implemented cooldown reset part.

Note: Damage redunction still not fixed.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
michalpolko 2011-01-17 14:26:44 +03:00 committed by VladimirMangos
parent d35be7f4c1
commit 7d61f8470e
3 changed files with 27 additions and 9 deletions

View file

@ -2245,7 +2245,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
} }
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
{ {
if (Unit* pCaster = GetCaster()) if (Unit* pCaster = GetCaster())
pCaster->getHostileRefManager().ResetThreatRedirection(); pCaster->getHostileRefManager().ResetThreatRedirection();
@ -4767,16 +4766,26 @@ void Aura::HandleAuraProcTriggerSpell(bool apply, bool Real)
if(!Real) if(!Real)
return; return;
if(apply) Unit *target = GetTarget();
{
// some spell have charges by functionality not have its in spell data
switch (GetId()) switch (GetId())
{ {
// some spell have charges by functionality not have its in spell data
case 28200: // Ascendance (Talisman of Ascendance trinket) case 28200: // Ascendance (Talisman of Ascendance trinket)
if(apply)
GetHolder()->SetAuraCharges(6); GetHolder()->SetAuraCharges(6);
break; break;
default: break; case 50720: // Vigilance (threat transfering)
if (apply)
{
if (Unit* caster = GetCaster())
target->CastSpell(caster, 59665, true);
} }
else
target->getHostileRefManager().ResetThreatRedirection();
break;
default:
break;
} }
} }

View file

@ -6260,6 +6260,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
return; return;
} }
case 50725: // Vigilance - remove cooldown on Taunt
{
Unit* caster = GetAffectiveCaster();
if (!caster || caster->GetTypeId() != TYPEID_PLAYER)
return;
((Player*)caster)->RemoveSpellCategoryCooldown(82, true);
return;
}
case 51770: // Emblazon Runeblade case 51770: // Emblazon Runeblade
{ {
Unit* caster = GetAffectiveCaster(); Unit* caster = GetAffectiveCaster();

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 "11023" #define REVISION_NR "11024"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__