Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
Object.h File Reference
#include "Common.h"
#include "GridReference.h"
#include "Map.h"
#include "MapObjectCellMoveState.h"
#include "ObjectDefines.h"
#include "UpdateMask.h"
#include <set>
#include <sstream>
#include <string>
Include dependency graph for Object.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FlaggedValuesArray32< T_VALUES, T_FLAGS, FLAG_TYPE, ARRAY_SIZE >
class  GridObject< T >
class  MapObject
struct  MovementInfo
struct  MovementInfo::JumpInfo
struct  MovementInfo::TransportInfo
class  Object
struct  Position
struct  Position::PositionXYZOStreamer
struct  Position::PositionXYZStreamer
class  Skyfire::ObjectDistanceOrderPred
class  WorldLocation
class  WorldObject

Namespaces

namespace  Skyfire

Macros

#define ATTACK_DISTANCE   5.0f
#define CONTACT_DISTANCE   0.5f
#define DEFAULT_COMBAT_REACH   1.5f
#define DEFAULT_VISIBILITY_BGARENAS   533.0f
#define DEFAULT_VISIBILITY_DISTANCE   90.0f
#define DEFAULT_VISIBILITY_INSTANCE   170.0f
#define DEFAULT_WORLD_OBJECT_SIZE   0.388999998569489f
#define INTERACTION_DISTANCE   5.0f
#define MAPID_INVALID   0xFFFFFFFF
#define MAX_VISIBILITY_DISTANCE   SIZE_OF_GRIDS
#define MELEE_RANGE   (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2)
#define MIN_MELEE_REACH   2.0f
#define NOMINAL_MELEE_RANGE   5.0f
#define SIGHT_RANGE_UNIT   50.0f

Typedefs

typedef UNORDERED_MAP< Player *, UpdateDataUpdateDataMapType

Enumerations

enum  NotifyFlags { NOTIFY_NONE = 0x00 , NOTIFY_AI_RELOCATION = 0x01 , NOTIFY_VISIBILITY_CHANGED = 0x02 , NOTIFY_ALL = 0xFF }
enum  PhaseMasks { PHASEMASK_NORMAL = 0x00000001 , PHASEMASK_ANYWHERE = 0xFFFFFFFF }
enum class  TempSummonType {
  TEMPSUMMON_TIMED_OR_DEAD_DESPAWN = 1 , TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN = 2 , TEMPSUMMON_TIMED_DESPAWN = 3 , TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT = 4 ,
  TEMPSUMMON_CORPSE_DESPAWN = 5 , TEMPSUMMON_CORPSE_TIMED_DESPAWN = 6 , TEMPSUMMON_DEAD_DESPAWN = 7 , TEMPSUMMON_MANUAL_DESPAWN = 8
}
enum class  TypeID {
  TYPEID_OBJECT = 0 , TYPEID_ITEM = 1 , TYPEID_CONTAINER = 2 , TYPEID_UNIT = 3 ,
  TYPEID_PLAYER = 4 , TYPEID_GAMEOBJECT = 5 , TYPEID_DYNAMICOBJECT = 6 , TYPEID_CORPSE = 7 ,
  TYPEID_AREATRIGGER = 8 , TYPEID_SCENEOBJECT = 9 , NUM_CLIENT_OBJECT_TYPES = 10
}
enum  TypeMask {
  TYPEMASK_OBJECT = 0x0001 , TYPEMASK_ITEM = 0x0002 , TYPEMASK_CONTAINER = 0x0006 , TYPEMASK_UNIT = 0x0008 ,
  TYPEMASK_PLAYER = 0x0010 , TYPEMASK_GAMEOBJECT = 0x0020 , TYPEMASK_DYNAMICOBJECT = 0x0040 , TYPEMASK_CORPSE = 0x0080 ,
  TYPEMASK_AREATRIGGER = 0x0100 , TYPEMASK_SEER = TYPEMASK_PLAYER | TYPEMASK_UNIT | TYPEMASK_DYNAMICOBJECT
}

Functions

TypeID GuidHigh2TypeId (uint32 guid_hi)
ByteBufferoperator<< (ByteBuffer &buf, Position::PositionXYZOStreamer const &streamer)
ByteBufferoperator<< (ByteBuffer &buf, Position::PositionXYZStreamer const &streamer)
ByteBufferoperator>> (ByteBuffer &buf, Position::PositionXYZOStreamer const &streamer)
ByteBufferoperator>> (ByteBuffer &buf, Position::PositionXYZStreamer const &streamer)

Macro Definition Documentation

◆ ATTACK_DISTANCE

◆ CONTACT_DISTANCE

◆ DEFAULT_COMBAT_REACH

#define DEFAULT_COMBAT_REACH   1.5f

◆ DEFAULT_VISIBILITY_BGARENAS

#define DEFAULT_VISIBILITY_BGARENAS   533.0f

Definition at line 27 of file Object.h.

Referenced by World::LoadConfigSettings().

◆ DEFAULT_VISIBILITY_DISTANCE

#define DEFAULT_VISIBILITY_DISTANCE   90.0f

◆ DEFAULT_VISIBILITY_INSTANCE

#define DEFAULT_VISIBILITY_INSTANCE   170.0f

◆ DEFAULT_WORLD_OBJECT_SIZE

◆ INTERACTION_DISTANCE

◆ MAPID_INVALID

◆ MAX_VISIBILITY_DISTANCE

◆ MELEE_RANGE

#define MELEE_RANGE   (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2)

Definition at line 33 of file Object.h.

Referenced by ArcherAI::ArcherAI(), CasterAI::CasterAI(), and CasterAI::InitializeAI().

◆ MIN_MELEE_REACH

#define MIN_MELEE_REACH   2.0f

◆ NOMINAL_MELEE_RANGE

◆ SIGHT_RANGE_UNIT

#define SIGHT_RANGE_UNIT   50.0f

Definition at line 24 of file Object.h.

Referenced by WorldObject::GetSightRange().

Typedef Documentation

◆ UpdateDataMapType

Definition at line 107 of file Object.h.

Enumeration Type Documentation

◆ NotifyFlags

Enumerator
NOTIFY_NONE 
NOTIFY_AI_RELOCATION 
NOTIFY_VISIBILITY_CHANGED 
NOTIFY_ALL 

Definition at line 84 of file Object.h.

◆ PhaseMasks

enum PhaseMasks
Enumerator
PHASEMASK_NORMAL 
PHASEMASK_ANYWHERE 

Definition at line 78 of file Object.h.

◆ TempSummonType

enum class TempSummonType
strong
Enumerator
TEMPSUMMON_TIMED_OR_DEAD_DESPAWN 
TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN 
TEMPSUMMON_TIMED_DESPAWN 
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT 
TEMPSUMMON_CORPSE_DESPAWN 
TEMPSUMMON_CORPSE_TIMED_DESPAWN 
TEMPSUMMON_DEAD_DESPAWN 
TEMPSUMMON_MANUAL_DESPAWN 

Definition at line 66 of file Object.h.

◆ TypeID

enum class TypeID
strong
Enumerator
TYPEID_OBJECT 
TYPEID_ITEM 
TYPEID_CONTAINER 
TYPEID_UNIT 
TYPEID_PLAYER 
TYPEID_GAMEOBJECT 
TYPEID_DYNAMICOBJECT 
TYPEID_CORPSE 
TYPEID_AREATRIGGER 
TYPEID_SCENEOBJECT 
NUM_CLIENT_OBJECT_TYPES 

Definition at line 49 of file Object.h.

◆ TypeMask

enum TypeMask
Enumerator
TYPEMASK_OBJECT 
TYPEMASK_ITEM 
TYPEMASK_CONTAINER 
TYPEMASK_UNIT 
TYPEMASK_PLAYER 
TYPEMASK_GAMEOBJECT 
TYPEMASK_DYNAMICOBJECT 
TYPEMASK_CORPSE 
TYPEMASK_AREATRIGGER 
TYPEMASK_SEER 

Definition at line 35 of file Object.h.

Function Documentation

◆ GuidHigh2TypeId()

◆ operator<<() [1/2]

ByteBuffer & operator<< ( ByteBuffer & buf,
Position::PositionXYZOStreamer const & streamer )

Definition at line 1471 of file Object.cpp.

References Position::GetPosition(), and Position::PositionXYZOStreamer::m_pos.

◆ operator<<() [2/2]

ByteBuffer & operator<< ( ByteBuffer & buf,
Position::PositionXYZStreamer const & streamer )

Definition at line 1455 of file Object.cpp.

References Position::GetPosition(), and Position::PositionXYZStreamer::m_pos.

◆ operator>>() [1/2]

ByteBuffer & operator>> ( ByteBuffer & buf,
Position::PositionXYZOStreamer const & streamer )

Definition at line 1448 of file Object.cpp.

References Position::PositionXYZOStreamer::m_pos, and Position::Relocate().

◆ operator>>() [2/2]

ByteBuffer & operator>> ( ByteBuffer & buf,
Position::PositionXYZStreamer const & streamer )

Definition at line 1463 of file Object.cpp.

References Position::PositionXYZStreamer::m_pos, and Position::Relocate().