From 703835ee94f15131eec84e25e45059fb87ab1ba2 Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 6 Dec 2010 22:54:19 +0100 Subject: Core/Quests: Fixed Unholy Infusion (24749), Blood Infusion (24756) and added partial support for Frost Infusion (24757) --HG-- branch : trunk --- .../IcecrownCitadel/boss_blood_queen_lana_thel.cpp | 34 ++++++++++++++++++++++ .../IcecrownCitadel/boss_professor_putricide.cpp | 2 -- 2 files changed, 34 insertions(+), 2 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp index b8929ebbe06..b3f1a533a59 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp @@ -61,6 +61,15 @@ enum eSpells SPELL_BLOODBOLT_WHIRL = 71772, }; +enum eShadowmourne +{ + QUEST_BLOOD_INFUSION = 24756, + ITEM_SHADOW_S_EDGE = 49888, + + SPELL_GUSHING_WOUND = 72132, + SPELL_THIRST_QUENCHED = 72154, +}; + static const uint32 vampireAuras[3][MAX_DIFFICULTY] = { {70867, 71473, 71532, 71533}, @@ -182,6 +191,12 @@ class boss_blood_queen_lana_thel : public CreatureScript instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN); instance->DoRemoveAurasDueToSpellOnPlayers(ESSENCE_OF_BLOOD_QUEEN_PLR); instance->DoRemoveAurasDueToSpellOnPlayers(FRENZIED_BLOODTHIRST); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_UNCONTROLLABLE_FRENZY); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DAMAGE); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_VISUAL); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DUMMY); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_DELIRIOUS_SLASH); + instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PACT_OF_THE_DARKFALLEN); instance->SetBossState(DATA_BLOOD_QUEEN_LANA_THEL, DONE); } @@ -273,6 +288,10 @@ class boss_blood_queen_lana_thel : public CreatureScript offtank->CastSpell(me->getVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true); me->getVictim()->CastSpell(offtank, SPELL_BLOOD_MIRROR_DUMMY, true); DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL); + if (Item* shadowsEdge = offtank->GetWeaponForAttack(BASE_ATTACK, true)) + if (!offtank->HasAura(SPELL_THIRST_QUENCHED) && shadowsEdge->GetEntry() == ITEM_SHADOW_S_EDGE && !offtank->HasAura(SPELL_GUSHING_WOUND)) + offtank->CastSpell(offtank, SPELL_GUSHING_WOUND, true); + } } events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500, EVENT_GROUP_CANCELLABLE); @@ -436,8 +455,23 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader spell = sSpellMgr.GetSpellForDifficultyFromSpell(spell, GetCaster()); GetCaster()->RemoveAura(spell->Id, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL); GetCaster()->CastSpell(GetCaster(), SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR, true); + // Presence of the Darkfallen buff on Blood-Queen if (GetCaster()->GetMap()->IsHeroic()) GetCaster()->CastSpell(GetCaster(), SPELL_PRESENCE_OF_THE_DARKFALLEN, true); + // Shadowmourne questline + if (GetCaster()->ToPlayer()->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE) + { + if (Aura* aura = GetCaster()->GetAura(SPELL_GUSHING_WOUND)) + { + if (aura->GetStackAmount() == 3) + { + GetCaster()->CastSpell(GetCaster(), SPELL_THIRST_QUENCHED, true); + GetCaster()->RemoveAura(aura); + } + else + GetCaster()->CastSpell(GetCaster(), SPELL_GUSHING_WOUND, true); + } + } if (InstanceScript* instance = GetCaster()->GetInstanceScript()) if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL))) bloodQueen->AI()->SetGUID(GetHitUnit()->GetGUID(), GUID_VAMPIRE); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 3c7b349c6b4..49198ae8252 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -73,7 +73,6 @@ enum eSpells SPELL_PLAGUE_SICKNESS = 70953, SPELL_UNBOUND_PLAGUE_PROTECTION = 70955, SPELL_MUTATED_PLAGUE = 72451, - SPELL_UNHOLY_INFUSION_CREDIT = 71518, // Slime Puddle SPELL_GROW_STACKER = 70345, @@ -249,7 +248,6 @@ class boss_professor_putricide : public CreatureScript { Talk(SAY_DEATH); instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, DONE); - DoCastAOE(SPELL_UNHOLY_INFUSION_CREDIT, true); } void JustSummoned(Creature* summon) -- cgit v1.2.3