diff options
| author | Shauren <none@none> | 2010-12-06 22:54:19 +0100 |
|---|---|---|
| committer | Shauren <none@none> | 2010-12-06 22:54:19 +0100 |
| commit | 703835ee94f15131eec84e25e45059fb87ab1ba2 (patch) | |
| tree | 26d13c62a6c562796ce0a95e99f6602cfd339911 /src/server/game | |
| parent | 20cc4ace5d4ab8a7438fc5db470c43cd9b1f4c66 (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-x | src/server/game/Entities/Unit/Unit.cpp | 50 | ||||
| -rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 11 |
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 |
