diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/World/go_scripts.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 272ba71d609..7584a272f35 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -1429,30 +1429,23 @@ public: { switch (eventId) { - case EVENT_MM_START_MUSIC: - { - if (!IsHolidayActive(HOLIDAY_FIRE_FESTIVAL)) - break; - - Map::PlayerList const &players = go->GetMap()->GetPlayers(); - for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) + case EVENT_MM_START_MUSIC: { - if (Player* player = itr->GetSource()) + if (!IsHolidayActive(HOLIDAY_FIRE_FESTIVAL)) + break; + + std::deque<Player*> playersNearby; + go->GetPlayerListInGrid(playersNearby, go->GetMap()->GetVisibilityRange()); + for (Player* player : playersNearby) { if (player->GetTeamId() == TEAM_HORDE) - { go->PlayDirectMusic(EVENTMIDSUMMERFIREFESTIVAL_H, player); - } else - { go->PlayDirectMusic(EVENTMIDSUMMERFIREFESTIVAL_A, player); - } } + _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) + break; } - - _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) - break; - } default: break; } |