aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorShauren <none@none>2010-12-06 22:54:19 +0100
committerShauren <none@none>2010-12-06 22:54:19 +0100
commit703835ee94f15131eec84e25e45059fb87ab1ba2 (patch)
tree26d13c62a6c562796ce0a95e99f6602cfd339911 /src/server/game
parent20cc4ace5d4ab8a7438fc5db470c43cd9b1f4c66 (diff)
Core/Quests: Fixed Unholy Infusion (24749), Blood Infusion (24756) and added partial support for Frost Infusion (24757)
--HG-- branch : trunk
Diffstat (limited to 'src/server/game')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp50
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp11
2 files changed, 54 insertions, 7 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index ab394fcc91c..c357e683ebc 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5744,8 +5744,34 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
// Shadow's Fate (Shadowmourne questline)
case 71169:
{
- triggered_spell_id = 71203;
target = triggeredByAura->GetCaster();
+ Player* player = target->ToPlayer();
+ if (!player)
+ return false;
+ // not checking Infusion auras because its in targetAuraSpell of credit spell
+ if (player->GetQuestStatus(24749) == QUEST_STATUS_INCOMPLETE) // Unholy Infusion
+ {
+ if (GetEntry() != 36678) // Professor Putricide
+ return false;
+ CastSpell(target, 71518, true); // Quest Credit
+ return true;
+ }
+ else if (player->GetQuestStatus(24756) == QUEST_STATUS_INCOMPLETE) // Blood Infusion
+ {
+ if (GetEntry() != 37955) // Blood-Queen Lana'thel
+ return false;
+ CastSpell(target, 72934, true); // Quest Credit
+ return true;
+ }
+ else if (player->GetQuestStatus(24757) == QUEST_STATUS_INCOMPLETE) // Frost Infusion
+ {
+ if (GetEntry() != 36853) // Sindragosa
+ return false;
+ CastSpell(target, 72289, true); // Quest Credit
+ return true;
+ }
+ else if (player->GetQuestStatus(24547) == QUEST_STATUS_INCOMPLETE) // A Feast of Souls
+ triggered_spell_id = 71203;
break;
}
// Gaseous Bloat (Professor Putricide add)
@@ -8863,16 +8889,36 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
break;
// Shadow's Fate (Shadowmourne questline)
case 71169:
+ {
if (GetTypeId() != TYPEID_PLAYER)
return false;
- if (ToPlayer()->GetQuestStatus(24547) != QUEST_STATUS_INCOMPLETE) // A Feast of Souls
+
+ Player* player = this->ToPlayer();
+ if (player->GetQuestStatus(24749) == QUEST_STATUS_INCOMPLETE) // Unholy Infusion
+ {
+ if (!player->HasAura(71516) || pVictim->GetEntry() != 36678) // Shadow Infusion && Professor Putricide
+ return false;
+ }
+ else if (player->GetQuestStatus(24756) == QUEST_STATUS_INCOMPLETE) // Blood Infusion
+ {
+ if (!player->HasAura(72154) || pVictim->GetEntry() != 37955) // Thirst Quenched && Blood-Queen Lana'thel
+ return false;
+ }
+ else if (player->GetQuestStatus(24757) == QUEST_STATUS_INCOMPLETE) // Frost Infusion
+ {
+ if (!player->HasAura(72290) || pVictim->GetEntry() != 36853) // Frost-Imbued Blade && Sindragosa
+ return false;
+ }
+ else if (player->GetQuestStatus(24547) != QUEST_STATUS_INCOMPLETE) // A Feast of Souls
return false;
+
if (pVictim->GetTypeId() != TYPEID_UNIT)
return false;
// critters are not allowed
if (pVictim->GetCreatureType() == CREATURE_TYPE_CRITTER)
return false;
break;
+ }
}
if (cooldown && GetTypeId() == TYPEID_PLAYER && ToPlayer()->HasSpellCooldown(trigger_spell_id))
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 8a3074742f0..6bde370cd70 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3888,11 +3888,6 @@ void SpellMgr::LoadSpellCustomAttr()
spellInfo->EffectImplicitTargetA[0] = TARGET_DST_DB;
count++;
break;
- // Deathbringer Saurfang achievement (must be cast on players, cannot do that with ENTRY target)
- case 72928:
- spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_AREA_ENEMY_SRC;
- count++;
- break;
case 63675: // Improved Devouring Plague
spellInfo->AttributesEx3 |= SPELL_ATTR_EX3_NO_DONE_BONUS;
count++;
@@ -3954,6 +3949,12 @@ void SpellMgr::LoadSpellCustomAttr()
spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_TARGET_ENEMY;
count++;
break;
+ case 71518: // Unholy Infusion Quest Credit
+ case 72934: // Blood Infusion Quest Credit
+ case 72289: // Frost Infusion Quest Credit
+ spellInfo->EffectRadiusIndex[0] = 28; // another missing radius
+ count++;
+ break;
case 71708: // Empowered Flare
case 72785: // Empowered Flare
case 72786: // Empowered Flare