TrinityCore
Loading...
Searching...
No Matches
DB2Stores.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITY_DB2STORES_H
19#define TRINITY_DB2STORES_H
20
21#include "DB2Store.h"
22#include "DB2Structure.h"
23#include "Optional.h"
24#include "SharedDefines.h"
25#include <map>
26#include <set>
27#include <vector>
28
29 // temporary hack until includes are sorted out (don't want to pull in Windows.h)
30#ifdef GetClassName
31#undef GetClassName
32#endif
33
35
280
282{
289};
290
292{
294 std::vector<ChrCustomizationChoiceEntry const*> const* Choices;
295 std::vector<ChrCustomizationDisplayInfoEntry const*> Displays;
296};
297
299{
301 TaxiPathBySourceAndDestination(uint32 _id, uint32 _price) : ID(_id), price(_price) { }
302
305};
306
307using TaxiPathNodeList = std::vector<TaxiPathNodeEntry const*>;
308using TaxiPathNodesByPath = std::vector<TaxiPathNodeList>;
309
315
316#define DEFINE_DB2_SET_COMPARATOR(structure) \
317 struct structure ## Comparator \
318 { \
319 bool operator()(structure const* left, structure const* right) const { return Compare(left, right); } \
320 static bool Compare(structure const* left, structure const* right); \
321 };
322
324{
325public:
328
329 struct HotfixId
330 {
331 int32 PushID = 0;
332 uint32 UniqueID = 0;
333
334 friend bool operator<(HotfixId const& left, HotfixId const& right)
335 {
336 return std::tie(left.PushID, left.UniqueID) < std::tie(right.PushID, right.UniqueID);
337 }
338 };
339
341 {
342 enum class Status : uint8
343 {
344 NotSet = 0,
345 Valid = 1,
346 RecordRemoved = 2,
347 Invalid = 3,
348 NotPublic = 4
349 };
350
351 uint32 TableHash = 0;
352 int32 RecordID = 0;
354 Status HotfixStatus = Status::Invalid;
355
356 friend bool operator<(HotfixRecord const& left, HotfixRecord const& right)
357 {
358 return std::tie(left.ID, left.TableHash, left.RecordID) < std::tie(right.ID, right.TableHash, right.RecordID);
359 }
360 };
361
363 {
364 uint32 Key = 0;
365 std::vector<uint8> Data;
366 };
367
368 using HotfixContainer = std::map<int32, std::vector<HotfixRecord>>;
369
370 using FriendshipRepReactionSet = std::set<FriendshipRepReactionEntry const*, FriendshipRepReactionEntryComparator>;
371 using ItemBonusList = std::vector<ItemBonusEntry const*>;
372 using MapDifficultyConditionsContainer = std::vector<std::pair<uint32, PlayerConditionEntry const*>>;
373 using MountTypeXCapabilitySet = std::set<MountTypeXCapabilityEntry const*, MountTypeXCapabilityEntryComparator>;
374 using MountXDisplayContainer = std::vector<MountXDisplayEntry const*>;
375
376 static DB2Manager& Instance();
377
378 uint32 LoadStores(std::string const& dataPath, LocaleConstant defaultLocale);
379 DB2StorageBase const* GetStorage(uint32 type) const;
380
381 void LoadHotfixData();
382 void LoadHotfixBlob(uint32 localeMask);
383 void LoadHotfixOptionalData(uint32 localeMask);
384 uint32 GetHotfixCount() const;
385 HotfixContainer const& GetHotfixData() const;
386 std::vector<uint8> const* GetHotfixBlobData(uint32 tableHash, int32 recordId, LocaleConstant locale) const;
387 std::vector<HotfixOptionalData> const* GetHotfixOptionalData(uint32 tableHash, int32 recordId, LocaleConstant locale) const;
388
389 uint32 GetEmptyAnimStateID() const;
390 std::vector<uint32> GetAreasForGroup(uint32 areaGroupId) const;
391 static bool IsInArea(uint32 objectAreaId, uint32 areaId);
392 static ContentTuningEntry const* GetContentTuningForArea(AreaTableEntry const* areaEntry);
393 std::vector<ArtifactPowerEntry const*> GetArtifactPowers(uint8 artifactId) const;
394 std::vector<uint32> const* GetArtifactPowerLinks(uint32 artifactPowerId) const;
395 ArtifactPowerRankEntry const* GetArtifactPowerRank(uint32 artifactPowerId, uint8 rank) const;
396 AzeriteEmpoweredItemEntry const* GetAzeriteEmpoweredItem(uint32 itemId) const;
397 bool IsAzeriteItem(uint32 itemId) const;
398 AzeriteEssencePowerEntry const* GetAzeriteEssencePower(uint32 azeriteEssenceId, uint32 rank) const;
399 std::vector<AzeriteItemMilestonePowerEntry const*> const& GetAzeriteItemMilestonePowers() const;
400 AzeriteItemMilestonePowerEntry const* GetAzeriteItemMilestonePower(uint8 slot) const;
401 std::vector<AzeritePowerSetMemberEntry const*> const* GetAzeritePowers(uint32 itemId) const;
402 uint32 GetRequiredAzeriteLevelForAzeritePowerTier(uint32 azeriteUnlockSetId, ItemContext context, uint32 tier) const;
403 static char const* GetBroadcastTextValue(BroadcastTextEntry const* broadcastText, LocaleConstant locale = DEFAULT_LOCALE, uint8 gender = GENDER_MALE, bool forceGender = false);
404 int32 const* GetBroadcastTextDuration(int32 broadcastTextId, LocaleConstant locale = DEFAULT_LOCALE) const;
405 ChrClassUIDisplayEntry const* GetUiDisplayForClass(Classes unitClass) const;
406 static char const* GetClassName(uint8 class_, LocaleConstant locale = DEFAULT_LOCALE);
407 uint32 GetPowerIndexByClass(Powers power, uint32 classId) const;
408 std::vector<ChrCustomizationChoiceEntry const*> const* GetCustomiztionChoices(uint32 chrCustomizationOptionId) const;
409 std::vector<ChrCustomizationOptionEntry const*> const* GetCustomiztionOptions(uint8 race, uint8 gender) const;
410 std::vector<std::pair<uint32, std::vector<uint32>>> const* GetRequiredCustomizationChoices(uint32 chrCustomizationReqId) const;
411 ChrModelEntry const* GetChrModel(uint8 race, uint8 gender) const;
412 static char const* GetChrRaceName(uint8 race, LocaleConstant locale = DEFAULT_LOCALE);
413 ChrSpecializationEntry const* GetChrSpecializationByIndex(uint32 class_, uint32 index) const;
414 ChrSpecializationEntry const* GetDefaultChrSpecializationForClass(uint32 class_) const;
415 Optional<ContentTuningLevels> GetContentTuningData(uint32 contentTuningId, uint32 replacementConditionMask, bool forItem = false) const;
416 static char const* GetCreatureFamilyPetName(uint32 petfamily, LocaleConstant locale);
417 CurrencyContainerEntry const* GetCurrencyContainerForCurrencyQuantity(uint32 currencyId, int32 quantity) const;
418 std::pair<float, float> GetCurveXAxisRange(uint32 curveId) const;
419 float GetCurveValueAt(uint32 curveId, float x) const;
420 EmotesTextSoundEntry const* GetTextSoundEmoteFor(uint32 emote, uint8 race, uint8 gender, uint8 class_) const;
421 float EvaluateExpectedStat(ExpectedStatType stat, uint32 level, int32 expansion, uint32 contentTuningId, Classes unitClass) const;
422 std::vector<uint32> const* GetFactionTeamList(uint32 faction) const;
423 FriendshipRepReactionSet const* GetFriendshipRepReactions(uint32 friendshipRepID) const;
424 uint32 GetGlobalCurveId(GlobalCurve globalCurveType) const;
425 std::vector<uint32> const* GetGlyphBindableSpells(uint32 glyphPropertiesId) const;
426 std::vector<uint32> const* GetGlyphRequiredSpecs(uint32 glyphPropertiesId) const;
427 HeirloomEntry const* GetHeirloomByItemId(uint32 itemId) const;
428 ItemBonusList const* GetItemBonusList(uint32 bonusListId) const;
429 uint32 GetItemBonusListForItemLevelDelta(int16 delta) const;
430 std::set<uint32> GetDefaultItemBonusTree(uint32 itemId, ItemContext itemContext) const;
431 std::set<uint32> GetAllItemBonusTreeBonuses(uint32 itemBonusTreeId) const;
432 ItemChildEquipmentEntry const* GetItemChildEquipment(uint32 itemId) const;
433 ItemClassEntry const* GetItemClassByOldEnum(uint32 itemClass) const;
434 bool HasItemCurrencyCost(uint32 itemId) const;
435 std::vector<ItemLimitCategoryConditionEntry const*> const* GetItemLimitCategoryConditions(uint32 categoryId) const;
436 uint32 GetItemDisplayId(uint32 itemId, uint32 appearanceModId) const;
437 ItemModifiedAppearanceEntry const* GetItemModifiedAppearance(uint32 itemId, uint32 appearanceModId) const;
438 ItemModifiedAppearanceEntry const* GetDefaultItemModifiedAppearance(uint32 itemId) const;
439 std::vector<ItemSetSpellEntry const*> const* GetItemSetSpells(uint32 itemSetId) const;
440 std::vector<ItemSpecOverrideEntry const*> const* GetItemSpecOverrides(uint32 itemId) const;
441 JournalTierEntry const* GetJournalTier(uint32 index) const;
442 static LFGDungeonsEntry const* GetLfgDungeon(uint32 mapId, Difficulty difficulty);
443 static uint32 GetDefaultMapLight(uint32 mapId);
444 static uint32 GetLiquidFlags(uint32 liquidType);
445 MapDifficultyEntry const* GetDefaultMapDifficulty(uint32 mapId, Difficulty* difficulty = nullptr) const;
446 MapDifficultyEntry const* GetMapDifficultyData(uint32 mapId, Difficulty difficulty) const;
447 MapDifficultyEntry const* GetDownscaledMapDifficultyData(uint32 mapId, Difficulty &difficulty) const;
448 MapDifficultyConditionsContainer const* GetMapDifficultyConditions(uint32 mapDifficultyId) const;
449 MountEntry const* GetMount(uint32 spellId) const;
450 MountEntry const* GetMountById(uint32 id) const;
451 MountTypeXCapabilitySet const* GetMountCapabilities(uint32 mountType) const;
452 MountXDisplayContainer const* GetMountDisplays(uint32 mountId) const;
453 std::string GetNameGenEntry(uint8 race, uint8 gender) const;
454 ResponseCodes ValidateName(std::wstring const& name, LocaleConstant locale) const;
455 static int32 GetNumTalentsAtLevel(uint32 level, Classes playerClass);
456 ParagonReputationEntry const* GetParagonReputation(uint32 factionId) const;
457 std::vector<uint32> const* GetPhasesForGroup(uint32 group) const;
458 PowerTypeEntry const* GetPowerTypeEntry(Powers power) const;
459 PowerTypeEntry const* GetPowerTypeByName(std::string const& name) const;
460 uint8 GetPvpItemLevelBonus(uint32 itemId) const;
461 static PVPDifficultyEntry const* GetBattlegroundBracketByLevel(uint32 mapid, uint32 level);
462 static PVPDifficultyEntry const* GetBattlegroundBracketById(uint32 mapid, BattlegroundBracketId id);
463 uint32 GetRequiredLevelForPvpTalentSlot(uint8 slot, Classes class_) const;
464 int32 GetPvpTalentNumSlotsAtLevel(uint32 level, Classes class_) const;
465 std::vector<QuestLineXQuestEntry const*> const* GetQuestsForQuestLine(uint32 questLineId) const;
466 std::vector<QuestPackageItemEntry const*> const* GetQuestPackageItems(uint32 questPackageID) const;
467 std::vector<QuestPackageItemEntry const*> const* GetQuestPackageItemsFallback(uint32 questPackageID) const;
468 uint32 GetQuestUniqueBitFlag(uint32 questId);
469 std::vector<RewardPackXCurrencyTypeEntry const*> const* GetRewardPackCurrencyTypesByRewardID(uint32 rewardPackID) const;
470 std::vector<RewardPackXItemEntry const*> const* GetRewardPackItemsByRewardID(uint32 rewardPackID) const;
471 ShapeshiftFormModelData const* GetShapeshiftFormModelData(uint8 race, uint8 gender, uint8 form) const;
472 std::vector<SkillLineEntry const*> const* GetSkillLinesForParentSkill(uint32 parentSkillId) const;
473 std::vector<SkillLineAbilityEntry const*> const* GetSkillLineAbilitiesBySkill(uint32 skillId) const;
474 SkillRaceClassInfoEntry const* GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_) const;
475 std::vector<SkillRaceClassInfoEntry const*> GetSkillRaceClassInfo(uint32 skill) const;
476 SoulbindConduitRankEntry const* GetSoulbindConduitRank(int32 soulbindConduitId, int32 rank) const;
477 std::vector<SpecializationSpellsEntry const*> const* GetSpecializationSpells(uint32 specId) const;
478 bool IsSpecSetMember(int32 specSetId, uint32 specId) const;
479 static bool IsValidSpellFamiliyName(SpellFamilyNames family);
480 std::vector<SpellProcsPerMinuteModEntry const*> GetSpellProcsPerMinuteMods(uint32 spellprocsPerMinuteId) const;
481 std::vector<SpellVisualMissileEntry const*> const* GetSpellVisualMissiles(int32 spellVisualMissileSetId) const;
482 std::vector<TalentEntry const*> const& GetTalentsByPosition(uint32 class_, uint32 tier, uint32 column) const;
483 TaxiPathEntry const* GetTaxiPath(uint32 from, uint32 to) const;
484 static bool IsTotemCategoryCompatibleWith(uint32 itemTotemCategoryId, uint32 requiredTotemCategoryId);
485 bool IsToyItem(uint32 toy) const;
486 TransmogIllusionEntry const* GetTransmogIllusionForEnchantment(uint32 spellItemEnchantmentId) const;
487 std::vector<TransmogSetEntry const*> const* GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId) const;
488 std::vector<TransmogSetItemEntry const*> const* GetTransmogSetItems(uint32 transmogSetId) const;
489 static bool GetUiMapPosition(float x, float y, float z, int32 mapId, int32 areaId, int32 wmoDoodadPlacementId, int32 wmoGroupId, UiMapSystem system, bool local,
490 int32* uiMapId = nullptr, DBCPosition2D* newPos = nullptr);
491 bool Zone2MapCoordinates(uint32 areaId, float& x, float& y) const;
492 void Map2ZoneCoordinates(uint32 areaId, float& x, float& y) const;
493 bool IsUiMapPhase(uint32 phaseId) const;
494 WMOAreaTableEntry const* GetWMOAreaTable(int32 rootId, int32 adtId, int32 groupId) const;
495
496private:
498 void InsertNewHotfix(uint32 tableHash, uint32 recordId);
499 int32 _maxHotfixId = 0;
500};
501
502#define sDB2Manager DB2Manager::Instance()
503
504#endif
LocaleConstant
Definition: Common.h:64
#define DEFAULT_LOCALE
Definition: Common.h:82
TC_GAME_API DB2Storage< JournalEncounterEntry > sJournalEncounterStore
TC_GAME_API DB2Storage< SpellItemEnchantmentEntry > sSpellItemEnchantmentStore
TC_GAME_API DB2Storage< CharacterLoadoutItemEntry > sCharacterLoadoutItemStore
TC_GAME_API DB2Storage< ItemModifiedAppearanceExtraEntry > sItemModifiedAppearanceExtraStore
TC_GAME_API DB2Storage< ItemArmorQualityEntry > sItemArmorQualityStore
TC_GAME_API DB2Storage< AreaTriggerEntry > sAreaTriggerStore
TC_GAME_API DB2Storage< TransportRotationEntry > sTransportRotationStore
TC_GAME_API TaxiMask sAllianceTaxiNodesMask
Definition: DB2Stores.cpp:368
TC_GAME_API DB2Storage< SpellTotemsEntry > sSpellTotemsStore
TC_GAME_API DB2Storage< ChrCustomizationReqEntry > sChrCustomizationReqStore
TC_GAME_API DB2Storage< BattlePetSpeciesEntry > sBattlePetSpeciesStore
TC_GAME_API DB2Storage< Achievement_CategoryEntry > sAchievementCategoryStore
TC_GAME_API DB2Storage< GarrPlotEntry > sGarrPlotStore
TC_GAME_API DB2Storage< TraitNodeGroupXTraitCostEntry > sTraitNodeGroupXTraitCostStore
TC_GAME_API DB2Storage< ItemSearchNameEntry > sItemSearchNameStore
TC_GAME_API DB2Storage< ItemLimitCategoryEntry > sItemLimitCategoryStore
TC_GAME_API DB2Storage< ParagonReputationEntry > sParagonReputationStore
TC_GAME_API DB2Storage< SpellInterruptsEntry > sSpellInterruptsStore
TC_GAME_API DB2Storage< SceneScriptPackageEntry > sSceneScriptPackageStore
TC_GAME_API DB2Storage< BannedAddonsEntry > sBannedAddonsStore
TC_GAME_API DB2Storage< SpellShapeshiftEntry > sSpellShapeshiftStore
TC_GAME_API DB2Storage< DifficultyEntry > sDifficultyStore
TC_GAME_API DB2Storage< SpellVisualKitEntry > sSpellVisualKitStore
TC_GAME_API DB2Storage< SpellItemEnchantmentConditionEntry > sSpellItemEnchantmentConditionStore
TC_GAME_API DB2Storage< LanguageWordsEntry > sLanguageWordsStore
TC_GAME_API DB2Storage< CriteriaEntry > sCriteriaStore
TC_GAME_API DB2Storage< SpellScalingEntry > sSpellScalingStore
TC_GAME_API DB2Storage< WorldEffectEntry > sWorldEffectStore
TC_GAME_API DB2Storage< ItemDamageOneHandEntry > sItemDamageOneHandStore
TC_GAME_API DB2Storage< AzeritePowerEntry > sAzeritePowerStore
TC_GAME_API DB2Storage< SpellTargetRestrictionsEntry > sSpellTargetRestrictionsStore
TC_GAME_API DB2Storage< CurveEntry > sCurveStore
TC_GAME_API DB2Storage< RandPropPointsEntry > sRandPropPointsStore
TC_GAME_API DB2Storage< UISplashScreenEntry > sUISplashScreenStore
TC_GAME_API DB2Storage< SpellRadiusEntry > sSpellRadiusStore
TC_GAME_API DB2Storage< GlyphPropertiesEntry > sGlyphPropertiesStore
TC_GAME_API DB2Storage< TransportAnimationEntry > sTransportAnimationStore
TC_GAME_API DB2Storage< ArtifactAppearanceEntry > sArtifactAppearanceStore
TC_GAME_API DB2Storage< TalentEntry > sTalentStore
TC_GAME_API DB2Storage< ChrRacesEntry > sChrRacesStore
TC_GAME_API DB2Storage< TransmogSetGroupEntry > sTransmogSetGroupStore
TC_GAME_API DB2Storage< TaxiPathEntry > sTaxiPathStore
TC_GAME_API DB2Storage< GuildColorEmblemEntry > sGuildColorEmblemStore
TC_GAME_API DB2Storage< TraitTreeXTraitCurrencyEntry > sTraitTreeXTraitCurrencyStore
TC_GAME_API DB2Storage< SpellProcsPerMinuteEntry > sSpellProcsPerMinuteStore
TC_GAME_API TaxiMask sTaxiNodesMask
Definition: DB2Stores.cpp:365
TC_GAME_API DB2Storage< TraitDefinitionEntry > sTraitDefinitionStore
TC_GAME_API DB2Storage< ChrClassesEntry > sChrClassesStore
TC_GAME_API DB2Storage< AdventureJournalEntry > sAdventureJournalStore
TC_GAME_API DB2Storage< SpellXSpellVisualEntry > sSpellXSpellVisualStore
TC_GAME_API DB2Storage< LiquidTypeEntry > sLiquidTypeStore
TC_GAME_API DB2Storage< TraitNodeEntryXTraitCostEntry > sTraitNodeEntryXTraitCostStore
TC_GAME_API DB2Storage< FriendshipRepReactionEntry > sFriendshipRepReactionStore
TC_GAME_API DB2Storage< SummonPropertiesEntry > sSummonPropertiesStore
TC_GAME_API DB2Storage< SpellReagentsEntry > sSpellReagentsStore
TC_GAME_API DB2Storage< ArtifactEntry > sArtifactStore
TC_GAME_API DB2Storage< DurabilityQualityEntry > sDurabilityQualityStore
TC_GAME_API DB2Storage< ItemDamageTwoHandEntry > sItemDamageTwoHandStore
TC_GAME_API DB2Storage< SkillLineEntry > sSkillLineStore
TC_GAME_API DB2Storage< CinematicSequencesEntry > sCinematicSequencesStore
TC_GAME_API DB2Storage< ArmorLocationEntry > sArmorLocationStore
TC_GAME_API TaxiMask sOldContinentsNodesMask
Definition: DB2Stores.cpp:366
TC_GAME_API DB2Storage< TraitEdgeEntry > sTraitEdgeStore
TC_GAME_API DB2Storage< CharTitlesEntry > sCharTitlesStore
TC_GAME_API DB2Storage< ItemSetEntry > sItemSetStore
TC_GAME_API DB2Storage< GuildPerkSpellsEntry > sGuildPerkSpellsStore
TC_GAME_API DB2Storage< PlayerConditionEntry > sPlayerConditionStore
TC_GAME_API DB2Storage< BattlePetBreedStateEntry > sBattlePetBreedStateStore
TC_GAME_API DB2Storage< SpellMiscEntry > sSpellMiscStore
TC_GAME_API DB2Storage< TraitCurrencySourceEntry > sTraitCurrencySourceStore
TC_GAME_API DB2Storage< SpellAuraRestrictionsEntry > sSpellAuraRestrictionsStore
TC_GAME_API DB2Storage< ItemXItemEffectEntry > sItemXItemEffectStore
TC_GAME_API DB2Storage< GuildColorBorderEntry > sGuildColorBorderStore
TC_GAME_API DB2Storage< GarrSiteLevelEntry > sGarrSiteLevelStore
TC_GAME_API DB2Storage< GarrMissionEntry > sGarrMissionStore
TC_GAME_API DB2Storage< OverrideSpellDataEntry > sOverrideSpellDataStore
TC_GAME_API DB2Storage< CreatureDisplayInfoEntry > sCreatureDisplayInfoStore
TC_GAME_API DB2Storage< TransmogSetItemEntry > sTransmogSetItemStore
TC_GAME_API DB2Storage< TraitCurrencyEntry > sTraitCurrencyStore
TC_GAME_API DB2Storage< UnitPowerBarEntry > sUnitPowerBarStore
TC_GAME_API DB2Storage< TraitNodeEntry > sTraitNodeStore
TC_GAME_API DB2Storage< CreatureModelDataEntry > sCreatureModelDataStore
TC_GAME_API DB2Storage< ItemModifiedAppearanceEntry > sItemModifiedAppearanceStore
TC_GAME_API DB2Storage< ItemPriceBaseEntry > sItemPriceBaseStore
TC_GAME_API DB2Storage< ItemAppearanceEntry > sItemAppearanceStore
TC_GAME_API DB2Storage< ItemEffectEntry > sItemEffectStore
TC_GAME_API DB2Storage< TraitTreeXTraitCostEntry > sTraitTreeXTraitCostStore
TC_GAME_API DB2Storage< TraitDefinitionEffectPointsEntry > sTraitDefinitionEffectPointsStore
TC_GAME_API DB2Storage< CorruptionEffectsEntry > sCorruptionEffectsStore
TC_GAME_API DB2Storage< CurrencyTypesEntry > sCurrencyTypesStore
TC_GAME_API DB2Storage< ItemNameDescriptionEntry > sItemNameDescriptionStore
TC_GAME_API DB2Storage< TaxiNodesEntry > sTaxiNodesStore
TC_GAME_API DB2Storage< ChatChannelsEntry > sChatChannelsStore
TC_GAME_API DB2Storage< MountEntry > sMountStore
TC_GAME_API DB2Storage< SpellReagentsCurrencyEntry > sSpellReagentsCurrencyStore
TC_GAME_API DB2Storage< SpellLevelsEntry > sSpellLevelsStore
TC_GAME_API DB2Storage< PhaseEntry > sPhaseStore
TC_GAME_API DB2Storage< AnimationDataEntry > sAnimationDataStore
TC_GAME_API DB2Storage< QuestFactionRewardEntry > sQuestFactionRewardStore
TC_GAME_API DB2Storage< ArtifactCategoryEntry > sArtifactCategoryStore
TC_GAME_API DB2Storage< TraitNodeEntryEntry > sTraitNodeEntryStore
TC_GAME_API DB2Storage< SpellLearnSpellEntry > sSpellLearnSpellStore
TC_GAME_API DB2Storage< ItemEntry > sItemStore
TC_GAME_API DB2Storage< SoundKitEntry > sSoundKitStore
TC_GAME_API DB2Storage< CinematicCameraEntry > sCinematicCameraStore
TC_GAME_API DB2Storage< FactionEntry > sFactionStore
TC_GAME_API DB2Storage< TraitNodeXTraitCostEntry > sTraitNodeXTraitCostStore
TC_GAME_API TaxiPathNodesByPath sTaxiPathNodesByPath
Definition: DB2Stores.cpp:369
TC_GAME_API DB2Storage< SpellEquippedItemsEntry > sSpellEquippedItemsStore
TC_GAME_API DB2Storage< EmotesEntry > sEmotesStore
TC_GAME_API DB2Storage< TraitTreeLoadoutEntry > sTraitTreeLoadoutStore
TC_GAME_API DB2Storage< DurabilityCostsEntry > sDurabilityCostsStore
TC_GAME_API DB2Storage< SpellNameEntry > sSpellNameStore
TC_GAME_API DB2Storage< BattlemasterListEntry > sBattlemasterListStore
TC_GAME_API DB2Storage< TraitTreeLoadoutEntryEntry > sTraitTreeLoadoutEntryStore
TC_GAME_API DB2Storage< GarrFollowerEntry > sGarrFollowerStore
std::vector< TaxiPathNodeEntry const * > TaxiPathNodeList
Definition: DB2Stores.h:307
TC_GAME_API DB2Storage< BattlePetSpeciesStateEntry > sBattlePetSpeciesStateStore
TC_GAME_API DB2Storage< UnitConditionEntry > sUnitConditionStore
TC_GAME_API DB2Storage< GossipNPCOptionEntry > sGossipNPCOptionStore
TC_GAME_API DB2Storage< TraitTreeEntry > sTraitTreeStore
TC_GAME_API DB2Storage< RewardPackEntry > sRewardPackStore
TC_GAME_API DB2Storage< ScenarioEntry > sScenarioStore
TC_GAME_API DB2Storage< CharacterLoadoutEntry > sCharacterLoadoutStore
TC_GAME_API DB2Storage< QuestSortEntry > sQuestSortStore
TC_GAME_API DB2Storage< SpellCategoryEntry > sSpellCategoryStore
TC_GAME_API DB2Storage< LFGDungeonsEntry > sLFGDungeonsStore
TC_GAME_API DB2Storage< ImportPriceArmorEntry > sImportPriceArmorStore
TC_GAME_API DB2Storage< JournalInstanceEntry > sJournalInstanceStore
TC_GAME_API DB2Storage< GameObjectArtKitEntry > sGameObjectArtKitStore
TC_GAME_API DB2Storage< SkillRaceClassInfoEntry > sSkillRaceClassInfoStore
TC_GAME_API DB2Storage< MapEntry > sMapStore
TC_GAME_API DB2Storage< ItemDamageAmmoEntry > sItemDamageAmmoStore
TC_GAME_API DB2Storage< MapDifficultyEntry > sMapDifficultyStore
TC_GAME_API DB2Storage< TransmogSetEntry > sTransmogSetStore
TC_GAME_API DB2Storage< SpellCooldownsEntry > sSpellCooldownsStore
TC_GAME_API DB2Storage< QuestInfoEntry > sQuestInfoStore
TC_GAME_API DB2Storage< GarrClassSpecEntry > sGarrClassSpecStore
TC_GAME_API DB2Storage< VehicleSeatEntry > sVehicleSeatStore
TC_GAME_API DB2Storage< UiMapEntry > sUiMapStore
TC_GAME_API DB2Storage< GarrTalentTreeEntry > sGarrTalentTreeStore
TC_GAME_API DB2Storage< MawPowerEntry > sMawPowerStore
TC_GAME_API DB2Storage< GarrAbilityEntry > sGarrAbilityStore
TC_GAME_API DB2Storage< WorldStateExpressionEntry > sWorldStateExpressionStore
TC_GAME_API DB2Storage< GuildColorBackgroundEntry > sGuildColorBackgroundStore
TC_GAME_API DB2Storage< HolidaysEntry > sHolidaysStore
TC_GAME_API DB2Storage< ArtifactTierEntry > sArtifactTierStore
TC_GAME_API DB2Storage< AdventureMapPOIEntry > sAdventureMapPOIStore
TC_GAME_API DB2Storage< BattlePetBreedQualityEntry > sBattlePetBreedQualityStore
TC_GAME_API DB2Storage< ItemSpecOverrideEntry > sItemSpecOverrideStore
TC_GAME_API DB2Storage< ArtifactPowerPickerEntry > sArtifactPowerPickerStore
TC_GAME_API DB2Storage< ChrSpecializationEntry > sChrSpecializationStore
TC_GAME_API DB2Storage< SpellAuraOptionsEntry > sSpellAuraOptionsStore
TC_GAME_API DB2Storage< MailTemplateEntry > sMailTemplateStore
TC_GAME_API DB2Storage< JournalEncounterSectionEntry > sJournalEncounterSectionStore
TC_GAME_API DB2Storage< WorldMapOverlayEntry > sWorldMapOverlayStore
TC_GAME_API DB2Storage< EmotesTextEntry > sEmotesTextStore
TC_GAME_API DB2Storage< MountCapabilityEntry > sMountCapabilityStore
TC_GAME_API DB2Storage< MovieEntry > sMovieStore
TC_GAME_API DB2Storage< SpellClassOptionsEntry > sSpellClassOptionsStore
TC_GAME_API DB2Storage< SpellDurationEntry > sSpellDurationStore
TC_GAME_API DB2Storage< ArtifactUnlockEntry > sArtifactUnlockStore
TC_GAME_API DB2Storage< SpellShapeshiftFormEntry > sSpellShapeshiftFormStore
TC_GAME_API DB2Storage< ScenarioStepEntry > sScenarioStepStore
TC_GAME_API DB2Storage< BarberShopStyleEntry > sBarberShopStyleStore
TC_GAME_API DB2Storage< SpellCategoriesEntry > sSpellCategoriesStore
TC_GAME_API DB2Storage< TransmogHolidayEntry > sTransmogHolidayStore
TC_GAME_API DB2Storage< ModifierTreeEntry > sModifierTreeStore
TC_GAME_API DB2Storage< CreatureDisplayInfoExtraEntry > sCreatureDisplayInfoExtraStore
TC_GAME_API DB2Storage< AzeriteEssenceEntry > sAzeriteEssenceStore
TC_GAME_API DB2Storage< QuestMoneyRewardEntry > sQuestMoneyRewardStore
TC_GAME_API DB2Storage< TransmogIllusionEntry > sTransmogIllusionStore
TC_GAME_API DB2Storage< LanguagesEntry > sLanguagesStore
TC_GAME_API DB2Storage< MapChallengeModeEntry > sMapChallengeModeStore
std::vector< TaxiPathNodeList > TaxiPathNodesByPath
Definition: DB2Stores.h:308
TC_GAME_API DB2Storage< AzeriteKnowledgeMultiplierEntry > sAzeriteKnowledgeMultiplierStore
TC_GAME_API DB2Storage< TraitNodeXTraitCondEntry > sTraitNodeXTraitCondStore
TC_GAME_API DB2Storage< SpellVisualEntry > sSpellVisualStore
TC_GAME_API DB2Storage< QuestXPEntry > sQuestXPStore
TC_GAME_API DB2Storage< GarrBuildingPlotInstEntry > sGarrBuildingPlotInstStore
TC_GAME_API DB2Storage< LightEntry > sLightStore
TC_GAME_API DB2Storage< ArtifactAppearanceSetEntry > sArtifactAppearanceSetStore
TC_GAME_API DB2Storage< ItemExtendedCostEntry > sItemExtendedCostStore
TC_GAME_API DB2Storage< SpellCastingRequirementsEntry > sSpellCastingRequirementsStore
TC_GAME_API DB2Storage< SpellCastTimesEntry > sSpellCastTimesStore
TC_GAME_API DB2Storage< GarrPlotBuildingEntry > sGarrPlotBuildingStore
TC_GAME_API DB2Storage< PvpTierEntry > sPvpTierStore
TC_GAME_API DB2Storage< GarrBuildingEntry > sGarrBuildingStore
TC_GAME_API DB2Storage< ItemSparseEntry > sItemSparseStore
TC_GAME_API DB2Storage< TraitNodeXTraitNodeEntryEntry > sTraitNodeXTraitNodeEntryStore
TC_GAME_API DB2Storage< PvpTalentEntry > sPvpTalentStore
TC_GAME_API DB2Storage< ItemSpecEntry > sItemSpecStore
TC_GAME_API DB2Storage< TraitNodeEntryXTraitCondEntry > sTraitNodeEntryXTraitCondStore
TC_GAME_API DB2Storage< ImportPriceWeaponEntry > sImportPriceWeaponStore
TC_GAME_API DB2Storage< PvpTalentSlotUnlockEntry > sPvpTalentSlotUnlockStore
TC_GAME_API DB2Storage< BankBagSlotPricesEntry > sBankBagSlotPricesStore
TC_GAME_API DB2Storage< ConversationLineEntry > sConversationLineStore
TC_GAME_API DB2Storage< ItemArmorShieldEntry > sItemArmorShieldStore
TC_GAME_API DB2Storage< GarrFollowerXAbilityEntry > sGarrFollowerXAbilityStore
TC_GAME_API DB2Storage< ItemSetSpellEntry > sItemSetSpellStore
TC_GAME_API DB2Storage< SpellFocusObjectEntry > sSpellFocusObjectStore
TC_GAME_API DB2Storage< GemPropertiesEntry > sGemPropertiesStore
TC_GAME_API DB2Storage< SpellPowerEntry > sSpellPowerStore
TC_GAME_API DB2Storage< TraitCondEntry > sTraitCondStore
TC_GAME_API DB2Storage< SkillLineAbilityEntry > sSkillLineAbilityStore
TC_GAME_API DB2Storage< ItemBagFamilyEntry > sItemBagFamilyStore
TC_GAME_API DB2Storage< SkillLineXTraitTreeEntry > sSkillLineXTraitTreeStore
TC_GAME_API DB2Storage< FriendshipReputationEntry > sFriendshipReputationStore
TC_GAME_API DB2Storage< ItemDisenchantLootEntry > sItemDisenchantLootStore
TC_GAME_API DB2Storage< TraitNodeGroupXTraitNodeEntry > sTraitNodeGroupXTraitNodeStore
TC_GAME_API DB2Storage< TraitCostEntry > sTraitCostStore
TC_GAME_API DB2Storage< ChrCustomizationOptionEntry > sChrCustomizationOptionStore
TC_GAME_API DB2Storage< CriteriaTreeEntry > sCriteriaTreeStore
TC_GAME_API DB2Storage< GameObjectsEntry > sGameObjectsStore
TC_GAME_API DB2Storage< SpellKeyboundOverrideEntry > sSpellKeyboundOverrideStore
TC_GAME_API TaxiMask sHordeTaxiNodesMask
Definition: DB2Stores.cpp:367
TC_GAME_API DB2Storage< AnimKitEntry > sAnimKitStore
TC_GAME_API DB2Storage< SpellPowerDifficultyEntry > sSpellPowerDifficultyStore
TC_GAME_API DB2Storage< BroadcastTextEntry > sBroadcastTextStore
TC_GAME_API DB2Storage< ImportPriceShieldEntry > sImportPriceShieldStore
TC_GAME_API DB2Storage< ContentTuningEntry > sContentTuningStore
TC_GAME_API DB2Storage< PowerDisplayEntry > sPowerDisplayStore
TC_GAME_API DB2Storage< CreatureFamilyEntry > sCreatureFamilyStore
TC_GAME_API DB2Storage< AuctionHouseEntry > sAuctionHouseStore
TC_GAME_API DB2Storage< CreatureTypeEntry > sCreatureTypeStore
TC_GAME_API DB2Storage< GarrPlotInstanceEntry > sGarrPlotInstanceStore
TC_GAME_API DB2Storage< ImportPriceQualityEntry > sImportPriceQualityStore
TC_GAME_API DB2Storage< VehicleEntry > sVehicleStore
TC_GAME_API DB2Storage< TraitNodeGroupEntry > sTraitNodeGroupStore
#define DEFINE_DB2_SET_COMPARATOR(structure)
Definition: DB2Stores.h:316
TC_GAME_API DB2Storage< TraitNodeGroupXTraitCondEntry > sTraitNodeGroupXTraitCondStore
TC_GAME_API DB2Storage< AreaTableEntry > sAreaTableStore
TC_GAME_API DB2Storage< ItemDamageOneHandCasterEntry > sItemDamageOneHandCasterStore
TC_GAME_API DB2Storage< ArtifactPowerEntry > sArtifactPowerStore
TC_GAME_API DB2Storage< DestructibleModelDataEntry > sDestructibleModelDataStore
TC_GAME_API DB2Storage< LockEntry > sLockStore
TC_GAME_API DB2Storage< SpellRangeEntry > sSpellRangeStore
TC_GAME_API DB2Storage< DungeonEncounterEntry > sDungeonEncounterStore
TC_GAME_API DB2Storage< ItemArmorTotalEntry > sItemArmorTotalStore
TC_GAME_API DB2Storage< GarrSiteLevelPlotInstEntry > sGarrSiteLevelPlotInstStore
TC_GAME_API DB2Storage< AzeriteItemMilestonePowerEntry > sAzeriteItemMilestonePowerStore
TC_GAME_API DB2Storage< Cfg_RegionsEntry > sCfgRegionsStore
TC_GAME_API DB2Storage< SpellLabelEntry > sSpellLabelStore
TC_GAME_API DB2Storage< AchievementEntry > sAchievementStore
TC_GAME_API DB2Storage< KeystoneAffixEntry > sKeystoneAffixStore
TC_GAME_API DB2Storage< AzeriteLevelInfoEntry > sAzeriteLevelInfoStore
TC_GAME_API DB2Storage< SpellVisualEffectNameEntry > sSpellVisualEffectNameStore
TC_GAME_API DB2Storage< ItemDamageTwoHandCasterEntry > sItemDamageTwoHandCasterStore
TC_GAME_API DB2Storage< GameObjectDisplayInfoEntry > sGameObjectDisplayInfoStore
TC_GAME_API DB2Storage< PvpTalentCategoryEntry > sPvpTalentCategoryStore
TC_GAME_API DB2Storage< FactionTemplateEntry > sFactionTemplateStore
TC_GAME_API DB2Storage< SpellEffectEntry > sSpellEffectStore
UiMapSystem
Definition: DBCEnums.h:2070
Difficulty
Definition: DBCEnums.h:732
GlobalCurve
Definition: DBCEnums.h:827
ItemContext
Definition: DBCEnums.h:922
ExpectedStatType
Definition: DBCEnums.h:786
BattlegroundBracketId
Definition: DBCEnums.h:59
#define TC_GAME_API
Definition: Define.h:124
uint8_t uint8
Definition: Define.h:145
int16_t int16
Definition: Define.h:140
int32_t int32
Definition: Define.h:139
uint32_t uint32
Definition: Define.h:143
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition: Optional.h:25
Classes
Definition: SharedDefines.h:141
@ GENDER_MALE
Definition: SharedDefines.h:133
ResponseCodes
Definition: SharedDefines.h:6067
Powers
Definition: SharedDefines.h:276
SpellFamilyNames
Definition: SharedDefines.h:6369
Definition: DB2HotfixGenerator.h:25
Definition: DB2Stores.h:324
std::vector< std::pair< uint32, PlayerConditionEntry const * > > MapDifficultyConditionsContainer
Definition: DB2Stores.h:372
std::map< int32, std::vector< HotfixRecord > > HotfixContainer
Definition: DB2Stores.h:368
std::vector< ItemBonusEntry const * > ItemBonusList
Definition: DB2Stores.h:371
std::vector< MountXDisplayEntry const * > MountXDisplayContainer
Definition: DB2Stores.h:374
std::set< MountTypeXCapabilityEntry const *, MountTypeXCapabilityEntryComparator > MountTypeXCapabilitySet
Definition: DB2Stores.h:373
std::set< FriendshipRepReactionEntry const *, FriendshipRepReactionEntryComparator > FriendshipRepReactionSet
Definition: DB2Stores.h:370
Interface class for common access.
Definition: DB2Store.h:31
Definition: DB2Store.h:74
Definition: DBCEnums.h:1825
Definition: DB2Structure.h:126
Definition: DB2Structure.h:279
Definition: DB2Structure.h:324
Definition: DB2Structure.h:340
Definition: DB2Structure.h:359
Definition: DB2Structure.h:520
Definition: DB2Structure.h:591
Definition: DB2Structure.h:725
Definition: DB2Structure.h:816
Definition: DB2Structure.h:855
Definition: DB2Stores.h:282
int16 TargetLevelMax
Definition: DB2Stores.h:288
int16 MinLevelWithDelta
Definition: DB2Stores.h:285
int16 MaxLevel
Definition: DB2Stores.h:284
int16 MaxLevelWithDelta
Definition: DB2Stores.h:286
int16 TargetLevelMin
Definition: DB2Stores.h:287
int16 MinLevel
Definition: DB2Stores.h:283
Definition: DB2Structure.h:1255
Definition: DB2Stores.h:330
uint32 UniqueID
Definition: DB2Stores.h:332
friend bool operator<(HotfixId const &left, HotfixId const &right)
Definition: DB2Stores.h:334
int32 PushID
Definition: DB2Stores.h:331
Definition: DB2Stores.h:363
std::vector< uint8 > Data
Definition: DB2Stores.h:365
Definition: DB2Stores.h:341
friend bool operator<(HotfixRecord const &left, HotfixRecord const &right)
Definition: DB2Stores.h:356
Status
Definition: DB2Stores.h:343
HotfixId ID
Definition: DB2Stores.h:353
int32 RecordID
Definition: DB2Stores.h:352
uint32 TableHash
Definition: DB2Stores.h:351
Definition: DBCEnums.h:28
Definition: DB2Structure.h:1453
Definition: DB2Structure.h:1578
Definition: DB2Structure.h:1932
Definition: DB2Structure.h:2096
Definition: DB2Structure.h:2104
Definition: DB2Structure.h:2236
Definition: DB2Structure.h:2461
Definition: DB2Structure.h:2500
Definition: DB2Structure.h:2684
Definition: DB2Structure.h:2743
Definition: DB2Structure.h:2776
Definition: DB2Structure.h:2998
Definition: DB2Structure.h:2847
Definition: DB2Structure.h:2969
Definition: DB2Stores.h:292
std::vector< ChrCustomizationDisplayInfoEntry const * > Displays
Definition: DB2Stores.h:295
uint32 OptionID
Definition: DB2Stores.h:293
std::vector< ChrCustomizationChoiceEntry const * > const * Choices
Definition: DB2Stores.h:294
Definition: DB2Structure.h:3273
Definition: DB2Structure.h:3285
Definition: DB2Stores.h:299
TaxiPathBySourceAndDestination()
Definition: DB2Stores.h:300
TaxiPathBySourceAndDestination(uint32 _id, uint32 _price)
Definition: DB2Stores.h:301
uint32 ID
Definition: DB2Stores.h:303
uint32 price
Definition: DB2Stores.h:304
Definition: DB2Structure.h:3886
Definition: DB2Structure.h:4148
Definition: DB2Structure.h:4419