diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 0a669d9b82..dc2a8bc921 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -2740,7 +2740,7 @@ void InstanceMap::SetResetSchedule(bool on) } } -MapDifficulty const* InstanceMap::GetMapDifficulty() const +MapDifficulty const* Map::GetMapDifficulty() const { return GetMapDifficultyData(GetId(),GetDifficulty()); } diff --git a/src/game/Map.h b/src/game/Map.h index 9e7fa49f06..a192390ba3 100644 --- a/src/game/Map.h +++ b/src/game/Map.h @@ -357,6 +357,11 @@ class Map : public GridRefManager, public Trinity::ObjectLevelLockabl virtual bool CanEnter(Player* /*player*/) { return true; } const char* GetMapName() const; + // have meaning only for instanced map (that have set real difficulty) + Difficulty GetDifficulty() const { return Difficulty(GetSpawnMode()); } + bool IsRegularDifficulty() const { return GetDifficulty() == REGULAR_DIFFICULTY; } + MapDifficulty const* GetMapDifficulty() const; + bool Instanceable() const { return i_mapEntry && i_mapEntry->Instanceable(); } // NOTE: this duplicate of Instanceable(), but Instanceable() can be changed when BG also will be instanceable bool IsDungeon() const { return i_mapEntry && i_mapEntry->IsDungeon(); } @@ -581,12 +586,8 @@ class InstanceMap : public Map void SendResetWarnings(uint32 timeLeft) const; void SetResetSchedule(bool on); - // have meaning only for instanced map (that have set real difficulty) - Difficulty GetDifficulty() const { return Difficulty(GetSpawnMode()); } - bool IsRegularDifficulty() const { return GetDifficulty() == REGULAR_DIFFICULTY; } uint32 GetMaxPlayers() const; uint32 GetMaxResetDelay() const; - MapDifficulty const* GetMapDifficulty() const; virtual void InitVisibilityDistance(); private: diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 4370953a7b..cea646fe43 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -20713,6 +20713,10 @@ void Player::SendInitialPacketsBeforeAddToMap() SendTalentsInfoData(false); // SMSG_INSTANCE_DIFFICULTY + data.Initialize(SMSG_INSTANCE_DIFFICULTY, 4+4); + data << uint32(GetMap()->GetDifficulty()); + data << uint32(0); + GetSession()->SendPacket(&data); SendInitialSpells();