[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 59628: // Tricks of the Trade, triggered buff
case 59665: // Vigilance, redirection spell
{
if (Unit* pCaster = GetCaster())
pCaster->getHostileRefManager().ResetThreatRedirection();
@ -4767,16 +4766,26 @@ void Aura::HandleAuraProcTriggerSpell(bool apply, bool Real)
if(!Real)
return;
if(apply)
{
// some spell have charges by functionality not have its in spell data
Unit *target = GetTarget();
switch (GetId())
{
// some spell have charges by functionality not have its in spell data
case 28200: // Ascendance (Talisman of Ascendance trinket)
if(apply)
GetHolder()->SetAuraCharges(6);
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;
}
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
{
Unit* caster = GetAffectiveCaster();

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "11023"
#define REVISION_NR "11024"
#endif // __REVISION_NR_H__