diff options
author | megamage <none@none> | 2009-03-06 15:25:20 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-03-06 15:25:20 -0600 |
commit | 13fc3dcd7e95288cd9482e7440df3b15a3c580cb (patch) | |
tree | b613b866159b9e506ca8662cc8e773ed22f7955d /src | |
parent | 6f595b30382e5104e4e4c744431284c9f4eda742 (diff) |
[7388] Fixed battleground premature warning message. SQL files are attached, you must execute them! Author: Triply
Fix for message's color will be soon.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/BattleGround.cpp | 28 | ||||
-rw-r--r-- | src/game/BattleGround.h | 1 | ||||
-rw-r--r-- | src/game/Language.h | 9 | ||||
-rw-r--r-- | src/shared/revision_nr.h | 2 |
4 files changed, 33 insertions, 7 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp index 19b30bd18f2..46c6bbf76aa 100644 --- a/src/game/BattleGround.cpp +++ b/src/game/BattleGround.cpp @@ -230,7 +230,6 @@ void BattleGround::Update(uint32 diff) { m_PrematureCountDown = true; m_PrematureCountDownTimer = sBattleGroundMgr.GetPrematureFinishTime(); - SendMessageToAll(LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING); } else if(m_PrematureCountDownTimer < diff) { @@ -242,8 +241,17 @@ void BattleGround::Update(uint32 diff) { uint32 newtime = m_PrematureCountDownTimer - diff; // announce every minute - if(m_PrematureCountDownTimer != sBattleGroundMgr.GetPrematureFinishTime() && newtime / 60000 != m_PrematureCountDownTimer / 60000) - SendMessageToAll(LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING); + if( newtime > (MINUTE * IN_MILISECONDS) ) + { + if( newtime / (MINUTE * IN_MILISECONDS) != m_PrematureCountDownTimer / (MINUTE * IN_MILISECONDS) ) + PSendMessageToAll(LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING, (uint32)(m_PrematureCountDownTimer / (MINUTE * IN_MILISECONDS))); + } + else + { + //announce every 15 seconds + if( newtime / (15 * IN_MILISECONDS) != m_PrematureCountDownTimer / (15 * IN_MILISECONDS) ) + PSendMessageToAll(LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING_SECS, (uint32)(m_PrematureCountDownTimer / IN_MILISECONDS)); + } m_PrematureCountDownTimer = newtime; } } @@ -1047,7 +1055,7 @@ void BattleGround::RemoveFromBGFreeSlotQueue() // returns the number how many players can join battleground to MaxPlayersPerTeam uint32 BattleGround::GetFreeSlotsForTeam(uint32 Team) const { - //if BG is starting ... invite anyone + //return free slot count to MaxPlayerPerTeam if (GetStatus() == STATUS_WAIT_JOIN || GetStatus() == STATUS_IN_PROGRESS) return (GetInvitedCount(Team) < GetMaxPlayersPerTeam()) ? GetMaxPlayersPerTeam() - GetInvitedCount(Team) : 0; @@ -1414,6 +1422,18 @@ void BattleGround::SendMessageToAll(int32 entry) SendPacketToAll(&data); } +//copied from void ChatHandler::PSendSysMessage(int32 entry, ...) +void BattleGround::PSendMessageToAll(int32 entry, ...) +{ + const char *format = GetMangosString(entry); + va_list ap; + char str [2048]; + va_start(ap, entry); + vsnprintf(str,2048,format, ap ); + va_end(ap); + SendMessageToAll(str); +} + void BattleGround::EndNow() { RemoveFromBGFreeSlotQueue(); diff --git a/src/game/BattleGround.h b/src/game/BattleGround.h index 767b8521cf1..8f8aec564c6 100644 --- a/src/game/BattleGround.h +++ b/src/game/BattleGround.h @@ -402,6 +402,7 @@ class BattleGround void SendMessageToAll(char const* text); void SendMessageToAll(int32 entry); + void PSendMessageToAll(int32 entry, ... ); /* Raid Group */ Group *GetBgRaid(uint32 TeamID) const { return TeamID == ALLIANCE ? m_BgRaids[BG_TEAM_ALLIANCE] : m_BgRaids[BG_TEAM_HORDE]; } diff --git a/src/game/Language.h b/src/game/Language.h index 327eef25ead..e0e6ce8e8c2 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -654,7 +654,7 @@ enum TrinityStrings LANG_ARENA_NOT_ENOUGH_PLAYERS = 723, // "Your group does not have enough players to join this match." LANG_ARENA_GOLD_WINS = 724, // "The Gold Team wins!" LANG_ARENA_GREEN_WINS = 725, // "The Green Team wins!" - LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING = 726, // The battleground will end soon, because there aren't enough players. Get more ppl or win already! +// = 726, not used LANG_BG_GROUP_OFFLINE_MEMBER = 727, // "Your group has an offline member. Please remove him before joining." LANG_BG_GROUP_MIXED_FACTION = 728, // "Your group has players from the opposing faction. You can't join the battleground as a group." LANG_BG_GROUP_MIXED_LEVELS = 729, // "Your group has players from different battleground brakets. You can't join as group." @@ -676,7 +676,12 @@ enum TrinityStrings LANG_DIST_ARENA_POINTS_TEAM_START = 744, LANG_DIST_ARENA_POINTS_TEAM_END = 745, LANG_DIST_ARENA_POINTS_END = 746, - // Room for batleground/arena strings 747-799 not used +// = 747, not used +// = 748, not used +// = 749, not used + LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING = 750, // "Not enough players. This game will close in %u mins." + LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING_SECS = 751, // "Not enough players. This game will close in %u seconds." + // Room for batleground/arena strings 752-799 not used // Room for BG/ARENA 750-769 not used diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 160925670ff..ee9321bdae8 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7387" + #define REVISION_NR "7389" #endif // __REVISION_NR_H__ |