|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <GameEventMgr.h>
Public Types | |
| typedef std::set< uint16 > | ActiveEvents |
| typedef std::vector< GameEventData > | GameEventDataMap |
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< uint32 > | GameEventBitmask |
| typedef std::vector< GuidList > | GameEventGuidMap |
| typedef std::vector< IdList > | GameEventIdMap |
| typedef std::vector< ModelEquipList > | GameEventModelEquipMap |
| typedef std::vector< NPCFlagList > | GameEventNPCFlagMap |
| typedef std::vector< NPCVendorList > | GameEventNPCVendorMap |
| typedef std::vector< QuestRelList > | GameEventQuestMap |
| typedef std::list< uint32 > | GuidList |
| typedef std::pair< uint32, uint32 > | GuidNPCFlagPair |
| typedef std::list< uint32 > | IdList |
| typedef std::list< ModelEquipPair > | ModelEquipList |
| typedef std::pair< uint32, ModelEquip > | ModelEquipPair |
| typedef std::list< GuidNPCFlagPair > | NPCFlagList |
| typedef std::list< NPCVendorEntry > | NPCVendorList |
| typedef std::map< uint32, GameEventQuestToEventConditionNum > | QuestIdToEventConditionMap |
| typedef std::pair< uint32, uint32 > | QuestRelation |
| typedef std::list< QuestRelation > | QuestRelList |
Friends | |
| class | Skyfire::Singleton< GameEventMgr, Skyfire::NullMutex > |
Definition at line 83 of file GameEventMgr.h.
| typedef std::set<uint16> GameEventMgr::ActiveEvents |
Definition at line 92 of file GameEventMgr.h.
|
private |
Definition at line 150 of file GameEventMgr.h.
| typedef std::vector<GameEventData> GameEventMgr::GameEventDataMap |
Definition at line 93 of file GameEventMgr.h.
|
private |
Definition at line 136 of file GameEventMgr.h.
|
private |
Definition at line 137 of file GameEventMgr.h.
|
private |
Definition at line 140 of file GameEventMgr.h.
|
private |
Definition at line 149 of file GameEventMgr.h.
|
private |
Definition at line 145 of file GameEventMgr.h.
|
private |
Definition at line 143 of file GameEventMgr.h.
|
private |
Definition at line 134 of file GameEventMgr.h.
|
private |
Definition at line 147 of file GameEventMgr.h.
|
private |
Definition at line 135 of file GameEventMgr.h.
|
private |
Definition at line 139 of file GameEventMgr.h.
|
private |
Definition at line 138 of file GameEventMgr.h.
|
private |
Definition at line 148 of file GameEventMgr.h.
|
private |
Definition at line 144 of file GameEventMgr.h.
|
private |
Definition at line 146 of file GameEventMgr.h.
|
private |
Definition at line 141 of file GameEventMgr.h.
|
private |
Definition at line 142 of file GameEventMgr.h.
|
private |
Definition at line 1463 of file GameEventMgr.cpp.
References isSystemInit.
Referenced by ~GameEventMgr().
|
inlineprivate |
Definition at line 89 of file GameEventMgr.h.
References GameEventMgr().
|
inlineprivate |
Definition at line 114 of file GameEventMgr.h.
References m_ActiveEvents.
Referenced by StartEvent().
|
private |
Run SAI scripts with SMART_EVENT_GAME_EVENT_END
Definition at line 1053 of file GameEventMgr.cpp.
References ChangeEquipOrModel(), CONFIG_EVENT_ANNOUNCE, GameEventSpawn(), GameEventUnspawn(), LANG_EVENTMESSAGE, mGameEvent, RunSmartAIScripts(), SF_LOG_INFO, sWorld, UpdateBattlegroundSettings(), UpdateEventNPCFlags(), UpdateEventNPCVendor(), UpdateEventQuests(), and UpdateWorldStates().
Referenced by StartEvent().
|
private |
Definition at line 1261 of file GameEventMgr.cpp.
References ObjectMgr::ChooseDisplayId(), CreatureData::displayid, CreatureData::equipmentId, Creature::GetCurrentEquipmentId(), Unit::GetDisplayId(), ObjectAccessor::GetObjectInWorld(), HIGHGUID_UNIT, CreatureData::id, Creature::LoadEquipment(), MAKE_NEW_GUID(), mGameEventModelEquip, Creature::SetDisplayId(), Unit::SetNativeDisplayId(), and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
| bool GameEventMgr::CheckOneGameEvent | ( | uint16 | entry | ) | const |
Definition at line 20 of file GameEventMgr.cpp.
References GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_INACTIVE, GAMEEVENT_WORLD_NEXTPHASE, mGameEvent, and MINUTE.
Referenced by Update().
|
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().
|
private |
Definition at line 1127 of file GameEventMgr.cpp.
References Map::AddToMap(), Map::Instanceable(), Map::IsGridLoaded(), GameObject::isSpawnedByDefault(), Creature::LoadCreatureFromDB(), GameObject::LoadGameObjectFromDB(), mGameEvent, mGameEventCreatureGuids, mGameEventGameobjectGuids, mGameEventPoolIds, SF_LOG_ERROR, SIZEFMTD, sMapMgr, sObjectMgr, and sPoolMgr.
Referenced by ApplyNewEvent(), UnApplyEvent(), and Update().
|
private |
Definition at line 1202 of file GameEventMgr.cpp.
References ObjectAccessor::GetObjectInWorld(), hasCreatureActiveEventExcept(), hasGameObjectActiveEventExcept(), HIGHGUID_GAMEOBJECT, HIGHGUID_UNIT, MAKE_NEW_GUID(), mGameEvent, mGameEventCreatureGuids, mGameEventGameobjectGuids, mGameEventPoolIds, SF_LOG_ERROR, SIZEFMTD, sObjectMgr, and sPoolMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
inline |
Definition at line 94 of file GameEventMgr.h.
References m_ActiveEvents.
Definition at line 1585 of file GameEventMgr.cpp.
References _questToEventLinks, Quest::GetQuestId(), and UNORDERED_MAP.
|
inline |
Definition at line 95 of file GameEventMgr.h.
References mGameEvent.
Definition at line 886 of file GameEventMgr.cpp.
References Creature::GetDBTableGUIDLow(), m_ActiveEvents, and mGameEventNPCFlags.
Referenced by UpdateEventNPCFlags().
| void GameEventMgr::HandleQuestComplete | ( | uint32 | quest_id | ) |
Definition at line 1465 of file GameEventMgr.cpp.
References CHAR_DEL_GAME_EVENT_CONDITION_SAVE, CHAR_INS_GAME_EVENT_CONDITION_SAVE, CharacterDatabase, CheckOneGameEventConditions(), GAMEEVENT_WORLD_CONDITIONS, IsActiveEvent(), mGameEvent, mQuestToEventConditions, SaveWorldEventStateToDB(), PreparedStatement::setFloat(), PreparedStatement::setUInt32(), PreparedStatement::setUInt8(), and sWorld.
Definition at line 1356 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and mGameEventCreatureGuids.
Referenced by GameEventUnspawn().
Definition at line 1329 of file GameEventMgr.cpp.
References m_ActiveEvents, and mGameEventCreatureQuests.
Referenced by UpdateEventQuests().
Definition at line 1372 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and mGameEventGameobjectGuids.
Referenced by GameEventUnspawn().
Definition at line 1343 of file GameEventMgr.cpp.
References m_ActiveEvents, and mGameEventGameObjectQuests.
Referenced by UpdateEventQuests().
| void GameEventMgr::Initialize | ( | ) |
Definition at line 903 of file GameEventMgr.cpp.
References Field::GetUInt8(), mGameEvent, mGameEventBattlegroundHolidays, mGameEventCreatureGuids, mGameEventCreatureQuests, mGameEventGameobjectGuids, mGameEventGameObjectQuests, mGameEventModelEquip, mGameEventNPCFlags, mGameEventPoolIds, mGameEventVendors, and WorldDatabase.
|
inline |
Definition at line 100 of file GameEventMgr.h.
References m_ActiveEvents.
Referenced by HandleQuestComplete(), and Update().
| void GameEventMgr::LoadFromDB | ( | ) |
Definition at line 191 of file GameEventMgr.cpp.
References _questToEventLinks, GameEventData::announce, CharacterDatabase, GameEventData::description, GameEventData::end, NPCVendorEntry::entry, ModelEquip::equipement_id_prev, ModelEquip::equipment_id, NPCVendorEntry::ExtendedCost, GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, Field::GetFloat(), Field::GetInt8(), getMSTime(), GetMSTimeDiffToNow(), Field::GetString(), Field::GetUInt16(), Field::GetUInt32(), Field::GetUInt64(), Field::GetUInt8(), GameEventData::holiday_id, HOLIDAY_NONE, NPCVendorEntry::incrtime, NPCVendorEntry::item, GameEventData::length, NPCVendorEntry::maxcount, mGameEvent, mGameEventBattlegroundHolidays, mGameEventCreatureGuids, mGameEventCreatureQuests, mGameEventGameobjectGuids, mGameEventGameObjectQuests, mGameEventModelEquip, mGameEventNPCFlags, mGameEventPoolIds, mGameEventVendors, ModelEquip::modelid, ModelEquip::modelid_prev, mQuestToEventConditions, GameEventData::nextstart, GameEventData::occurence, SF_LOG_ERROR, SF_LOG_INFO, sHolidaysStore, sObjectMgr, sPoolMgr, GameEventData::start, GameEventData::state, NPCVendorEntry::Type, and WorldDatabase.
Definition at line 58 of file GameEventMgr.cpp.
References GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_NEXTPHASE, max_ge_check_delay, mGameEvent, and MINUTE.
Referenced by Update().
|
inlineprivate |
Definition at line 115 of file GameEventMgr.h.
References m_ActiveEvents.
Referenced by StopEvent().
|
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().
|
private |
Definition at line 1537 of file GameEventMgr.cpp.
References CHAR_DEL_GAME_EVENT_SAVE, CHAR_INS_GAME_EVENT_SAVE, CharacterDatabase, mGameEvent, PreparedStatement::setUInt32(), and PreparedStatement::setUInt8().
Referenced by HandleQuestComplete(), StartEvent(), and Update().
Definition at line 1553 of file GameEventMgr.cpp.
References mGameEvent, and Player::SendUpdateWorldState().
| void GameEventMgr::StartArenaSeason | ( | ) |
Definition at line 936 of file GameEventMgr.cpp.
References CONFIG_ARENA_SEASON_ID, Field::GetUInt8(), mGameEvent, SF_LOG_ERROR, SF_LOG_INFO, StartEvent(), sWorld, and WorldDatabase.
| bool GameEventMgr::StartEvent | ( | uint16 | event_id, |
| bool | overwrite = false ) |
Definition at line 111 of file GameEventMgr.cpp.
References AddActiveEvent(), ApplyNewEvent(), CheckOneGameEventConditions(), GameEventData::end, GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_INACTIVE, GameEventData::length, mGameEvent, SaveWorldEventStateToDB(), GameEventData::start, GameEventData::state, and sWorld.
Referenced by StartArenaSeason(), StartInternalEvent(), and Update().
| void GameEventMgr::StartInternalEvent | ( | uint16 | event_id | ) |
Definition at line 97 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and StartEvent().
| uint32 GameEventMgr::StartSystem | ( | ) |
Definition at line 928 of file GameEventMgr.cpp.
References isSystemInit, m_ActiveEvents, and Update().
| void GameEventMgr::StopEvent | ( | uint16 | event_id, |
| bool | overwrite = false ) |
Definition at line 151 of file GameEventMgr.cpp.
References CHAR_DEL_ALL_GAME_EVENT_CONDITION_SAVE, CHAR_DEL_GAME_EVENT_SAVE, CharacterDatabase, GameEventData::conditions, GameEventData::end, GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_INACTIVE, GameEventData::length, mGameEvent, MINUTE, GameEventData::nextstart, RemoveActiveEvent(), PreparedStatement::setUInt8(), GameEventData::start, GameEventData::state, and UnApplyEvent().
Referenced by Update().
|
private |
Run SAI scripts with SMART_EVENT_GAME_EVENT_END
Definition at line 1030 of file GameEventMgr.cpp.
References ChangeEquipOrModel(), GameEventSpawn(), GameEventUnspawn(), mGameEvent, RunSmartAIScripts(), SF_LOG_INFO, UpdateBattlegroundSettings(), UpdateEventNPCFlags(), UpdateEventNPCVendor(), UpdateEventQuests(), and UpdateWorldStates().
Referenced by StopEvent().
| uint32 GameEventMgr::Update | ( | ) |
Definition at line 960 of file GameEventMgr.cpp.
References CheckOneGameEvent(), CheckOneGameEventConditions(), GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_NEXTPHASE, GameEventSpawn(), IN_MILLISECONDS, IsActiveEvent(), isSystemInit, max_ge_check_delay, mGameEvent, NextCheck(), SaveWorldEventStateToDB(), SF_LOG_INFO, StartEvent(), and StopEvent().
Referenced by StartSystem().
|
private |
Definition at line 1108 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEventBattlegroundHolidays, and sBattlegroundMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1084 of file GameEventMgr.cpp.
References HashMapHolder< T >::Find(), Creature::GetCreatureTemplate(), GetNPCFlag(), HIGHGUID_UNIT, MAKE_NEW_GUID(), mGameEventNPCFlags, Object::SetUInt32Value(), sObjectMgr, and UNIT_FIELD_NPC_FLAGS.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1116 of file GameEventMgr.cpp.
References mGameEventVendors, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1389 of file GameEventMgr.cpp.
References hasCreatureQuestActiveEventExcept(), hasGameObjectQuestActiveEventExcept(), mGameEventCreatureQuests, mGameEventGameObjectQuests, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1444 of file GameEventMgr.cpp.
References BATTLEGROUND_TYPE_NONE, HOLIDAY_NONE, BattlemasterListEntry::HolidayWorldStateId, mGameEvent, sBattlegroundMgr, sBattlemasterListStore, sWorld, and BattlegroundMgr::WeekendHolidayIdToBGType().
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
friend |
Definition at line 76 of file GameEventMgr.h.
|
private |
Definition at line 163 of file GameEventMgr.h.
Referenced by GetEventIdForQuest(), and LoadFromDB().
|
private |
Definition at line 164 of file GameEventMgr.h.
Referenced by GameEventMgr(), StartSystem(), and Update().
|
private |
Definition at line 162 of file GameEventMgr.h.
Referenced by AddActiveEvent(), GetActiveEventList(), GetNPCFlag(), hasCreatureActiveEventExcept(), hasCreatureQuestActiveEventExcept(), hasGameObjectActiveEventExcept(), hasGameObjectQuestActiveEventExcept(), IsActiveEvent(), RemoveActiveEvent(), StartInternalEvent(), StartSystem(), and UpdateBattlegroundSettings().
|
private |
Definition at line 158 of file GameEventMgr.h.
Referenced by ApplyNewEvent(), CheckOneGameEvent(), CheckOneGameEventConditions(), GameEventSpawn(), GameEventUnspawn(), GetEventMap(), HandleQuestComplete(), hasCreatureActiveEventExcept(), hasGameObjectActiveEventExcept(), Initialize(), LoadFromDB(), NextCheck(), SaveWorldEventStateToDB(), SendWorldStateUpdate(), StartArenaSeason(), StartEvent(), StartInternalEvent(), StopEvent(), UnApplyEvent(), Update(), and UpdateWorldStates().
|
private |
Definition at line 159 of file GameEventMgr.h.
Referenced by Initialize(), LoadFromDB(), and UpdateBattlegroundSettings().
| GameEventGuidMap GameEventMgr::mGameEventCreatureGuids |
Definition at line 166 of file GameEventMgr.h.
Referenced by GameEventSpawn(), GameEventUnspawn(), hasCreatureActiveEventExcept(), Initialize(), and LoadFromDB().
|
private |
Definition at line 151 of file GameEventMgr.h.
Referenced by hasCreatureQuestActiveEventExcept(), Initialize(), LoadFromDB(), and UpdateEventQuests().
| GameEventGuidMap GameEventMgr::mGameEventGameobjectGuids |
Definition at line 167 of file GameEventMgr.h.
Referenced by GameEventSpawn(), GameEventUnspawn(), hasGameObjectActiveEventExcept(), Initialize(), and LoadFromDB().
|
private |
Definition at line 152 of file GameEventMgr.h.
Referenced by hasGameObjectQuestActiveEventExcept(), Initialize(), LoadFromDB(), and UpdateEventQuests().
|
private |
Definition at line 154 of file GameEventMgr.h.
Referenced by ChangeEquipOrModel(), Initialize(), and LoadFromDB().
|
private |
Definition at line 161 of file GameEventMgr.h.
Referenced by GetNPCFlag(), Initialize(), LoadFromDB(), and UpdateEventNPCFlags().
|
private |
Definition at line 157 of file GameEventMgr.h.
Referenced by GameEventSpawn(), GameEventUnspawn(), Initialize(), and LoadFromDB().
|
private |
Definition at line 153 of file GameEventMgr.h.
Referenced by Initialize(), LoadFromDB(), and UpdateEventNPCVendor().
|
private |
Definition at line 160 of file GameEventMgr.h.
Referenced by HandleQuestComplete(), and LoadFromDB().