diff options
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ecfc4e9c943..b87d665fb99 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -8624,6 +8624,25 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig break; } + // Sword Specialization + if (auraSpellInfo->SpellFamilyName == SPELLFAMILY_GENERIC && auraSpellInfo->SpellIconID == 1462 && procSpell) + { + if (Player* plr = ToPlayer()) + { + if (cooldown && plr->HasSpellCooldown(16459)) + return false; + + // this required for attacks like Mortal Strike + plr->RemoveSpellCooldown(procSpell->Id); + + CastSpell(pVictim, procSpell->Id, true); + + if (cooldown) + plr->AddSpellCooldown(16459, 0, time(NULL) + cooldown); + return true; + } + } + // Blade Barrier if (auraSpellInfo->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT && auraSpellInfo->SpellIconID == 85) { |