aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp36
-rw-r--r--src/server/game/Spells/SpellMgr.cpp3
2 files changed, 6 insertions, 33 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 92629d286bc..52515ebee8b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5572,44 +5572,14 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
// Shadow's Fate (Shadowmourne questline)
case 71169:
{
- bool ok = false;
- if (GetMap()->GetDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL || GetMap()->GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC)
- {
- uint32 spellId = 0;
-
- switch (GetEntry())
- {
- case 36678: // NPC: Professor Putricide
- spellId = 71518; // Spell: Unholy Infusion Credit
- break;
- case 37955: // NPC: Blood-Queen Lana'thel
- spellId = 72934; // Spell: Quest Credit
- break;
- case 36853: // NPC: Sindragosa <Queen of the Frostbrood>
- spellId = 72289; // Spell: Frost Infusion Quest Credit
- break;
- default:
- break;
- }
-
- if (spellId)
- CastSpell((Unit*)NULL, spellId, true);
-
- ok = true;
- }
-
- // TODO: The aura should be applieable by multiple players
Unit* caster = triggeredByAura->GetCaster();
if (caster && caster->GetTypeId() == TYPEID_PLAYER && caster->ToPlayer()->GetQuestStatus(24547) == QUEST_STATUS_INCOMPLETE)
{
CastSpell(caster, 71203, true);
- ok = true;
+ return true;
}
-
- if (!ok)
+ else
return false;
-
- return true;
}
// Essence of the Blood Queen
case 70871:
@@ -9055,7 +9025,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
case 71169:
{
// 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)
+ if (GetTypeId() != TYPEID_PLAYER || !victim || victim->GetTypeId() != TYPEID_UNIT || victim->GetCreatureType() == CREATURE_TYPE_CRITTER)
return false;
Player* player = ToPlayer();
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 3eefd969eed..d166c6f9ebf 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3413,6 +3413,9 @@ void SpellMgr::LoadDbcDataCorrections()
case 71123: // Decimate (Stinky & Precious)
spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_100_YARDS; // 100yd
break;
+ case 71169: // Shadow's Fate
+ spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS;
+ break;
case 72378: // Blood Nova (Deathbringer Saurfang)
case 73058: // Blood Nova (Deathbringer Saurfang)
spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_200_YARDS;