aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 1ca40671afe..19f3f78fc06 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -9038,11 +9038,36 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
// Shadow's Fate (Shadowmourne questline)
case 71169:
{
- // These lines handle on which targets the Shadow's Fate debuff could be applied to.
- // The aura is already restricted to ICC, but it should not be applied to NPCs like
- // bugs, rats or summons for example which don't give reputation.
+ // Victim needs more checks so bugs, rats or summons can not be affected by the proc.
if (GetTypeId() != TYPEID_PLAYER || victim->GetTypeId() != TYPEID_UNIT || victim->GetCreatureType() == CREATURE_TYPE_CRITTER)
return false;
+
+ Player* player = ToPlayer();
+ if (player->GetQuestStatus(24547) != QUEST_STATUS_INCOMPLETE)
+ {
+ uint32 spellId = 0;
+ uint32 questId = 0;
+ switch (victim->GetEntry())
+ {
+ case 36678: // NPC: Professor Putricide
+ questId = 24749; // Quest: Unholy Infusion
+ spellId = 71516; // Spell: Shadow Infusion
+ break;
+ case 37955: // NPC: Blood-Queen Lana'thel
+ questId = 24756; // Quest: Blood Infusion
+ spellId = 72154; // Spell: Thirst Quenched
+ break;
+ case 36853: // NPC: Sindragosa
+ questId = 24757; // Quest: Frost Infusion
+ spellId = 72290; // Spell: Frost-Imbued Blade
+ break;
+ default:
+ return false;
+ }
+
+ if (player->GetQuestStatus(questId) != QUEST_STATUS_INCOMPLETE || !player->HasAura(spellId))
+ return false;
+ }
break;
}
}