diff options
Diffstat (limited to 'src')
3 files changed, 20 insertions, 12 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.h b/src/server/scripts/Outland/BlackTemple/black_temple.h index 8a2cb69d603..9b2feb8b42b 100644 --- a/src/server/scripts/Outland/BlackTemple/black_temple.h +++ b/src/server/scripts/Outland/BlackTemple/black_temple.h @@ -54,7 +54,9 @@ enum DataTypes DATA_ESSENCE_OF_SUFFERING = 20, DATA_ESSENCE_OF_DESIRE = 21, - DATA_ESSENCE_OF_ANGER = 22 + DATA_ESSENCE_OF_ANGER = 22, + + DATA_ILLIDAN_MUSIC_CONTROLLER = 23, }; enum TriggerEmotes @@ -123,7 +125,8 @@ enum GameObjectIds GO_ILLIDAN_GATE = 185905, GO_ILLIDAN_DOOR_R = 186261, GO_ILLIDAN_DOOR_L = 186262, - GO_ILLIDAN_CAGE_TRAP = 185916 + GO_ILLIDAN_CAGE_TRAP = 185916, + GO_ILLIDAN_MUSIC_CONTROLLER = 185966 }; enum BlackTempleMisc diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 907d0c44d83..4f9189ec626 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -192,8 +192,7 @@ enum IllidanMisc SUMMON_GROUP = 1, DATA_AKAMA_TELEPORT_POSITION = 0, MAX_MINIONS_NUMBER = 10, - SPELL_GLAIVE_VISUAL_KIT = 7668, - BLACK_TEMPLE_ZONE_ID = 3959 + SPELL_GLAIVE_VISUAL_KIT = 7668 }; enum IllidanActions @@ -475,7 +474,8 @@ public: { _EnterCombat(); me->SetCanDualWield(true); - me->GetMap()->SetZoneMusic(BLACK_TEMPLE_ZONE_ID, EVENT_BT_SUMMIT_WALK_3_SOUND_ID); + if (GameObject* musicController = instance->GetGameObject(DATA_ILLIDAN_MUSIC_CONTROLLER)) + musicController->PlayDirectMusic(EVENT_BT_SUMMIT_WALK_3_SOUND_ID); specialEvents.ScheduleEvent(EVENT_EVADE_CHECK, Seconds(10)); specialEvents.ScheduleEvent(EVENT_BERSERK, Minutes(25)); ScheduleEvents(GROUP_PHASE_1, GROUP_PHASE_1); @@ -845,7 +845,8 @@ public: pos.Relocate(triggers.front()); pos.SetOrientation(0.0f); me->GetMotionMaster()->MovePoint(POINT_THROW_GLAIVE, pos); - me->GetMap()->SetZoneMusic(BLACK_TEMPLE_ZONE_ID, EVENT_BT_STORM_WALK_HERO_2_SOUND_ID); + if (GameObject* musicController = instance->GetGameObject(DATA_ILLIDAN_MUSIC_CONTROLLER)) + musicController->PlayDirectMusic(EVENT_BT_STORM_WALK_HERO_2_SOUND_ID); break; } case EVENT_THROW_WARGLAIVE: @@ -914,7 +915,8 @@ public: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetReactState(REACT_AGGRESSIVE); ScheduleEvents(GROUP_PHASE_3, GROUP_PHASE_3); - me->GetMap()->SetZoneMusic(BLACK_TEMPLE_ZONE_ID, EVENT_BT_STORM_WALK_UNI_3_SOUND_ID); + if (GameObject* musicController = instance->GetGameObject(DATA_ILLIDAN_MUSIC_CONTROLLER)) + musicController->PlayDirectMusic(EVENT_BT_STORM_WALK_UNI_3_SOUND_ID); break; case EVENT_AGONIZING_FLAMES: DoCastSelf(SPELL_AGONIZING_FLAMES_SELECTOR); @@ -989,7 +991,8 @@ public: break; case EVENT_DEFEATED_TEXT: Talk(SAY_ILLIDAN_DEFEATED); - me->GetMap()->SetZoneMusic(BLACK_TEMPLE_ZONE_ID, EVENT_BT_ARRIVAL_WALK_HERO_1_SOUND_ID); + if (GameObject* musicController = instance->GetGameObject(DATA_ILLIDAN_MUSIC_CONTROLLER)) + musicController->PlayDirectMusic(EVENT_BT_ARRIVAL_WALK_HERO_1_SOUND_ID); events.ScheduleEvent(EVENT_QUIET_SUICIDE, Seconds(18)); break; case EVENT_QUIET_SUICIDE: @@ -1250,7 +1253,8 @@ public: _events.ScheduleEvent(EVENT_AKAMA_START_SOUND, Seconds(5)); break; case EVENT_AKAMA_START_SOUND: - me->GetMap()->SetZoneMusic(BLACK_TEMPLE_ZONE_ID, EVENT_BT_SUMMIT_WALK_SOUND_ID); + if (GameObject* musicController = _instance->GetGameObject(DATA_ILLIDAN_MUSIC_CONTROLLER)) + musicController->PlayDirectMusic(EVENT_BT_SUMMIT_WALK_SOUND_ID); break; case EVENT_AKAMA_THANKS: Talk(SAY_AKAMA_SALUTE); diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index 35b80e4a47a..98b719c1f01 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -76,9 +76,10 @@ ObjectData const creatureData[] = ObjectData const gameObjectData[] = { - { GO_ILLIDAN_GATE, DATA_GO_ILLIDAN_GATE }, - { GO_DEN_OF_MORTAL_DOOR, DATA_GO_DEN_OF_MORTAL_DOOR }, - { 0, 0 } //END + { GO_ILLIDAN_GATE, DATA_GO_ILLIDAN_GATE }, + { GO_DEN_OF_MORTAL_DOOR, DATA_GO_DEN_OF_MORTAL_DOOR }, + { GO_ILLIDAN_MUSIC_CONTROLLER, DATA_ILLIDAN_MUSIC_CONTROLLER }, + { 0, 0 } //END }; class instance_black_temple : public InstanceMapScript |