45#include <unordered_map>
415typedef std::pair<SpellScriptsContainer::iterator, SpellScriptsContainer::iterator>
SpellScriptsBounds;
427 FLAG_ACTIVATE_SPAWN = 0x01,
428 FLAG_BLOCK_SPAWN = 0x02,
429 FLAG_ALLIANCE_ONLY = 0x04,
430 FLAG_HORDE_ONLY = 0x08,
432 FLAG_ALL = (FLAG_ACTIVATE_SPAWN | FLAG_BLOCK_SPAWN | FLAG_ALLIANCE_ONLY | FLAG_HORDE_ONLY)
447 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)
777typedef std::pair<GossipMenusContainer::const_iterator, GossipMenusContainer::const_iterator>
GossipMenusMapBounds;
812 int32 flags,
int32 worldEffectID,
int32 playerConditionID,
int32 navigationPlayerConditionID,
int32 spawnTrackingID, std::vector<QuestPOIBlobPoint> points,
822 std::vector<QuestPOIBlobData>
Blobs;
847typedef std::pair<GraveyardContainer::const_iterator, GraveyardContainer::const_iterator>
GraveyardMapBounds;
876#define MAX_SKILL_STEP 16
888#define MAX_PLAYER_NAME 12
889#define MAX_INTERNAL_PLAYER_NAME 15
890#define MAX_PET_NAME 12
891#define MAX_CHARTER_NAME 24
894#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;
1166 RepSpilloverTemplateContainer::const_iterator itr = _repSpilloverTemplateStore.find(factionId);
1167 if (itr != _repSpilloverTemplateStore.end())
1168 return &itr->second;
1175 PointOfInterestContainer::const_iterator itr = _pointsOfInterestStore.find(
id);
1176 if (itr != _pointsOfInterestStore.end())
1177 return &itr->second;
1183 std::vector<uint32>
const* GetUiMapQuestLinesList(
uint32 uiMapId)
const;
1184 std::vector<uint32>
const* GetUiMapQuestsList(
uint32 uiMapId)
const;
1190 void LoadQuestStartersAndEnders();
1191 void LoadGameobjectQuestStarters();
1192 void LoadGameobjectQuestEnders();
1193 void LoadCreatureQuestStarters();
1194 void LoadCreatureQuestEnders();
1207 return _exclusiveQuestGroups.equal_range(exclusiveGroupId);
1210 std::vector<Difficulty> ParseSpawnDifficulties(std::string_view difficultyString, std::string_view table,
ObjectGuid::LowType spawnId,
uint32 mapId, std::set<Difficulty>
const& mapDifficulties);
1212 bool LoadTrinityStrings();
1214 void LoadEventScripts();
1215 void LoadSpellScripts();
1217 void LoadSpellScriptNames();
1218 void ValidateSpellScripts();
1220 void LoadCreatureClassLevelStats();
1221 void LoadCreatureLocales();
1222 void LoadCreatureTemplates();
1223 void LoadCreatureTemplateAddons();
1224 void LoadCreatureTemplateSparring();
1225 void LoadCreatureTemplate(
Field* fields);
1226 void LoadCreatureTemplateDifficulty();
1227 void LoadCreatureTemplateGossip();
1228 void LoadCreatureTemplateResistances();
1229 void LoadCreatureTemplateSpells();
1230 void LoadCreatureTemplateModels();
1231 void LoadCreatureSummonedData();
1234 void LoadGameObjectQuestItems();
1235 void LoadCreatureQuestItems();
1236 void LoadCreatureQuestCurrencies();
1237 void LoadCreatureStaticFlagsOverride();
1238 void LoadTempSummons();
1239 void LoadCreatures();
1240 void LoadLinkedRespawn();
1242 void LoadCreatureAddons();
1243 void LoadGameObjectAddons();
1244 void LoadCreatureModelInfo();
1245 void LoadEquipmentTemplates();
1246 void LoadCreatureMovementOverrides();
1247 void LoadGameObjectLocales();
1248 void LoadGameObjects();
1249 void LoadSpawnGroupTemplates();
1250 void LoadSpawnGroups();
1251 void LoadInstanceSpawnGroups();
1252 void LoadItemTemplates();
1253 void LoadItemTemplateAddon();
1254 void LoadItemScriptNames();
1255 void LoadQuestTemplateLocale();
1256 void LoadQuestObjectivesLocale();
1257 void LoadQuestGreetingLocales();
1258 void LoadQuestOfferRewardLocale();
1259 void LoadQuestRequestItemsLocale();
1260 void LoadPageTextLocales();
1261 void LoadGossipMenuItemsLocales();
1262 void LoadPointOfInterestLocales();
1263 void LoadInstanceTemplate();
1264 void LoadMailLevelRewards();
1265 void LoadVehicleTemplateAccessories();
1266 void LoadVehicleTemplate();
1267 void LoadVehicleAccessories();
1268 void LoadVehicleSeatAddon();
1272 void LoadAreaTriggerTeleports();
1273 void LoadAreaTriggerPolygons();
1274 void LoadAccessRequirements();
1275 void LoadQuestAreaTriggers();
1276 void LoadQuestGreetings();
1277 void LoadAreaTriggerScripts();
1278 void LoadTavernAreaTriggers();
1279 void LoadGameObjectForQuests();
1281 void LoadPageTexts();
1284 void LoadPlayerInfo();
1285 void LoadPetLevelInfo();
1286 void LoadExplorationBaseXP();
1287 void LoadPetNames();
1288 void LoadPetNumber();
1289 void LoadFishingBaseSkillLevel();
1290 void LoadSkillTiers();
1292 void LoadReputationRewardRate();
1293 void LoadReputationOnKill();
1294 void LoadReputationSpilloverTemplate();
1296 void LoadPointsOfInterest();
1297 void LoadQuestPOI();
1299 void LoadNPCSpellClickSpells();
1301 void LoadGameTele();
1303 void LoadGossipMenu();
1304 void LoadGossipMenuItems();
1305 void LoadGossipMenuAddon();
1308 void LoadTrainers();
1309 void LoadCreatureTrainers();
1312 void UnloadPhaseConditions();
1314 void LoadTerrainSwapDefaults();
1315 void LoadTerrainWorldMaps();
1316 void LoadAreaPhases();
1318 void LoadSceneTemplates();
1320 void LoadPlayerChoices();
1321 void LoadPlayerChoicesLocale();
1323 void LoadUiMapQuestLines();
1324 void LoadUiMapQuests();
1326 void LoadSpawnTrackingTemplates();
1327 void LoadSpawnTrackingQuestObjectives();
1328 void LoadSpawnTrackings();
1329 void LoadSpawnTrackingStates();
1331 void LoadJumpChargeParams();
1332 void LoadPhaseNames();
1336 std::string GeneratePetName(
uint32 entry);
1344 void ReturnOrDeleteOldMails(
bool serverUp);
1348 void SetHighestGuids();
1350 template<HighGu
id type>
1354 "Only global guid can be generated in ObjectMgr context");
1355 return GetGuidSequenceGenerator(type);
1358 uint32 GenerateAuctionID();
1359 uint64 GenerateEquipmentSetGuid();
1361 uint32 GeneratePetNumber();
1370 std::vector<uint32>
const*
GetSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _spawnGroupsByMap.find(mapId);
return it != _spawnGroupsByMap.end() ? &it->second :
nullptr; }
1371 std::vector<InstanceSpawnGroupInfo>
const*
GetInstanceSpawnGroupsForMap(
uint32 mapId)
const {
auto it = _instanceSpawnGroupStore.find(mapId);
return it != _instanceSpawnGroupStore.end() ? &it->second :
nullptr; }
1375 std::vector<QuestObjective const*>
const*
GetSpawnTrackingQuestObjectiveList(
uint32 spawnTrackingId)
const {
auto it = _spawnTrackingQuestObjectiveStore.find(spawnTrackingId);
return it != _spawnTrackingQuestObjectiveStore.end() ? &it->second :
nullptr; }
1376 bool IsQuestObjectiveForSpawnTracking(
uint32 spawnTrackingId,
uint32 questObjectiveId)
const;
1380 MailLevelRewardContainer::const_iterator map_itr = _mailLevelRewardStore.find(level);
1381 if (map_itr == _mailLevelRewardStore.end())
1384 for (
auto const& mailLevelReward : map_itr->second)
1385 if (mailLevelReward.raceMask.HasRace(race))
1386 return &mailLevelReward;
1409 auto itr = _tempSummonDataStore.find({ .SummonerEntry = summonerId, .Type = summonerType, .SummonGroup = group });
1410 if (itr != _tempSummonDataStore.end())
1411 return &itr->second;
1419 return GetSpawnData(type, spawnId);
1425 void OnDeleteSpawnData(
SpawnData const* data);
1429 CreatureDataContainer::const_iterator itr = _creatureDataStore.find(spawnId);
1430 if (itr == _creatureDataStore.end())
return nullptr;
1431 return &itr->second;
1437 LinkedRespawnContainer::const_iterator itr = _linkedRespawnStore.find(spawnId);
1443 CreatureLocaleContainer::const_iterator itr = _creatureLocaleStore.find(entry);
1444 if (itr == _creatureLocaleStore.end())
return nullptr;
1445 return &itr->second;
1450 GameObjectDataContainer::const_iterator itr = _gameObjectDataStore.find(spawnId);
1451 if (itr == _gameObjectDataStore.end())
return nullptr;
1452 return &itr->second;
1458 GameObjectLocaleContainer::const_iterator itr = _gameObjectLocaleStore.find(entry);
1459 if (itr == _gameObjectLocaleStore.end())
return nullptr;
1460 return &itr->second;
1464 QuestTemplateLocaleContainer::const_iterator itr = _questTemplateLocaleStore.find(entry);
1465 if (itr == _questTemplateLocaleStore.end())
return nullptr;
1466 return &itr->second;
1470 auto itr = _questOfferRewardLocaleStore.find(entry);
1471 if (itr == _questOfferRewardLocaleStore.end())
return nullptr;
1472 return &itr->second;
1476 auto itr = _questRequestItemsLocaleStore.find(entry);
1477 if (itr == _questRequestItemsLocaleStore.end())
return nullptr;
1478 return &itr->second;
1482 QuestObjectivesLocaleContainer::const_iterator itr = _questObjectivesLocaleStore.find(entry);
1483 if (itr == _questObjectivesLocaleStore.end())
return nullptr;
1484 return &itr->second;
1488 PageTextLocaleContainer::const_iterator itr = _pageTextLocaleStore.find(entry);
1489 if (itr == _pageTextLocaleStore.end())
return nullptr;
1490 return &itr->second;
1494 auto itr = _gossipMenuItemsLocaleStore.find(std::make_pair(menuId, optionId));
1495 if (itr == _gossipMenuItemsLocaleStore.end())
return nullptr;
1496 return &itr->second;
1500 PointOfInterestLocaleContainer::const_iterator itr = _pointOfInterestLocaleStore.find(
id);
1501 if (itr == _pointOfInterestLocaleStore.end())
return nullptr;
1502 return &itr->second;
1506 auto itr = _playerChoiceLocales.find(ChoiceID);
1507 if (itr == _playerChoiceLocales.end())
return nullptr;
1508 return &itr->second;
1512 TrinityStringContainer::const_iterator itr = _trinityStringStore.find(entry);
1513 if (itr == _trinityStringStore.end())
1515 return &itr->second;
1529 void LoadReservedPlayersNames();
1530 bool IsReservedName(std::string_view name)
const;
1535 static bool IsValidCharterName(std::string_view name);
1537 static bool CheckDeclinedNames(
const std::wstring& w_ownname,
DeclinedName const& names);
1541 GameTeleContainer::const_iterator itr = _gameTeleStore.find(
id);
1542 if (itr == _gameTeleStore.end())
return nullptr;
1543 return &itr->second;
1545 GameTele const* GetGameTele(std::string_view name)
const;
1546 GameTele const* GetGameTeleExactName(std::string_view name)
const;
1549 bool DeleteGameTele(std::string_view name);
1554 return GetCreatureTrainerForGossipOption(creatureId, 0, 0);
1560 CacheVendorItemContainer::const_iterator iter = _cacheVendorItemStore.find(entry);
1561 if (iter == _cacheVendorItemStore.end())
1564 return &iter->second;
1567 void AddVendorItem(
uint32 entry,
VendorItem const& vItem,
bool persist =
true);
1568 bool RemoveVendorItem(
uint32 entry,
uint32 item,
uint8 type,
bool persist =
true);
1569 bool IsVendorItemValid(
uint32 vendor_entry,
VendorItem const& vItem,
Player* player =
nullptr, std::set<uint32>* skip_vendors =
nullptr,
uint32 ORnpcflag = 0)
const;
1571 std::unordered_set<std::string> GetAllDBScriptNames()
const;
1572 std::string
const& GetScriptName(
uint32 id)
const;
1573 bool IsScriptDatabaseBound(
uint32 id)
const;
1574 uint32 GetScriptId(std::string_view name,
bool isDatabaseBound =
true);
1583 return _gossipMenusStore.equal_range(uiMenuId);
1588 return _gossipMenusStore.equal_range(uiMenuId);
1601 GossipMenuAddonContainer::const_iterator itr = _gossipMenuAddonStore.find(menuId);
1602 if (itr != _gossipMenuAddonStore.end())
1603 return &itr->second;
1610 static void AddLocaleString(std::string_view value,
LocaleConstant localeConstant, std::vector<std::string>& data);
1613 if (locale < data.size())
1614 return data[locale];
1620 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1626 if (std::string_view str = GetLocaleString(data, localeConstant); !str.empty())
1638 void LoadFactionChangeAchievements();
1639 void LoadFactionChangeItems();
1640 void LoadFactionChangeQuests();
1641 void LoadFactionChangeReputations();
1642 void LoadFactionChangeSpells();
1643 void LoadFactionChangeTitles();
1649 VehicleSeatAddonContainer::const_iterator itr = _vehicleSeatAddonStore.find(seatId);
1650 if (itr == _vehicleSeatAddonStore.end())
1653 return &itr->second;
1656 void LoadRaceAndClassExpansionRequirements();
1658 std::string GetPhaseName(
uint32 phaseId)
const;
1663 auto itr = _raceUnlockRequirementStore.find(race);
1664 if (itr != _raceUnlockRequirementStore.end())
1665 return &itr->second;
1675 auto itr = _sceneTemplateStore.find(sceneId);
1676 if (itr != _sceneTemplateStore.end())
1677 return &itr->second;
1768 std::vector<PhaseAreaInfo>
const* GetPhasesForArea(
uint32 areaId)
const;
1770 std::unordered_map<uint32, std::vector<TerrainSwapInfo*>>
const&
GetTerrainSwaps()
const {
return _terrainSwapInfoByMap; }
1779 void LoadEventSet();
1785 template<CellGu
idSet CellObjectGu
ids::*gu
ids>
1786 void AddSpawnDataToGrid(
SpawnData const* data);
1788 template<CellGu
idSet CellObjectGu
ids::*gu
ids>
1789 void RemoveSpawnDataFromGrid(
SpawnData const* data);
1800 std::unordered_map<std::pair<Races, Classes>, std::unique_ptr<PlayerInfo>>
_playerInfo;
1885#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::multimap< uint32, SpawnMetadata const * > SpawnTrackingLinkContainer
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::unordered_map< std::pair< ObjectGuid::LowType, Difficulty >, CreatureStaticFlagsOverride > CreatureStaticFlagsOverrideMap
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::unordered_map< uint32, std::vector< QuestObjective const * > > SpawnTrackingQuestObjectiveContainer
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
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
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)
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< 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::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
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
std::vector< QuestObjective const * > const * GetSpawnTrackingQuestObjectiveList(uint32 spawnTrackingId) const
RepRewardRateContainer _repRewardRateStore
EventContainer _eventStore
CharacterConversionMap FactionChangeTitles
std::unordered_map< uint32, ReputationOnKillEntry > RepOnKillContainer
std::unordered_map< uint8, RaceUnlockRequirement > const & GetRaceUnlockRequirements() const
std::unordered_map< uint32, AreaTriggerTeleport const * > AreaTriggerContainer
VehicleSeatAddonContainer _vehicleSeatAddonStore
QuestTemplateLocaleContainer _questTemplateLocaleStore
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
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::@270::@296 Movement
struct ScriptInfo::@270::@273 Talk
struct ScriptInfo::@270::@280 KillCredit
struct ScriptInfo::@270::@287 CreateItem
struct ScriptInfo::@270::@289 LoadPath
struct ScriptInfo::@270::@293 Equip
struct ScriptInfo::@270::@290 CallScript
struct ScriptInfo::@270::@278 TeleportTo
struct ScriptInfo::@270::@285 CastSpell
struct ScriptInfo::@270::@295 PlayMovie
struct ScriptInfo::@270::@272 Raw
struct ScriptInfo::@270::@275 FieldSet
struct ScriptInfo::@270::@291 Kill
struct ScriptInfo::@270::@284 RemoveAura
struct ScriptInfo::@270::@277 FlagToggle
struct ScriptInfo::@270::@282 TempSummonCreature
struct ScriptInfo::@270::@297 PlayAnimKit
struct ScriptInfo::@270::@288 DespawnSelf
struct ScriptInfo::@270::@286 PlaySound
std::string GetDebugInfo() const
struct ScriptInfo::@270::@279 QuestExplored
struct ScriptInfo::@270::@276 MoveTo
struct ScriptInfo::@270::@283 ToggleDoor
struct ScriptInfo::@270::@281 RespawnGameobject
struct ScriptInfo::@270::@274 Emote
struct ScriptInfo::@270::@294 Model
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