AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
InstanceScript.h File Reference
#include "CreatureAI.h"
#include "ObjectMgr.h"
#include "TaskScheduler.h"
#include "World.h"
#include "ZoneScript.h"
#include <set>

Go to the source code of this file.

Classes

struct  DoorData
 
struct  BossBoundaryEntry
 
struct  BossBoundaryData
 
struct  MinionData
 
struct  ObjectData
 
struct  BossInfo
 
struct  DoorInfo
 
struct  MinionInfo
 
class  InstanceScript
 

Macros

#define OUT_SAVE_INST_DATA   LOG_DEBUG("scripts.ai", "Saving Instance Data for Instance {} (Map {}, Instance Id {})", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
 
#define OUT_SAVE_INST_DATA_COMPLETE   LOG_DEBUG("scripts.ai", "Saving Instance Data for Instance {} (Map {}, Instance Id {}) completed.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
 
#define OUT_LOAD_INST_DATA(a)   LOG_DEBUG("scripts.ai", "Loading Instance Data for Instance {} (Map {}, Instance Id {}). Input is '{}'", instance->GetMapName(), instance->GetId(), instance->GetInstanceId(), a)
 
#define OUT_LOAD_INST_DATA_COMPLETE   LOG_DEBUG("scripts.ai", "Instance Data Load for Instance {} (Map {}, Instance Id: {}) is complete.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
 
#define OUT_LOAD_INST_DATA_FAIL   LOG_ERROR("scripts.ai", "Unable to load Instance Data for Instance {} (Map {}, Instance Id: {}).", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
 

Typedefs

typedef std::set< GameObject * > DoorSet
 
typedef std::set< Creature * > MinionSet
 
typedef std::multimap< uint32, DoorInfoDoorInfoMap
 
typedef std::pair< DoorInfoMap::const_iterator, DoorInfoMap::const_iterator > DoorInfoMapBounds
 
typedef std::map< uint32, MinionInfoMinionInfoMap
 
typedef std::map< uint32, ObjectGuidObjectGuidMap
 
typedef std::map< uint32, uint32ObjectInfoMap
 
typedef std::map< ObjectGuid::LowType, uint8ObjectStateMap
 

Enumerations

enum  EncounterFrameType {
  ENCOUNTER_FRAME_ENGAGE = 0 ,
  ENCOUNTER_FRAME_DISENGAGE = 1 ,
  ENCOUNTER_FRAME_UPDATE_PRIORITY = 2 ,
  ENCOUNTER_FRAME_ADD_TIMER = 3 ,
  ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 4 ,
  ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 5 ,
  ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 6 ,
  ENCOUNTER_FRAME_REFRESH_FRAMES = 7
}
 
enum  EncounterState : uint8 {
  NOT_STARTED = 0 ,
  IN_PROGRESS = 1 ,
  FAIL = 2 ,
  DONE = 3 ,
  SPECIAL = 4 ,
  TO_BE_DECIDED = 5
}
 
enum  DoorType {
  DOOR_TYPE_ROOM = 0 ,
  DOOR_TYPE_PASSAGE = 1 ,
  DOOR_TYPE_SPAWN_HOLE = 2 ,
  MAX_DOOR_TYPES
}
 

Macro Definition Documentation

◆ OUT_LOAD_INST_DATA

#define OUT_LOAD_INST_DATA (   a)    LOG_DEBUG("scripts.ai", "Loading Instance Data for Instance {} (Map {}, Instance Id {}). Input is '{}'", instance->GetMapName(), instance->GetId(), instance->GetInstanceId(), a)

◆ OUT_LOAD_INST_DATA_COMPLETE

#define OUT_LOAD_INST_DATA_COMPLETE   LOG_DEBUG("scripts.ai", "Instance Data Load for Instance {} (Map {}, Instance Id: {}) is complete.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())

◆ OUT_LOAD_INST_DATA_FAIL

#define OUT_LOAD_INST_DATA_FAIL   LOG_ERROR("scripts.ai", "Unable to load Instance Data for Instance {} (Map {}, Instance Id: {}).", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())

◆ OUT_SAVE_INST_DATA

#define OUT_SAVE_INST_DATA   LOG_DEBUG("scripts.ai", "Saving Instance Data for Instance {} (Map {}, Instance Id {})", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())

◆ OUT_SAVE_INST_DATA_COMPLETE

#define OUT_SAVE_INST_DATA_COMPLETE   LOG_DEBUG("scripts.ai", "Saving Instance Data for Instance {} (Map {}, Instance Id {}) completed.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())

Typedef Documentation

◆ DoorInfoMap

typedef std::multimap<uint32 , DoorInfo> DoorInfoMap

◆ DoorInfoMapBounds

typedef std::pair<DoorInfoMap::const_iterator, DoorInfoMap::const_iterator> DoorInfoMapBounds

◆ DoorSet

typedef std::set<GameObject*> DoorSet

◆ MinionInfoMap

typedef std::map<uint32 , MinionInfo> MinionInfoMap

◆ MinionSet

typedef std::set<Creature*> MinionSet

◆ ObjectGuidMap

typedef std::map<uint32 , ObjectGuid > ObjectGuidMap

◆ ObjectInfoMap

typedef std::map<uint32 , uint32 > ObjectInfoMap

◆ ObjectStateMap

Enumeration Type Documentation

◆ DoorType

enum DoorType
Enumerator
DOOR_TYPE_ROOM 
DOOR_TYPE_PASSAGE 
DOOR_TYPE_SPAWN_HOLE 
MAX_DOOR_TYPES 
66{
67 DOOR_TYPE_ROOM = 0, // Door can open if encounter is not in progress
68 DOOR_TYPE_PASSAGE = 1, // Door can open if encounter is done
69 DOOR_TYPE_SPAWN_HOLE = 2, // Door can open if encounter is in progress, typically used for spawning places
71};
@ DOOR_TYPE_SPAWN_HOLE
Definition: InstanceScript.h:69
@ DOOR_TYPE_ROOM
Definition: InstanceScript.h:67
@ DOOR_TYPE_PASSAGE
Definition: InstanceScript.h:68
@ MAX_DOOR_TYPES
Definition: InstanceScript.h:70

◆ EncounterFrameType

Enumerator
ENCOUNTER_FRAME_ENGAGE 
ENCOUNTER_FRAME_DISENGAGE 
ENCOUNTER_FRAME_UPDATE_PRIORITY 
ENCOUNTER_FRAME_ADD_TIMER 
ENCOUNTER_FRAME_ENABLE_OBJECTIVE 
ENCOUNTER_FRAME_UPDATE_OBJECTIVE 
ENCOUNTER_FRAME_DISABLE_OBJECTIVE 
ENCOUNTER_FRAME_REFRESH_FRAMES 
44{
52 ENCOUNTER_FRAME_REFRESH_FRAMES = 7, // Xinef: can be used to refresh frames after unit was destroyed from client and send back (phase changes)
53};
@ ENCOUNTER_FRAME_ENABLE_OBJECTIVE
Definition: InstanceScript.h:49
@ ENCOUNTER_FRAME_DISENGAGE
Definition: InstanceScript.h:46
@ ENCOUNTER_FRAME_UPDATE_PRIORITY
Definition: InstanceScript.h:47
@ ENCOUNTER_FRAME_DISABLE_OBJECTIVE
Definition: InstanceScript.h:51
@ ENCOUNTER_FRAME_UPDATE_OBJECTIVE
Definition: InstanceScript.h:50
@ ENCOUNTER_FRAME_REFRESH_FRAMES
Definition: InstanceScript.h:52
@ ENCOUNTER_FRAME_ADD_TIMER
Definition: InstanceScript.h:48
@ ENCOUNTER_FRAME_ENGAGE
Definition: InstanceScript.h:45

◆ EncounterState

Enumerator
NOT_STARTED 
IN_PROGRESS 
FAIL 
DONE 
SPECIAL 
TO_BE_DECIDED 
56{
57 NOT_STARTED = 0,
58 IN_PROGRESS = 1,
59 FAIL = 2,
60 DONE = 3,
61 SPECIAL = 4,
62 TO_BE_DECIDED = 5,
63};
@ IN_PROGRESS
Definition: InstanceScript.h:58
@ FAIL
Definition: InstanceScript.h:59
@ DONE
Definition: InstanceScript.h:60
@ SPECIAL
Definition: InstanceScript.h:61
@ NOT_STARTED
Definition: InstanceScript.h:57
@ TO_BE_DECIDED
Definition: InstanceScript.h:62