TrinityCore
CriteriaHandler.h File Reference
#include "Common.h"
#include "DBCEnums.h"
#include "Duration.h"
#include "ObjectGuid.h"
#include <unordered_map>
#include <vector>
#include <ctime>
+ Include dependency graph for CriteriaHandler.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ModifierTreeNode
 
struct  Criteria
 
struct  CriteriaTree
 
struct  CriteriaProgress
 
struct  CriteriaData
 
struct  CriteriaDataSet
 
class  CriteriaHandler
 
class  CriteriaMgr
 

Macros

#define sCriteriaMgr   CriteriaMgr::Instance()
 

Typedefs

typedef std::vector< Criteria const * > CriteriaList
 
typedef std::unordered_map< uint32, CriteriaListCriteriaListByAsset
 
typedef std::vector< CriteriaTree const * > CriteriaTreeList
 
typedef std::unordered_map< uint32, CriteriaProgressCriteriaProgressMap
 

Enumerations

enum  CriteriaFlagsCu {
  CRITERIA_FLAG_CU_PLAYER = 0x1 , CRITERIA_FLAG_CU_ACCOUNT = 0x2 , CRITERIA_FLAG_CU_GUILD = 0x4 , CRITERIA_FLAG_CU_SCENARIO = 0x8 ,
  CRITERIA_FLAG_CU_QUEST_OBJECTIVE = 0x10
}
 
enum  CriteriaDataType {
  CRITERIA_DATA_TYPE_NONE = 0 , CRITERIA_DATA_TYPE_T_CREATURE = 1 , CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2 , CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3 ,
  CRITERIA_DATA_TYPE_S_AURA = 5 , CRITERIA_DATA_TYPE_T_AURA = 7 , CRITERIA_DATA_TYPE_VALUE = 8 , CRITERIA_DATA_TYPE_T_LEVEL = 9 ,
  CRITERIA_DATA_TYPE_T_GENDER = 10 , CRITERIA_DATA_TYPE_SCRIPT = 11 , CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12 , CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13 ,
  CRITERIA_DATA_TYPE_T_TEAM = 14 , CRITERIA_DATA_TYPE_S_DRUNK = 15 , CRITERIA_DATA_TYPE_HOLIDAY = 16 , CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17 ,
  CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 , CRITERIA_DATA_TYPE_S_EQUIPPED_ITEM = 19 , CRITERIA_DATA_TYPE_MAP_ID = 20 , CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21 ,
  CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22 , CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23 , CRITERIA_DATA_TYPE_GAME_EVENT = 24 , CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25 ,
  MAX_CRITERIA_DATA_TYPE
}
 
enum  ProgressType { PROGRESS_SET , PROGRESS_ACCUMULATE , PROGRESS_HIGHEST }
 

Macro Definition Documentation

◆ sCriteriaMgr

#define sCriteriaMgr   CriteriaMgr::Instance()

Definition at line 419 of file CriteriaHandler.h.

Typedef Documentation

◆ CriteriaList

typedef std::vector<Criteria const*> CriteriaList

Definition at line 62 of file CriteriaHandler.h.

◆ CriteriaListByAsset

typedef std::unordered_map<uint32, CriteriaList> CriteriaListByAsset

Definition at line 63 of file CriteriaHandler.h.

◆ CriteriaProgressMap

typedef std::unordered_map<uint32, CriteriaProgress> CriteriaProgressMap

Definition at line 254 of file CriteriaHandler.h.

◆ CriteriaTreeList

typedef std::vector<CriteriaTree const*> CriteriaTreeList

Definition at line 76 of file CriteriaHandler.h.

Enumeration Type Documentation

◆ CriteriaDataType

Enumerator
CRITERIA_DATA_TYPE_NONE 
CRITERIA_DATA_TYPE_T_CREATURE 
CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE 
CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH 
CRITERIA_DATA_TYPE_S_AURA 
CRITERIA_DATA_TYPE_T_AURA 
CRITERIA_DATA_TYPE_VALUE 
CRITERIA_DATA_TYPE_T_LEVEL 
CRITERIA_DATA_TYPE_T_GENDER 
CRITERIA_DATA_TYPE_SCRIPT 
CRITERIA_DATA_TYPE_MAP_DIFFICULTY 
CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT 
CRITERIA_DATA_TYPE_T_TEAM 
CRITERIA_DATA_TYPE_S_DRUNK 
CRITERIA_DATA_TYPE_HOLIDAY 
CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE 
CRITERIA_DATA_TYPE_INSTANCE_SCRIPT 
CRITERIA_DATA_TYPE_S_EQUIPPED_ITEM 
CRITERIA_DATA_TYPE_MAP_ID 
CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE 
CRITERIA_DATA_TYPE_NTH_BIRTHDAY 
CRITERIA_DATA_TYPE_S_KNOWN_TITLE 
CRITERIA_DATA_TYPE_GAME_EVENT 
CRITERIA_DATA_TYPE_S_ITEM_QUALITY 
MAX_CRITERIA_DATA_TYPE 

Definition at line 86 of file CriteriaHandler.h.

◆ CriteriaFlagsCu

Enumerator
CRITERIA_FLAG_CU_PLAYER 
CRITERIA_FLAG_CU_ACCOUNT 
CRITERIA_FLAG_CU_GUILD 
CRITERIA_FLAG_CU_SCENARIO 
CRITERIA_FLAG_CU_QUEST_OBJECTIVE 

Definition at line 45 of file CriteriaHandler.h.

◆ ProgressType

Enumerator
PROGRESS_SET 
PROGRESS_ACCUMULATE 
PROGRESS_HIGHEST 

Definition at line 256 of file CriteriaHandler.h.