aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-04-25 22:03:34 +0200
committerShauren <shauren.trinity@gmail.com>2016-05-20 23:49:53 +0200
commit70102f32fe38ae7d49acbd5ddee0239602d3cb94 (patch)
tree22dcecc33942c7f60e2edb5402f6f7feaf559ece /src/server/game/Maps
parent885d9b53c38662e00e3b4977b82e9cf36d197f94 (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.cpp72
-rw-r--r--src/server/game/Maps/Map.h61
-rw-r--r--src/server/game/Maps/MapInstanced.cpp2
-rw-r--r--src/server/game/Maps/MapManager.cpp2
-rw-r--r--src/server/game/Maps/TransportMgr.h1
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"