AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Map.h File Reference
#include "Cell.h"
#include "DBCStructure.h"
#include "DataMap.h"
#include "Define.h"
#include "DynamicTree.h"
#include "GameObjectModel.h"
#include "GridDefines.h"
#include "GridRefMgr.h"
#include "MapRefMgr.h"
#include "ObjectDefines.h"
#include "ObjectGuid.h"
#include "PathGenerator.h"
#include "Position.h"
#include "SharedDefines.h"
#include "TaskScheduler.h"
#include "Timer.h"
#include <bitset>
#include <list>
#include <memory>
#include <mutex>
#include <shared_mutex>

Go to the source code of this file.

Classes

struct  ScriptAction
 
struct  map_fileheader
 
struct  map_areaHeader
 
struct  map_heightHeader
 
struct  map_liquidHeader
 
struct  LiquidData
 
struct  PositionFullTerrainStatus
 
class  GridMap
 
struct  InstanceTemplate
 
struct  ZoneDynamicInfo
 
class  Map
 
class  InstanceMap
 
class  BattlegroundMap
 

Namespaces

namespace  VMAP
 
namespace  Acore
 

Macros

#define MAP_AREA_NO_AREA   0x0001
 
#define MAP_HEIGHT_NO_HEIGHT   0x0001
 
#define MAP_HEIGHT_AS_INT16   0x0002
 
#define MAP_HEIGHT_AS_INT8   0x0004
 
#define MAP_HEIGHT_HAS_FLIGHT_BOUNDS   0x0008
 
#define MAP_LIQUID_NO_TYPE   0x0001
 
#define MAP_LIQUID_NO_HEIGHT   0x0002
 
#define MAP_LIQUID_STATUS_SWIMMING   (LIQUID_MAP_IN_WATER | LIQUID_MAP_UNDER_WATER)
 
#define MAP_LIQUID_STATUS_IN_CONTACT   (MAP_LIQUID_STATUS_SWIMMING | LIQUID_MAP_WATER_WALK)
 
#define MAP_LIQUID_TYPE_NO_WATER   0x00
 
#define MAP_LIQUID_TYPE_WATER   0x01
 
#define MAP_LIQUID_TYPE_OCEAN   0x02
 
#define MAP_LIQUID_TYPE_MAGMA   0x04
 
#define MAP_LIQUID_TYPE_SLIME   0x08
 
#define MAP_ALL_LIQUIDS   (MAP_LIQUID_TYPE_WATER | MAP_LIQUID_TYPE_OCEAN | MAP_LIQUID_TYPE_MAGMA | MAP_LIQUID_TYPE_SLIME)
 
#define MAP_LIQUID_TYPE_DARK_WATER   0x10
 
#define MAX_HEIGHT   100000.0f
 
#define INVALID_HEIGHT   -100000.0f
 
#define MAX_FALL_DISTANCE   250000.0f
 
#define DEFAULT_HEIGHT_SEARCH   50.0f
 
#define MIN_UNLOAD_DELAY   1
 

Typedefs

typedef std::map< uint32, CreatureGroup * > CreatureGroupHolderType
 
typedef std::unordered_map< uint32, ZoneDynamicInfoZoneDynamicInfoMap
 
typedef std::set< MotionTransport * > TransportsContainer
 

Enumerations

enum  LiquidStatus {
  LIQUID_MAP_NO_WATER = 0x00000000 ,
  LIQUID_MAP_ABOVE_WATER = 0x00000001 ,
  LIQUID_MAP_WATER_WALK = 0x00000002 ,
  LIQUID_MAP_IN_WATER = 0x00000004 ,
  LIQUID_MAP_UNDER_WATER = 0x00000008
}
 
enum  LineOfSightChecks {
  LINEOFSIGHT_CHECK_VMAP = 0x1 ,
  LINEOFSIGHT_CHECK_GOBJECT_WMO = 0x2 ,
  LINEOFSIGHT_CHECK_GOBJECT_M2 = 0x4 ,
  LINEOFSIGHT_CHECK_GOBJECT_ALL = LINEOFSIGHT_CHECK_GOBJECT_WMO | LINEOFSIGHT_CHECK_GOBJECT_M2 ,
  LINEOFSIGHT_ALL_CHECKS = LINEOFSIGHT_CHECK_VMAP | LINEOFSIGHT_CHECK_GOBJECT_ALL
}
 
enum  LevelRequirementVsMode { LEVELREQUIREMENT_HEROIC = 70 }
 
enum  EncounterCreditType : uint8 {
  ENCOUNTER_CREDIT_KILL_CREATURE = 0 ,
  ENCOUNTER_CREDIT_CAST_SPELL = 1
}
 
enum  InstanceResetMethod {
  INSTANCE_RESET_ALL ,
  INSTANCE_RESET_CHANGE_DIFFICULTY ,
  INSTANCE_RESET_GLOBAL ,
  INSTANCE_RESET_GROUP_JOIN ,
  INSTANCE_RESET_GROUP_LEAVE
}
 

Macro Definition Documentation

◆ DEFAULT_HEIGHT_SEARCH

#define DEFAULT_HEIGHT_SEARCH   50.0f

◆ INVALID_HEIGHT

#define INVALID_HEIGHT   -100000.0f

◆ MAP_ALL_LIQUIDS

◆ MAP_AREA_NO_AREA

#define MAP_AREA_NO_AREA   0x0001

◆ MAP_HEIGHT_AS_INT16

#define MAP_HEIGHT_AS_INT16   0x0002

◆ MAP_HEIGHT_AS_INT8

#define MAP_HEIGHT_AS_INT8   0x0004

◆ MAP_HEIGHT_HAS_FLIGHT_BOUNDS

#define MAP_HEIGHT_HAS_FLIGHT_BOUNDS   0x0008

◆ MAP_HEIGHT_NO_HEIGHT

#define MAP_HEIGHT_NO_HEIGHT   0x0001

◆ MAP_LIQUID_NO_HEIGHT

#define MAP_LIQUID_NO_HEIGHT   0x0002

◆ MAP_LIQUID_NO_TYPE

#define MAP_LIQUID_NO_TYPE   0x0001

◆ MAP_LIQUID_STATUS_IN_CONTACT

#define MAP_LIQUID_STATUS_IN_CONTACT   (MAP_LIQUID_STATUS_SWIMMING | LIQUID_MAP_WATER_WALK)

◆ MAP_LIQUID_STATUS_SWIMMING

#define MAP_LIQUID_STATUS_SWIMMING   (LIQUID_MAP_IN_WATER | LIQUID_MAP_UNDER_WATER)

◆ MAP_LIQUID_TYPE_DARK_WATER

#define MAP_LIQUID_TYPE_DARK_WATER   0x10

◆ MAP_LIQUID_TYPE_MAGMA

#define MAP_LIQUID_TYPE_MAGMA   0x04

◆ MAP_LIQUID_TYPE_NO_WATER

#define MAP_LIQUID_TYPE_NO_WATER   0x00

◆ MAP_LIQUID_TYPE_OCEAN

#define MAP_LIQUID_TYPE_OCEAN   0x02

◆ MAP_LIQUID_TYPE_SLIME

#define MAP_LIQUID_TYPE_SLIME   0x08

◆ MAP_LIQUID_TYPE_WATER

#define MAP_LIQUID_TYPE_WATER   0x01

◆ MAX_FALL_DISTANCE

#define MAX_FALL_DISTANCE   250000.0f

◆ MAX_HEIGHT

#define MAX_HEIGHT   100000.0f

◆ MIN_UNLOAD_DELAY

#define MIN_UNLOAD_DELAY   1

Typedef Documentation

◆ CreatureGroupHolderType

◆ TransportsContainer

◆ ZoneDynamicInfoMap

typedef std::unordered_map<uint32 , ZoneDynamicInfo> ZoneDynamicInfoMap

Enumeration Type Documentation

◆ EncounterCreditType

Enumerator
ENCOUNTER_CREDIT_KILL_CREATURE 
ENCOUNTER_CREDIT_CAST_SPELL 
307{
310};
@ ENCOUNTER_CREDIT_KILL_CREATURE
Definition: Map.h:308
@ ENCOUNTER_CREDIT_CAST_SPELL
Definition: Map.h:309

◆ InstanceResetMethod

Enumerator
INSTANCE_RESET_ALL 
INSTANCE_RESET_CHANGE_DIFFICULTY 
INSTANCE_RESET_GLOBAL 
INSTANCE_RESET_GROUP_JOIN 
INSTANCE_RESET_GROUP_LEAVE 
809{
810 INSTANCE_RESET_ALL, // reset all option under portrait, resets only normal 5-mans
811 INSTANCE_RESET_CHANGE_DIFFICULTY, // on changing difficulty
812 INSTANCE_RESET_GLOBAL, // global id reset
813 INSTANCE_RESET_GROUP_JOIN, // on joining group
814 INSTANCE_RESET_GROUP_LEAVE // on leaving group
815};
@ INSTANCE_RESET_GROUP_JOIN
Definition: Map.h:813
@ INSTANCE_RESET_CHANGE_DIFFICULTY
Definition: Map.h:811
@ INSTANCE_RESET_GLOBAL
Definition: Map.h:812
@ INSTANCE_RESET_GROUP_LEAVE
Definition: Map.h:814
@ INSTANCE_RESET_ALL
Definition: Map.h:810

◆ LevelRequirementVsMode

Enumerator
LEVELREQUIREMENT_HEROIC 
281{
283};
@ LEVELREQUIREMENT_HEROIC
Definition: Map.h:282

◆ LineOfSightChecks

Enumerator
LINEOFSIGHT_CHECK_VMAP 
LINEOFSIGHT_CHECK_GOBJECT_WMO 
LINEOFSIGHT_CHECK_GOBJECT_M2 
LINEOFSIGHT_CHECK_GOBJECT_ALL 
LINEOFSIGHT_ALL_CHECKS 
191{
192 LINEOFSIGHT_CHECK_VMAP = 0x1, // check static floor layout data
193 LINEOFSIGHT_CHECK_GOBJECT_WMO = 0x2, // check dynamic game object data (wmo models)
194 LINEOFSIGHT_CHECK_GOBJECT_M2 = 0x4, // check dynamic game object data (m2 models)
195
197
199};
@ LINEOFSIGHT_CHECK_GOBJECT_WMO
Definition: Map.h:193
@ LINEOFSIGHT_CHECK_GOBJECT_M2
Definition: Map.h:194
@ LINEOFSIGHT_CHECK_VMAP
Definition: Map.h:192
@ LINEOFSIGHT_CHECK_GOBJECT_ALL
Definition: Map.h:196
@ LINEOFSIGHT_ALL_CHECKS
Definition: Map.h:198

◆ LiquidStatus

Enumerator
LIQUID_MAP_NO_WATER 
LIQUID_MAP_ABOVE_WATER 
LIQUID_MAP_WATER_WALK 
LIQUID_MAP_IN_WATER 
LIQUID_MAP_UNDER_WATER 
143{
144 LIQUID_MAP_NO_WATER = 0x00000000,
145 LIQUID_MAP_ABOVE_WATER = 0x00000001,
146 LIQUID_MAP_WATER_WALK = 0x00000002,
147 LIQUID_MAP_IN_WATER = 0x00000004,
148 LIQUID_MAP_UNDER_WATER = 0x00000008
149};
@ LIQUID_MAP_UNDER_WATER
Definition: Map.h:148
@ LIQUID_MAP_NO_WATER
Definition: Map.h:144
@ LIQUID_MAP_IN_WATER
Definition: Map.h:147
@ LIQUID_MAP_ABOVE_WATER
Definition: Map.h:145
@ LIQUID_MAP_WATER_WALK
Definition: Map.h:146