diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-04-25 22:03:34 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-05-20 23:49:53 +0200 |
| commit | 70102f32fe38ae7d49acbd5ddee0239602d3cb94 (patch) | |
| tree | 22dcecc33942c7f60e2edb5402f6f7feaf559ece /src/server/game/Maps | |
| parent | 885d9b53c38662e00e3b4977b82e9cf36d197f94 (diff) | |
Core/DataStores: Updated opcodes and db2 to 7.0.3.21414
Diffstat (limited to 'src/server/game/Maps')
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 72 | ||||
| -rw-r--r-- | src/server/game/Maps/Map.h | 61 | ||||
| -rw-r--r-- | src/server/game/Maps/MapInstanced.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Maps/MapManager.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Maps/TransportMgr.h | 1 |
5 files changed, 98 insertions, 40 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index cce2671b69b..37321344782 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -239,7 +239,7 @@ m_unloadTimer(0), m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE), m_VisibilityNotifyPeriod(DEFAULT_VISIBILITY_NOTIFY_PERIOD), m_activeNonPlayersIter(m_activeNonPlayers.end()), _transportsUpdateIter(_transports.end()), i_gridExpiry(expiry), -i_scriptLock(false), _defaultLight(GetDefaultMapLight(id)) +i_scriptLock(false), _defaultLight(DB2Manager::GetDefaultMapLight(id)) { m_parentMap = (_parent ? _parent : this); for (unsigned int idx=0; idx < MAX_NUMBER_OF_GRIDS; ++idx) @@ -2403,7 +2403,7 @@ bool Map::IsOutdoors(float x, float y, float z) const return true; AreaTableEntry const* atEntry = nullptr; - WMOAreaTableEntry const* wmoEntry= GetWMOAreaTableEntryByTripple(rootId, adtId, groupId); + WMOAreaTableEntry const* wmoEntry= sDB2Manager.GetWMOAreaTable(rootId, adtId, groupId); if (wmoEntry) { TC_LOG_DEBUG("maps", "Got WMOAreaTableEntry! flag %u, areaid %u", wmoEntry->Flags, wmoEntry->AreaTableID); @@ -2443,7 +2443,7 @@ uint32 Map::GetAreaId(float x, float y, float z, bool *isOutdoors) const if (GetAreaInfo(x, y, z, mogpFlags, adtId, rootId, groupId)) { haveAreaInfo = true; - wmoEntry = GetWMOAreaTableEntryByTripple(rootId, adtId, groupId); + wmoEntry = sDB2Manager.GetWMOAreaTable(rootId, adtId, groupId); if (wmoEntry) { areaId = wmoEntry->AreaTableID; @@ -3413,7 +3413,7 @@ void InstanceMap::SetResetSchedule(bool on) MapDifficultyEntry const* Map::GetMapDifficulty() const { - return GetMapDifficultyData(GetId(), GetDifficultyID()); + return sDB2Manager.GetMapDifficultyData(GetId(), GetDifficultyID()); } uint32 Map::GetDifficultyLootBonusTreeMod() const @@ -3428,6 +3428,36 @@ uint32 Map::GetDifficultyLootBonusTreeMod() const return 0; } +uint32 Map::GetId() const +{ + return i_mapEntry->ID; +} + +bool Map::Instanceable() const +{ + return i_mapEntry && i_mapEntry->Instanceable(); +} + +bool Map::IsDungeon() const +{ + return i_mapEntry && i_mapEntry->IsDungeon(); +} + +bool Map::IsNonRaidDungeon() const +{ + return i_mapEntry && i_mapEntry->IsNonRaidDungeon(); +} + +bool Map::IsRaid() const +{ + return i_mapEntry && i_mapEntry->IsRaid(); +} + +bool Map::IsRaidOrHeroicDungeon() const +{ + return IsRaid() || IsHeroic(); +} + bool Map::IsHeroic() const { if (DifficultyEntry const* difficulty = sDifficultyStore.LookupEntry(i_spawnMode)) @@ -3435,6 +3465,38 @@ bool Map::IsHeroic() const return false; } +bool Map::Is25ManRaid() const +{ + return IsRaid() && (i_spawnMode == DIFFICULTY_25_N || i_spawnMode == DIFFICULTY_25_HC); +} + +bool Map::IsBattleground() const +{ + return i_mapEntry && i_mapEntry->IsBattleground(); +} + +bool Map::IsBattleArena() const +{ + return i_mapEntry && i_mapEntry->IsBattleArena(); +} + +bool Map::IsBattlegroundOrArena() const +{ + return i_mapEntry && i_mapEntry->IsBattlegroundOrArena(); +} + +bool Map::IsGarrison() const +{ + return i_mapEntry && i_mapEntry->IsGarrison(); +} + +bool Map::GetEntrancePos(int32 &mapid, float &x, float &y) +{ + if (!i_mapEntry) + return false; + return i_mapEntry->GetEntrancePos(mapid, x, y); +} + bool InstanceMap::HasPermBoundPlayers() const { PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PERM_BIND_BY_INSTANCE); @@ -3454,7 +3516,7 @@ uint32 InstanceMap::GetMaxPlayers() const uint32 InstanceMap::GetMaxResetDelay() const { MapDifficultyEntry const* mapDiff = GetMapDifficulty(); - return mapDiff ? mapDiff->RaidDuration : 0; + return mapDiff ? mapDiff->GetRaidDuration() : 0; } /* ******* Battleground Instance Maps ******* */ diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 7d73d9b6625..89edf9823b7 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -21,8 +21,6 @@ #include "Define.h" -#include "DBCStructure.h" -#include "DB2Structure.h" #include "GridDefines.h" #include "Cell.h" #include "Timer.h" @@ -37,24 +35,28 @@ #include <list> #include <memory> -class Unit; -class WorldPacket; -class InstanceScript; +class Battleground; +class BattlegroundMap; +class CreatureGroup; class Group; +class InstanceMap; class InstanceSave; +class InstanceScript; +class MapInstanced; class Object; -class WorldObject; -class TempSummon; class Player; -class CreatureGroup; -struct ScriptInfo; -struct ScriptAction; +class TempSummon; +class Unit; +class WorldObject; +class WorldPacket; +struct MapDifficultyEntry; +struct MapEntry; struct Position; -class Battleground; -class MapInstanced; -class BattlegroundMap; -class InstanceMap; +struct ScriptAction; +struct ScriptInfo; +struct SummonPropertiesEntry; class Transport; +enum Difficulty : uint8; enum WeatherState : uint32; namespace Trinity { struct ObjectUpdater; } @@ -323,8 +325,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType> grid.ResetTimeTracker(time_t(float(i_gridExpiry)*factor)); } - time_t GetGridExpiry(void) const { return i_gridExpiry; } - uint32 GetId(void) const { return i_mapEntry->ID; } + time_t GetGridExpiry() const { return i_gridExpiry; } static bool ExistMap(uint32 mapid, int gx, int gy); static bool ExistVMap(uint32 mapid, int gx, int gy); @@ -393,23 +394,19 @@ class TC_GAME_API Map : public GridRefManager<NGridType> MapDifficultyEntry const* GetMapDifficulty() const; uint32 GetDifficultyLootBonusTreeMod() const; - bool Instanceable() const { return i_mapEntry && i_mapEntry->Instanceable(); } - bool IsDungeon() const { return i_mapEntry && i_mapEntry->IsDungeon(); } - bool IsNonRaidDungeon() const { return i_mapEntry && i_mapEntry->IsNonRaidDungeon(); } - bool IsRaid() const { return i_mapEntry && i_mapEntry->IsRaid(); } - bool IsRaidOrHeroicDungeon() const { return IsRaid() || IsHeroic(); } + uint32 GetId() const; + bool Instanceable() const; + bool IsDungeon() const; + bool IsNonRaidDungeon() const; + bool IsRaid() const; + bool IsRaidOrHeroicDungeon() const; bool IsHeroic() const; - bool Is25ManRaid() const { return IsRaid() && (i_spawnMode == DIFFICULTY_25_N || i_spawnMode == DIFFICULTY_25_HC); } // since 25man difficulties are 1 and 3, we can check them like that - bool IsBattleground() const { return i_mapEntry && i_mapEntry->IsBattleground(); } - bool IsBattleArena() const { return i_mapEntry && i_mapEntry->IsBattleArena(); } - bool IsBattlegroundOrArena() const { return i_mapEntry && i_mapEntry->IsBattlegroundOrArena(); } - bool IsGarrison() const { return i_mapEntry && i_mapEntry->IsGarrison(); } - bool GetEntrancePos(int32 &mapid, float &x, float &y) - { - if (!i_mapEntry) - return false; - return i_mapEntry->GetEntrancePos(mapid, x, y); - } + bool Is25ManRaid() const; // since 25man difficulties are 1 and 3, we can check them like that + bool IsBattleground() const; + bool IsBattleArena() const; + bool IsBattlegroundOrArena() const; + bool IsGarrison() const; + bool GetEntrancePos(int32 &mapid, float &x, float &y); void AddObjectToRemoveList(WorldObject* obj); void AddObjectToSwitchList(WorldObject* obj, bool on); diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp index 12cec6d8633..f80c04d7c8c 100644 --- a/src/server/game/Maps/MapInstanced.cpp +++ b/src/server/game/Maps/MapInstanced.cpp @@ -225,7 +225,7 @@ InstanceMap* MapInstanced::CreateInstance(uint32 InstanceId, InstanceSave* save, } // some instances only have one difficulty - GetDownscaledMapDifficultyData(GetId(), difficulty); + sDB2Manager.GetDownscaledMapDifficultyData(GetId(), difficulty); TC_LOG_DEBUG("maps", "MapInstanced::CreateInstance: %s map instance %d for %d created with difficulty %s", save ? "" : "new ", InstanceId, GetId(), difficulty ? "heroic" : "normal"); diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp index 5a31bb822b4..d85d198fe9c 100644 --- a/src/server/game/Maps/MapManager.cpp +++ b/src/server/game/Maps/MapManager.cpp @@ -140,7 +140,7 @@ Map::EnterState MapManager::PlayerCannotEnter(uint32 mapid, Player* player, bool Difficulty targetDifficulty, requestedDifficulty; targetDifficulty = requestedDifficulty = player->GetDifficultyID(entry); // Get the highest available difficulty if current setting is higher than the instance allows - MapDifficultyEntry const* mapDiff = GetDownscaledMapDifficultyData(entry->ID, targetDifficulty); + MapDifficultyEntry const* mapDiff = sDB2Manager.GetDownscaledMapDifficultyData(mapid, targetDifficulty); if (!mapDiff) return Map::CANNOT_ENTER_DIFFICULTY_UNAVAILABLE; diff --git a/src/server/game/Maps/TransportMgr.h b/src/server/game/Maps/TransportMgr.h index d058c0bb111..625f78b53bd 100644 --- a/src/server/game/Maps/TransportMgr.h +++ b/src/server/game/Maps/TransportMgr.h @@ -20,7 +20,6 @@ #include <G3D/Quat.h> #include "Spline.h" -#include "DBCStores.h" #include "DB2Stores.h" #include "ObjectGuid.h" |
