![]() |
TrinityCore
|
#include <GameEventMgr.h>
Public Types | |
| typedef std::set< uint16 > | ActiveEvents |
| typedef std::vector< GameEventData > | GameEventDataMap |
Public Member Functions | |
| GameEventMgr (GameEventMgr const &)=delete | |
| GameEventMgr (GameEventMgr &&)=delete | |
| GameEventMgr & | operator= (GameEventMgr const &)=delete |
| GameEventMgr & | operator= (GameEventMgr &&)=delete |
| ActiveEvents const & | GetActiveEventList () const |
| GameEventDataMap const & | GetEventMap () const |
| bool | CheckOneGameEvent (uint16 entry) const |
| uint32 | NextCheck (uint16 entry) const |
| void | LoadFromDB () |
| uint32 | Update () |
| bool | IsActiveEvent (uint16 event_id) const |
| uint32 | StartSystem () |
| void | Initialize () |
| void | StartArenaSeason () |
| void | StartInternalEvent (uint16 event_id) |
| bool | StartEvent (uint16 event_id, bool overwrite=false) |
| void | StopEvent (uint16 event_id, bool overwrite=false) |
| void | HandleQuestComplete (uint32 quest_id) |
| uint64 | GetNPCFlag (Creature *cr) |
Static Public Member Functions | |
| static GameEventMgr * | instance () |
Public Attributes | |
| GameEventGuidMap | mGameEventCreatureGuids |
| GameEventGuidMap | mGameEventGameobjectGuids |
Private Types | |
| typedef std::list< ObjectGuid::LowType > | GuidList |
| typedef std::list< uint32 > | IdList |
| typedef std::vector< GuidList > | GameEventGuidMap |
| typedef std::vector< IdList > | GameEventIdMap |
| typedef std::pair< ObjectGuid::LowType, ModelEquip > | ModelEquipPair |
| typedef std::list< ModelEquipPair > | ModelEquipList |
| typedef std::vector< ModelEquipList > | GameEventModelEquipMap |
| typedef std::pair< uint32, uint32 > | QuestRelation |
| typedef std::list< QuestRelation > | QuestRelList |
| typedef std::vector< QuestRelList > | GameEventQuestMap |
| typedef std::unordered_map< uint32, std::vector< VendorItem > > | NPCVendorMap |
| typedef std::vector< NPCVendorMap > | GameEventNPCVendorMap |
| typedef std::map< uint32, GameEventQuestToEventConditionNum > | QuestIdToEventConditionMap |
| typedef std::pair< ObjectGuid::LowType, uint64 > | GuidNPCFlagPair |
| typedef std::list< GuidNPCFlagPair > | NPCFlagList |
| typedef std::vector< NPCFlagList > | GameEventNPCFlagMap |
Definition at line 95 of file GameEventMgr.h.
| typedef std::set<uint16> GameEventMgr::ActiveEvents |
Definition at line 109 of file GameEventMgr.h.
| typedef std::vector<GameEventData> GameEventMgr::GameEventDataMap |
Definition at line 110 of file GameEventMgr.h.
|
private |
Definition at line 152 of file GameEventMgr.h.
|
private |
Definition at line 153 of file GameEventMgr.h.
|
private |
Definition at line 156 of file GameEventMgr.h.
|
private |
Definition at line 165 of file GameEventMgr.h.
|
private |
Definition at line 161 of file GameEventMgr.h.
|
private |
Definition at line 159 of file GameEventMgr.h.
|
private |
Definition at line 150 of file GameEventMgr.h.
|
private |
Definition at line 163 of file GameEventMgr.h.
|
private |
Definition at line 151 of file GameEventMgr.h.
|
private |
Definition at line 155 of file GameEventMgr.h.
|
private |
Definition at line 154 of file GameEventMgr.h.
|
private |
Definition at line 164 of file GameEventMgr.h.
|
private |
Definition at line 160 of file GameEventMgr.h.
|
private |
Definition at line 162 of file GameEventMgr.h.
|
private |
Definition at line 157 of file GameEventMgr.h.
|
private |
Definition at line 158 of file GameEventMgr.h.
|
private |
Definition at line 1525 of file GameEventMgr.cpp.
|
private |
Definition at line 1529 of file GameEventMgr.cpp.
|
delete |
|
delete |
|
private |
Definition at line 1633 of file GameEventMgr.cpp.
References m_ActiveEvents.
Referenced by StartEvent().
|
private |
Run SAI scripts with SMART_EVENT_GAME_EVENT_START
Definition at line 1103 of file GameEventMgr.cpp.
References ChangeEquipOrModel(), CONFIG_EVENT_ANNOUNCE, GameEventSpawn(), GameEventUnspawn(), GetLastStartTime(), LANG_EVENTMESSAGE, mGameEvent, RunSmartAIScripts(), sWorld, TC_LOG_INFO, UpdateEventNPCFlags(), UpdateEventNPCVendor(), UpdateEventQuests(), and UpdateWorldStates().
Referenced by StartEvent().
|
private |
Definition at line 1348 of file GameEventMgr.cpp.
References DEFAULT_PLAYER_DISPLAY_SCALE, CreatureData::display, CreatureData::equipmentId, SpawnMetadata::mapId, mGameEventModelEquip, sMapMgr, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
| bool GameEventMgr::CheckOneGameEvent | ( | uint16 | entry | ) | const |
Definition at line 45 of file GameEventMgr.cpp.
References GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_INACTIVE, GAMEEVENT_WORLD_NEXTPHASE, GameTime::GetGameTime(), mGameEvent, and MINUTE.
Referenced by Update().
|
private |
Definition at line 1588 of file GameEventMgr.cpp.
References GAMEEVENT_WORLD_NEXTPHASE, GameTime::GetGameTime(), and mGameEvent.
Referenced by HandleQuestComplete(), StartEvent(), and Update().
|
private |
Definition at line 1181 of file GameEventMgr.cpp.
References mGameEvent, mGameEventCreatureGuids, mGameEventGameobjectGuids, sMapMgr, sObjectMgr, and TC_LOG_ERROR.
Referenced by ApplyNewEvent(), UnApplyEvent(), and Update().
|
private |
Definition at line 1264 of file GameEventMgr.cpp.
References hasCreatureActiveEventExcept(), mGameEvent, mGameEventCreatureGuids, sMapMgr, sObjectMgr, and TC_LOG_ERROR.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
inline |
Definition at line 111 of file GameEventMgr.h.
|
inline |
Definition at line 112 of file GameEventMgr.h.
|
private |
Definition at line 1751 of file GameEventMgr.cpp.
References GAMEEVENT_NORMAL, GameTime::GetSystemTime(), and mGameEvent.
Referenced by ApplyNewEvent().
Definition at line 938 of file GameEventMgr.cpp.
References Creature::GetSpawnId(), m_ActiveEvents, and mGameEventNPCFlags.
Referenced by UpdateEventNPCFlags().
| void GameEventMgr::HandleQuestComplete | ( | uint32 | quest_id | ) |
Definition at line 1533 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(), PreparedStatementBase::setFloat(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt8(), and sWorld.
|
private |
Definition at line 1431 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and mGameEventCreatureGuids.
Referenced by GameEventUnspawn().
Definition at line 1404 of file GameEventMgr.cpp.
References m_ActiveEvents, and mGameEventCreatureQuests.
Referenced by UpdateEventQuests().
|
private |
Definition at line 1447 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and mGameEventGameobjectGuids.
Definition at line 1418 of file GameEventMgr.cpp.
References m_ActiveEvents, and mGameEventGameObjectQuests.
Referenced by UpdateEventQuests().
| void GameEventMgr::Initialize | ( | ) |
Definition at line 955 of file GameEventMgr.cpp.
References Field::GetUInt8(), mGameEvent, mGameEventCreatureGuids, mGameEventCreatureQuests, mGameEventGameobjectGuids, mGameEventGameObjectQuests, mGameEventModelEquip, mGameEventNPCFlags, mGameEventPoolIds, mGameEventVendors, and WorldDatabase.
|
static |
|
inline |
Definition at line 117 of file GameEventMgr.h.
Referenced by HandleQuestComplete(), and Update().
| void GameEventMgr::LoadFromDB | ( | ) |
Definition at line 216 of file GameEventMgr.cpp.
References GameEventData::announce, VendorItem::BonusListIDs, CharacterDatabase, GameEventData::description, GameEventData::end, ModelEquip::equipement_id_prev, ModelEquip::equipment_id, VendorItem::ExtendedCost, GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, Field::GetBool(), Field::GetFloat(), Field::GetInt32OrNull(), Field::GetInt8(), getMSTime(), GetMSTimeDiffToNow(), Field::GetString(), Field::GetUInt16(), Field::GetUInt32(), Field::GetUInt64(), Field::GetUInt8(), WorldStateMgr::GetWorldStateTemplate(), GameEventData::holiday_id, HOLIDAY_NONE, GameEventData::holidayStage, VendorItem::IgnoreFiltering, VendorItem::incrtime, VendorItem::item, GameEventData::length, MAX_HOLIDAY_DURATIONS, VendorItem::maxcount, mGameEvent, mGameEventCreatureGuids, mGameEventCreatureQuests, mGameEventGameobjectGuids, mGameEventGameObjectQuests, mGameEventModelEquip, mGameEventNPCFlags, mGameEventPoolIds, mGameEventVendors, ModelEquip::modelid, ModelEquip::modelid_prev, mQuestToEventConditions, GameEventData::nextstart, GameEventData::occurence, VendorItem::PlayerConditionId, SpawnData::poolId, sBattlemasterListStore, Quest::SetEventIdForQuest(), SetHolidayEventTime(), sHolidaysStore, sObjectMgr, sPoolMgr, GameEventData::start, GameEventData::state, TC_LOG_ERROR, TC_LOG_INFO, Trinity::Tokenize(), VendorItem::Type, BattlegroundMgr::WeekendHolidayIdToBGType(), WorldDatabase, and GameEventData::WorldStateId.
Definition at line 83 of file GameEventMgr.cpp.
References GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_NEXTPHASE, GameTime::GetGameTime(), max_ge_check_delay, mGameEvent, and MINUTE.
Referenced by Update().
|
delete |
|
delete |
|
private |
Definition at line 1638 of file GameEventMgr.cpp.
References m_ActiveEvents.
Referenced by StopEvent().
|
private |
Runs SMART_EVENT_GAME_EVENT_START/_END SAI.
Iterate over every supported source type (creature and gameobject) Not entirely sure how this will affect units in non-loaded grids.
Definition at line 1670 of file GameEventMgr.cpp.
References Map::GetObjectsStore(), sMapMgr, and TypeContainerVisitor< Visitor, TypeContainer >::Visit().
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1605 of file GameEventMgr.cpp.
References CHAR_DEL_GAME_EVENT_SAVE, CHAR_INS_GAME_EVENT_SAVE, CharacterDatabase, mGameEvent, PreparedStatementBase::setInt64(), PreparedStatementBase::setUInt8(), and SI64LIT.
Referenced by HandleQuestComplete(), StartEvent(), and Update().
Definition at line 1621 of file GameEventMgr.cpp.
References mGameEvent, and Player::SendUpdateWorldState().
|
private |
Definition at line 1682 of file GameEventMgr.cpp.
References HolidaysEntry::CalendarFilterType, HolidaysEntry::Date, HolidaysEntry::Duration, GameTime::GetWowTime(), WowTime::GetYear(), GameEventData::holiday_id, GameEventData::holidayStage, HOUR, GameEventData::length, HolidaysEntry::Looping, MAX_HOLIDAY_DATES, MAX_HOLIDAY_DURATIONS, MINUTE, GameEventData::occurence, WowTime::SetPackedTime(), WowTime::SetYear(), sHolidaysStore, TC_LOG_ERROR, WEEK, and YEAR.
Referenced by LoadFromDB().
| void GameEventMgr::StartArenaSeason | ( | ) |
Definition at line 987 of file GameEventMgr.cpp.
References CONFIG_ARENA_SEASON_ID, Field::GetUInt8(), mGameEvent, StartEvent(), sWorld, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| bool GameEventMgr::StartEvent | ( | uint16 | event_id, |
| bool | overwrite = false |
||
| ) |
Definition at line 136 of file GameEventMgr.cpp.
References AddActiveEvent(), ApplyNewEvent(), CheckOneGameEventConditions(), GameEventData::end, GAMEEVENT_INTERNAL, GAMEEVENT_NORMAL, GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_INACTIVE, GameTime::GetGameTime(), GameEventData::length, mGameEvent, MINUTE, SaveWorldEventStateToDB(), GameEventData::start, GameEventData::state, and sWorld.
Referenced by StartArenaSeason(), StartInternalEvent(), and Update().
| void GameEventMgr::StartInternalEvent | ( | uint16 | event_id | ) |
Definition at line 122 of file GameEventMgr.cpp.
References m_ActiveEvents, mGameEvent, and StartEvent().
| uint32 GameEventMgr::StartSystem | ( | ) |
Definition at line 979 of file GameEventMgr.cpp.
References isSystemInit, m_ActiveEvents, and Update().
| void GameEventMgr::StopEvent | ( | uint16 | event_id, |
| bool | overwrite = false |
||
| ) |
Definition at line 176 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, GameTime::GetGameTime(), GameEventData::length, mGameEvent, MINUTE, GameEventData::nextstart, RemoveActiveEvent(), PreparedStatementBase::setUInt8(), GameEventData::start, GameEventData::state, and UnApplyEvent().
Referenced by Update().
|
private |
Run SAI scripts with SMART_EVENT_GAME_EVENT_END
Definition at line 1082 of file GameEventMgr.cpp.
References ChangeEquipOrModel(), GameEventSpawn(), GameEventUnspawn(), mGameEvent, RunSmartAIScripts(), TC_LOG_INFO, UpdateEventNPCFlags(), UpdateEventNPCVendor(), UpdateEventQuests(), and UpdateWorldStates().
Referenced by StopEvent().
| uint32 GameEventMgr::Update | ( | ) |
Definition at line 1012 of file GameEventMgr.cpp.
References CheckOneGameEvent(), CheckOneGameEventConditions(), GAMEEVENT_WORLD_CONDITIONS, GAMEEVENT_WORLD_FINISHED, GAMEEVENT_WORLD_NEXTPHASE, GameEventSpawn(), GameTime::GetGameTime(), IN_MILLISECONDS, IsActiveEvent(), isSystemInit, max_ge_check_delay, mGameEvent, NextCheck(), SaveWorldEventStateToDB(), StartEvent(), StopEvent(), and TC_LOG_INFO.
Referenced by StartSystem().
|
private |
Definition at line 1133 of file GameEventMgr.cpp.
References Map::GetCreatureBySpawnIdStore(), Creature::GetCreatureTemplate(), GetNPCFlag(), mGameEventNPCFlags, Unit::ReplaceAllNpcFlags(), Unit::ReplaceAllNpcFlags2(), sMapMgr, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1167 of file GameEventMgr.cpp.
References mGameEventVendors, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1464 of file GameEventMgr.cpp.
References hasCreatureQuestActiveEventExcept(), hasGameObjectQuestActiveEventExcept(), mGameEventCreatureQuests, mGameEventGameObjectQuests, and sObjectMgr.
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 1519 of file GameEventMgr.cpp.
References mGameEvent, and WorldStateMgr::SetValue().
Referenced by ApplyNewEvent(), and UnApplyEvent().
|
private |
Definition at line 177 of file GameEventMgr.h.
Referenced by StartSystem(), and Update().
|
private |
Definition at line 176 of file GameEventMgr.h.
Referenced by AddActiveEvent(), GetNPCFlag(), hasCreatureActiveEventExcept(), hasCreatureQuestActiveEventExcept(), hasGameObjectActiveEventExcept(), hasGameObjectQuestActiveEventExcept(), RemoveActiveEvent(), StartInternalEvent(), and StartSystem().
|
private |
Definition at line 173 of file GameEventMgr.h.
Referenced by ApplyNewEvent(), CheckOneGameEvent(), CheckOneGameEventConditions(), GameEventSpawn(), GameEventUnspawn(), GetLastStartTime(), HandleQuestComplete(), hasCreatureActiveEventExcept(), hasGameObjectActiveEventExcept(), Initialize(), LoadFromDB(), NextCheck(), SaveWorldEventStateToDB(), SendWorldStateUpdate(), StartArenaSeason(), StartEvent(), StartInternalEvent(), StopEvent(), UnApplyEvent(), Update(), and UpdateWorldStates().
| GameEventGuidMap GameEventMgr::mGameEventCreatureGuids |
Definition at line 180 of file GameEventMgr.h.
Referenced by GameEventSpawn(), GameEventUnspawn(), hasCreatureActiveEventExcept(), Initialize(), and LoadFromDB().
|
private |
Definition at line 166 of file GameEventMgr.h.
Referenced by hasCreatureQuestActiveEventExcept(), Initialize(), LoadFromDB(), and UpdateEventQuests().
| GameEventGuidMap GameEventMgr::mGameEventGameobjectGuids |
Definition at line 181 of file GameEventMgr.h.
Referenced by GameEventSpawn(), hasGameObjectActiveEventExcept(), Initialize(), and LoadFromDB().
|
private |
Definition at line 167 of file GameEventMgr.h.
Referenced by hasGameObjectQuestActiveEventExcept(), Initialize(), LoadFromDB(), and UpdateEventQuests().
|
private |
Definition at line 169 of file GameEventMgr.h.
Referenced by ChangeEquipOrModel(), Initialize(), and LoadFromDB().
|
private |
Definition at line 175 of file GameEventMgr.h.
Referenced by GetNPCFlag(), Initialize(), LoadFromDB(), and UpdateEventNPCFlags().
|
private |
Definition at line 172 of file GameEventMgr.h.
Referenced by Initialize(), and LoadFromDB().
|
private |
Definition at line 168 of file GameEventMgr.h.
Referenced by Initialize(), LoadFromDB(), and UpdateEventNPCVendor().
|
private |
Definition at line 174 of file GameEventMgr.h.
Referenced by HandleQuestComplete(), and LoadFromDB().