Index: src/game/Map.cpp =================================================================== --- src/game/Map.cpp (revision 5465) +++ src/game/Map.cpp (working copy) @@ -625,6 +625,8 @@ player->AddToWorld(); + player->SendUpdateWorldState(state_field, state_value); + SendInitSelf(player); SendInitTransports(player); @@ -740,6 +742,14 @@ i_data->Update(t_diff); } +void Map::UpdateWorldState(uint32 field, uint32 value) +{ + state_field = field; + state_value = value; + for(PlayerList::const_iterator itr = i_Players.begin(); itr != i_Players.end(); ++itr) + (*itr)->SendUpdateWorldState(field, value); +} + void Map::Remove(Player *player, bool remove) { if (Instanceable()) Index: src/game/Map.h =================================================================== --- src/game/Map.h (revision 5465) +++ src/game/Map.h (working copy) @@ -131,6 +131,8 @@ virtual void Update(const uint32&); + void UpdateWorldState(uint32 field, uint32 value); + void MessageBroadcast(Player *, WorldPacket *, bool to_self, bool own_team_only = false); void MessageBroadcast(WorldObject *, WorldPacket *); @@ -289,6 +291,9 @@ time_t i_gridExpiry; + uint32 state_field; + uint32 state_value; + MapEntry const* i_mapEntry; time_t i_resetTime; uint32 i_resetDelayTime;