diff options
author | Rat <none@none> | 2010-06-01 23:55:09 +0200 |
---|---|---|
committer | Rat <none@none> | 2010-06-01 23:55:09 +0200 |
commit | ad753b3f677c6280d48391e4bc550eedc9ce7a6e (patch) | |
tree | 255cfefa5d78374811cec2a453ee2ee6c1534d8a /src/game/BattleGround.cpp | |
parent | d53f91ff327ea4f73d7dd16e7246d50150c2458b (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.cpp | 30 |
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); |