aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2020-05-19 11:42:11 -0300
committerKeader <keader.android@gmail.com>2020-05-19 11:42:11 -0300
commitd1e1b8753c491022055e255fd8c8b4ffbdd87bc9 (patch)
tree01deacef7189137b020973f9d9d87d0768efba27 /src
parent868748007da3b70e96f10b4689065bd0b3f876c5 (diff)
Scripts/ICC: Fixed Deathbringer/Valithria reputation handler + codestyle fixes
* Added correct reputation spell for both bosses * Fixed debuffs remove when deathbringer dies (it also fix recount) * Changed all DoCast(me, xxx) -> DoCastSelf(xx) * Removed old reputation hack in DB * Fixed my OCD with spells enum :)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp81
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp31
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h1
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 b3c642b0fd8..cf78955688a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -91,33 +91,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)
@@ -268,11 +268,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);
}
@@ -298,7 +298,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);
}
@@ -360,7 +360,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);
}
@@ -371,13 +371,12 @@ class boss_deathbringer_saurfang : public CreatureScript
_EnterEvadeMode();
me->SetFlag(UNIT_FIELD_FLAGS, 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);
}
@@ -477,7 +476,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->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -488,7 +487,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:
@@ -498,10 +497,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())
@@ -516,11 +515,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 2dfc6a1653a..2d7bdb8d294 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -313,7 +313,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);
@@ -335,8 +335,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();
@@ -382,8 +383,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->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -442,11 +443,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;
@@ -629,19 +630,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;
@@ -753,7 +754,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:
@@ -827,7 +828,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:
@@ -934,7 +935,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
@@ -992,7 +993,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 10604cdf41f..f6ec558c735 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,