Skip to content

Commit b9a8863

Browse files
Core/BG: Queue Ready-Team Announcer
1 parent b58f585 commit b9a8863

4 files changed

Lines changed: 27 additions & 1 deletion

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
DELETE FROM `trinity_string` WHERE `entry` = 90000;
2+
INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES (90000, '|cffff0000[BG Queue Announcer]:|r |cff00ccff[%d-%d]|r %s is ready to start |cff00FF3C%s|r', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

src/server/game/Battlegrounds/BattlegroundQueue.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,25 @@ GroupQueueInfo* BattlegroundQueue::AddGroup(Player* leader, Group* grp, Battlegr
223223
sWorld->SendWorldText(LANG_BG_QUEUE_ANNOUNCE_WORLD, bg->GetName().c_str(), q_min_level, q_max_level,
224224
qAlliance, (MinPlayers > qAlliance) ? MinPlayers - qAlliance : (uint32)0, qHorde, (MinPlayers > qHorde) ? MinPlayers - qHorde : (uint32)0);
225225
}
226+
227+
if (bg->isBattleground() && q_min_level != 80)
228+
{
229+
if (m_QueuedGroups[bracketId][BG_QUEUE_NORMAL_ALLIANCE].size() == MinPlayers && !hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_ALLIANCE])
230+
{
231+
sWorld->SendWorldText(LANG_BG_ANNOUNCE_TEAM_READY, q_min_level, q_max_level, "Alliance", bg->GetName().c_str());
232+
hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_ALLIANCE] = true;
233+
}
234+
else if (m_QueuedGroups[bracketId][BG_QUEUE_NORMAL_ALLIANCE].size() == 1) // set booleans when the first player queues
235+
hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_ALLIANCE] = false;
236+
237+
if (m_QueuedGroups[bracketId][BG_QUEUE_NORMAL_HORDE].size() == MinPlayers && !hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_HORDE])
238+
{
239+
sWorld->SendWorldText(LANG_BG_ANNOUNCE_TEAM_READY, q_min_level, q_max_level, "Horde", bg->GetName().c_str());
240+
hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_HORDE] = true;
241+
}
242+
else if (m_QueuedGroups[bracketId][BG_QUEUE_NORMAL_HORDE].size() == 1) // set booleans when the first player queues
243+
hasBeenAnnounced[bracketId][BG_QUEUE_NORMAL_HORDE] = false;
244+
}
226245
}
227246
}
228247
//release mutex

src/server/game/Battlegrounds/BattlegroundQueue.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ class BattlegroundQueue
129129

130130
// Event handler
131131
EventProcessor m_events;
132+
133+
// QueueAnnouncer
134+
bool hasBeenAnnounced[MAX_BATTLEGROUND_BRACKETS][BG_QUEUE_GROUP_TYPES_COUNT];
132135
};
133136

134137
/*

src/server/game/Miscellaneous/Language.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,8 @@ enum TrinityStrings
12021202
LANG_BAN_ACCOUNT_YOUPERMBANNEDMESSAGE_WORLD = 11007,
12031203

12041204
LANG_NPCINFO_INHABIT_TYPE = 11008,
1205-
LANG_NPCINFO_FLAGS_EXTRA = 11009
1205+
LANG_NPCINFO_FLAGS_EXTRA = 11009,
1206+
1207+
LANG_BG_ANNOUNCE_TEAM_READY = 90000
12061208
};
12071209
#endif

0 commit comments

Comments
 (0)