diff options
Diffstat (limited to 'src')
3 files changed, 57 insertions, 56 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index a4d2588e06e..3b02a7274e4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -90,33 +90,33 @@ enum ScriptTexts enum Spells { // Deathbringer Saurfang - SPELL_ZERO_POWER = 72242, - SPELL_GRIP_OF_AGONY = 70572, // Intro - SPELL_BLOOD_LINK = 72178, - SPELL_MARK_OF_THE_FALLEN_CHAMPION_S = 72256, - SPELL_RUNE_OF_BLOOD_S = 72408, - - SPELL_SUMMON_BLOOD_BEAST = 72172, - SPELL_SUMMON_BLOOD_BEAST_25_MAN = 72356, // Additional cast, does not replace - SPELL_FRENZY = 72737, - SPELL_BLOOD_NOVA_TRIGGER = 72378, - SPELL_BLOOD_NOVA = 72380, - SPELL_BLOOD_POWER = 72371, - SPELL_BLOOD_LINK_POWER = 72195, - SPELL_BLOOD_LINK_DUMMY = 72202, - SPELL_MARK_OF_THE_FALLEN_CHAMPION = 72293, - SPELL_BOILING_BLOOD = 72385, - SPELL_RUNE_OF_BLOOD = 72410, + SPELL_ZERO_POWER = 72242, + SPELL_GRIP_OF_AGONY = 70572, // Intro + SPELL_BLOOD_LINK = 72178, + SPELL_MARK_OF_THE_FALLEN_CHAMPION_S = 72256, + SPELL_RUNE_OF_BLOOD_S = 72408, + + SPELL_SUMMON_BLOOD_BEAST = 72172, + SPELL_SUMMON_BLOOD_BEAST_25_MAN = 72356, // Additional cast, does not replace + SPELL_FRENZY = 72737, + SPELL_BLOOD_NOVA_TRIGGER = 72378, + SPELL_BLOOD_NOVA = 72380, + SPELL_BLOOD_POWER = 72371, + SPELL_BLOOD_LINK_POWER = 72195, + SPELL_BLOOD_LINK_DUMMY = 72202, + SPELL_MARK_OF_THE_FALLEN_CHAMPION = 72293, + SPELL_BOILING_BLOOD = 72385, + SPELL_RUNE_OF_BLOOD = 72410, // Blood Beast - SPELL_BLOOD_LINK_BEAST = 72176, - SPELL_RESISTANT_SKIN = 72723, - SPELL_SCENT_OF_BLOOD = 72769, // Heroic only + SPELL_BLOOD_LINK_BEAST = 72176, + SPELL_RESISTANT_SKIN = 72723, + SPELL_SCENT_OF_BLOOD = 72769, // Heroic only - SPELL_RIDE_VEHICLE = 70640, // Outro - SPELL_ACHIEVEMENT = 72928, + SPELL_RIDE_VEHICLE = 70640, // Outro + SPELL_ACHIEVEMENT = 72928, SPELL_REMOVE_MARKS_OF_THE_FALLEN_CHAMPION = 72257, - SPELL_PERMANENT_FEIGN_DEATH = 70628, + SPELL_PERMANENT_FEIGN_DEATH = 70628 }; // Helper to get id of the aura on different modes (HasAura(baseId) wont work) @@ -267,11 +267,11 @@ class boss_deathbringer_saurfang : public CreatureScript _frenzied = false; _dead = false; me->SetPower(POWER_ENERGY, 0); - DoCast(me, SPELL_ZERO_POWER, true); - DoCast(me, SPELL_BLOOD_LINK, true); - DoCast(me, SPELL_BLOOD_POWER, true); - DoCast(me, SPELL_MARK_OF_THE_FALLEN_CHAMPION_S, true); - DoCast(me, SPELL_RUNE_OF_BLOOD_S, true); + DoCastSelf(SPELL_ZERO_POWER, true); + DoCastSelf(SPELL_BLOOD_LINK, true); + DoCastSelf(SPELL_BLOOD_POWER, true); + DoCastSelf(SPELL_MARK_OF_THE_FALLEN_CHAMPION_S, true); + DoCastSelf(SPELL_RUNE_OF_BLOOD_S, true); me->RemoveAurasDueToSpell(SPELL_BERSERK); me->RemoveAurasDueToSpell(SPELL_FRENZY); } @@ -297,7 +297,7 @@ class boss_deathbringer_saurfang : public CreatureScript me->SetImmuneToPC(false); if (!_introDone) { - DoCast(me, SPELL_GRIP_OF_AGONY); + DoCastSelf(SPELL_GRIP_OF_AGONY); if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SAURFANG_EVENT_NPC))) creature->AI()->DoAction(ACTION_INTERRUPT_INTRO); } @@ -359,7 +359,7 @@ class boss_deathbringer_saurfang : public CreatureScript if (!_frenzied && HealthBelowPct(31)) // AT 30%, not below { _frenzied = true; - DoCast(me, SPELL_FRENZY, true); + DoCastSelf(SPELL_FRENZY, true); Talk(SAY_FRENZY); } @@ -370,13 +370,12 @@ class boss_deathbringer_saurfang : public CreatureScript _EnterEvadeMode(); me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetImmuneToPC(true); - + me->RemoveAurasOnEvade(); DoCastAOE(SPELL_REMOVE_MARKS_OF_THE_FALLEN_CHAMPION); - DoCast(me, SPELL_ACHIEVEMENT, true); + DoCastSelf(SPELL_ACHIEVEMENT, true); Talk(SAY_DEATH); - - //instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MARK_OF_THE_FALLEN_CHAMPION); - DoCast(me, SPELL_PERMANENT_FEIGN_DEATH); + DoCastSelf(SPELL_REPUTATION_BOSS_KILL, true); + DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH); if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SAURFANG_EVENT_NPC))) creature->AI()->DoAction(ACTION_START_OUTRO); } @@ -476,7 +475,7 @@ class boss_deathbringer_saurfang : public CreatureScript case EVENT_INTRO_ALLIANCE_6: Talk(SAY_INTRO_ALLIANCE_6); Talk(SAY_INTRO_ALLIANCE_7); - DoCast(me, SPELL_GRIP_OF_AGONY); + DoCastSelf(SPELL_GRIP_OF_AGONY); break; case EVENT_INTRO_HORDE_2: me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); @@ -487,7 +486,7 @@ class boss_deathbringer_saurfang : public CreatureScript Talk(SAY_INTRO_HORDE_4); break; case EVENT_INTRO_HORDE_9: - DoCast(me, SPELL_GRIP_OF_AGONY); + DoCastSelf(SPELL_GRIP_OF_AGONY); Talk(SAY_INTRO_HORDE_9); break; case EVENT_INTRO_FINISH: @@ -497,10 +496,10 @@ class boss_deathbringer_saurfang : public CreatureScript break; case EVENT_SUMMON_BLOOD_BEAST: for (uint32 i10 = 0; i10 < 2; ++i10) - DoCast(me, SPELL_SUMMON_BLOOD_BEAST+i10); + DoCastSelf(SPELL_SUMMON_BLOOD_BEAST+i10); if (Is25ManRaid()) for (uint32 i25 = 0; i25 < 3; ++i25) - DoCast(me, SPELL_SUMMON_BLOOD_BEAST_25_MAN+i25); + DoCastSelf(SPELL_SUMMON_BLOOD_BEAST_25_MAN+i25); Talk(SAY_BLOOD_BEASTS); events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 40s, 0, PHASE_COMBAT); if (IsHeroic()) @@ -515,11 +514,11 @@ class boss_deathbringer_saurfang : public CreatureScript events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, urand(20000, 25000), 0, PHASE_COMBAT); break; case EVENT_BOILING_BLOOD: - DoCast(me, SPELL_BOILING_BLOOD); + DoCastSelf(SPELL_BOILING_BLOOD); events.ScheduleEvent(EVENT_BOILING_BLOOD, urand(15000, 20000), 0, PHASE_COMBAT); break; case EVENT_BERSERK: - DoCast(me, SPELL_BERSERK); + DoCastSelf(SPELL_BERSERK); Talk(SAY_BERSERK); break; case EVENT_SCENT_OF_BLOOD: diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index fead092d3cd..f1ff1310045 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -314,7 +314,7 @@ class boss_valithria_dreamwalker : public CreatureScript if (action != ACTION_ENTER_COMBAT) return; - DoCast(me, SPELL_COPY_DAMAGE); + DoCastSelf(SPELL_COPY_DAMAGE); _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); _events.ScheduleEvent(EVENT_INTRO_TALK, 15s); _events.ScheduleEvent(EVENT_DREAM_PORTAL, 45s, 48s); @@ -336,8 +336,9 @@ class boss_valithria_dreamwalker : public CreatureScript Talk(SAY_VALITHRIA_SUCCESS); _instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); me->RemoveAurasDueToSpell(SPELL_CORRUPTION_VALITHRIA); - DoCast(me, SPELL_ACHIEVEMENT_CHECK); + DoCastSelf(SPELL_ACHIEVEMENT_CHECK); DoCastAOE(SPELL_DREAMWALKERS_RAGE); + DoCastSelf(SPELL_REPUTATION_BOSS_KILL, true); _events.ScheduleEvent(EVENT_DREAM_SLIP, 3500ms); if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_LICH_KING))) lichKing->AI()->EnterEvadeMode(); @@ -383,8 +384,8 @@ class boss_valithria_dreamwalker : public CreatureScript { if (spell->Id == SPELL_DREAM_SLIP) { - DoCast(me, SPELL_CLEAR_ALL); - DoCast(me, SPELL_AWARD_REPUTATION_BOSS_KILL); + DoCastSelf(SPELL_CLEAR_ALL); + DoCastSelf(SPELL_AWARD_REPUTATION_BOSS_KILL); // this display id was found in sniff instead of the one on aura me->SetDisplayId(11686); me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE); @@ -443,11 +444,11 @@ class boss_valithria_dreamwalker : public CreatureScript if (!IsHeroic()) Talk(SAY_VALITHRIA_DREAM_PORTAL); for (uint32 i = 0; i < _portalCount; ++i) - DoCast(me, SUMMON_PORTAL); + DoCastSelf(SUMMON_PORTAL); _events.ScheduleEvent(EVENT_DREAM_PORTAL, 45s, 48s); break; case EVENT_DREAM_SLIP: - DoCast(me, SPELL_DREAM_SLIP); + DoCastSelf(SPELL_DREAM_SLIP); break; default: break; @@ -630,19 +631,19 @@ class npc_the_lich_king_controller : public CreatureScript switch (eventId) { case EVENT_GLUTTONOUS_ABOMINATION_SUMMONER: - DoCast(me, SPELL_TIMER_GLUTTONOUS_ABOMINATION); + DoCastSelf(SPELL_TIMER_GLUTTONOUS_ABOMINATION); break; case EVENT_SUPPRESSER_SUMMONER: - DoCast(me, SPELL_TIMER_SUPPRESSER); + DoCastSelf(SPELL_TIMER_SUPPRESSER); break; case EVENT_BLISTERING_ZOMBIE_SUMMONER: - DoCast(me, SPELL_TIMER_BLISTERING_ZOMBIE); + DoCastSelf(SPELL_TIMER_BLISTERING_ZOMBIE); break; case EVENT_RISEN_ARCHMAGE_SUMMONER: - DoCast(me, SPELL_TIMER_RISEN_ARCHMAGE); + DoCastSelf(SPELL_TIMER_RISEN_ARCHMAGE); break; case EVENT_BLAZING_SKELETON_SUMMONER: - DoCast(me, SPELL_TIMER_BLAZING_SKELETON); + DoCastSelf(SPELL_TIMER_BLAZING_SKELETON); break; default: break; @@ -754,7 +755,7 @@ class npc_risen_archmage : public CreatureScript switch (eventId) { case EVENT_FROSTBOLT_VOLLEY: - DoCast(me, SPELL_FROSTBOLT_VOLLEY); + DoCastSelf(SPELL_FROSTBOLT_VOLLEY); _events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, 8s, 15s); break; case EVENT_MANA_VOID: @@ -828,7 +829,7 @@ class npc_blazing_skeleton : public CreatureScript _events.ScheduleEvent(EVENT_FIREBALL, 2s, 4s); break; case EVENT_LEY_WASTE: - DoCast(me, SPELL_LEY_WASTE); + DoCastSelf(SPELL_LEY_WASTE); _events.ScheduleEvent(EVENT_LEY_WASTE, 15s, 20s); break; default: @@ -935,7 +936,7 @@ class npc_blistering_zombie : public CreatureScript void JustDied(Unit* /*killer*/) override { - DoCast(me, SPELL_ACID_BURST, true); + DoCastSelf(SPELL_ACID_BURST, true); } void UpdateAI(uint32 /*diff*/) override @@ -993,7 +994,7 @@ class npc_gluttonous_abomination : public CreatureScript switch (eventId) { case EVENT_GUT_SPRAY: - DoCast(me, SPELL_GUT_SPRAY); + DoCastSelf(SPELL_GUT_SPRAY); _events.ScheduleEvent(EVENT_GUT_SPRAY, 10s, 13s); break; default: diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h index 7704fffea75..7e849b1e7c4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h @@ -31,6 +31,7 @@ enum ICSharedSpells { SPELL_BERSERK = 26662, SPELL_BERSERK2 = 47008, + SPELL_REPUTATION_BOSS_KILL = 73843, // Deathbound Ward SPELL_STONEFORM = 70733, |