aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2019_07_28_03_world_2017_02_22_01_world.sql3
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.h7
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp18
-rw-r--r--src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp7
4 files changed, 23 insertions, 12 deletions
diff --git a/sql/updates/world/master/2019_07_28_03_world_2017_02_22_01_world.sql b/sql/updates/world/master/2019_07_28_03_world_2017_02_22_01_world.sql
new file mode 100644
index 00000000000..87bb090d086
--- /dev/null
+++ b/sql/updates/world/master/2019_07_28_03_world_2017_02_22_01_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `gameobject` WHERE guid=45; -- guid 44 used different in master
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `PhaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(45, 185966, 564, 3959, 3959, '14,33', 0, 706.406006, 302.182373, 353.743744, 0.157961, 0, 0, 0, 0, 7200, 0, 1);
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.h b/src/server/scripts/Outland/BlackTemple/black_temple.h
index 2218eab2500..d27b17303d4 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.h
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.h
@@ -56,7 +56,9 @@ enum BTDataTypes
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
@@ -125,7 +127,8 @@ enum BTGameObjectIds
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 e837777090b..57606828455 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -197,8 +197,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
@@ -480,7 +479,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);
@@ -850,7 +850,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:
@@ -919,7 +920,8 @@ public:
me->RemoveUnitFlag(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);
@@ -994,7 +996,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:
@@ -1255,7 +1258,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 b3cf99ddc93..b0aeb80e17c 100644
--- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
@@ -81,9 +81,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