46#include <unordered_map>
415typedef std::pair<SpellScriptsContainer::iterator, SpellScriptsContainer::iterator>
SpellScriptsBounds;
426 FLAG_ACTIVATE_SPAWN = 0x01,
427 FLAG_BLOCK_SPAWN = 0x02,
428 FLAG_ALLIANCE_ONLY = 0x04,
429 FLAG_HORDE_ONLY = 0x08,
431 FLAG_ALL = (FLAG_ACTIVATE_SPAWN | FLAG_BLOCK_SPAWN | FLAG_ALLIANCE_ONLY | FLAG_HORDE_ONLY)
446 bool IsFitToRequirements(
Unit const* clicker,
Unit const* clickee)
const;
573 Iterator(QuestRelations::const_iterator it, QuestRelations::const_iterator
end,
bool onlyActive)
595 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;
846typedef std::pair<GraveyardContainer::const_iterator, GraveyardContainer::const_iterator>
GraveyardMapBounds;
875#define MAX_SKILL_STEP 16
887#define MAX_PLAYER_NAME 12
888#define MAX_INTERNAL_PLAYER_NAME 15
889#define MAX_PET_NAME 12
890#define MAX_CHARTER_NAME 24
893#define SPAWNGROUP_MAP_UNSET 0xFFFFFFFF
964 friend class UnitTestDataLoader;
979 typedef std::unordered_map<uint32, Trinity::unique_trackable_ptr<Quest>>
QuestContainer;
1003 Entry(
uint32 id,
bool isScriptDatabaseBound) : Id(id), IsScriptDatabaseBound(isScriptDatabaseBound) { }
1006 bool IsScriptDatabaseBound =
false;
1010 using NameMap = std::map<std::string, Entry, std::less<>>;
1018 void reserve(
size_t capacity);
1019 uint32 insert(std::string_view scriptName,
bool isScriptNameBound =
true);
1020 size_t size()
const;
1021 NameMap::const_iterator find(
size_t index)
const;
1022 NameMap::const_iterator find(std::string_view name)
const;
1023 NameMap::const_iterator end()
const;
1025 std::unordered_set<std::string> GetAllDBScriptNames()
const;
1033 uint32 LoadReferenceVendor(
int32 vendor,
int32 item_id, std::set<uint32>* skip_vendors);
1035 void LoadDestructibleHitpoints();
1036 void LoadGameObjectTemplate();
1037 void LoadGameObjectTemplateAddons();
1038 void LoadGameObjectOverrides();
1053 std::vector<float>
const* GetCreatureTemplateSparringValues(
uint32 entry)
const;
1063 void GetPlayerClassLevelInfo(
uint32 class_,
uint8 level,
uint32& baseMana)
const;
1071 GameObjectQuestItemMap::const_iterator itr = _gameObjectQuestItemStore.find(
id);
1072 if (itr != _gameObjectQuestItemStore.end())
1073 return &itr->second;
1078 std::vector<uint32>
const* GetCreatureQuestItemList(
uint32 creatureEntry,
Difficulty difficulty)
const;
1079 std::vector<int32>
const* GetCreatureQuestCurrencyList(
uint32 creatureId)
const;
1086 Quest const* GetQuestTemplate(
uint32 quest_id)
const;
1093 auto itr = _questObjectives.find(questObjectiveId);
1094 return itr != _questObjectives.end() ? itr->second :
nullptr;
1099 auto itr = _questAreaTriggerStore.find(Trigger_ID);
1100 if (itr != _questAreaTriggerStore.end())
1101 return &itr->second;
1109 return _tavernAreaTriggerStore.find(Trigger_ID) != _tavernAreaTriggerStore.end();
1114 return _gameObjectForQuestStore.find(entry) != _gameObjectForQuestStore.end();
1119 return _eventStore.find(eventId) != _eventStore.end();
1130 void LoadGraveyardZones();
1132 void LoadWorldSafeLocs();
1141 uint32 GetAreaTriggerScriptId(
uint32 trigger_id)
const;
1147 RepRewardRateContainer::const_iterator itr = _repRewardRateStore.find(factionId);
1148 if (itr != _repRewardRateStore.end())
1149 return &itr->second;
1156 RepOnKillContainer::const_iterator itr = _repOnKillStore.find(
id);
1157 if (itr != _repOnKillStore.end())
1158 return &itr->second;
1164 RepSpilloverTemplateContainer::const_iterator itr = _repSpilloverTemplateStore.find(factionId);
1165 if (itr != _repSpilloverTemplateStore.end())
1166 return &itr->second;
1173 PointOfInterestContainer::const_iterator itr = _pointsOfInterestStore.find(
id);
1174 if (itr != _pointsOfInterestStore.end())
1175 return &itr->second;
1181 std::vector<uint32>
const* GetUiMapQuestLinesList(
uint32 uiMapId)
const;
1182 std::vector<uint32>
const* GetUiMapQuestsList(
uint32 uiMapId)
const;
1188 void LoadQuestStartersAndEnders();
1189 void LoadGameobjectQuestStarters();
1190 void LoadGameobjectQuestEnders();
1191 void LoadCreatureQuestStarters();
1192 void LoadCreatureQuestEnders();
1205 return _exclusiveQuestGroups.equal_range(exclusiveGroupId);
1208 std::vector<Difficulty> ParseSpawnDifficulties(std::string_view difficultyString, std::string_view table,
ObjectGuid::LowType spawnId,
uint32 mapId, std::set<Difficulty>
const& mapDifficulties);
1210 bool LoadTrinityStrings();
1212 void LoadEventScripts();
1214 void LoadSpellScriptNames();
1215 void ValidateSpellScripts();
1217 void LoadCreatureClassLevelStats();
1218 void LoadCreatureLocales();
1219 void LoadCreatureTemplates();
1220 void LoadCreatureTemplateAddons();
1221 void LoadCreatureTemplateSparring();
1222 void LoadCreatureTemplate(
Field* fields);
1223 void LoadCreatureTemplateDifficulty();
1224 void LoadCreatureTemplateGossip();
1225 void LoadCreatureTemplateResistances();
1226 void LoadCreatureTemplateSpells();
1227 void LoadCreatureTemplateModels();
1228 void LoadCreatureSummonedData();
1231 void LoadGameObjectQuestItems();
1232 void LoadCreatureQuestItems();
1233 void LoadCreatureQuestCurrencies();
1234 void LoadCreatureStaticFlagsOverride();
1235 void LoadTempSummons();
1236 void LoadCreatures();
1237 void LoadLinkedRespawn();
1239 void LoadCreatureAddons();
1240 void LoadGameObjectAddons();
1241 void LoadCreatureModelInfo();
1242 void LoadEquipmentTemplates();
1243 void LoadCreatureMovementOverrides();
1244 void LoadGameObjectLocales();
1245 void LoadGameObjects();
1246 void LoadSpawnGroupTemplates();
1247 void LoadSpawnGroups();
1248 void LoadInstanceSpawnGroups();
1249 void LoadItemTemplates();
1250 void LoadItemTemplateAddon();
1251 void LoadItemScriptNames();
1252 void LoadQuestTemplateLocale();
1253 void LoadQuestObjectivesLocale();
1254 void LoadQuestGreetingLocales();
1255 void LoadQuestOfferRewardLocale();
1256 void LoadQuestRequestItemsLocale();
1257 void LoadPageTextLocales();
1258 void LoadGossipMenuItemsLocales();
1259 void LoadPointOfInterestLocales();
1260 void LoadInstanceTemplate();
1261 void LoadMailLevelRewards();
1262 void LoadVehicleTemplateAccessories();
1263 void LoadVehicleTemplate();
1264 void LoadVehicleAccessories();
1265 void LoadVehicleSeatAddon();
1269 void LoadAreaTriggerTeleports();
1270 void LoadAreaTriggerPolygons();
1271 void LoadAccessRequirements();
1272 void LoadQuestAreaTriggers();
1273 void LoadQuestGreetings();
1274 void LoadAreaTriggerScripts();
1275 void LoadTavernAreaTriggers();
1276 void LoadGameObjectForQuests();
1278 void LoadPageTexts();
1281 void LoadPlayerInfo();
1282 void LoadPetLevelInfo();
1283 void LoadExplorationBaseXP();
1284 void LoadPetNames();
1285 void LoadPetNumber();
1286 void LoadFishingBaseSkillLevel();
1287 void LoadSkillTiers();
1289 void LoadReputationRewardRate();
1290 void LoadReputationOnKill();
1291 void LoadReputationSpilloverTemplate();
1293 void LoadPointsOfInterest();
1294 void LoadQuestPOI();
1296 void LoadNPCSpellClickSpells();
1298 void LoadGameTele();
1300 void LoadGossipMenu();
1301 void LoadGossipMenuItems();
1302 void LoadGossipMenuAddon();
1305 void LoadTrainers();
1306 void LoadCreatureTrainers();
1309 void UnloadPhaseConditions();
1311 void LoadTerrainSwapDefaults();
1312 void LoadTerrainWorldMaps();
1313 void LoadAreaPhases();
1315 void LoadSceneTemplates();
1317 void LoadPlayerChoices();
1318 void LoadPlayerChoicesLocale();
1320 void LoadUiMapQuestLines();
1321 void LoadUiMapQuests();
1323 void LoadSpawnTrackingTemplates();
1324 void LoadSpawnTrackingQuestObjectives();
1325 void LoadSpawnTrackings();
1326 void LoadSpawnTrackingStates();
1328 void LoadJumpChargeParams();
1329 void LoadPhaseNames();
1333 std::string GeneratePetName(
uint32 entry);
1341 void ReturnOrDeleteOldMails(
bool serverUp);
1345 void SetHighestGuids();
1347 template<HighGu
id type>
1351 "Only global guid can be generated in ObjectMgr context");
1352 return GetGuidSequenceGenerator(type);
1355 uint32 GenerateAuctionID();
1356 uint64 GenerateEquipmentSetGuid();
1358 uint32 GeneratePetNumber();
1367 std::vector<uint32>
const*
GetSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _spawnGroupsByMap.find(mapId);
return it != _spawnGroupsByMap.end() ? &it->second :
nullptr; }
1368 std::vector<InstanceSpawnGroupInfo>
const*
GetInstanceSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _instanceSpawnGroupStore.find(mapId);
return it != _instanceSpawnGroupStore.end() ? &it->second :
nullptr; }
1372 std::vector<QuestObjective const*>
const*
GetSpawnTrackingQuestObjectiveList(
uint32 spawnTrackingId)
const {
auto it = _spawnTrackingQuestObjectiveStore.find(spawnTrackingId);
return it != _spawnTrackingQuestObjectiveStore.end() ? &it->second :
nullptr; }
1373 bool IsQuestObjectiveForSpawnTracking(
uint32 spawnTrackingId,
uint32 questObjectiveId)
const;
1377 MailLevelRewardContainer::const_iterator map_itr = _mailLevelRewardStore.find(level);
1378 if (map_itr == _mailLevelRewardStore.end())
1381 for (
auto const& mailLevelReward : map_itr->second)
1382 if (mailLevelReward.raceMask.HasRace(race))
1383 return &mailLevelReward;
1406 auto itr = _tempSummonDataStore.find({ .SummonerEntry = summonerId, .Type = summonerType, .SummonGroup = group });
1407 if (itr != _tempSummonDataStore.end())
1408 return &itr->second;
1416 return GetSpawnData(type, spawnId);
1422 void OnDeleteSpawnData(
SpawnData const* data);
1426 CreatureDataContainer::const_iterator itr = _creatureDataStore.find(spawnId);
1427 if (itr == _creatureDataStore.end())
return nullptr;
1428 return &itr->second;
1434 LinkedRespawnContainer::const_iterator itr = _linkedRespawnStore.find(spawnId);
1440 CreatureLocaleContainer::const_iterator itr = _creatureLocaleStore.find(entry);
1441 if (itr == _creatureLocaleStore.end())
return nullptr;
1442 return &itr->second;
1447 GameObjectDataContainer::const_iterator itr = _gameObjectDataStore.find(spawnId);
1448 if (itr == _gameObjectDataStore.end())
return nullptr;
1449 return &itr->second;
1455 GameObjectLocaleContainer::const_iterator itr = _gameObjectLocaleStore.find(entry);
1456 if (itr == _gameObjectLocaleStore.end())
return nullptr;
1457 return &itr->second;
1461 QuestTemplateLocaleContainer::const_iterator itr = _questTemplateLocaleStore.find(entry);
1462 if (itr == _questTemplateLocaleStore.end())
return nullptr;
1463 return &itr->second;
1467 auto itr = _questOfferRewardLocaleStore.find(entry);
1468 if (itr == _questOfferRewardLocaleStore.end())
return nullptr;
1469 return &itr->second;
1473 auto itr = _questRequestItemsLocaleStore.find(entry);
1474 if (itr == _questRequestItemsLocaleStore.end())
return nullptr;
1475 return &itr->second;
1479 QuestObjectivesLocaleContainer::const_iterator itr = _questObjectivesLocaleStore.find(entry);
1480 if (itr == _questObjectivesLocaleStore.end())
return nullptr;
1481 return &itr->second;
1485 PageTextLocaleContainer::const_iterator itr = _pageTextLocaleStore.find(entry);
1486 if (itr == _pageTextLocaleStore.end())
return nullptr;
1487 return &itr->second;
1491 auto itr = _gossipMenuItemsLocaleStore.find(std::make_pair(menuId, optionId));
1492 if (itr == _gossipMenuItemsLocaleStore.end())
return nullptr;
1493 return &itr->second;
1497 PointOfInterestLocaleContainer::const_iterator itr = _pointOfInterestLocaleStore.find(
id);
1498 if (itr == _pointOfInterestLocaleStore.end())
return nullptr;
1499 return &itr->second;
1503 auto itr = _playerChoiceLocales.find(ChoiceID);
1504 if (itr == _playerChoiceLocales.end())
return nullptr;
1505 return &itr->second;
1509 TrinityStringContainer::const_iterator itr = _trinityStringStore.find(entry);
1510 if (itr == _trinityStringStore.end())
1512 return &itr->second;
1526 void LoadReservedPlayersNames();
1527 bool IsReservedName(std::string_view name)
const;
1532 static bool IsValidCharterName(std::string_view name);
1534 static bool CheckDeclinedNames(
const std::wstring& w_ownname,
DeclinedName const& names);
1538 GameTeleContainer::const_iterator itr = _gameTeleStore.find(
id);
1539 if (itr == _gameTeleStore.end())
return nullptr;
1540 return &itr->second;
1542 GameTele const* GetGameTele(std::string_view name)
const;
1543 GameTele const* GetGameTeleExactName(std::string_view name)
const;
1546 bool DeleteGameTele(std::string_view name);
1551 return GetCreatureTrainerForGossipOption(creatureId, 0, 0);
1557 CacheVendorItemContainer::const_iterator iter = _cacheVendorItemStore.find(entry);
1558 if (iter == _cacheVendorItemStore.end())
1561 return &iter->second;
1564 void AddVendorItem(
uint32 entry,
VendorItem const& vItem,
bool persist =
true);
1565 bool RemoveVendorItem(
uint32 entry,
uint32 item,
uint8 type,
bool persist =
true);
1566 bool IsVendorItemValid(
uint32 vendor_entry,
VendorItem const& vItem,
Player* player =
nullptr, std::set<uint32>* skip_vendors =
nullptr,
uint32 ORnpcflag = 0)
const;
1568 std::unordered_set<std::string> GetAllDBScriptNames()
const;
1569 std::string
const& GetScriptName(
uint32 id)
const;
1570 bool IsScriptDatabaseBound(
uint32 id)
const;
1571 uint32 GetScriptId(std::string_view name,
bool isDatabaseBound =
true);
1580 return _gossipMenusStore.equal_range(uiMenuId);
1585 return _gossipMenusStore.equal_range(uiMenuId);
1598 GossipMenuAddonContainer::const_iterator itr = _gossipMenuAddonStore.find(menuId);
1599 if (itr != _gossipMenuAddonStore.end())
1600 return &itr->second;
1607 static void AddLocaleString(std::string_view value,
LocaleConstant localeConstant, std::vector<std::string>& data);
1610 if (locale < data.size())
1611 return data[locale];
1617 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1623 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1635 void LoadFactionChangeAchievements();
1636 void LoadFactionChangeItems();
1637 void LoadFactionChangeQuests();
1638 void LoadFactionChangeReputations();
1639 void LoadFactionChangeSpells();
1640 void LoadFactionChangeTitles();
1646 VehicleSeatAddonContainer::const_iterator itr = _vehicleSeatAddonStore.find(seatId);
1647 if (itr == _vehicleSeatAddonStore.end())
1650 return &itr->second;
1653 void LoadRaceAndClassExpansionRequirements();
1655 std::string GetPhaseName(
uint32 phaseId)
const;
1664 auto itr = _sceneTemplateStore.find(sceneId);
1665 if (itr != _sceneTemplateStore.end())
1666 return &itr->second;
1757 std::vector<PhaseAreaInfo>
const* GetPhasesForArea(
uint32 areaId)
const;
1759 std::unordered_map<uint32, std::vector<TerrainSwapInfo*>>
const&
GetTerrainSwaps()
const {
return _terrainSwapInfoByMap; }
1768 void LoadEventSet();
1774 template<Gr
idGu
idSet Gr
idObjectGu
ids::*gu
ids>
1775 void AddSpawnDataToGrid(
SpawnData const* data);
1777 template<Gr
idGu
idSet Gr
idObjectGu
ids::*gu
ids>
1778 void RemoveSpawnDataFromGrid(
SpawnData const* data);
1789 std::unordered_map<std::pair<Races, Classes>, std::unique_ptr<PlayerInfo>>
_playerInfo;
1873#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::unordered_map< uint32, SceneTemplate > SceneTemplateContainer
std::multimap< uint32, SpawnMetadata const * > SpawnGroupLinkContainer
std::multimap< uint32, SpawnMetadata const * > SpawnTrackingLinkContainer
std::pair< GraveyardContainer::const_iterator, GraveyardContainer::const_iterator > GraveyardMapBounds
std::unordered_map< std::pair< uint32, Difficulty >, GridObjectGuidsMap > MapObjectGuids
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< uint32, GameObjectTemplateAddon > GameObjectTemplateAddonContainer
std::string GetScriptCommandName(ScriptCommands command)
std::unordered_map< std::pair< ObjectGuid::LowType, Difficulty >, CreatureStaticFlagsOverride > CreatureStaticFlagsOverrideMap
std::list< MailLevelReward > MailLevelRewardList
std::unordered_map< uint32, QuestPOIData > QuestPOIContainer
std::multimap< uint32, GraveyardData > GraveyardContainer
std::unordered_map< uint32, std::vector< QuestObjective const * > > SpawnTrackingQuestObjectiveContainer
std::multimap< uint32, GossipMenus > GossipMenusContainer
std::unordered_map< uint32, GameObjectTemplate > GameObjectTemplateContainer
std::map< std::tuple< uint32, Difficulty, uint32 >, GridObjectGuidsMap > MapPersonalObjectGuids
std::unordered_map< uint32, GridObjectGuids > GridObjectGuidsMap
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, SpawnTrackingTemplateData > SpawnTrackingTemplateContainer
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
Trinity::Containers::FlatSet< ObjectGuid::LowType > GridGuidSet
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
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)
std::unordered_map< uint32, DestructibleHitpoint > DestructibleHitpointContainer
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< uint32, std::vector< uint32 > > UiMapQuestLinesMap
std::unordered_map< ObjectGuid::LowType, GameObjectOverride > GameObjectOverrideContainer
std::unordered_map< uint32, std::vector< uint32 > > UiMapQuestsMap
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, std::less<> > NameMap
GameObjectLocale const * GetGameObjectLocale(uint32 entry) const
std::unordered_map< uint32, AreaTriggerPolygon > _areaTriggerPolygons
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
SpawnTrackingTemplateContainer _spawnTrackingDataStore
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
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
SpawnTrackingQuestObjectiveContainer _spawnTrackingQuestObjectiveStore
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
SpawnTrackingLinkContainer _spawnTrackingMapStore
CreatureDataContainer const & GetAllCreatureData() const
CharacterConversionMap FactionChangeReputation
QuestRequestItemsLocaleContainer _questRequestItemsLocaleStore
std::unordered_map< uint32, Trainer::Trainer > _trainers
std::map< HighGuid, ObjectGuidGenerator > _guidGenerators
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
UiMapQuestLinesMap _uiMapQuestLinesStore
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< 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
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)
std::vector< RaceClassAvailability > const & GetRaceClassRequirements() const
GossipMenuAddonContainer _gossipMenuAddonStore
NpcTextContainer _npcTextStore
QuestContainer _questTemplates
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
Trinity::IteratorPair< SpawnTrackingLinkContainer::const_iterator > GetSpawnMetadataForSpawnTracking(uint32 spawnTrackingId) const
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
UiMapQuestsMap _uiMapQuestsStore
std::vector< InstanceSpawnGroupInfo > const * GetInstanceSpawnGroupsForMap(uint32 mapId) const
CreatureStaticFlagsOverrideMap _creatureStaticFlagsOverrideStore
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
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
QuestRelationsReverse _goQuestInvolvedRelationsReverse
QuestRelationResult GetCreatureQuestRelations(uint32 entry) const
CreatureData const * GetCreatureData(ObjectGuid::LowType spawnId) const
std::set< uint32 > TavernAreaTriggerContainer
PointOfInterestContainer _pointsOfInterestStore
std::vector< QuestObjective const * > const * GetSpawnTrackingQuestObjectiveList(uint32 spawnTrackingId) const
RepRewardRateContainer _repRewardRateStore
EventContainer _eventStore
CharacterConversionMap FactionChangeTitles
std::unordered_map< uint32, ReputationOnKillEntry > RepOnKillContainer
std::unordered_map< uint32, AreaTriggerTeleport const * > AreaTriggerContainer
VehicleSeatAddonContainer _vehicleSeatAddonStore
QuestTemplateLocaleContainer _questTemplateLocaleStore
std::vector< RaceClassAvailability > _raceClassRequirementStore
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
DestructibleHitpointContainer _destructibleHitpointStore
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.
auto MapEqualRange(M &map, typename M::key_type const &key)
std::string questFailedText
std::vector< Position > Vertices
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
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)
std::vector< uint8 > 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
RaceUnlockRequirement UnlockRequirement
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::@272::@275 Talk
struct ScriptInfo::@272::@289 CreateItem
struct ScriptInfo::@272::@284 TempSummonCreature
struct ScriptInfo::@272::@286 RemoveAura
struct ScriptInfo::@272::@282 KillCredit
struct ScriptInfo::@272::@277 FieldSet
struct ScriptInfo::@272::@296 Model
struct ScriptInfo::@272::@297 PlayMovie
struct ScriptInfo::@272::@280 TeleportTo
struct ScriptInfo::@272::@288 PlaySound
struct ScriptInfo::@272::@287 CastSpell
struct ScriptInfo::@272::@279 FlagToggle
struct ScriptInfo::@272::@278 MoveTo
struct ScriptInfo::@272::@290 DespawnSelf
struct ScriptInfo::@272::@299 PlayAnimKit
struct ScriptInfo::@272::@276 Emote
struct ScriptInfo::@272::@274 Raw
struct ScriptInfo::@272::@285 ToggleDoor
struct ScriptInfo::@272::@283 RespawnGameobject
struct ScriptInfo::@272::@298 Movement
struct ScriptInfo::@272::@291 LoadPath
struct ScriptInfo::@272::@281 QuestExplored
std::string GetDebugInfo() const
struct ScriptInfo::@272::@293 Kill
struct ScriptInfo::@272::@295 Equip
struct ScriptInfo::@272::@292 CallScript
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.
std::strong_ordering operator<=>(TempSummonGroupKey const &right) const =default
SummonerType Type
Summoner's type, see SummonerType for available types.
uint8 SummonGroup
Summon's group id.
std::vector< uint32 > UiMapPhaseIDs
std::vector< std::string > Content
Optional< ObjectGuid::LowType > TransportSpawnId