Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
GameEventMgr Class Reference

#include <GameEventMgr.h>

Public Types

typedef std::set< uint16ActiveEvents
typedef std::vector< GameEventDataGameEventDataMap

Public Member Functions

bool CheckOneGameEvent (uint16 entry) const
ActiveEvents const & GetActiveEventList () const
uint16 GetEventIdForQuest (Quest const *quest) const
GameEventDataMap const & GetEventMap () const
uint32 GetNPCFlag (Creature *cr)
uint32 GetNpcTextId (uint32 guid)
void HandleQuestComplete (uint32 quest_id)
void HandleWorldEventGossip (Player *player, Creature *c)
void Initialize ()
bool IsActiveEvent (uint16 event_id)
void LoadFromDB ()
uint32 NextCheck (uint16 entry) const
void StartArenaSeason ()
bool StartEvent (uint16 event_id, bool overwrite=false)
void StartInternalEvent (uint16 event_id)
uint32 StartSystem ()
void StopEvent (uint16 event_id, bool overwrite=false)
uint32 Update ()

Public Attributes

GameEventGuidMap mGameEventCreatureGuids
GameEventGuidMap mGameEventGameobjectGuids

Private Types

typedef std::vector< uint32GameEventBitmask
typedef std::vector< GuidListGameEventGuidMap
typedef std::vector< IdListGameEventIdMap
typedef std::vector< ModelEquipListGameEventModelEquipMap
typedef std::vector< NPCFlagListGameEventNPCFlagMap
typedef std::vector< NPCVendorListGameEventNPCVendorMap
typedef std::vector< QuestRelListGameEventQuestMap
typedef std::list< uint32GuidList
typedef std::pair< uint32, uint32GuidNPCFlagPair
typedef std::list< uint32IdList
typedef std::list< ModelEquipPairModelEquipList
typedef std::pair< uint32, ModelEquipModelEquipPair
typedef std::list< GuidNPCFlagPairNPCFlagList
typedef std::list< NPCVendorEntryNPCVendorList
typedef std::map< uint32, GameEventQuestToEventConditionNumQuestIdToEventConditionMap
typedef std::pair< uint32, uint32QuestRelation
typedef std::list< QuestRelationQuestRelList

Private Member Functions

void AddActiveEvent (uint16 event_id)
void ApplyNewEvent (uint16 event_id)
void ChangeEquipOrModel (int16 event_id, bool activate)
bool CheckOneGameEventConditions (uint16 event_id)
 Runs SMART_EVENT_GAME_EVENT_START/_END SAI.
 GameEventMgr ()
void GameEventSpawn (int16 event_id)
void GameEventUnspawn (int16 event_id)
bool hasCreatureActiveEventExcept (uint32 creature_guid, uint16 event_id)
bool hasCreatureQuestActiveEventExcept (uint32 quest_id, uint16 event_id)
bool hasGameObjectActiveEventExcept (uint32 go_guid, uint16 event_id)
bool hasGameObjectQuestActiveEventExcept (uint32 quest_id, uint16 event_id)
void RemoveActiveEvent (uint16 event_id)
void RunSmartAIScripts (uint16 event_id, bool activate)
void SaveWorldEventStateToDB (uint16 event_id)
void SendWorldStateUpdate (Player *player, uint16 event_id)
void UnApplyEvent (uint16 event_id)
void UpdateBattlegroundSettings ()
void UpdateEventNPCFlags (uint16 event_id)
void UpdateEventNPCVendor (uint16 event_id, bool activate)
void UpdateEventQuests (uint16 event_id, bool activate)
void UpdateWorldStates (uint16 event_id, bool Activate)
 ~GameEventMgr ()

Private Attributes

UNORDERED_MAP< uint32, uint16_questToEventLinks
bool isSystemInit
ActiveEvents m_ActiveEvents
GameEventDataMap mGameEvent
GameEventBitmask mGameEventBattlegroundHolidays
GameEventQuestMap mGameEventCreatureQuests
GameEventQuestMap mGameEventGameObjectQuests
GameEventModelEquipMap mGameEventModelEquip
GameEventNPCFlagMap mGameEventNPCFlags
GameEventIdMap mGameEventPoolIds
GameEventNPCVendorMap mGameEventVendors
QuestIdToEventConditionMap mQuestToEventConditions

Friends

class Skyfire::Singleton< GameEventMgr, Skyfire::NullMutex >

Detailed Description

Definition at line 83 of file GameEventMgr.h.

Member Typedef Documentation

◆ ActiveEvents

Definition at line 92 of file GameEventMgr.h.

◆ GameEventBitmask

typedef std::vector<uint32> GameEventMgr::GameEventBitmask
private

Definition at line 150 of file GameEventMgr.h.

◆ GameEventDataMap

Definition at line 93 of file GameEventMgr.h.

◆ GameEventGuidMap

typedef std::vector<GuidList> GameEventMgr::GameEventGuidMap
private

Definition at line 136 of file GameEventMgr.h.

◆ GameEventIdMap

typedef std::vector<IdList> GameEventMgr::GameEventIdMap
private

Definition at line 137 of file GameEventMgr.h.

◆ GameEventModelEquipMap

Definition at line 140 of file GameEventMgr.h.

◆ GameEventNPCFlagMap

typedef std::vector<NPCFlagList> GameEventMgr::GameEventNPCFlagMap
private

Definition at line 149 of file GameEventMgr.h.

◆ GameEventNPCVendorMap

typedef std::vector<NPCVendorList> GameEventMgr::GameEventNPCVendorMap
private

Definition at line 145 of file GameEventMgr.h.

◆ GameEventQuestMap

typedef std::vector<QuestRelList> GameEventMgr::GameEventQuestMap
private

Definition at line 143 of file GameEventMgr.h.

◆ GuidList

typedef std::list<uint32> GameEventMgr::GuidList
private

Definition at line 134 of file GameEventMgr.h.

◆ GuidNPCFlagPair

typedef std::pair<uint32 , uint32 > GameEventMgr::GuidNPCFlagPair
private

Definition at line 147 of file GameEventMgr.h.

◆ IdList

typedef std::list<uint32> GameEventMgr::IdList
private

Definition at line 135 of file GameEventMgr.h.

◆ ModelEquipList

typedef std::list<ModelEquipPair> GameEventMgr::ModelEquipList
private

Definition at line 139 of file GameEventMgr.h.

◆ ModelEquipPair

typedef std::pair<uint32, ModelEquip> GameEventMgr::ModelEquipPair
private

Definition at line 138 of file GameEventMgr.h.

◆ NPCFlagList

typedef std::list<GuidNPCFlagPair> GameEventMgr::NPCFlagList
private

Definition at line 148 of file GameEventMgr.h.

◆ NPCVendorList

typedef std::list<NPCVendorEntry> GameEventMgr::NPCVendorList
private

Definition at line 144 of file GameEventMgr.h.

◆ QuestIdToEventConditionMap

◆ QuestRelation

typedef std::pair<uint32, uint32> GameEventMgr::QuestRelation
private

Definition at line 141 of file GameEventMgr.h.

◆ QuestRelList

typedef std::list<QuestRelation> GameEventMgr::QuestRelList
private

Definition at line 142 of file GameEventMgr.h.

Constructor & Destructor Documentation

◆ GameEventMgr()

GameEventMgr::GameEventMgr ( )
private

Definition at line 1463 of file GameEventMgr.cpp.

References isSystemInit.

Referenced by ~GameEventMgr().

◆ ~GameEventMgr()

GameEventMgr::~GameEventMgr ( )
inlineprivate

Definition at line 89 of file GameEventMgr.h.

References GameEventMgr().

Member Function Documentation

◆ AddActiveEvent()

void GameEventMgr::AddActiveEvent ( uint16 event_id)
inlineprivate

Definition at line 114 of file GameEventMgr.h.

References m_ActiveEvents.

Referenced by StartEvent().

◆ ApplyNewEvent()

void GameEventMgr::ApplyNewEvent ( uint16 event_id)
private

◆ ChangeEquipOrModel()

◆ CheckOneGameEvent()

bool GameEventMgr::CheckOneGameEvent ( uint16 entry) const

◆ CheckOneGameEventConditions()

bool GameEventMgr::CheckOneGameEventConditions ( uint16 event_id)
private

Runs SMART_EVENT_GAME_EVENT_START/_END SAI.

Definition at line 1520 of file GameEventMgr.cpp.

References GAMEEVENT_WORLD_NEXTPHASE, and mGameEvent.

Referenced by HandleQuestComplete(), StartEvent(), and Update().

◆ GameEventSpawn()

◆ GameEventUnspawn()

◆ GetActiveEventList()

ActiveEvents const & GameEventMgr::GetActiveEventList ( ) const
inline

Definition at line 94 of file GameEventMgr.h.

References m_ActiveEvents.

◆ GetEventIdForQuest()

uint16 GameEventMgr::GetEventIdForQuest ( Quest const * quest) const

Definition at line 1585 of file GameEventMgr.cpp.

References _questToEventLinks, Quest::GetQuestId(), and UNORDERED_MAP.

◆ GetEventMap()

GameEventDataMap const & GameEventMgr::GetEventMap ( ) const
inline

Definition at line 95 of file GameEventMgr.h.

References mGameEvent.

◆ GetNPCFlag()

uint32 GameEventMgr::GetNPCFlag ( Creature * cr)

Definition at line 886 of file GameEventMgr.cpp.

References Creature::GetDBTableGUIDLow(), m_ActiveEvents, and mGameEventNPCFlags.

Referenced by UpdateEventNPCFlags().

◆ GetNpcTextId()

uint32 GameEventMgr::GetNpcTextId ( uint32 guid)

◆ HandleQuestComplete()

◆ HandleWorldEventGossip()

void GameEventMgr::HandleWorldEventGossip ( Player * player,
Creature * c )

◆ hasCreatureActiveEventExcept()

bool GameEventMgr::hasCreatureActiveEventExcept ( uint32 creature_guid,
uint16 event_id )
private

Definition at line 1356 of file GameEventMgr.cpp.

References m_ActiveEvents, mGameEvent, and mGameEventCreatureGuids.

Referenced by GameEventUnspawn().

◆ hasCreatureQuestActiveEventExcept()

bool GameEventMgr::hasCreatureQuestActiveEventExcept ( uint32 quest_id,
uint16 event_id )
private

Definition at line 1329 of file GameEventMgr.cpp.

References m_ActiveEvents, and mGameEventCreatureQuests.

Referenced by UpdateEventQuests().

◆ hasGameObjectActiveEventExcept()

bool GameEventMgr::hasGameObjectActiveEventExcept ( uint32 go_guid,
uint16 event_id )
private

Definition at line 1372 of file GameEventMgr.cpp.

References m_ActiveEvents, mGameEvent, and mGameEventGameobjectGuids.

Referenced by GameEventUnspawn().

◆ hasGameObjectQuestActiveEventExcept()

bool GameEventMgr::hasGameObjectQuestActiveEventExcept ( uint32 quest_id,
uint16 event_id )
private

Definition at line 1343 of file GameEventMgr.cpp.

References m_ActiveEvents, and mGameEventGameObjectQuests.

Referenced by UpdateEventQuests().

◆ Initialize()

◆ IsActiveEvent()

bool GameEventMgr::IsActiveEvent ( uint16 event_id)
inline

Definition at line 100 of file GameEventMgr.h.

References m_ActiveEvents.

Referenced by HandleQuestComplete(), and Update().

◆ LoadFromDB()

◆ NextCheck()

uint32 GameEventMgr::NextCheck ( uint16 entry) const

◆ RemoveActiveEvent()

void GameEventMgr::RemoveActiveEvent ( uint16 event_id)
inlineprivate

Definition at line 115 of file GameEventMgr.h.

References m_ActiveEvents.

Referenced by StopEvent().

◆ RunSmartAIScripts()

void GameEventMgr::RunSmartAIScripts ( uint16 event_id,
bool activate )
private

Iterate over every supported source type (creature and gameobject) Not entirely sure how this will affect units in non-loaded grids.

Definition at line 1565 of file GameEventMgr.cpp.

References ObjectAccessor::GetCreatures(), ObjectAccessor::GetGameObjects(), HashMapHolder< T >::GetLock(), and SF_SHARED_GUARD.

Referenced by ApplyNewEvent(), and UnApplyEvent().

◆ SaveWorldEventStateToDB()

void GameEventMgr::SaveWorldEventStateToDB ( uint16 event_id)
private

◆ SendWorldStateUpdate()

void GameEventMgr::SendWorldStateUpdate ( Player * player,
uint16 event_id )
private

Definition at line 1553 of file GameEventMgr.cpp.

References mGameEvent, and Player::SendUpdateWorldState().

◆ StartArenaSeason()

void GameEventMgr::StartArenaSeason ( )

◆ StartEvent()

◆ StartInternalEvent()

void GameEventMgr::StartInternalEvent ( uint16 event_id)

Definition at line 97 of file GameEventMgr.cpp.

References m_ActiveEvents, mGameEvent, and StartEvent().

◆ StartSystem()

uint32 GameEventMgr::StartSystem ( )

Definition at line 928 of file GameEventMgr.cpp.

References isSystemInit, m_ActiveEvents, and Update().

◆ StopEvent()

◆ UnApplyEvent()

void GameEventMgr::UnApplyEvent ( uint16 event_id)
private

◆ Update()

◆ UpdateBattlegroundSettings()

void GameEventMgr::UpdateBattlegroundSettings ( )
private

Definition at line 1108 of file GameEventMgr.cpp.

References m_ActiveEvents, mGameEventBattlegroundHolidays, and sBattlegroundMgr.

Referenced by ApplyNewEvent(), and UnApplyEvent().

◆ UpdateEventNPCFlags()

◆ UpdateEventNPCVendor()

void GameEventMgr::UpdateEventNPCVendor ( uint16 event_id,
bool activate )
private

Definition at line 1116 of file GameEventMgr.cpp.

References mGameEventVendors, and sObjectMgr.

Referenced by ApplyNewEvent(), and UnApplyEvent().

◆ UpdateEventQuests()

void GameEventMgr::UpdateEventQuests ( uint16 event_id,
bool activate )
private

◆ UpdateWorldStates()

void GameEventMgr::UpdateWorldStates ( uint16 event_id,
bool Activate )
private

◆ Skyfire::Singleton< GameEventMgr, Skyfire::NullMutex >

Definition at line 76 of file GameEventMgr.h.

Member Data Documentation

◆ _questToEventLinks

UNORDERED_MAP<uint32, uint16> GameEventMgr::_questToEventLinks
private

Definition at line 163 of file GameEventMgr.h.

Referenced by GetEventIdForQuest(), and LoadFromDB().

◆ isSystemInit

bool GameEventMgr::isSystemInit
private

Definition at line 164 of file GameEventMgr.h.

Referenced by GameEventMgr(), StartSystem(), and Update().

◆ m_ActiveEvents

◆ mGameEvent

◆ mGameEventBattlegroundHolidays

GameEventBitmask GameEventMgr::mGameEventBattlegroundHolidays
private

Definition at line 159 of file GameEventMgr.h.

Referenced by Initialize(), LoadFromDB(), and UpdateBattlegroundSettings().

◆ mGameEventCreatureGuids

GameEventGuidMap GameEventMgr::mGameEventCreatureGuids

◆ mGameEventCreatureQuests

GameEventQuestMap GameEventMgr::mGameEventCreatureQuests
private

◆ mGameEventGameobjectGuids

GameEventGuidMap GameEventMgr::mGameEventGameobjectGuids

◆ mGameEventGameObjectQuests

GameEventQuestMap GameEventMgr::mGameEventGameObjectQuests
private

◆ mGameEventModelEquip

GameEventModelEquipMap GameEventMgr::mGameEventModelEquip
private

Definition at line 154 of file GameEventMgr.h.

Referenced by ChangeEquipOrModel(), Initialize(), and LoadFromDB().

◆ mGameEventNPCFlags

GameEventNPCFlagMap GameEventMgr::mGameEventNPCFlags
private

Definition at line 161 of file GameEventMgr.h.

Referenced by GetNPCFlag(), Initialize(), LoadFromDB(), and UpdateEventNPCFlags().

◆ mGameEventPoolIds

GameEventIdMap GameEventMgr::mGameEventPoolIds
private

Definition at line 157 of file GameEventMgr.h.

Referenced by GameEventSpawn(), GameEventUnspawn(), Initialize(), and LoadFromDB().

◆ mGameEventVendors

GameEventNPCVendorMap GameEventMgr::mGameEventVendors
private

Definition at line 153 of file GameEventMgr.h.

Referenced by Initialize(), LoadFromDB(), and UpdateEventNPCVendor().

◆ mQuestToEventConditions

QuestIdToEventConditionMap GameEventMgr::mQuestToEventConditions
private

Definition at line 160 of file GameEventMgr.h.

Referenced by HandleQuestComplete(), and LoadFromDB().


The documentation for this class was generated from the following files: