aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/783_world.sql4
-rw-r--r--src/game/Language.h2
-rw-r--r--src/game/Player.cpp13
3 files changed, 19 insertions, 0 deletions
diff --git a/sql/updates/783_world.sql b/sql/updates/783_world.sql
new file mode 100644
index 00000000000..24a8481e24e
--- /dev/null
+++ b/sql/updates/783_world.sql
@@ -0,0 +1,4 @@
+DELETE FROM trinity_string where entry IN (10056, 10057);
+INSERT INTO trinity_string (entry, content_default) VALUES
+(10056, 'You must be a member of the Horde to enter the Hall of Legends.'),
+(10057, 'You must be a member of the Alliance to enter the Champion\'s Hall.'); \ No newline at end of file
diff --git a/src/game/Language.h b/src/game/Language.h
index 490435bbb94..3875ac092cc 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -858,6 +858,8 @@ enum TrinityStrings
LANG_OPVP_EP_FLIGHT_CGT = 10053,
LANG_OPVP_ZM_GOSSIP_ALLIANCE = 10054,
LANG_OPVP_ZM_GOSSIP_HORDE = 10055,
+ LANG_NO_ENTER_HALL_OF_LEGENDS = 10056,
+ LANG_NO_ENTER_CHAMPIONS_HALL = 10057,
// Use for custom patches 11000-11999
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 7096118f02f..81ebb45a92e 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1575,6 +1575,19 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
if(!InBattleGround() && mEntry->IsBattleGroundOrArena())
return false;
+ // 449 - Champions' Hall (Alliance) // 450 - Hall of Legends (Horde)
+ if(mapid == 449 && GetTeam()==HORDE)
+ {
+ GetSession()->SendNotification(LANG_NO_ENTER_CHAMPIONS_HALL);
+ return false;
+ }
+
+ if(mapid == 450 && GetTeam() == ALLIANCE)
+ {
+ GetSession()->SendNotification(LANG_NO_ENTER_HALL_OF_LEGENDS);
+ return false;
+ }
+
// client without expansion support
if(GetSession()->Expansion() < mEntry->Expansion())
{