42#include <unordered_map>
421typedef std::pair<SpellScriptsContainer::iterator, SpellScriptsContainer::iterator>
SpellScriptsBounds;
433 FLAG_ACTIVATE_SPAWN = 0x01,
434 FLAG_BLOCK_SPAWN = 0x02,
435 FLAG_ALLIANCE_ONLY = 0x04,
436 FLAG_HORDE_ONLY = 0x08,
438 FLAG_ALL = (FLAG_ACTIVATE_SPAWN | FLAG_BLOCK_SPAWN | FLAG_ALLIANCE_ONLY | FLAG_HORDE_ONLY)
453 bool IsFitToRequirements(
Unit const* clicker,
Unit const* clickee)
const;
574 Iterator(QuestRelations::const_iterator it, QuestRelations::const_iterator
end,
bool onlyActive)
596 QuestRelationResult(std::pair<QuestRelations::const_iterator, QuestRelations::const_iterator> range,
bool onlyActive)
776typedef std::pair<GossipMenusContainer::const_iterator, GossipMenusContainer::const_iterator>
GossipMenusMapBounds;
811 int32 flags,
int32 worldEffectID,
int32 playerConditionID,
int32 navigationPlayerConditionID,
int32 spawnTrackingID, std::vector<QuestPOIBlobPoint> points,
821 std::vector<QuestPOIBlobData>
Blobs;
845typedef std::pair<GraveyardContainer::const_iterator, GraveyardContainer::const_iterator>
GraveyardMapBounds;
894 std::vector<PlayerChoiceResponseRewardItem>
Items;
895 std::vector<PlayerChoiceResponseRewardEntry>
Currency;
896 std::vector<PlayerChoiceResponseRewardEntry>
Faction;
947 [responseId](
PlayerChoiceResponse const& playerChoiceResponse) { return playerChoiceResponse.ResponseId == responseId; });
948 return itr !=
Responses.end() ? &(*itr) :
nullptr;
954 [responseIdentifier](
PlayerChoiceResponse const& playerChoiceResponse) { return playerChoiceResponse.ResponseIdentifier == responseIdentifier; });
955 return itr !=
Responses.end() ? &(*itr) :
nullptr;
968#define MAX_SKILL_STEP 16
980#define MAX_PLAYER_NAME 12
981#define MAX_INTERNAL_PLAYER_NAME 15
982#define MAX_PET_NAME 12
983#define MAX_CHARTER_NAME 24
986#define SPAWNGROUP_MAP_UNSET 0xFFFFFFFF
1056 friend class UnitTestDataLoader;
1071 typedef std::unordered_map<uint32, Trinity::unique_trackable_ptr<Quest>>
QuestContainer;
1095 Entry(
uint32 id,
bool isScriptDatabaseBound) : Id(id), IsScriptDatabaseBound(isScriptDatabaseBound) { }
1098 bool IsScriptDatabaseBound =
false;
1110 void reserve(
size_t capacity);
1111 uint32 insert(std::string
const& scriptName,
bool isScriptNameBound =
true);
1112 size_t size()
const;
1113 NameMap::const_iterator find(
size_t index)
const;
1114 NameMap::const_iterator find(std::string
const& name)
const;
1115 NameMap::const_iterator end()
const;
1117 std::unordered_set<std::string> GetAllDBScriptNames()
const;
1124 uint32 LoadReferenceVendor(
int32 vendor,
int32 item_id, std::set<uint32>* skip_vendors);
1126 void LoadGameObjectTemplate();
1127 void LoadGameObjectTemplateAddons();
1128 void LoadGameObjectOverrides();
1143 std::vector<float>
const* GetCreatureTemplateSparringValues(
uint32 entry)
const;
1153 void GetPlayerClassLevelInfo(
uint32 class_,
uint8 level,
uint32& baseMana)
const;
1161 GameObjectQuestItemMap::const_iterator itr = _gameObjectQuestItemStore.find(
id);
1162 if (itr != _gameObjectQuestItemStore.end())
1163 return &itr->second;
1168 std::vector<uint32>
const* GetCreatureQuestItemList(
uint32 creatureEntry,
Difficulty difficulty)
const;
1169 std::vector<int32>
const* GetCreatureQuestCurrencyList(
uint32 creatureId)
const;
1176 Quest const* GetQuestTemplate(
uint32 quest_id)
const;
1183 auto itr = _questObjectives.find(questObjectiveId);
1184 return itr != _questObjectives.end() ? itr->second :
nullptr;
1189 auto itr = _questAreaTriggerStore.find(Trigger_ID);
1190 if (itr != _questAreaTriggerStore.end())
1191 return &itr->second;
1197 return _tavernAreaTriggerStore.find(Trigger_ID) != _tavernAreaTriggerStore.end();
1202 return _gameObjectForQuestStore.find(entry) != _gameObjectForQuestStore.end();
1207 return _eventStore.find(eventId) != _eventStore.end();
1218 void LoadGraveyardZones();
1220 void LoadWorldSafeLocs();
1229 uint32 GetAreaTriggerScriptId(
uint32 trigger_id)
const;
1235 RepRewardRateContainer::const_iterator itr = _repRewardRateStore.find(factionId);
1236 if (itr != _repRewardRateStore.end())
1237 return &itr->second;
1244 RepOnKillContainer::const_iterator itr = _repOnKillStore.find(
id);
1245 if (itr != _repOnKillStore.end())
1246 return &itr->second;
1254 RepSpilloverTemplateContainer::const_iterator itr = _repSpilloverTemplateStore.find(factionId);
1255 if (itr != _repSpilloverTemplateStore.end())
1256 return &itr->second;
1263 PointOfInterestContainer::const_iterator itr = _pointsOfInterestStore.find(
id);
1264 if (itr != _pointsOfInterestStore.end())
1265 return &itr->second;
1275 void LoadQuestStartersAndEnders();
1276 void LoadGameobjectQuestStarters();
1277 void LoadGameobjectQuestEnders();
1278 void LoadCreatureQuestStarters();
1279 void LoadCreatureQuestEnders();
1292 return _exclusiveQuestGroups.equal_range(exclusiveGroupId);
1295 std::vector<Difficulty> ParseSpawnDifficulties(std::string_view difficultyString, std::string_view table,
ObjectGuid::LowType spawnId,
uint32 mapId, std::set<Difficulty>
const& mapDifficulties);
1297 bool LoadTrinityStrings();
1299 void LoadEventScripts();
1300 void LoadSpellScripts();
1302 void LoadSpellScriptNames();
1303 void ValidateSpellScripts();
1305 void LoadCreatureClassLevelStats();
1306 void LoadCreatureLocales();
1307 void LoadCreatureTemplates();
1308 void LoadCreatureTemplateAddons();
1309 void LoadCreatureTemplateSparring();
1310 void LoadCreatureTemplate(
Field* fields);
1311 void LoadCreatureTemplateDifficulty();
1312 void LoadCreatureTemplateGossip();
1313 void LoadCreatureTemplateResistances();
1314 void LoadCreatureTemplateSpells();
1315 void LoadCreatureTemplateModels();
1316 void LoadCreatureSummonedData();
1319 void LoadGameObjectQuestItems();
1320 void LoadCreatureQuestItems();
1321 void LoadCreatureQuestCurrencies();
1322 void LoadTempSummons();
1323 void LoadCreatures();
1324 void LoadLinkedRespawn();
1326 void LoadCreatureAddons();
1327 void LoadGameObjectAddons();
1328 void LoadCreatureModelInfo();
1329 void LoadEquipmentTemplates();
1330 void LoadCreatureMovementOverrides();
1331 void LoadGameObjectLocales();
1332 void LoadGameObjects();
1333 void LoadSpawnGroupTemplates();
1334 void LoadSpawnGroups();
1335 void LoadInstanceSpawnGroups();
1336 void LoadItemTemplates();
1337 void LoadItemTemplateAddon();
1338 void LoadItemScriptNames();
1339 void LoadQuestTemplateLocale();
1340 void LoadQuestObjectivesLocale();
1341 void LoadQuestGreetingLocales();
1342 void LoadQuestOfferRewardLocale();
1343 void LoadQuestRequestItemsLocale();
1344 void LoadPageTextLocales();
1345 void LoadGossipMenuItemsLocales();
1346 void LoadPointOfInterestLocales();
1347 void LoadInstanceTemplate();
1348 void LoadMailLevelRewards();
1349 void LoadVehicleTemplateAccessories();
1350 void LoadVehicleTemplate();
1351 void LoadVehicleAccessories();
1352 void LoadVehicleSeatAddon();
1356 void LoadAreaTriggerTeleports();
1357 void LoadAccessRequirements();
1358 void LoadQuestAreaTriggers();
1359 void LoadQuestGreetings();
1360 void LoadAreaTriggerScripts();
1361 void LoadTavernAreaTriggers();
1362 void LoadGameObjectForQuests();
1364 void LoadPageTexts();
1367 void LoadPlayerInfo();
1368 void LoadPetLevelInfo();
1369 void LoadExplorationBaseXP();
1370 void LoadPetNames();
1371 void LoadPetNumber();
1372 void LoadFishingBaseSkillLevel();
1373 void LoadSkillTiers();
1375 void LoadReputationRewardRate();
1376 void LoadReputationOnKill();
1377 void LoadReputationSpilloverTemplate();
1379 void LoadPointsOfInterest();
1380 void LoadQuestPOI();
1382 void LoadNPCSpellClickSpells();
1384 void LoadGameTele();
1386 void LoadGossipMenu();
1387 void LoadGossipMenuItems();
1388 void LoadGossipMenuAddon();
1391 void LoadTrainers();
1392 void LoadCreatureTrainers();
1395 void UnloadPhaseConditions();
1397 void LoadTerrainSwapDefaults();
1398 void LoadTerrainWorldMaps();
1399 void LoadAreaPhases();
1401 void LoadSceneTemplates();
1403 void LoadPlayerChoices();
1404 void LoadPlayerChoicesLocale();
1406 void LoadJumpChargeParams();
1407 void LoadPhaseNames();
1411 std::string GeneratePetName(
uint32 entry);
1419 void ReturnOrDeleteOldMails(
bool serverUp);
1423 void SetHighestGuids();
1425 template<HighGu
id type>
1429 "Only global guid can be generated in ObjectMgr context");
1430 return GetGuidSequenceGenerator(type);
1433 uint32 GenerateAuctionID();
1434 uint64 GenerateEquipmentSetGuid();
1436 uint32 GeneratePetNumber();
1437 uint64 GenerateVoidStorageItemId();
1446 std::vector<uint32>
const*
GetSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _spawnGroupsByMap.find(mapId);
return it != _spawnGroupsByMap.end() ? &it->second :
nullptr; }
1447 std::vector<InstanceSpawnGroupInfo>
const*
GetInstanceSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _instanceSpawnGroupStore.find(mapId);
return it != _instanceSpawnGroupStore.end() ? &it->second :
nullptr; }
1451 MailLevelRewardContainer::const_iterator map_itr = _mailLevelRewardStore.find(level);
1452 if (map_itr == _mailLevelRewardStore.end())
1455 for (
auto const& mailLevelReward : map_itr->second)
1456 if (mailLevelReward.raceMask.HasRace(race))
1457 return &mailLevelReward;
1480 TempSummonDataContainer::const_iterator itr = _tempSummonDataStore.find(
TempSummonGroupKey(summonerId, summonerType, group));
1481 if (itr != _tempSummonDataStore.end())
1482 return &itr->second;
1490 return GetSpawnData(type, spawnId);
1496 void OnDeleteSpawnData(
SpawnData const* data);
1500 CreatureDataContainer::const_iterator itr = _creatureDataStore.find(spawnId);
1501 if (itr == _creatureDataStore.end())
return nullptr;
1502 return &itr->second;
1508 LinkedRespawnContainer::const_iterator itr = _linkedRespawnStore.find(spawnId);
1514 CreatureLocaleContainer::const_iterator itr = _creatureLocaleStore.find(entry);
1515 if (itr == _creatureLocaleStore.end())
return nullptr;
1516 return &itr->second;
1521 GameObjectDataContainer::const_iterator itr = _gameObjectDataStore.find(spawnId);
1522 if (itr == _gameObjectDataStore.end())
return nullptr;
1523 return &itr->second;
1529 GameObjectLocaleContainer::const_iterator itr = _gameObjectLocaleStore.find(entry);
1530 if (itr == _gameObjectLocaleStore.end())
return nullptr;
1531 return &itr->second;
1535 QuestTemplateLocaleContainer::const_iterator itr = _questTemplateLocaleStore.find(entry);
1536 if (itr == _questTemplateLocaleStore.end())
return nullptr;
1537 return &itr->second;
1541 auto itr = _questOfferRewardLocaleStore.find(entry);
1542 if (itr == _questOfferRewardLocaleStore.end())
return nullptr;
1543 return &itr->second;
1547 auto itr = _questRequestItemsLocaleStore.find(entry);
1548 if (itr == _questRequestItemsLocaleStore.end())
return nullptr;
1549 return &itr->second;
1553 QuestObjectivesLocaleContainer::const_iterator itr = _questObjectivesLocaleStore.find(entry);
1554 if (itr == _questObjectivesLocaleStore.end())
return nullptr;
1555 return &itr->second;
1559 PageTextLocaleContainer::const_iterator itr = _pageTextLocaleStore.find(entry);
1560 if (itr == _pageTextLocaleStore.end())
return nullptr;
1561 return &itr->second;
1565 auto itr = _gossipMenuItemsLocaleStore.find(std::make_pair(menuId, optionId));
1566 if (itr == _gossipMenuItemsLocaleStore.end())
return nullptr;
1567 return &itr->second;
1571 PointOfInterestLocaleContainer::const_iterator itr = _pointOfInterestLocaleStore.find(
id);
1572 if (itr == _pointOfInterestLocaleStore.end())
return nullptr;
1573 return &itr->second;
1577 auto itr = _playerChoiceLocales.find(ChoiceID);
1578 if (itr == _playerChoiceLocales.end())
return nullptr;
1579 return &itr->second;
1583 TrinityStringContainer::const_iterator itr = _trinityStringStore.find(entry);
1584 if (itr == _trinityStringStore.end())
1586 return &itr->second;
1600 void LoadReservedPlayersNames();
1601 bool IsReservedName(std::string_view name)
const;
1606 static bool IsValidCharterName(std::string_view name);
1608 static bool CheckDeclinedNames(
const std::wstring& w_ownname,
DeclinedName const& names);
1612 GameTeleContainer::const_iterator itr = _gameTeleStore.find(
id);
1613 if (itr == _gameTeleStore.end())
return nullptr;
1614 return &itr->second;
1616 GameTele const* GetGameTele(std::string_view name)
const;
1617 GameTele const* GetGameTeleExactName(std::string_view name)
const;
1620 bool DeleteGameTele(std::string_view name);
1625 return GetCreatureTrainerForGossipOption(creatureId, 0, 0);
1631 CacheVendorItemContainer::const_iterator iter = _cacheVendorItemStore.find(entry);
1632 if (iter == _cacheVendorItemStore.end())
1635 return &iter->second;
1638 void AddVendorItem(
uint32 entry,
VendorItem const& vItem,
bool persist =
true);
1639 bool RemoveVendorItem(
uint32 entry,
uint32 item,
uint8 type,
bool persist =
true);
1640 bool IsVendorItemValid(
uint32 vendor_entry,
VendorItem const& vItem,
Player* player =
nullptr, std::set<uint32>* skip_vendors =
nullptr,
uint32 ORnpcflag = 0)
const;
1642 std::unordered_set<std::string> GetAllDBScriptNames()
const;
1643 std::string
const& GetScriptName(
uint32 id)
const;
1644 bool IsScriptDatabaseBound(
uint32 id)
const;
1645 uint32 GetScriptId(std::string
const& name,
bool isDatabaseBound =
true);
1654 return _gossipMenusStore.equal_range(uiMenuId);
1659 return _gossipMenusStore.equal_range(uiMenuId);
1672 GossipMenuAddonContainer::const_iterator itr = _gossipMenuAddonStore.find(menuId);
1673 if (itr != _gossipMenuAddonStore.end())
1674 return &itr->second;
1681 static void AddLocaleString(std::string_view value,
LocaleConstant localeConstant, std::vector<std::string>& data);
1684 if (locale < data.size())
1685 return data[locale];
1691 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1697 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1709 void LoadFactionChangeAchievements();
1710 void LoadFactionChangeItems();
1711 void LoadFactionChangeQuests();
1712 void LoadFactionChangeReputations();
1713 void LoadFactionChangeSpells();
1714 void LoadFactionChangeTitles();
1720 VehicleSeatAddonContainer::const_iterator itr = _vehicleSeatAddonStore.find(seatId);
1721 if (itr == _vehicleSeatAddonStore.end())
1724 return &itr->second;
1727 void LoadRaceAndClassExpansionRequirements();
1729 std::string GetPhaseName(
uint32 phaseId)
const;
1734 auto itr = _raceUnlockRequirementStore.find(race);
1735 if (itr != _raceUnlockRequirementStore.end())
1736 return &itr->second;
1746 auto itr = _sceneTemplateStore.find(sceneId);
1747 if (itr != _sceneTemplateStore.end())
1748 return &itr->second;
1837 std::vector<PhaseAreaInfo>
const* GetPhasesForArea(
uint32 areaId)
const;
1839 std::unordered_map<uint32, std::vector<TerrainSwapInfo*>>
const&
GetTerrainSwaps()
const {
return _terrainSwapInfoByMap; }
1848 void LoadEventSet();
1854 template<CellGu
idSet CellObjectGu
ids::*gu
ids>
1855 void AddSpawnDataToGrid(
SpawnData const* data);
1857 template<CellGu
idSet CellObjectGu
ids::*gu
ids>
1858 void RemoveSpawnDataFromGrid(
SpawnData const* data);
1869 std::unordered_map<std::pair<Races, Classes>, std::unique_ptr<PlayerInfo>>
_playerInfo;
1946#define sObjectMgr ObjectMgr::instance()
std::vector< Condition > ConditionContainer
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::unordered_map< uint32, VendorItemData > CacheVendorItemContainer
std::unordered_map< uint32, std::string > PhaseNameContainer
std::unordered_map< uint8, EquipmentInfo > EquipmentInfoContainerInternal
std::pair< GraveyardContainer::iterator, GraveyardContainer::iterator > GraveyardMapBoundsNonConst
@ SF_CASTSPELL_SOURCE_TO_SOURCE
@ SF_CASTSPELL_SOURCE_TO_TARGET
@ SF_CASTSPELL_TARGET_TO_SOURCE
@ SF_PLAYSOUND_DISTANCE_SOUND
@ SF_TELEPORT_USE_CREATURE
@ SF_KILLCREDIT_REWARD_GROUP
@ SF_PLAYSOUND_TARGET_PLAYER
@ SF_CASTSPELL_TARGET_TO_TARGET
@ SF_CASTSPELL_SEARCH_CREATURE
@ SF_ORIENTATION_FACE_TARGET
std::unordered_map< uint32, CreatureAddon > CreatureTemplateAddonContainer
std::unordered_map< uint32, CreatureModelInfo > CreatureModelContainer
std::vector< PlayerCreateInfoItem > PlayerCreateInfoItems
std::set< ObjectGuid::LowType > CellGuidSet
std::unordered_map< uint32, SceneTemplate > SceneTemplateContainer
std::multimap< uint32, SpawnMetadata const * > SpawnGroupLinkContainer
std::pair< GraveyardContainer::const_iterator, GraveyardContainer::const_iterator > GraveyardMapBounds
std::multimap< uint32, ScriptInfo > ScriptMap
std::unordered_map< uint32, std::string > RealmNameContainer
SkillRangeType GetSkillRangeType(SkillRaceClassInfoEntry const *rcEntry)
std::pair< SpellScriptsContainer::iterator, SpellScriptsContainer::iterator > SpellScriptsBounds
std::unordered_map< uint32, ItemTemplate > ItemTemplateContainer
std::unordered_map< ObjectGuid::LowType, CreatureData > CreatureDataContainer
ScriptMapMap * GetScriptsMapByType(ScriptsType type)
std::unordered_map< uint32, CreatureLocale > CreatureLocaleContainer
@ SCRIPT_COMMAND_CREATE_ITEM
@ SCRIPT_COMMAND_DESPAWN_SELF
@ SCRIPT_COMMAND_CLOSE_DOOR
@ SCRIPT_COMMAND_CAST_SPELL
@ SCRIPT_COMMAND_RESPAWN_GAMEOBJECT
@ SCRIPT_COMMAND_QUEST_EXPLORED
@ SCRIPT_COMMAND_ACTIVATE_OBJECT
@ SCRIPT_COMMAND_OPEN_DOOR
@ SCRIPT_COMMAND_PLAYMOVIE
@ SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT
@ SCRIPT_COMMAND_PLAY_ANIMKIT
@ SCRIPT_COMMAND_TELEPORT_TO
@ SCRIPT_COMMAND_FIELD_SET_DEPRECATED
@ SCRIPT_COMMAND_FLAG_REMOVE_DEPRECATED
@ SCRIPT_COMMAND_TEMP_SUMMON_CREATURE
@ SCRIPT_COMMAND_MOVEMENT
@ SCRIPT_COMMAND_KILL_CREDIT
@ SCRIPT_COMMAND_LOAD_PATH
@ SCRIPT_COMMAND_ORIENTATION
@ SCRIPT_COMMAND_PLAY_SOUND
@ SCRIPT_COMMAND_CLOSE_GOSSIP
@ SCRIPT_COMMAND_REMOVE_AURA
@ SCRIPT_COMMAND_FLAG_SET_DEPRECATED
std::unordered_map< std::pair< uint32, Difficulty >, CellObjectGuidsMap > MapObjectGuids
std::unordered_map< uint32, GameObjectTemplateAddon > GameObjectTemplateAddonContainer
std::string GetScriptCommandName(ScriptCommands command)
std::list< MailLevelReward > MailLevelRewardList
std::unordered_map< uint32, QuestPOIData > QuestPOIContainer
std::map< std::tuple< uint32, Difficulty, uint32 >, CellObjectGuidsMap > MapPersonalObjectGuids
std::multimap< uint32, GraveyardData > GraveyardContainer
std::multimap< uint32, GossipMenus > GossipMenusContainer
std::unordered_map< uint32, GameObjectTemplate > GameObjectTemplateContainer
std::unordered_map< uint32, std::vector< uint32 > > GameObjectQuestItemMap
std::unordered_map< uint32, GameTele > GameTeleContainer
std::unordered_map< ObjectGuid::LowType, GameObjectData > GameObjectDataContainer
std::vector< uint32 > PlayerCreateInfoSpells
std::unordered_map< uint32, PageTextLocale > PageTextLocaleContainer
std::map< ObjectGuid, ObjectGuid > LinkedRespawnContainer
std::unordered_map< uint32, CellObjectGuids > CellObjectGuidsMap
TC_GAME_API ScriptMapMap sEventScripts
std::multimap< int32, uint32 > ExclusiveQuestGroups
std::unordered_map< uint32, GameObjectLocale > GameObjectLocaleContainer
std::unordered_map< uint32, EquipmentInfoContainerInternal > EquipmentInfoContainer
std::multimap< uint32, SpellClickInfo > SpellClickInfoContainer
std::pair< GossipMenusContainer::const_iterator, GossipMenusContainer::const_iterator > GossipMenusMapBounds
std::unordered_map< uint32, TrinityString > TrinityStringContainer
std::unordered_map< ObjectGuid::LowType, CreatureAddon > CreatureAddonContainer
std::unordered_map< uint32, GossipMenuAddon > GossipMenuAddonContainer
std::multimap< uint32, std::pair< uint32, bool > > SpellScriptsContainer
std::vector< SkillRaceClassInfoEntry const * > PlayerCreateInfoSkills
std::unordered_map< uint32, PointOfInterestLocale > PointOfInterestLocaleContainer
std::unordered_map< ObjectGuid::LowType, GameObjectAddon > GameObjectAddonContainer
std::unordered_map< uint32, QuestObjectivesLocale > QuestObjectivesLocaleContainer
TC_GAME_API ScriptMapMap sSpellScripts
std::unordered_map< uint32, CreatureTemplate > CreatureTemplateContainer
std::map< uint32, PageText > PageTextContainer
std::unordered_map< uint32, QuestOfferRewardLocale > QuestOfferRewardLocaleContainer
std::multimap< uint32, GossipMenuItems > GossipMenuItemsContainer
std::unordered_map< std::pair< uint32, Difficulty >, std::vector< uint32 > > CreatureQuestItemMap
std::unordered_map< uint32, QuestTemplateLocale > QuestTemplateLocaleContainer
std::map< uint32, ScriptMap > ScriptMapMap
std::unordered_map< uint16, std::vector< InstanceSpawnGroupInfo > > InstanceSpawnGroupContainer
@ SUMMONER_TYPE_GAMEOBJECT
std::string GetScriptsTableNameByType(ScriptsType type)
ExtendedPlayerName ExtractExtendedPlayerName(std::string const &name)
std::unordered_map< uint32, SpawnGroupTemplateData > SpawnGroupDataContainer
std::unordered_map< uint32, VehicleSeatAddon > VehicleSeatAddonContainer
std::pair< ExclusiveQuestGroups::const_iterator, ExclusiveQuestGroups::const_iterator > ExclusiveQuestGroupsBounds
std::map< TempSummonGroupKey, std::vector< TempSummonData > > TempSummonDataContainer
std::unordered_map< ObjectGuid::LowType, GameObjectOverride > GameObjectOverrideContainer
std::unordered_map< uint32, QuestRequestItemsLocale > QuestRequestItemsLocaleContainer
std::unordered_map< uint16, CreatureBaseStats > CreatureBaseStatsContainer
std::array< std::unordered_map< uint32, QuestGreeting >, 2 > QuestGreetingContainer
std::multimap< uint32, uint32 > QuestRelationsReverse
TC_GAME_API bool normalizePlayerName(std::string &name)
std::multimap< uint32, uint32 > QuestRelations
std::unordered_map< uint16, InstanceTemplate > InstanceTemplateContainer
std::unordered_map< std::pair< uint32, uint32 >, GossipMenuItemsLocale > GossipMenuItemsLocaleContainer
std::unordered_map< uint8, MailLevelRewardList > MailLevelRewardContainer
std::unordered_map< uint32, std::vector< int32 > > CreatureQuestCurrenciesMap
std::pair< GossipMenusContainer::iterator, GossipMenusContainer::iterator > GossipMenusMapBoundsNonConst
std::vector< PlayerCreateInfoAction > PlayerCreateInfoActions
std::array< std::unordered_map< uint32, QuestGreetingLocale >, 2 > QuestGreetingLocaleContainer
std::unordered_map< uint32, std::vector< float > > CreatureTemplateSparringContainer
std::optional< T > Optional
Optional helper class to wrap optional values within.
#define MAX_SPILLOVER_FACTIONS
std::map< ObjectGuid::LowType, VehicleAccessoryList > VehicleAccessoryContainer
std::vector< VehicleAccessory > VehicleAccessoryList
std::map< uint32, VehicleAccessoryList > VehicleAccessoryTemplateContainer
Class used to access individual fields of database query result.
static ObjectGuid const Empty
std::vector< NameMap::const_iterator > IndexToName
std::map< std::string, Entry > NameMap
GameObjectLocale const * GetGameObjectLocale(uint32 entry) const
std::set< uint32 > EventContainer
SpawnGroupTemplateData const * GetSpawnGroupData(SpawnObjectType type, ObjectGuid::LowType spawnId) const
QuestOfferRewardLocaleContainer _questOfferRewardLocaleStore
std::unordered_map< uint32, RepRewardRate > RepRewardRateContainer
CharacterConversionMap FactionChangeAchievements
std::unordered_map< uint32, PhaseInfoStruct > _phaseInfoById
TempSummonDataContainer _tempSummonDataStore
Stores temp summon data grouped by summoner's entry, summoner's type and group id.
QuestRelations _creatureQuestInvolvedRelations
std::vector< uint32 > const * GetSpawnGroupsForMap(uint32 mapId) const
VehicleAccessoryContainer _vehicleAccessoryStore
GameObjectTemplateAddonContainer _gameObjectTemplateAddonStore
TrinityString const * GetTrinityString(uint32 entry) const
std::unordered_map< uint32, std::vector< PhaseAreaInfo > > _phaseInfoByArea
VehicleSeatAddon const * GetVehicleSeatAddon(uint32 seatId) const
QuestObjectivesByIdContainer _questObjectives
MapPersonalObjectGuids _mapPersonalObjectGuidsStore
PointOfInterest const * GetPointOfInterest(uint32 id) const
QuestRelations * GetGOQuestRelationMapHACK()
std::unordered_map< uint32, QuestObjective const * > QuestObjectivesByIdContainer
SceneTemplateContainer _sceneTemplateStore
GameTeleContainer _gameTeleStore
std::unordered_map< std::pair< Races, Classes >, std::unique_ptr< PlayerInfo > > _playerInfo
CreatureQuestCurrenciesMap _creatureQuestCurrenciesStore
HalfNameContainer _petHalfName1
std::unordered_map< uint32, TerrainSwapInfo > _terrainSwapInfoById
std::set< std::wstring > ReservedNamesContainer
CreatureTemplateSparringContainer _creatureTemplateSparringStore
std::map< std::tuple< uint32, uint32, uint32 >, uint32 > _creatureDefaultTrainers
ReputationOnKillEntry const * GetReputationOnKilEntry(uint32 id) const
InstanceTemplateContainer const & GetInstanceTemplates() const
QuestContainer const & GetQuestTemplates() const
SpellScriptsContainer _spellScriptsStore
SpawnGroupDataContainer _spawnGroupDataStore
CreatureDataContainer _creatureDataStore
uint32 GetCreatureDefaultTrainer(uint32 creatureId) const
std::unordered_set< uint32 > const * GetQuestsForAreaTrigger(uint32 Trigger_ID) const
std::unordered_map< uint32, AreaTriggerStruct > AreaTriggerContainer
QuestRelations _goQuestRelations
CreatureBaseStatsContainer _creatureBaseStatsStore
CreatureLocale const * GetCreatureLocale(uint32 entry) const
ScriptNameContainer _scriptNamesStore
std::map< uint32, int32 > FishingBaseSkillContainer
TavernAreaTriggerContainer _tavernAreaTriggerStore
std::unordered_map< uint32, std::vector< TerrainSwapInfo * > > const & GetTerrainSwaps() const
QuestRelationResult GetCreatureQuestInvolvedRelations(uint32 entry) const
PageTextLocaleContainer _pageTextLocaleStore
EquipmentInfoContainer _equipmentInfoStore
std::set< uint32 > GameObjectForQuestContainer
ObjectGuid::LowType _gameObjectSpawnId
std::unordered_map< uint64, AccessRequirement > AccessRequirementContainer
AccessRequirementContainer _accessRequirementStore
QuestGreetingLocaleContainer _questGreetingLocaleStore
std::unordered_map< uint32, SkillTiersEntry > _skillTiers
CreatureTemplateContainer _creatureTemplateStore
CreatureDataContainer const & GetAllCreatureData() const
CharacterConversionMap FactionChangeReputation
QuestRequestItemsLocaleContainer _questRequestItemsLocaleStore
std::unordered_map< uint32, Trainer::Trainer > _trainers
std::unordered_map< int32, PlayerChoiceLocale > _playerChoiceLocales
ObjectMgr(ObjectMgr &&)=delete
std::unordered_map< int32, PlayerChoice > _playerChoices
ObjectGuid GetLinkedRespawnGuid(ObjectGuid spawnId) const
QuestRelationResult GetQuestRelationsFrom(QuestRelations const &map, uint32 key, bool onlyActive) const
QuestGreetingContainer _questGreetingStore
SpawnGroupTemplateData const * GetLegacySpawnGroup() const
PlayerChoiceLocale const * GetPlayerChoiceLocale(int32 ChoiceID) const
std::set< uint32 > _transportMaps
std::unordered_map< ObjectGuid::LowType, CreatureMovementData > _creatureMovementOverrides
GraveyardContainer GraveyardStore
std::unordered_map< uint32, RepSpilloverTemplate > RepSpilloverTemplateContainer
GameObjectDataContainer const & GetAllGameObjectData() const
GameObjectTemplateContainer _gameObjectTemplateStore
std::vector< TempSummonData > const * GetSummonGroup(uint32 summonerId, SummonerType summonerType, uint8 group) const
InstanceSpawnGroupContainer _instanceSpawnGroupStore
EventScriptContainer _eventScriptStore
std::unordered_map< uint32, PointOfInterest > PointOfInterestContainer
ObjectGuidGenerator & GetGenerator()
std::unordered_map< uint8, RaceUnlockRequirement > _raceUnlockRequirementStore
std::unordered_map< uint32, std::unordered_set< uint32 > > QuestAreaTriggerContainer
bool IsGameObjectForQuests(uint32 entry) const
Trinity::IteratorPair< GossipMenuItemsContainer::const_iterator > GetGossipMenuItemsMapBounds(uint32 uiMenuId) const
GameObjectData const * GetGameObjectData(ObjectGuid::LowType spawnId) const
bool IsValidEvent(uint32 eventId) const
QuestRelationsReverse _creatureQuestInvolvedRelationsReverse
ItemTemplateContainer _itemTemplateStore
QuestObjectivesLocale const * GetQuestObjectivesLocale(uint32 entry) const
GameObjectDataContainer _gameObjectDataStore
GossipMenusContainer _gossipMenusStore
GossipMenuItemsLocale const * GetGossipMenuItemsLocale(uint32 menuId, uint32 optionId) const
static std::string_view GetLocaleString(std::vector< std::string > const &data, LocaleConstant locale)
QuestTemplateLocale const * GetQuestLocale(uint32 entry) const
CreatureLocaleContainer _creatureLocaleStore
std::map< uint32, uint32 > CharacterConversionMap
Trinity::IteratorPair< GossipMenuItemsContainer::iterator > GetGossipMenuItemsMapBoundsNonConst(uint32 uiMenuId)
LocaleConstant GetDBCLocaleIndex() const
std::atomic< uint32 > _hiPetNumber
std::unordered_map< int32, JumpChargeParams > _jumpChargeParams
std::unordered_map< uint32, std::vector< uint32 > > _spawnGroupsByMap
std::atomic< uint64 > _mailId
PointOfInterestLocaleContainer _pointOfInterestLocaleStore
InstanceTemplateContainer _instanceTemplateStore
QuestRelations _goQuestInvolvedRelations
QuestAreaTriggerContainer _questAreaTriggerStore
FishingBaseSkillContainer _fishingBaseForAreaStore
bool IsTransportMap(uint32 mapId) const
PhaseNameContainer _phaseNameStore
Trinity::IteratorPair< SpawnGroupLinkContainer::const_iterator > GetSpawnMetadataForGroup(uint32 groupId) const
QuestOfferRewardLocale const * GetQuestOfferRewardLocale(uint32 entry) const
RaceUnlockRequirement const * GetRaceUnlockRequirement(uint8 race) const
RepRewardRate const * GetRepRewardRate(uint32 factionId) const
ObjectGuid::LowType _creatureSpawnId
AreaTriggerContainer _areaTriggerStore
Trinity::IteratorPair< QuestRelationsReverse::const_iterator > GetCreatureQuestInvolvedRelationReverseBounds(uint32 questId) const
CreatureTemplateContainer const & GetCreatureTemplates() const
GameObjectQuestItemMap const * GetGameObjectQuestItemMap() const
MapObjectGuids _mapObjectGuidsStore
CreatureAddonContainer _creatureAddonStore
PageTextLocale const * GetPageTextLocale(uint32 entry) const
char const * GetTrinityStringForDBCLocale(uint32 entry) const
QuestRequestItemsLocale const * GetQuestRequestItemsLocale(uint32 entry) const
PetLevelInfoContainer _petInfoStore
GameObjectForQuestContainer _gameObjectForQuestStore
MailLevelRewardContainer _mailLevelRewardStore
VehicleAccessoryTemplateContainer _vehicleTemplateAccessoryStore
LocaleConstant DBCLocaleIndex
GameObjectTemplateContainer const & GetGameObjectTemplates() const
std::map< uint32, uint32 > BaseXPContainer
ExclusiveQuestGroupsBounds GetExclusiveQuestGroupBounds(int32 exclusiveGroupId) const
VendorItemData const * GetNpcVendorItemList(uint32 entry) const
HalfNameContainer _petHalfName0
static void GetLocaleString(std::vector< std::string > const &data, LocaleConstant localeConstant, std::string_view &value)
GossipMenuAddonContainer _gossipMenuAddonStore
NpcTextContainer _npcTextStore
QuestContainer _questTemplates
std::map< HighGuid, std::unique_ptr< ObjectGuidGenerator > > _guidGenerators
std::vector< Quest const * > _questTemplatesAutoPush
CharacterConversionMap FactionChangeSpells
CreatureTemplateAddonContainer _creatureTemplateAddonStore
std::unordered_map< uint32, VehicleTemplate > _vehicleTemplateStore
PointOfInterestLocale const * GetPointOfInterestLocale(uint32 id) const
GossipMenuItemsLocaleContainer _gossipMenuItemsLocaleStore
BaseXPContainer _baseXPTable
GossipMenusMapBoundsNonConst GetGossipMenusMapBoundsNonConst(uint32 uiMenuId)
CharacterConversionMap FactionChangeItemsAllianceToHorde
std::unordered_map< uint32, std::unique_ptr< PetLevelInfo[] > > PetLevelInfoContainer
static void GetLocaleString(std::vector< std::string > const &data, LocaleConstant localeConstant, std::string &value)
AreaTriggerScriptContainer _areaTriggerScriptStore
MailLevelReward const * GetMailLevelReward(uint8 level, uint8 race) const
QuestRelations _creatureQuestRelations
RealmNameContainer _realmNameStore
void GetTaxiPath(uint32 source, uint32 destination, std::vector< uint32 > &path, uint32 &cost)
SceneTemplate const * GetSceneTemplate(uint32 sceneId) const
std::vector< uint32 > const * GetGameObjectQuestItemList(uint32 id) const
std::vector< InstanceSpawnGroupInfo > const * GetInstanceSpawnGroupsForMap(uint32 mapId) const
CharacterConversionMap FactionChangeItemsHordeToAlliance
std::unordered_map< uint32, NpcText > NpcTextContainer
ObjectMgr(ObjectMgr const &)=delete
RepOnKillContainer _repOnKillStore
QuestObjective const * GetQuestObjective(uint32 questObjectiveId) const
SpawnGroupLinkContainer _spawnGroupMapStore
std::unordered_map< uint32, std::vector< TerrainSwapInfo * > > _terrainSwapInfoByMap
RepSpilloverTemplateContainer _repSpilloverTemplateStore
SpawnMetadata const * GetSpawnMetadata(SpawnObjectType type, ObjectGuid::LowType spawnId) const
QuestRelationResult GetGOQuestRelations(uint32 entry) const
SpawnGroupTemplateData const * GetDefaultSpawnGroup() const
GameObjectData & NewOrExistGameObjectData(ObjectGuid::LowType spawnId)
CreatureModelContainer _creatureModelStore
LinkedRespawnContainer _linkedRespawnStore
std::vector< uint32 > PlayerXPperLevel
Trinity::IteratorPair< QuestRelationsReverse::const_iterator > GetGOQuestInvolvedRelationReverseBounds(uint32 questId) const
std::map< uint32, std::vector< std::string > > HalfNameContainer
std::unordered_map< uint32, uint32 > EventScriptContainer
GossipMenusMapBounds GetGossipMenusMapBounds(uint32 uiMenuId) const
GameObjectLocaleContainer _gameObjectLocaleStore
GameObjectAddonContainer _gameObjectAddonStore
QuestObjectivesLocaleContainer _questObjectivesLocaleStore
GameTele const * GetGameTele(uint32 id) const
PlayerXPperLevel _playerXPperLevel
CacheVendorItemContainer _cacheVendorItemStore
std::vector< RaceClassAvailability > _classExpansionRequirementStore
QuestRelationsReverse _goQuestInvolvedRelationsReverse
QuestRelationResult GetCreatureQuestRelations(uint32 entry) const
std::vector< RaceClassAvailability > const & GetClassExpansionRequirements() const
CreatureData const * GetCreatureData(ObjectGuid::LowType spawnId) const
std::set< uint32 > TavernAreaTriggerContainer
PointOfInterestContainer _pointsOfInterestStore
RepRewardRateContainer _repRewardRateStore
EventContainer _eventStore
CharacterConversionMap FactionChangeTitles
std::unordered_map< uint32, ReputationOnKillEntry > RepOnKillContainer
std::unordered_map< uint8, RaceUnlockRequirement > const & GetRaceUnlockRequirements() const
VehicleSeatAddonContainer _vehicleSeatAddonStore
QuestTemplateLocaleContainer _questTemplateLocaleStore
CreatureData & NewOrExistCreatureData(ObjectGuid::LowType spawnId)
PageTextContainer _pageTextStore
bool IsTavernAreaTrigger(uint32 Trigger_ID) const
std::unordered_map< uint32, uint32 > AreaTriggerScriptContainer
SpawnGroupTemplateData const * GetSpawnGroupData(uint32 groupId) const
ItemTemplateContainer const & GetItemTemplateStore() const
QuestRelationResult GetGOQuestInvolvedRelations(uint32 entry) const
GameObjectQuestItemMap _gameObjectQuestItemStore
ExclusiveQuestGroups _exclusiveQuestGroups
GossipMenuAddon const * GetGossipMenuAddon(uint32 menuId) const
GameTeleContainer const & GetGameTeleMap() const
CharacterConversionMap FactionChangeQuests
Trinity::IteratorPair< SpellClickInfoContainer::const_iterator > GetSpellClickInfoMapBounds(uint32 creature_id) const
CreatureQuestItemMap _creatureQuestItemStore
TrinityStringContainer _trinityStringStore
QuestPOIContainer _questPOIStore
RepSpilloverTemplate const * GetRepSpilloverTemplate(uint32 factionId) const
SpellClickInfoContainer _spellClickInfoStore
ReservedNamesContainer _reservedNamesStore
std::vector< Quest const * > const & GetQuestTemplatesAutoPush() const
QuestRelations * GetCreatureQuestRelationMapHACK()
GossipMenuItemsContainer _gossipMenuItemsStore
std::unordered_map< uint32, WorldSafeLocsEntry > _worldSafeLocs
GameObjectOverrideContainer _gameObjectOverrideStore
std::unordered_map< uint32, CreatureSummonedData > _creatureSummonedDataStore
void SetDBCLocaleIndex(LocaleConstant locale)
std::unordered_map< uint32, Trinity::unique_trackable_ptr< Quest > > QuestContainer
Utility class to enable range for loop syntax for multimap.equal_range uses.
TC_GAME_API AreaTrigger * GetAreaTrigger(WorldObject const &u, ObjectGuid const &guid)
auto MapEqualRange(M &map, typename M::key_type const &key)
TC_GAME_API char const * GetTrinityString(ChatHandler const *handler, TrinityStrings which)
constexpr std::size_t size()
std::string questFailedText
uint8 MinActiveExpansionLevel
uint8 AccountExpansionLevel
uint8 ActiveExpansionLevel
ExtendedPlayerName(std::string const &name, std::string const &realmName)
ConditionsReference Conditions
MailLevelReward(Trinity::RaceMask< uint64 > _raceMask, uint32 _mailTemplateId, uint32 _senderEntry)
Trinity::RaceMask< uint64 > raceMask
Entry(uint32 id, bool isScriptDatabaseBound)
PhaseAreaInfo(PhaseInfoStruct const *phaseInfo)
std::unordered_set< uint32 > SubAreaExclusions
ConditionContainer Conditions
PhaseInfoStruct const * PhaseInfo
std::unordered_set< uint32 > Areas
bool IsAllowedInArea(uint32 areaId) const
std::unordered_map< int32, PlayerChoiceResponseLocale > Responses
std::vector< std::string > Question
std::vector< std::string > Confirmation
std::vector< std::string > SubHeader
std::vector< std::string > Header
std::vector< std::string > Description
std::vector< std::string > Answer
std::vector< std::string > ButtonTooltip
Optional< uint32 > RarityColor
PlayerChoiceResponseRewardEntry(uint32 id, int32 quantity)
PlayerChoiceResponseRewardEntry()
std::vector< int32 > BonusListIDs
PlayerChoiceResponseRewardItem()
PlayerChoiceResponseRewardItem(uint32 id, std::vector< int32 > bonusListIDs, int32 quantity)
std::vector< PlayerChoiceResponseRewardItem > Items
std::vector< PlayerChoiceResponseRewardEntry > Faction
std::vector< PlayerChoiceResponseRewardItem > ItemChoices
std::vector< PlayerChoiceResponseRewardEntry > Currency
uint16 ResponseIdentifier
std::string ButtonTooltip
uint32 UiTextureAtlasElementID
Optional< uint32 > RewardQuestID
Optional< PlayerChoiceResponseReward > Reward
Optional< PlayerChoiceResponseMawPower > MawPower
PlayerChoiceResponse const * GetResponseByIdentifier(int32 responseIdentifier) const
std::vector< PlayerChoiceResponse > Responses
std::string PendingChoiceText
PlayerChoiceResponse const * GetResponse(int32 responseId) const
PlayerCreateInfoAction(uint8 _button, uint32 _action, uint8 _type)
PlayerCreateInfoItem(uint32 id, uint32 amount)
Optional< ObjectGuid::LowType > TransportGuid
Optional< uint32 > introMovieId
PlayerCreateInfoActions action
PlayerCreateInfoSpells castSpells[size_t(PlayerCreateMode::Max)]
std::unique_ptr< PlayerLevelInfo[]> levelInfo
PlayerCreateInfoSkills skills
Optional< uint32 > introSceneIdNPE
Optional< CreatePosition > createPositionNPE
Optional< uint32 > introSceneId
PlayerCreateInfoSpells customSpells
CreatePosition createPosition
PlayerCreateInfoItems item
std::vector< std::string > Name
int32 NavigationPlayerConditionID
QuestPOIBlobData(int32 blobIndex, int32 objectiveIndex, int32 questObjectiveID, int32 questObjectID, int32 mapID, int32 uiMapID, int32 priority, int32 flags, int32 worldEffectID, int32 playerConditionID, int32 navigationPlayerConditionID, int32 spawnTrackingID, std::vector< QuestPOIBlobPoint > points, bool alwaysAllowMergingBlobs)
std::vector< QuestPOIBlobPoint > Points
bool AlwaysAllowMergingBlobs
QuestPOIBlobPoint(int32 x, int32 y, int32 z)
ByteBuffer QueryDataBuffer
void InitializeQueryData()
std::vector< QuestPOIBlobData > Blobs
QuestRelations::const_iterator _it
value_type const & reference
value_type const * pointer
bool operator==(Iterator const &other) const
Iterator(QuestRelations::const_iterator it, QuestRelations::const_iterator end, bool onlyActive)
value_type operator*() const
QuestRelations::const_iterator _end
std::forward_iterator_tag iterator_category
QuestRelations::mapped_type value_type
bool HasQuest(uint32 questId) const
QuestRelationResult(std::pair< QuestRelations::const_iterator, QuestRelations::const_iterator > range, bool onlyActive)
QuestRelations::const_iterator _end
QuestRelations::const_iterator _begin
std::vector< ClassAvailability > Classes
float questRepeatableRate
uint32 faction_rank[MAX_SPILLOVER_FACTIONS]
uint32 faction[MAX_SPILLOVER_FACTIONS]
float faction_rate[MAX_SPILLOVER_FACTIONS]
EnumFlag< SceneFlag > PlaybackFlags
struct ScriptInfo::@284::@291 FlagToggle
struct ScriptInfo::@284::@289 FieldSet
struct ScriptInfo::@284::@303 LoadPath
struct ScriptInfo::@284::@296 TempSummonCreature
struct ScriptInfo::@284::@290 MoveTo
struct ScriptInfo::@284::@311 PlayAnimKit
struct ScriptInfo::@284::@295 RespawnGameobject
struct ScriptInfo::@284::@300 PlaySound
struct ScriptInfo::@284::@310 Movement
struct ScriptInfo::@284::@292 TeleportTo
struct ScriptInfo::@284::@305 Kill
struct ScriptInfo::@284::@307 Equip
struct ScriptInfo::@284::@308 Model
struct ScriptInfo::@284::@297 ToggleDoor
struct ScriptInfo::@284::@286 Raw
struct ScriptInfo::@284::@301 CreateItem
struct ScriptInfo::@284::@288 Emote
struct ScriptInfo::@284::@294 KillCredit
struct ScriptInfo::@284::@299 CastSpell
std::string GetDebugInfo() const
struct ScriptInfo::@284::@304 CallScript
struct ScriptInfo::@284::@287 Talk
struct ScriptInfo::@284::@293 QuestExplored
struct ScriptInfo::@284::@298 RemoveAura
struct ScriptInfo::@284::@309 PlayMovie
struct ScriptInfo::@284::@302 DespawnSelf
uint32 GetValueForTierIndex(uint32 tierIndex) const
uint32 Value[MAX_SKILL_STEP]
SpellClickUserTypes userType
Stores data for temp summons.
Milliseconds time
Despawn time, usable only with certain temp summon types.
TempSummonType type
Summon type, see TempSummonType for available types.
uint32 entry
Entry of summoned creature.
Position pos
Position, where should be creature spawned.
Key for storing temp summon data in TempSummonDataContainer.
uint32 _summonerEntry
Summoner's entry.
uint8 _summonGroup
Summon's group id.
std::strong_ordering operator<=>(TempSummonGroupKey const &right) const =default
SummonerType _summonerType
Summoner's type, see SummonerType for available types.
TempSummonGroupKey(uint32 summonerEntry, SummonerType summonerType, uint8 group)
std::vector< uint32 > UiMapPhaseIDs
std::vector< std::string > Content