aboutsummaryrefslogtreecommitdiff
path: root/src/game/BattleGround.cpp
diff options
context:
space:
mode:
authorRat <none@none>2010-06-01 23:55:09 +0200
committerRat <none@none>2010-06-01 23:55:09 +0200
commitad753b3f677c6280d48391e4bc550eedc9ce7a6e (patch)
tree255cfefa5d78374811cec2a453ee2ee6c1534d8a /src/game/BattleGround.cpp
parentd53f91ff327ea4f73d7dd16e7246d50150c2458b (diff)
SOTA update
-proper warning text (under attack, destroyed, capture..) -proper icons on map for gate states -fixed second round starting --HG-- branch : trunk
Diffstat (limited to 'src/game/BattleGround.cpp')
-rw-r--r--src/game/BattleGround.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp
index 389fdc25408..ad279da0628 100644
--- a/src/game/BattleGround.cpp
+++ b/src/game/BattleGround.cpp
@@ -416,7 +416,7 @@ void BattleGround::Update(uint32 diff)
StartingEventOpenDoors();
- SendMessageToAll(m_StartMessageIds[BG_STARTING_EVENT_FOURTH], CHAT_MSG_BG_SYSTEM_NEUTRAL);
+ SendWarningToAll(m_StartMessageIds[BG_STARTING_EVENT_FOURTH]);
SetStatus(STATUS_IN_PROGRESS);
SetStartDelayTime(m_StartDelayTimes[BG_STARTING_EVENT_FOURTH]);
@@ -1634,6 +1634,34 @@ void BattleGround::PSendMessageToAll(int32 entry, ChatMsg type, Player const* so
va_end(ap);
}
+void BattleGround::SendWarningToAll(int32 entry, ...)
+{
+ const char *format = objmgr.GetTrinityStringForDBCLocale(entry);
+ va_list ap;
+ char str [1024];
+ va_start(ap, entry);
+ vsnprintf(str,1024,format, ap);
+ va_end(ap);
+ std::string msg = (std::string)str;
+
+ WorldPacket data(SMSG_MESSAGECHAT, 200);
+
+ data << (uint8)CHAT_MSG_RAID_BOSS_EMOTE;
+ data << (uint32)LANG_UNIVERSAL;
+ data << (uint64)0;
+ data << (uint32)0; // 2.1.0
+ data << (uint32)1;
+ data << (uint8)0;
+ data << (uint64)0;
+ data << (uint32)(strlen(msg.c_str())+1);
+ data << msg.c_str();
+ data << (uint8)0;
+ for (BattleGroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
+ if (Player *plr = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER)))
+ if (plr->GetSession())
+ plr->GetSession()->SendPacket(&data);
+}
+
void BattleGround::SendMessage2ToAll(int32 entry, ChatMsg type, Player const* source, int32 arg1, int32 arg2)
{
Trinity::BattleGround2ChatBuilder bg_builder(type, entry, source, arg1, arg2);