diff options
Diffstat (limited to 'src')
3 files changed, 41 insertions, 10 deletions
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index d4040d9a331..6d4b4bc9379 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -23,7 +23,7 @@ #include "CellImpl.h" #include "obsidian_sanctum.h" -enum eEnums +enum Enums { //Sartharion Yell SAY_SARTHARION_AGGRO = 0, @@ -40,6 +40,9 @@ enum eEnums WHISPER_HATCH_EGGS = 6, WHISPER_OPEN_PORTAL = 6, // whisper, shared by two dragons + WHISPER_SHADRON_DICIPLE = 7, + WHISPER_VESPERON_DICIPLE = 7, + //Sartharion Spells SPELL_BERSERK = 61632, // Increases the caster's attack speed by 150% and all damage it deals by 500% for 5 min. SPELL_CLEAVE = 56909, // Inflicts 35% weapon damage to an enemy and its nearest allies, affecting up to 10 targets. diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp index 39bb7a3699d..cdbce68e337 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp @@ -39,7 +39,8 @@ enum Yells SAY_SLAY = 1, SAY_DEATH = 2, SAY_SUMMON_SNAKES = 3, - SAY_SUMMON_CONSTRICTORS = 4 + SAY_SUMMON_CONSTRICTORS = 4, + EMOTE_NOVA = 5 }; //Creatures @@ -130,6 +131,7 @@ public: if (uiPoisonNovaTimer <= diff) { DoCast(me->getVictim(), SPELL_POISON_NOVA); + Talk(EMOTE_NOVA); uiPoisonNovaTimer = 15*IN_MILLISECONDS; } else uiPoisonNovaTimer -= diff; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp index 44e2628e778..ffd5e53e787 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp @@ -45,11 +45,14 @@ enum Spells enum Yells { - SAY_AGGRO_1 = 0, - SAY_AGGRO_2 = 1, - SAY_AGGRO_3 = 2, - SAY_AGGRO_4 = 3, - SAY_TELEPORT = 1 + SAY_SUMMON_1 = 0, + SAY_SUMMON_2 = 1, + SAY_SUMMON_3 = 2, + SAY_AGGRO = 3, + EMOTE_ARCANE_EXPLOSION = 4, + SAY_ARCANE_EXPLOSION = 5, + SAY_DEATH = 6, + SAY_PLAYER_KILL = 7 }; enum eCreature @@ -148,7 +151,7 @@ public: { if (me->Attack(who, true)) { - Talk(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3, SAY_AGGRO_4)); + Talk(SAY_AGGRO); me->SetInCombatWith(who); who->SetInCombatWith(me); @@ -204,6 +207,22 @@ public: { SetPosition(i); me->SummonCreature(Group[group[instance->GetData(DATA_UROM_PLATAFORM)]].entry[i], x, y, me->GetPositionZ(), me->GetOrientation()); + + // teleport to next platform and spawn adds + switch (instance->GetData(DATA_UROM_PLATAFORM)) + { + case 1: + Talk(SAY_SUMMON_1); + break; + case 2: + Talk(SAY_SUMMON_2); + break; + case 3: + Talk(SAY_SUMMON_3); + break; + default: + break; + } } } @@ -216,9 +235,13 @@ public: DoCast(TeleportSpells[instance->GetData(DATA_UROM_PLATAFORM)]); } + void KilledUnit(Unit* /*victim*/) + { + Talk(SAY_PLAYER_KILL); + } + void UpdateAI(const uint32 uiDiff) { - //Return since we have no target if (!UpdateVictim()) return; @@ -228,7 +251,6 @@ public: if (teleportTimer <= uiDiff) { me->InterruptNonMeleeSpells(false); - Talk(SAY_TELEPORT); me->GetMotionMaster()->MoveIdle(); DoCast(SPELL_TELEPORT); teleportTimer = urand(30000, 35000); @@ -257,6 +279,9 @@ public: me->GetMotionMaster()->MoveChase(me->getVictim(), 0, 0); me->SetUnitMovementFlags(MOVEMENTFLAG_WALKING); + Talk(EMOTE_ARCANE_EXPLOSION); + Talk(SAY_ARCANE_EXPLOSION); + canCast = false; canGoBack = false; arcaneExplosionTimer = 9000; @@ -286,6 +311,7 @@ public: void JustDied(Unit* /*killer*/) { _JustDied(); + Talk(SAY_DEATH); DoCast(me, SPELL_DEATH_SPELL, true); // we cast the spell as triggered or the summon effect does not occur } |