18#ifndef TRINITY_GAMEEVENT_MGR_H
19#define TRINITY_GAMEEVENT_MGR_H
28#include <unordered_map>
31#define max_ge_check_delay DAY
114 bool CheckOneGameEvent(
uint16 entry)
const;
117 void LoadHolidayDates();
122 void StartArenaSeason();
123 void StartInternalEvent(
uint16 event_id);
124 bool StartEvent(
uint16 event_id,
bool overwrite =
false);
125 void StopEvent(
uint16 event_id,
bool overwrite =
false);
126 void HandleQuestComplete(
uint32 quest_id);
130 void SendWorldStateUpdate(
Player* player,
uint16 event_id);
133 void ApplyNewEvent(
uint16 event_id);
134 void UnApplyEvent(
uint16 event_id);
135 void GameEventSpawn(
int16 event_id);
136 void GameEventUnspawn(
int16 event_id);
137 void ChangeEquipOrModel(
int16 event_id,
bool activate);
138 void UpdateEventQuests(
uint16 event_id,
bool activate);
139 void UpdateWorldStates(
uint16 event_id,
bool Activate);
140 void UpdateEventNPCFlags(
uint16 event_id);
141 void UpdateEventNPCVendor(
uint16 event_id,
bool activate);
142 void UpdateBattlegroundSettings();
143 void RunSmartAIScripts(
uint16 event_id,
bool activate);
144 bool CheckOneGameEventConditions(
uint16 event_id);
145 void SaveWorldEventStateToDB(
uint16 event_id);
146 bool hasCreatureQuestActiveEventExcept(
uint32 quest_id,
uint16 event_id);
147 bool hasGameObjectQuestActiveEventExcept(
uint32 quest_id,
uint16 event_id);
151 time_t GetLastStartTime(
uint16 event_id)
const;
190#define sGameEventMgr GameEventMgr::instance()
TC_GAME_API bool IsHolidayActive(HolidayIds id)
TC_GAME_API bool IsEventActive(uint16 eventId)
std::map< uint32, GameEventFinishCondition > GameEventConditionMap
@ GAMEEVENT_WORLD_FINISHED
@ GAMEEVENT_WORLD_CONDITIONS
@ GAMEEVENT_WORLD_NEXTPHASE
@ GAMEEVENT_WORLD_INACTIVE
GameEventDataMap const & GetEventMap() const
ActiveEvents m_ActiveEvents
GameEventDataMap mGameEvent
GameEventNPCFlagMap mGameEventNPCFlags
bool IsActiveEvent(uint16 event_id)
GameEventIdMap mGameEventPoolIds
std::vector< uint32 > GameEventBattlegroundMap
std::vector< GameEventData > GameEventDataMap
GameEventGuidMap mGameEventCreatureGuids
void RemoveActiveEvent(uint16 event_id)
void AddActiveEvent(uint16 event_id)
std::vector< GuidList > GameEventGuidMap
std::list< ObjectGuid::LowType > GuidList
std::vector< NPCVendorList > GameEventNPCVendorMap
GameEventModelEquipMap mGameEventModelEquip
ActiveEvents const & GetActiveEventList() const
std::list< ModelEquipPair > ModelEquipList
GameEventBattlegroundMap mGameEventBattlegroundHolidays
GameEventNPCVendorMap mGameEventVendors
GameEventQuestMap mGameEventCreatureQuests
GameEventGuidMap mGameEventGameobjectGuids
std::set< uint16 > ActiveEvents
std::pair< ObjectGuid::LowType, ModelEquip > ModelEquipPair
QuestIdToEventConditionMap mQuestToEventConditions
std::map< uint32, GameEventQuestToEventConditionNum > QuestIdToEventConditionMap
std::list< GuidNPCFlagPair > NPCFlagList
std::list< uint32 > IdList
GameEventQuestMap mGameEventGameObjectQuests
std::vector< QuestRelList > GameEventQuestMap
std::vector< ModelEquipList > GameEventModelEquipMap
std::list< QuestRelation > QuestRelList
std::vector< IdList > GameEventIdMap
std::list< NPCVendorEntry > NPCVendorList
std::pair< uint32, uint32 > QuestRelation
std::pair< ObjectGuid::LowType, uint32 > GuidNPCFlagPair
std::vector< uint32 > modifiedHolidays
std::vector< NPCFlagList > GameEventNPCFlagMap
std::set< uint16 > prerequisite_events
GameEventConditionMap conditions