aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
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/scripts
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/scripts')
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp34
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp2
2 files changed, 34 insertions, 2 deletions
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)