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 "WorldStatePackets.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 
67{
68 DOOR_TYPE_ROOM = 0, // Door can open if encounter is not in progress
69 DOOR_TYPE_PASSAGE = 1, // Door can open if encounter is done
70 DOOR_TYPE_SPAWN_HOLE = 2, // Door can open if encounter is in progress, typically used for spawning places
72};
@ DOOR_TYPE_SPAWN_HOLE
Definition InstanceScript.h:70
@ DOOR_TYPE_ROOM
Definition InstanceScript.h:68
@ DOOR_TYPE_PASSAGE
Definition InstanceScript.h:69
@ MAX_DOOR_TYPES
Definition InstanceScript.h:71

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

◆ EncounterState

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