aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/DataStores/DBCStores.cpp501
-rw-r--r--src/server/game/DataStores/DBCStores.h224
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp10
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.h4
-rw-r--r--src/server/game/Entities/Player/Player.cpp30
-rw-r--r--src/server/game/Spells/SpellInfo.cpp8
-rw-r--r--src/server/shared/DataStores/DBCStructure.h28
-rw-r--r--src/server/shared/DataStores/DBCfmt.h242
8 files changed, 520 insertions, 527 deletions
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index db1812f4bb0..d2bc89c53cd 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -39,152 +39,150 @@ typedef std::map<uint32, uint32> AreaFlagByMapID;
typedef std::tuple<int16, int8, int32> WMOAreaTableKey;
typedef std::map<WMOAreaTableKey, WMOAreaTableEntry const*> WMOAreaInfoByTripple;
-#define DEFINE_DBC_STORAGE(dbc) DBCStorage <dbc ## Entry> s ## dbc ## Store(DBCfmt_ ## dbc);
-
-DEFINE_DBC_STORAGE(AreaTable);
-DEFINE_DBC_STORAGE(AreaGroup);
-DEFINE_DBC_STORAGE(AreaPOI);
+DBCStorage <AreaTableEntry> sAreaTableStore(AreaTableEntryfmt);
+DBCStorage <AreaGroupEntry> sAreaGroupStore(AreaGroupEntryfmt);
+DBCStorage <AreaPOIEntry> sAreaPOIStore(AreaPOIEntryfmt);
static WMOAreaInfoByTripple sWMOAreaInfoByTripple;
-DEFINE_DBC_STORAGE(Achievement);
-DEFINE_DBC_STORAGE(AchievementCriteria);
-DEFINE_DBC_STORAGE(AreaTrigger);
-DEFINE_DBC_STORAGE(AuctionHouse);
-DEFINE_DBC_STORAGE(BankBagSlotPrices);
-DEFINE_DBC_STORAGE(BannedAddOns);
-DEFINE_DBC_STORAGE(BattlemasterList);
-DEFINE_DBC_STORAGE(BarberShopStyle);
-DEFINE_DBC_STORAGE(CharacterFacialHairStyles);
+DBCStorage <AchievementEntry> sAchievementStore(Achievementfmt);
+DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore(AchievementCriteriafmt);
+DBCStorage <AreaTriggerEntry> sAreaTriggerStore(AreaTriggerEntryfmt);
+DBCStorage <AuctionHouseEntry> sAuctionHouseStore(AuctionHouseEntryfmt);
+DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore(BankBagSlotPricesEntryfmt);
+DBCStorage <BannedAddOnsEntry> sBannedAddOnsStore(BannedAddOnsfmt);
+DBCStorage <BattlemasterListEntry> sBattlemasterListStore(BattlemasterListEntryfmt);
+DBCStorage <BarberShopStyleEntry> sBarberShopStyleStore(BarberShopStyleEntryfmt);
+DBCStorage <CharacterFacialHairStylesEntry> sCharacterFacialHairStylesStore(CharacterFacialHairStylesfmt);
std::unordered_map<uint32, CharacterFacialHairStylesEntry const*> sCharFacialHairMap;
-DEFINE_DBC_STORAGE(CharSections);
+DBCStorage <CharSectionsEntry> sCharSectionsStore(CharSectionsEntryfmt);
std::unordered_multimap<uint32, CharSectionsEntry const*> sCharSectionMap;
-DEFINE_DBC_STORAGE(CharStartOutfit);
+DBCStorage <CharStartOutfitEntry> sCharStartOutfitStore(CharStartOutfitEntryfmt);
std::map<uint32, CharStartOutfitEntry const*> sCharStartOutfitMap;
-DEFINE_DBC_STORAGE(CharTitles);
-DEFINE_DBC_STORAGE(ChatChannels);
-DEFINE_DBC_STORAGE(ChrClasses);
-DEFINE_DBC_STORAGE(ChrRaces);
-DEFINE_DBC_STORAGE(CinematicCamera);
-DEFINE_DBC_STORAGE(CinematicSequences);
-DEFINE_DBC_STORAGE(CreatureDisplayInfo);
-DEFINE_DBC_STORAGE(CreatureDisplayInfoExtra);
-DEFINE_DBC_STORAGE(CreatureFamily);
-DEFINE_DBC_STORAGE(CreatureModelData);
-DEFINE_DBC_STORAGE(CreatureSpellData);
-DEFINE_DBC_STORAGE(CreatureType);
-DEFINE_DBC_STORAGE(CurrencyTypes);
-
-DEFINE_DBC_STORAGE(DestructibleModelData);
-DEFINE_DBC_STORAGE(DungeonEncounter);
-DEFINE_DBC_STORAGE(DurabilityQuality);
-DEFINE_DBC_STORAGE(DurabilityCosts);
-
-DEFINE_DBC_STORAGE(Emotes);
-DEFINE_DBC_STORAGE(EmotesText);
+DBCStorage <CharTitlesEntry> sCharTitlesStore(CharTitlesEntryfmt);
+DBCStorage <ChatChannelsEntry> sChatChannelsStore(ChatChannelsEntryfmt);
+DBCStorage <ChrClassesEntry> sChrClassesStore(ChrClassesEntryfmt);
+DBCStorage <ChrRacesEntry> sChrRacesStore(ChrRacesEntryfmt);
+DBCStorage <CinematicCameraEntry> sCinematicCameraStore(CinematicCameraEntryfmt);
+DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore(CinematicSequencesEntryfmt);
+DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore(CreatureDisplayInfofmt);
+DBCStorage <CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore(CreatureDisplayInfoExtrafmt);
+DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore(CreatureFamilyfmt);
+DBCStorage <CreatureModelDataEntry> sCreatureModelDataStore(CreatureModelDatafmt);
+DBCStorage <CreatureSpellDataEntry> sCreatureSpellDataStore(CreatureSpellDatafmt);
+DBCStorage <CreatureTypeEntry> sCreatureTypeStore(CreatureTypefmt);
+DBCStorage <CurrencyTypesEntry> sCurrencyTypesStore(CurrencyTypesfmt);
+
+DBCStorage <DestructibleModelDataEntry> sDestructibleModelDataStore(DestructibleModelDatafmt);
+DBCStorage <DungeonEncounterEntry> sDungeonEncounterStore(DungeonEncounterfmt);
+DBCStorage <DurabilityQualityEntry> sDurabilityQualityStore(DurabilityQualityfmt);
+DBCStorage <DurabilityCostsEntry> sDurabilityCostsStore(DurabilityCostsfmt);
+
+DBCStorage <EmotesEntry> sEmotesStore(EmotesEntryfmt);
+DBCStorage <EmotesTextEntry> sEmotesTextStore(EmotesTextEntryfmt);
typedef std::tuple<uint32, uint32, uint32> EmotesTextSoundKey;
static std::map<EmotesTextSoundKey, EmotesTextSoundEntry const*> sEmotesTextSoundMap;
-DEFINE_DBC_STORAGE(EmotesTextSound);
+DBCStorage <EmotesTextSoundEntry> sEmotesTextSoundStore(EmotesTextSoundEntryfmt);
typedef std::map<uint32, SimpleFactionsList> FactionTeamMap;
static FactionTeamMap sFactionTeamMap;
-DEFINE_DBC_STORAGE(Faction);
-DEFINE_DBC_STORAGE(FactionTemplate);
-
-DEFINE_DBC_STORAGE(GameObjectDisplayInfo);
-DEFINE_DBC_STORAGE(GemProperties);
-DEFINE_DBC_STORAGE(GlyphProperties);
-DEFINE_DBC_STORAGE(GlyphSlot);
-
-DEFINE_DBC_STORAGE(gtBarberShopCostBase);
-DEFINE_DBC_STORAGE(gtCombatRatings);
-DEFINE_DBC_STORAGE(gtChanceToMeleeCritBase);
-DEFINE_DBC_STORAGE(gtChanceToMeleeCrit);
-DEFINE_DBC_STORAGE(gtChanceToSpellCritBase);
-DEFINE_DBC_STORAGE(gtChanceToSpellCrit);
-DEFINE_DBC_STORAGE(gtNPCManaCostScaler);
-DEFINE_DBC_STORAGE(gtOCTClassCombatRatingScalar);
-DEFINE_DBC_STORAGE(gtOCTRegenHP);
-//DEFINE_DBC_STORAGE(gtOCTRegenMP);
-DEFINE_DBC_STORAGE(gtRegenHPPerSpt);
-DEFINE_DBC_STORAGE(gtRegenMPPerSpt);
-
-DEFINE_DBC_STORAGE(Holidays);
-
-DEFINE_DBC_STORAGE(Item);
-DEFINE_DBC_STORAGE(ItemBagFamily);
-//DEFINE_DBC_STORAGE(ItemCondExtCosts);
-//DEFINE_DBC_STORAGE(ItemDisplayInfo);
-DEFINE_DBC_STORAGE(ItemExtendedCost);
-DEFINE_DBC_STORAGE(ItemLimitCategory);
-DEFINE_DBC_STORAGE(ItemRandomProperties);
-DEFINE_DBC_STORAGE(ItemRandomSuffix);
-DEFINE_DBC_STORAGE(ItemSet);
-
-DEFINE_DBC_STORAGE(LFGDungeons);
-DEFINE_DBC_STORAGE(Light);
-DEFINE_DBC_STORAGE(LiquidType);
-DEFINE_DBC_STORAGE(Lock);
-
-DEFINE_DBC_STORAGE(MailTemplate);
-DEFINE_DBC_STORAGE(Map);
+DBCStorage <FactionEntry> sFactionStore(FactionEntryfmt);
+DBCStorage <FactionTemplateEntry> sFactionTemplateStore(FactionTemplateEntryfmt);
+
+DBCStorage <GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore(GameObjectDisplayInfofmt);
+DBCStorage <GemPropertiesEntry> sGemPropertiesStore(GemPropertiesEntryfmt);
+DBCStorage <GlyphPropertiesEntry> sGlyphPropertiesStore(GlyphPropertiesfmt);
+DBCStorage <GlyphSlotEntry> sGlyphSlotStore(GlyphSlotfmt);
+
+DBCStorage <GtBarberShopCostBaseEntry> sGtBarberShopCostBaseStore(GtBarberShopCostBasefmt);
+DBCStorage <GtCombatRatingsEntry> sGtCombatRatingsStore(GtCombatRatingsfmt);
+DBCStorage <GtChanceToMeleeCritBaseEntry> sGtChanceToMeleeCritBaseStore(GtChanceToMeleeCritBasefmt);
+DBCStorage <GtChanceToMeleeCritEntry> sGtChanceToMeleeCritStore(GtChanceToMeleeCritfmt);
+DBCStorage <GtChanceToSpellCritBaseEntry> sGtChanceToSpellCritBaseStore(GtChanceToSpellCritBasefmt);
+DBCStorage <GtChanceToSpellCritEntry> sGtChanceToSpellCritStore(GtChanceToSpellCritfmt);
+DBCStorage <GtNPCManaCostScalerEntry> sGtNPCManaCostScalerStore(GtNPCManaCostScalerfmt);
+DBCStorage <GtOCTClassCombatRatingScalarEntry> sGtOCTClassCombatRatingScalarStore(GtOCTClassCombatRatingScalarfmt);
+DBCStorage <GtOCTRegenHPEntry> sGtOCTRegenHPStore(GtOCTRegenHPfmt);
+//DBCStorage <GtOCTRegenMPEntry> sGtOCTRegenMPStore(GtOCTRegenMPfmt); -- not used currently
+DBCStorage <GtRegenHPPerSptEntry> sGtRegenHPPerSptStore(GtRegenHPPerSptfmt);
+DBCStorage <GtRegenMPPerSptEntry> sGtRegenMPPerSptStore(GtRegenMPPerSptfmt);
+
+DBCStorage <HolidaysEntry> sHolidaysStore(Holidaysfmt);
+
+DBCStorage <ItemEntry> sItemStore(Itemfmt);
+DBCStorage <ItemBagFamilyEntry> sItemBagFamilyStore(ItemBagFamilyfmt);
+//DBCStorage <ItemCondExtCostsEntry> sItemCondExtCostsStore(ItemCondExtCostsEntryfmt);
+//DBCStorage <ItemDisplayInfoEntry> sItemDisplayInfoStore(ItemDisplayTemplateEntryfmt); -- not used currently
+DBCStorage <ItemExtendedCostEntry> sItemExtendedCostStore(ItemExtendedCostEntryfmt);
+DBCStorage <ItemLimitCategoryEntry> sItemLimitCategoryStore(ItemLimitCategoryEntryfmt);
+DBCStorage <ItemRandomPropertiesEntry> sItemRandomPropertiesStore(ItemRandomPropertiesfmt);
+DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore(ItemRandomSuffixfmt);
+DBCStorage <ItemSetEntry> sItemSetStore(ItemSetEntryfmt);
+
+DBCStorage <LFGDungeonEntry> sLFGDungeonStore(LFGDungeonEntryfmt);
+DBCStorage <LightEntry> sLightStore(LightEntryfmt);
+DBCStorage <LiquidTypeEntry> sLiquidTypeStore(LiquidTypefmt);
+DBCStorage <LockEntry> sLockStore(LockEntryfmt);
+
+DBCStorage <MailTemplateEntry> sMailTemplateStore(MailTemplateEntryfmt);
+DBCStorage <MapEntry> sMapStore(MapEntryfmt);
// DBC used only for initialization sMapDifficultyMap at startup.
-DEFINE_DBC_STORAGE(MapDifficulty);
+DBCStorage <MapDifficultyEntry> sMapDifficultyStore(MapDifficultyEntryfmt); // only for loading
MapDifficultyMap sMapDifficultyMap;
-DEFINE_DBC_STORAGE(Movie);
+DBCStorage <MovieEntry> sMovieStore(MovieEntryfmt);
-DEFINE_DBC_STORAGE(NamesProfanity);
-DEFINE_DBC_STORAGE(NamesReserved);
+DBCStorage<NamesProfanityEntry> sNamesProfanityStore(NamesProfanityEntryfmt);
+DBCStorage<NamesReservedEntry> sNamesReservedStore(NamesReservedEntryfmt);
typedef std::array<std::vector<Trinity::wregex>, TOTAL_LOCALES> NameValidationRegexContainer;
NameValidationRegexContainer NamesProfaneValidators;
NameValidationRegexContainer NamesReservedValidators;
-DEFINE_DBC_STORAGE(OverrideSpellData);
+DBCStorage <OverrideSpellDataEntry> sOverrideSpellDataStore(OverrideSpellDatafmt);
-DEFINE_DBC_STORAGE(PowerDisplay);
-DEFINE_DBC_STORAGE(PvPDifficulty);
+DBCStorage <PowerDisplayEntry> sPowerDisplayStore(PowerDisplayfmt);
+DBCStorage <PvPDifficultyEntry> sPvPDifficultyStore(PvPDifficultyfmt);
-DEFINE_DBC_STORAGE(QuestSort);
-DEFINE_DBC_STORAGE(QuestXP);
-DEFINE_DBC_STORAGE(QuestFactionReward);
-DEFINE_DBC_STORAGE(RandomPropertiesPoints);
-DEFINE_DBC_STORAGE(ScalingStatDistribution);
-DEFINE_DBC_STORAGE(ScalingStatValues);
+DBCStorage <QuestSortEntry> sQuestSortStore(QuestSortEntryfmt);
+DBCStorage <QuestXPEntry> sQuestXPStore(QuestXPfmt);
+DBCStorage <QuestFactionRewEntry> sQuestFactionRewardStore(QuestFactionRewardfmt);
+DBCStorage <RandomPropertiesPointsEntry> sRandomPropertiesPointsStore(RandomPropertiesPointsfmt);
+DBCStorage <ScalingStatDistributionEntry> sScalingStatDistributionStore(ScalingStatDistributionfmt);
+DBCStorage <ScalingStatValuesEntry> sScalingStatValuesStore(ScalingStatValuesfmt);
-DEFINE_DBC_STORAGE(SkillLine);
-DEFINE_DBC_STORAGE(SkillLineAbility);
-DEFINE_DBC_STORAGE(SkillRaceClassInfo);
+DBCStorage <SkillLineEntry> sSkillLineStore(SkillLinefmt);
+DBCStorage <SkillLineAbilityEntry> sSkillLineAbilityStore(SkillLineAbilityfmt);
+DBCStorage <SkillRaceClassInfoEntry> sSkillRaceClassInfoStore(SkillRaceClassInfofmt);
SkillRaceClassInfoMap SkillRaceClassInfoBySkill;
-DEFINE_DBC_STORAGE(SkillTiers);
+DBCStorage <SkillTiersEntry> sSkillTiersStore(SkillTiersfmt);
-DEFINE_DBC_STORAGE(SoundEntries);
+DBCStorage <SoundEntriesEntry> sSoundEntriesStore(SoundEntriesfmt);
-DEFINE_DBC_STORAGE(SpellItemEnchantment);
-DEFINE_DBC_STORAGE(SpellItemEnchantmentCondition);
-DEFINE_DBC_STORAGE(Spell);
+DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore(SpellItemEnchantmentfmt);
+DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore(SpellItemEnchantmentConditionfmt);
+DBCStorage <SpellEntry> sSpellStore(SpellEntryfmt);
PetFamilySpellsStore sPetFamilySpellsStore;
-DEFINE_DBC_STORAGE(SpellCastTimes);
-DEFINE_DBC_STORAGE(SpellCategory);
-DEFINE_DBC_STORAGE(SpellDifficulty);
-DEFINE_DBC_STORAGE(SpellDuration);
-DEFINE_DBC_STORAGE(SpellFocusObject);
-DEFINE_DBC_STORAGE(SpellRadius);
-DEFINE_DBC_STORAGE(SpellRange);
-DEFINE_DBC_STORAGE(SpellRuneCost);
-DEFINE_DBC_STORAGE(SpellShapeshift);
-DEFINE_DBC_STORAGE(StableSlotPrices);
-DEFINE_DBC_STORAGE(SummonProperties);
-DEFINE_DBC_STORAGE(Talent);
+DBCStorage <SpellCastTimesEntry> sSpellCastTimesStore(SpellCastTimefmt);
+DBCStorage <SpellCategoryEntry> sSpellCategoryStore(SpellCategoryfmt);
+DBCStorage <SpellDifficultyEntry> sSpellDifficultyStore(SpellDifficultyfmt);
+DBCStorage <SpellDurationEntry> sSpellDurationStore(SpellDurationfmt);
+DBCStorage <SpellFocusObjectEntry> sSpellFocusObjectStore(SpellFocusObjectfmt);
+DBCStorage <SpellRadiusEntry> sSpellRadiusStore(SpellRadiusfmt);
+DBCStorage <SpellRangeEntry> sSpellRangeStore(SpellRangefmt);
+DBCStorage <SpellRuneCostEntry> sSpellRuneCostStore(SpellRuneCostfmt);
+DBCStorage <SpellShapeshiftEntry> sSpellShapeshiftStore(SpellShapeshiftfmt);
+DBCStorage <StableSlotPricesEntry> sStableSlotPricesStore(StableSlotPricesfmt);
+DBCStorage <SummonPropertiesEntry> sSummonPropertiesStore(SummonPropertiesfmt);
+DBCStorage <TalentEntry> sTalentStore(TalentEntryfmt);
TalentSpellPosMap sTalentSpellPosMap;
-DEFINE_DBC_STORAGE(TalentTab);
+DBCStorage <TalentTabEntry> sTalentTabStore(TalentTabEntryfmt);
// store absolute bit position for first rank for talent inspect
static uint32 sTalentTabPages[MAX_CLASSES][3];
-DEFINE_DBC_STORAGE(TaxiNodes);
+DBCStorage <TaxiNodesEntry> sTaxiNodesStore(TaxiNodesEntryfmt);
TaxiMask sTaxiNodesMask;
TaxiMask sOldContinentsNodesMask;
TaxiMask sHordeTaxiNodesMask;
@@ -193,24 +191,22 @@ TaxiMask sDeathKnightTaxiNodesMask;
// DBC used only for initialization sTaxiPathSetBySource at startup.
TaxiPathSetBySource sTaxiPathSetBySource;
-DEFINE_DBC_STORAGE(TaxiPath);
+DBCStorage <TaxiPathEntry> sTaxiPathStore(TaxiPathEntryfmt);
// DBC used only for initialization sTaxiPathNodeStore at startup.
TaxiPathNodesByPath sTaxiPathNodesByPath;
-static DEFINE_DBC_STORAGE(TaxiPathNode);
-
-DEFINE_DBC_STORAGE(TeamContributionPoints);
-DEFINE_DBC_STORAGE(TotemCategory);
-DEFINE_DBC_STORAGE(TransportAnimation);
-DEFINE_DBC_STORAGE(TransportRotation);
-DEFINE_DBC_STORAGE(Vehicle);
-DEFINE_DBC_STORAGE(VehicleSeat);
-DEFINE_DBC_STORAGE(WMOAreaTable);
-DEFINE_DBC_STORAGE(WorldMapArea);
-DEFINE_DBC_STORAGE(WorldMapOverlay);
-DEFINE_DBC_STORAGE(WorldSafeLocs);
-
-#undef DEFINE_DBC_STORAGE
+static DBCStorage <TaxiPathNodeEntry> sTaxiPathNodeStore(TaxiPathNodeEntryfmt);
+
+DBCStorage <TeamContributionPointsEntry> sTeamContributionPointsStore(TeamContributionPointsfmt);
+DBCStorage <TotemCategoryEntry> sTotemCategoryStore(TotemCategoryEntryfmt);
+DBCStorage <TransportAnimationEntry> sTransportAnimationStore(TransportAnimationfmt);
+DBCStorage <TransportRotationEntry> sTransportRotationStore(TransportRotationfmt);
+DBCStorage <VehicleEntry> sVehicleStore(VehicleEntryfmt);
+DBCStorage <VehicleSeatEntry> sVehicleSeatStore(VehicleSeatEntryfmt);
+DBCStorage <WMOAreaTableEntry> sWMOAreaTableStore(WMOAreaTableEntryfmt);
+DBCStorage <WorldMapAreaEntry> sWorldMapAreaStore(WorldMapAreaEntryfmt);
+DBCStorage <WorldMapOverlayEntry> sWorldMapOverlayStore(WorldMapOverlayEntryfmt);
+DBCStorage <WorldSafeLocsEntry> sWorldSafeLocsStore(WorldSafeLocsEntryfmt);
typedef std::list<std::string> StoreProblemList;
@@ -277,129 +273,130 @@ void LoadDBCStores(const std::string& dataPath)
StoreProblemList bad_dbc_files;
uint32 availableDbcLocales = 0xFFFFFFFF;
-#define LOAD_DBC(dbc) LoadDBC(availableDbcLocales, bad_dbc_files, s ## dbc ## Store, dbcPath, #dbc ".dbc")
-#define LOAD_DBC_EXT(dbc) LoadDBC(availableDbcLocales, bad_dbc_files, s ## dbc ## Store, dbcPath, #dbc ".dbc", DBCfmt_ ## dbc ## _DBFormat, DBCfmt_ ## dbc ## _DBIndex)
-
- LOAD_DBC(AreaTable);
- LOAD_DBC(AchievementCriteria);
- LOAD_DBC(AreaTrigger);
- LOAD_DBC(AreaGroup);
- LOAD_DBC(AreaPOI);
- LOAD_DBC(AuctionHouse);
- LOAD_DBC(BankBagSlotPrices);
- LOAD_DBC(BannedAddOns);
- LOAD_DBC(BattlemasterList);
- LOAD_DBC(BarberShopStyle);
- LOAD_DBC(CharacterFacialHairStyles);
- LOAD_DBC(CharSections);
- LOAD_DBC(CharStartOutfit);
- LOAD_DBC(CharTitles);
- LOAD_DBC(ChatChannels);
- LOAD_DBC(ChrClasses);
- LOAD_DBC(ChrRaces);
- LOAD_DBC(CinematicCamera);
- LOAD_DBC(CinematicSequences);
- LOAD_DBC(CreatureDisplayInfo);
- LOAD_DBC(CreatureDisplayInfoExtra);
- LOAD_DBC(CreatureFamily);
- LOAD_DBC(CreatureModelData);
- LOAD_DBC(CreatureSpellData);
- LOAD_DBC(CreatureType);
- LOAD_DBC(CurrencyTypes);
- LOAD_DBC(DestructibleModelData);
- LOAD_DBC(DungeonEncounter);
- LOAD_DBC(DurabilityCosts);
- LOAD_DBC(DurabilityQuality);
- LOAD_DBC(Emotes);
- LOAD_DBC(EmotesText);
- LOAD_DBC(EmotesTextSound);
- LOAD_DBC(Faction);
- LOAD_DBC(FactionTemplate);
- LOAD_DBC(GameObjectDisplayInfo);
- LOAD_DBC(GemProperties);
- LOAD_DBC(GlyphProperties);
- LOAD_DBC(GlyphSlot);
- LOAD_DBC(gtBarberShopCostBase);
- LOAD_DBC(gtCombatRatings);
- LOAD_DBC(gtChanceToMeleeCritBase);
- LOAD_DBC(gtChanceToMeleeCrit);
- LOAD_DBC(gtChanceToSpellCritBase);
- LOAD_DBC(gtChanceToSpellCrit);
- LOAD_DBC(gtNPCManaCostScaler);
- LOAD_DBC(gtOCTClassCombatRatingScalar);
- LOAD_DBC(gtOCTRegenHP);
- //LOAD_DBC(gtOCTRegenMP);
- LOAD_DBC(gtRegenHPPerSpt);
- LOAD_DBC(gtRegenMPPerSpt);
- LOAD_DBC(Holidays);
- LOAD_DBC(Item);
- LOAD_DBC(ItemBagFamily);
- //LOAD_DBC(ItemDisplayInfo);
- //LOAD_DBC(ItemCondExtCosts);
- LOAD_DBC(ItemExtendedCost);
- LOAD_DBC(ItemLimitCategory);
- LOAD_DBC(ItemRandomProperties);
- LOAD_DBC(ItemRandomSuffix);
- LOAD_DBC(ItemSet);
- LOAD_DBC(LFGDungeons);
- LOAD_DBC(Light);
- LOAD_DBC(LiquidType);
- LOAD_DBC(Lock);
- LOAD_DBC(MailTemplate);
- LOAD_DBC(Map);
- LOAD_DBC(MapDifficulty);
- LOAD_DBC(Movie);
- LOAD_DBC(NamesProfanity);
- LOAD_DBC(NamesReserved);
- LOAD_DBC(OverrideSpellData);
- LOAD_DBC(PowerDisplay);
- LOAD_DBC(PvPDifficulty);
- LOAD_DBC(QuestXP);
- LOAD_DBC(QuestFactionReward);
- LOAD_DBC(QuestSort);
- LOAD_DBC(RandomPropertiesPoints);
- LOAD_DBC(ScalingStatDistribution);
- LOAD_DBC(ScalingStatValues);
- LOAD_DBC(SkillLine);
- LOAD_DBC(SkillLineAbility);
- LOAD_DBC(SkillRaceClassInfo);
- LOAD_DBC(SkillTiers);
- LOAD_DBC(SoundEntries);
- LOAD_DBC(SpellCastTimes);
- LOAD_DBC(SpellCategory);
- LOAD_DBC(SpellDuration);
- LOAD_DBC(SpellFocusObject);
- LOAD_DBC(SpellItemEnchantment);
- LOAD_DBC(SpellItemEnchantmentCondition);
- LOAD_DBC(SpellRadius);
- LOAD_DBC(SpellRange);
- LOAD_DBC(SpellRuneCost);
- LOAD_DBC(SpellShapeshift);
- LOAD_DBC(StableSlotPrices);
- LOAD_DBC(SummonProperties);
- LOAD_DBC(Talent);
- LOAD_DBC(TalentTab);
- LOAD_DBC(TaxiNodes);
- LOAD_DBC(TaxiPath);
- LOAD_DBC(TaxiPathNode);
- LOAD_DBC(TeamContributionPoints);
- LOAD_DBC(TotemCategory);
- LOAD_DBC(TransportAnimation);
- LOAD_DBC(TransportRotation);
- LOAD_DBC(Vehicle);
- LOAD_DBC(VehicleSeat);
- LOAD_DBC(WMOAreaTable);
- LOAD_DBC(WorldMapArea);
- LOAD_DBC(WorldMapOverlay);
- LOAD_DBC(WorldSafeLocs);
-
- LOAD_DBC_EXT(Achievement);
- LOAD_DBC_EXT(Spell);
- LOAD_DBC_EXT(SpellDifficulty);
+#define LOAD_DBC(store, file) LoadDBC(availableDbcLocales, bad_dbc_files, store, dbcPath, file)
+
+ LOAD_DBC(sAreaTableStore, "AreaTable.dbc");
+ LOAD_DBC(sAchievementCriteriaStore, "Achievement_Criteria.dbc");
+ LOAD_DBC(sAreaTriggerStore, "AreaTrigger.dbc");
+ LOAD_DBC(sAreaGroupStore, "AreaGroup.dbc");
+ LOAD_DBC(sAreaPOIStore, "AreaPOI.dbc");
+ LOAD_DBC(sAuctionHouseStore, "AuctionHouse.dbc");
+ LOAD_DBC(sBankBagSlotPricesStore, "BankBagSlotPrices.dbc");
+ LOAD_DBC(sBannedAddOnsStore, "BannedAddOns.dbc");
+ LOAD_DBC(sBattlemasterListStore, "BattlemasterList.dbc");
+ LOAD_DBC(sBarberShopStyleStore, "BarberShopStyle.dbc");
+ LOAD_DBC(sCharacterFacialHairStylesStore, "CharacterFacialHairStyles.dbc");
+ LOAD_DBC(sCharSectionsStore, "CharSections.dbc");
+ LOAD_DBC(sCharStartOutfitStore, "CharStartOutfit.dbc");
+ LOAD_DBC(sCharTitlesStore, "CharTitles.dbc");
+ LOAD_DBC(sChatChannelsStore, "ChatChannels.dbc");
+ LOAD_DBC(sChrClassesStore, "ChrClasses.dbc");
+ LOAD_DBC(sChrRacesStore, "ChrRaces.dbc");
+ LOAD_DBC(sCinematicCameraStore, "CinematicCamera.dbc");
+ LOAD_DBC(sCinematicSequencesStore, "CinematicSequences.dbc");
+ LOAD_DBC(sCreatureDisplayInfoStore, "CreatureDisplayInfo.dbc");
+ LOAD_DBC(sCreatureDisplayInfoExtraStore, "CreatureDisplayInfoExtra.dbc");
+ LOAD_DBC(sCreatureFamilyStore, "CreatureFamily.dbc");
+ LOAD_DBC(sCreatureModelDataStore, "CreatureModelData.dbc");
+ LOAD_DBC(sCreatureSpellDataStore, "CreatureSpellData.dbc");
+ LOAD_DBC(sCreatureTypeStore, "CreatureType.dbc");
+ LOAD_DBC(sCurrencyTypesStore, "CurrencyTypes.dbc");
+ LOAD_DBC(sDestructibleModelDataStore, "DestructibleModelData.dbc");
+ LOAD_DBC(sDungeonEncounterStore, "DungeonEncounter.dbc");
+ LOAD_DBC(sDurabilityCostsStore, "DurabilityCosts.dbc");
+ LOAD_DBC(sDurabilityQualityStore, "DurabilityQuality.dbc");
+ LOAD_DBC(sEmotesStore, "Emotes.dbc");
+ LOAD_DBC(sEmotesTextStore, "EmotesText.dbc");
+ LOAD_DBC(sEmotesTextSoundStore, "EmotesTextSound.dbc");
+ LOAD_DBC(sFactionStore, "Faction.dbc");
+ LOAD_DBC(sFactionTemplateStore, "FactionTemplate.dbc");
+ LOAD_DBC(sGameObjectDisplayInfoStore, "GameObjectDisplayInfo.dbc");
+ LOAD_DBC(sGemPropertiesStore, "GemProperties.dbc");
+ LOAD_DBC(sGlyphPropertiesStore, "GlyphProperties.dbc");
+ LOAD_DBC(sGlyphSlotStore, "GlyphSlot.dbc");
+ LOAD_DBC(sGtBarberShopCostBaseStore, "gtBarberShopCostBase.dbc");
+ LOAD_DBC(sGtCombatRatingsStore, "gtCombatRatings.dbc");
+ LOAD_DBC(sGtChanceToMeleeCritBaseStore, "gtChanceToMeleeCritBase.dbc");
+ LOAD_DBC(sGtChanceToMeleeCritStore, "gtChanceToMeleeCrit.dbc");
+ LOAD_DBC(sGtChanceToSpellCritBaseStore, "gtChanceToSpellCritBase.dbc");
+ LOAD_DBC(sGtChanceToSpellCritStore, "gtChanceToSpellCrit.dbc");
+ LOAD_DBC(sGtNPCManaCostScalerStore, "gtNPCManaCostScaler.dbc");
+ LOAD_DBC(sGtOCTClassCombatRatingScalarStore, "gtOCTClassCombatRatingScalar.dbc");
+ LOAD_DBC(sGtOCTRegenHPStore, "gtOCTRegenHP.dbc");
+ //LOAD_DBC(sGtOCTRegenMPStore, "gtOCTRegenMP.dbc"); -- not used currently
+ LOAD_DBC(sGtRegenHPPerSptStore, "gtRegenHPPerSpt.dbc");
+ LOAD_DBC(sGtRegenMPPerSptStore, "gtRegenMPPerSpt.dbc");
+ LOAD_DBC(sHolidaysStore, "Holidays.dbc");
+ LOAD_DBC(sItemStore, "Item.dbc");
+ LOAD_DBC(sItemBagFamilyStore, "ItemBagFamily.dbc");
+ //LOAD_DBC(sItemDisplayInfoStore, "ItemDisplayInfo.dbc"); -- not used currently
+ //LOAD_DBC(sItemCondExtCostsStore, "ItemCondExtCosts.dbc");
+ LOAD_DBC(sItemExtendedCostStore, "ItemExtendedCost.dbc");
+ LOAD_DBC(sItemLimitCategoryStore, "ItemLimitCategory.dbc");
+ LOAD_DBC(sItemRandomPropertiesStore, "ItemRandomProperties.dbc");
+ LOAD_DBC(sItemRandomSuffixStore, "ItemRandomSuffix.dbc");
+ LOAD_DBC(sItemSetStore, "ItemSet.dbc");
+ LOAD_DBC(sLFGDungeonStore, "LFGDungeons.dbc");
+ LOAD_DBC(sLightStore, "Light.dbc");
+ LOAD_DBC(sLiquidTypeStore, "LiquidType.dbc");
+ LOAD_DBC(sLockStore, "Lock.dbc");
+ LOAD_DBC(sMailTemplateStore, "MailTemplate.dbc");
+ LOAD_DBC(sMapStore, "Map.dbc");
+ LOAD_DBC(sMapDifficultyStore, "MapDifficulty.dbc");
+ LOAD_DBC(sMovieStore, "Movie.dbc");
+ LOAD_DBC(sNamesProfanityStore, "NamesProfanity.dbc");
+ LOAD_DBC(sNamesReservedStore, "NamesReserved.dbc");
+ LOAD_DBC(sOverrideSpellDataStore, "OverrideSpellData.dbc");
+ LOAD_DBC(sPowerDisplayStore, "PowerDisplay.dbc");
+ LOAD_DBC(sPvPDifficultyStore, "PvpDifficulty.dbc");
+ LOAD_DBC(sQuestXPStore, "QuestXP.dbc");
+ LOAD_DBC(sQuestFactionRewardStore, "QuestFactionReward.dbc");
+ LOAD_DBC(sQuestSortStore, "QuestSort.dbc");
+ LOAD_DBC(sRandomPropertiesPointsStore, "RandPropPoints.dbc");
+ LOAD_DBC(sScalingStatDistributionStore, "ScalingStatDistribution.dbc");
+ LOAD_DBC(sScalingStatValuesStore, "ScalingStatValues.dbc");
+ LOAD_DBC(sSkillLineStore, "SkillLine.dbc");
+ LOAD_DBC(sSkillLineAbilityStore, "SkillLineAbility.dbc");
+ LOAD_DBC(sSkillRaceClassInfoStore, "SkillRaceClassInfo.dbc");
+ LOAD_DBC(sSkillTiersStore, "SkillTiers.dbc");
+ LOAD_DBC(sSoundEntriesStore, "SoundEntries.dbc");
+ LOAD_DBC(sSpellCastTimesStore, "SpellCastTimes.dbc");
+ LOAD_DBC(sSpellCategoryStore, "SpellCategory.dbc");
+ LOAD_DBC(sSpellDurationStore, "SpellDuration.dbc");
+ LOAD_DBC(sSpellFocusObjectStore, "SpellFocusObject.dbc");
+ LOAD_DBC(sSpellItemEnchantmentStore, "SpellItemEnchantment.dbc");
+ LOAD_DBC(sSpellItemEnchantmentConditionStore, "SpellItemEnchantmentCondition.dbc");
+ LOAD_DBC(sSpellRadiusStore, "SpellRadius.dbc");
+ LOAD_DBC(sSpellRangeStore, "SpellRange.dbc");
+ LOAD_DBC(sSpellRuneCostStore, "SpellRuneCost.dbc");
+ LOAD_DBC(sSpellShapeshiftStore, "SpellShapeshiftForm.dbc");
+ LOAD_DBC(sStableSlotPricesStore, "StableSlotPrices.dbc");
+ LOAD_DBC(sSummonPropertiesStore, "SummonProperties.dbc");
+ LOAD_DBC(sTalentStore, "Talent.dbc");
+ LOAD_DBC(sTalentTabStore, "TalentTab.dbc");
+ LOAD_DBC(sTaxiNodesStore, "TaxiNodes.dbc");
+ LOAD_DBC(sTaxiPathStore, "TaxiPath.dbc");
+ LOAD_DBC(sTaxiPathNodeStore, "TaxiPathNode.dbc");
+ LOAD_DBC(sTeamContributionPointsStore, "TeamContributionPoints.dbc");
+ LOAD_DBC(sTotemCategoryStore, "TotemCategory.dbc");
+ LOAD_DBC(sTransportAnimationStore, "TransportAnimation.dbc");
+ LOAD_DBC(sTransportRotationStore, "TransportRotation.dbc");
+ LOAD_DBC(sVehicleStore, "Vehicle.dbc");
+ LOAD_DBC(sVehicleSeatStore, "VehicleSeat.dbc");
+ LOAD_DBC(sWMOAreaTableStore, "WMOAreaTable.dbc");
+ LOAD_DBC(sWorldMapAreaStore, "WorldMapArea.dbc");
+ LOAD_DBC(sWorldMapOverlayStore, "WorldMapOverlay.dbc");
+ LOAD_DBC(sWorldSafeLocsStore, "WorldSafeLocs.dbc");
#undef LOAD_DBC
-#undef LOAD_DBC_EXT
+#define LOAD_DBC_EXT(store, file, dbformat, dbpk) LoadDBC(availableDbcLocales, bad_dbc_files, store, dbcPath, file, dbformat, dbpk)
+
+ LOAD_DBC_EXT(sAchievementStore, "Achievement.dbc", CustomAchievementfmt, CustomAchievementIndex);
+ LOAD_DBC_EXT(sSpellStore, "Spell.dbc", CustomSpellEntryfmt, CustomSpellEntryIndex);
+ LOAD_DBC_EXT(sSpellDifficultyStore, "SpellDifficulty.dbc", CustomSpellDifficultyfmt, CustomSpellDifficultyIndex);
+
+#undef LOAD_DBC_EXT
for (CharacterFacialHairStylesEntry const* entry : sCharacterFacialHairStylesStore)
if (entry->Race && ((1 << (entry->Race - 1)) & RACEMASK_ALL_PLAYABLE) != 0) // ignore nonplayable races
@@ -896,12 +893,12 @@ CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, ui
return itr->second;
}
-/// Returns LFGDungeonsEntry for a specific map and difficulty. Will return first found entry if multiple dungeons use the same map (such as Scarlet Monastery)
-LFGDungeonsEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty)
+/// Returns LFGDungeonEntry for a specific map and difficulty. Will return first found entry if multiple dungeons use the same map (such as Scarlet Monastery)
+LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty)
{
- for (uint32 i = 0; i < sLFGDungeonsStore.GetNumRows(); ++i)
+ for (uint32 i = 0; i < sLFGDungeonStore.GetNumRows(); ++i)
{
- LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(i);
+ LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(i);
if (!dungeon)
continue;
diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h
index f0b555a4c6a..8bcc9c5ac24 100644
--- a/src/server/game/DataStores/DBCStores.h
+++ b/src/server/game/DataStores/DBCStores.h
@@ -75,7 +75,7 @@ TC_GAME_API CharacterFacialHairStylesEntry const* GetCharFacialHairEntry(uint8 r
TC_GAME_API CharSectionsEntry const* GetCharSectionEntry(uint8 race, CharSectionType genType, uint8 gender, uint8 type, uint8 color);
TC_GAME_API CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, uint8 gender);
-TC_GAME_API LFGDungeonsEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty);
+TC_GAME_API LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty);
TC_GAME_API uint32 GetDefaultMapLight(uint32 mapId);
@@ -87,109 +87,107 @@ TC_GAME_API ResponseCodes ValidateName(std::wstring const& name, LocaleConstant
TC_GAME_API EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender);
-#define DECLARE_DBC_STORAGE(dbc) TC_GAME_API extern DBCStorage <dbc ## Entry> s ## dbc ## Store;
-
-DECLARE_DBC_STORAGE(Achievement);
-DECLARE_DBC_STORAGE(AchievementCriteria);
-DECLARE_DBC_STORAGE(AreaTable);
-DECLARE_DBC_STORAGE(AreaGroup);
-DECLARE_DBC_STORAGE(AreaPOI);
-DECLARE_DBC_STORAGE(AreaTrigger);
-DECLARE_DBC_STORAGE(AuctionHouse);
-DECLARE_DBC_STORAGE(BankBagSlotPrices);
-DECLARE_DBC_STORAGE(BannedAddOns);
-DECLARE_DBC_STORAGE(BarberShopStyle);
-DECLARE_DBC_STORAGE(BattlemasterList);
-DECLARE_DBC_STORAGE(ChatChannels);
-DECLARE_DBC_STORAGE(CharacterFacialHairStyles);
-DECLARE_DBC_STORAGE(CharSections);
-DECLARE_DBC_STORAGE(CharStartOutfit);
-DECLARE_DBC_STORAGE(CharTitles);
-DECLARE_DBC_STORAGE(ChrClasses);
-DECLARE_DBC_STORAGE(ChrRaces);
-DECLARE_DBC_STORAGE(CinematicCamera);
-DECLARE_DBC_STORAGE(CinematicSequences);
-DECLARE_DBC_STORAGE(CreatureDisplayInfo);
-DECLARE_DBC_STORAGE(CreatureDisplayInfoExtra);
-DECLARE_DBC_STORAGE(CreatureFamily);
-DECLARE_DBC_STORAGE(CreatureModelData);
-DECLARE_DBC_STORAGE(CreatureSpellData);
-DECLARE_DBC_STORAGE(CreatureType);
-DECLARE_DBC_STORAGE(CurrencyTypes);
-DECLARE_DBC_STORAGE(DestructibleModelData);
-DECLARE_DBC_STORAGE(DungeonEncounter);
-DECLARE_DBC_STORAGE(DurabilityCosts);
-DECLARE_DBC_STORAGE(DurabilityQuality);
-DECLARE_DBC_STORAGE(Emotes);
-DECLARE_DBC_STORAGE(EmotesText);
-DECLARE_DBC_STORAGE(EmotesTextSound);
-DECLARE_DBC_STORAGE(Faction);
-DECLARE_DBC_STORAGE(FactionTemplate);
-DECLARE_DBC_STORAGE(GameObjectDisplayInfo);
-DECLARE_DBC_STORAGE(GemProperties);
-DECLARE_DBC_STORAGE(GlyphProperties);
-DECLARE_DBC_STORAGE(GlyphSlot);
-
-DECLARE_DBC_STORAGE(gtBarberShopCostBase);
-DECLARE_DBC_STORAGE(gtCombatRatings);
-DECLARE_DBC_STORAGE(gtChanceToMeleeCritBase);
-DECLARE_DBC_STORAGE(gtChanceToMeleeCrit);
-DECLARE_DBC_STORAGE(gtChanceToSpellCritBase);
-DECLARE_DBC_STORAGE(gtChanceToSpellCrit);
-DECLARE_DBC_STORAGE(gtNPCManaCostScaler);
-DECLARE_DBC_STORAGE(gtOCTClassCombatRatingScalar);
-DECLARE_DBC_STORAGE(gtOCTRegenHP);
-//DECLARE_DBC_STORAGE(gtOCTRegenMP);
-DECLARE_DBC_STORAGE(gtRegenHPPerSpt);
-DECLARE_DBC_STORAGE(gtRegenMPPerSpt);
-DECLARE_DBC_STORAGE(Holidays);
-DECLARE_DBC_STORAGE(Item);
-DECLARE_DBC_STORAGE(ItemBagFamily);
-//DECLARE_DBC_STORAGE(ItemDisplayInfo);
-DECLARE_DBC_STORAGE(ItemExtendedCost);
-DECLARE_DBC_STORAGE(ItemLimitCategory);
-DECLARE_DBC_STORAGE(ItemRandomProperties);
-DECLARE_DBC_STORAGE(ItemRandomSuffix);
-DECLARE_DBC_STORAGE(ItemSet);
-DECLARE_DBC_STORAGE(LFGDungeons);
-DECLARE_DBC_STORAGE(LiquidType);
-DECLARE_DBC_STORAGE(Lock);
-DECLARE_DBC_STORAGE(MailTemplate);
-DECLARE_DBC_STORAGE(Map);
-//DECLARE_DBC_STORAGE(MapDifficulty);
+TC_GAME_API extern DBCStorage <AchievementEntry> sAchievementStore;
+TC_GAME_API extern DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore;
+TC_GAME_API extern DBCStorage <AreaTableEntry> sAreaTableStore;
+TC_GAME_API extern DBCStorage <AreaGroupEntry> sAreaGroupStore;
+TC_GAME_API extern DBCStorage <AreaPOIEntry> sAreaPOIStore;
+TC_GAME_API extern DBCStorage <AreaTriggerEntry> sAreaTriggerStore;
+TC_GAME_API extern DBCStorage <AuctionHouseEntry> sAuctionHouseStore;
+TC_GAME_API extern DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore;
+TC_GAME_API extern DBCStorage <BannedAddOnsEntry> sBannedAddOnsStore;
+TC_GAME_API extern DBCStorage <BarberShopStyleEntry> sBarberShopStyleStore;
+TC_GAME_API extern DBCStorage <BattlemasterListEntry> sBattlemasterListStore;
+TC_GAME_API extern DBCStorage <ChatChannelsEntry> sChatChannelsStore;
+TC_GAME_API extern DBCStorage <CharacterFacialHairStylesEntry> sCharacterFacialHairStylesStore;
+TC_GAME_API extern DBCStorage <CharSectionsEntry> sCharSectionsStore;
+TC_GAME_API extern DBCStorage <CharStartOutfitEntry> sCharStartOutfitStore;
+TC_GAME_API extern DBCStorage <CharTitlesEntry> sCharTitlesStore;
+TC_GAME_API extern DBCStorage <ChrClassesEntry> sChrClassesStore;
+TC_GAME_API extern DBCStorage <ChrRacesEntry> sChrRacesStore;
+TC_GAME_API extern DBCStorage <CinematicCameraEntry> sCinematicCameraStore;
+TC_GAME_API extern DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore;
+TC_GAME_API extern DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore;
+TC_GAME_API extern DBCStorage <CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore;
+TC_GAME_API extern DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore;
+TC_GAME_API extern DBCStorage <CreatureModelDataEntry> sCreatureModelDataStore;
+TC_GAME_API extern DBCStorage <CreatureSpellDataEntry> sCreatureSpellDataStore;
+TC_GAME_API extern DBCStorage <CreatureTypeEntry> sCreatureTypeStore;
+TC_GAME_API extern DBCStorage <CurrencyTypesEntry> sCurrencyTypesStore;
+TC_GAME_API extern DBCStorage <DestructibleModelDataEntry> sDestructibleModelDataStore;
+TC_GAME_API extern DBCStorage <DungeonEncounterEntry> sDungeonEncounterStore;
+TC_GAME_API extern DBCStorage <DurabilityCostsEntry> sDurabilityCostsStore;
+TC_GAME_API extern DBCStorage <DurabilityQualityEntry> sDurabilityQualityStore;
+TC_GAME_API extern DBCStorage <EmotesEntry> sEmotesStore;
+TC_GAME_API extern DBCStorage <EmotesTextEntry> sEmotesTextStore;
+TC_GAME_API extern DBCStorage <EmotesTextSoundEntry> sEmotesTextSoundStore;
+TC_GAME_API extern DBCStorage <FactionEntry> sFactionStore;
+TC_GAME_API extern DBCStorage <FactionTemplateEntry> sFactionTemplateStore;
+TC_GAME_API extern DBCStorage <GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore;
+TC_GAME_API extern DBCStorage <GemPropertiesEntry> sGemPropertiesStore;
+TC_GAME_API extern DBCStorage <GlyphPropertiesEntry> sGlyphPropertiesStore;
+TC_GAME_API extern DBCStorage <GlyphSlotEntry> sGlyphSlotStore;
+
+TC_GAME_API extern DBCStorage <GtBarberShopCostBaseEntry> sGtBarberShopCostBaseStore;
+TC_GAME_API extern DBCStorage <GtCombatRatingsEntry> sGtCombatRatingsStore;
+TC_GAME_API extern DBCStorage <GtChanceToMeleeCritBaseEntry> sGtChanceToMeleeCritBaseStore;
+TC_GAME_API extern DBCStorage <GtChanceToMeleeCritEntry> sGtChanceToMeleeCritStore;
+TC_GAME_API extern DBCStorage <GtChanceToSpellCritBaseEntry> sGtChanceToSpellCritBaseStore;
+TC_GAME_API extern DBCStorage <GtChanceToSpellCritEntry> sGtChanceToSpellCritStore;
+TC_GAME_API extern DBCStorage <GtNPCManaCostScalerEntry> sGtNPCManaCostScalerStore;
+TC_GAME_API extern DBCStorage <GtOCTClassCombatRatingScalarEntry> sGtOCTClassCombatRatingScalarStore;
+TC_GAME_API extern DBCStorage <GtOCTRegenHPEntry> sGtOCTRegenHPStore;
+//TC_GAME_API extern DBCStorage <GtOCTRegenMPEntry> sGtOCTRegenMPStore; -- not used currently
+TC_GAME_API extern DBCStorage <GtRegenHPPerSptEntry> sGtRegenHPPerSptStore;
+TC_GAME_API extern DBCStorage <GtRegenMPPerSptEntry> sGtRegenMPPerSptStore;
+TC_GAME_API extern DBCStorage <HolidaysEntry> sHolidaysStore;
+TC_GAME_API extern DBCStorage <ItemEntry> sItemStore;
+TC_GAME_API extern DBCStorage <ItemBagFamilyEntry> sItemBagFamilyStore;
+//TC_GAME_API extern DBCStorage <ItemDisplayInfoEntry> sItemDisplayInfoStore; -- not used currently
+TC_GAME_API extern DBCStorage <ItemExtendedCostEntry> sItemExtendedCostStore;
+TC_GAME_API extern DBCStorage <ItemLimitCategoryEntry> sItemLimitCategoryStore;
+TC_GAME_API extern DBCStorage <ItemRandomPropertiesEntry> sItemRandomPropertiesStore;
+TC_GAME_API extern DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore;
+TC_GAME_API extern DBCStorage <ItemSetEntry> sItemSetStore;
+TC_GAME_API extern DBCStorage <LFGDungeonEntry> sLFGDungeonStore;
+TC_GAME_API extern DBCStorage <LiquidTypeEntry> sLiquidTypeStore;
+TC_GAME_API extern DBCStorage <LockEntry> sLockStore;
+TC_GAME_API extern DBCStorage <MailTemplateEntry> sMailTemplateStore;
+TC_GAME_API extern DBCStorage <MapEntry> sMapStore;
+//TC_GAME_API extern DBCStorage <MapDifficultyEntry> sMapDifficultyStore; -- use GetMapDifficultyData insteed
TC_GAME_API extern MapDifficultyMap sMapDifficultyMap;
-DECLARE_DBC_STORAGE(Movie);
-DECLARE_DBC_STORAGE(OverrideSpellData);
-DECLARE_DBC_STORAGE(PowerDisplay);
-DECLARE_DBC_STORAGE(QuestSort);
-DECLARE_DBC_STORAGE(QuestXP);
-DECLARE_DBC_STORAGE(QuestFactionReward);
-DECLARE_DBC_STORAGE(RandomPropertiesPoints);
-DECLARE_DBC_STORAGE(ScalingStatDistribution);
-DECLARE_DBC_STORAGE(ScalingStatValues);
-DECLARE_DBC_STORAGE(SkillLine);
-DECLARE_DBC_STORAGE(SkillLineAbility);
-DECLARE_DBC_STORAGE(SkillTiers);
-DECLARE_DBC_STORAGE(SoundEntries);
-DECLARE_DBC_STORAGE(SpellCastTimes);
-DECLARE_DBC_STORAGE(SpellCategory);
-DECLARE_DBC_STORAGE(SpellDifficulty);
-DECLARE_DBC_STORAGE(SpellDuration);
-DECLARE_DBC_STORAGE(SpellFocusObject);
-DECLARE_DBC_STORAGE(SpellItemEnchantment);
-DECLARE_DBC_STORAGE(SpellItemEnchantmentCondition);
+TC_GAME_API extern DBCStorage <MovieEntry> sMovieStore;
+TC_GAME_API extern DBCStorage <OverrideSpellDataEntry> sOverrideSpellDataStore;
+TC_GAME_API extern DBCStorage <PowerDisplayEntry> sPowerDisplayStore;
+TC_GAME_API extern DBCStorage <QuestSortEntry> sQuestSortStore;
+TC_GAME_API extern DBCStorage <QuestXPEntry> sQuestXPStore;
+TC_GAME_API extern DBCStorage <QuestFactionRewEntry> sQuestFactionRewardStore;
+TC_GAME_API extern DBCStorage <RandomPropertiesPointsEntry> sRandomPropertiesPointsStore;
+TC_GAME_API extern DBCStorage <ScalingStatDistributionEntry> sScalingStatDistributionStore;
+TC_GAME_API extern DBCStorage <ScalingStatValuesEntry> sScalingStatValuesStore;
+TC_GAME_API extern DBCStorage <SkillLineEntry> sSkillLineStore;
+TC_GAME_API extern DBCStorage <SkillLineAbilityEntry> sSkillLineAbilityStore;
+TC_GAME_API extern DBCStorage <SkillTiersEntry> sSkillTiersStore;
+TC_GAME_API extern DBCStorage <SoundEntriesEntry> sSoundEntriesStore;
+TC_GAME_API extern DBCStorage <SpellCastTimesEntry> sSpellCastTimesStore;
+TC_GAME_API extern DBCStorage <SpellCategoryEntry> sSpellCategoryStore;
+TC_GAME_API extern DBCStorage <SpellDifficultyEntry> sSpellDifficultyStore;
+TC_GAME_API extern DBCStorage <SpellDurationEntry> sSpellDurationStore;
+TC_GAME_API extern DBCStorage <SpellFocusObjectEntry> sSpellFocusObjectStore;
+TC_GAME_API extern DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore;
+TC_GAME_API extern DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore;
TC_GAME_API extern PetFamilySpellsStore sPetFamilySpellsStore;
-DECLARE_DBC_STORAGE(SpellRadius);
-DECLARE_DBC_STORAGE(SpellRange);
-DECLARE_DBC_STORAGE(SpellRuneCost);
-DECLARE_DBC_STORAGE(SpellShapeshift);
-DECLARE_DBC_STORAGE(Spell);
-DECLARE_DBC_STORAGE(StableSlotPrices);
-DECLARE_DBC_STORAGE(SummonProperties);
-DECLARE_DBC_STORAGE(Talent);
-DECLARE_DBC_STORAGE(TalentTab);
-DECLARE_DBC_STORAGE(TaxiNodes);
-DECLARE_DBC_STORAGE(TaxiPath);
+TC_GAME_API extern DBCStorage <SpellRadiusEntry> sSpellRadiusStore;
+TC_GAME_API extern DBCStorage <SpellRangeEntry> sSpellRangeStore;
+TC_GAME_API extern DBCStorage <SpellRuneCostEntry> sSpellRuneCostStore;
+TC_GAME_API extern DBCStorage <SpellShapeshiftEntry> sSpellShapeshiftStore;
+TC_GAME_API extern DBCStorage <SpellEntry> sSpellStore;
+TC_GAME_API extern DBCStorage <StableSlotPricesEntry> sStableSlotPricesStore;
+TC_GAME_API extern DBCStorage <SummonPropertiesEntry> sSummonPropertiesStore;
+TC_GAME_API extern DBCStorage <TalentEntry> sTalentStore;
+TC_GAME_API extern DBCStorage <TalentTabEntry> sTalentTabStore;
+TC_GAME_API extern DBCStorage <TaxiNodesEntry> sTaxiNodesStore;
+TC_GAME_API extern DBCStorage <TaxiPathEntry> sTaxiPathStore;
TC_GAME_API extern TaxiMask sTaxiNodesMask;
TC_GAME_API extern TaxiMask sOldContinentsNodesMask;
TC_GAME_API extern TaxiMask sHordeTaxiNodesMask;
@@ -197,18 +195,16 @@ TC_GAME_API extern TaxiMask sAllianceTaxiNodesM
TC_GAME_API extern TaxiMask sDeathKnightTaxiNodesMask;
TC_GAME_API extern TaxiPathSetBySource sTaxiPathSetBySource;
TC_GAME_API extern TaxiPathNodesByPath sTaxiPathNodesByPath;
-DECLARE_DBC_STORAGE(TransportAnimation);
-DECLARE_DBC_STORAGE(TransportRotation);
-DECLARE_DBC_STORAGE(TeamContributionPoints);
-DECLARE_DBC_STORAGE(TotemCategory);
-DECLARE_DBC_STORAGE(Vehicle);
-DECLARE_DBC_STORAGE(VehicleSeat);
-DECLARE_DBC_STORAGE(WMOAreaTable);
-//DECLARE_DBC_STORAGE(WorldMapArea);
-DECLARE_DBC_STORAGE(WorldMapOverlay);
-DECLARE_DBC_STORAGE(WorldSafeLocs);
-
-#undef DECLARE_DBC_STORAGE
+TC_GAME_API extern DBCStorage <TransportAnimationEntry> sTransportAnimationStore;
+TC_GAME_API extern DBCStorage <TransportRotationEntry> sTransportRotationStore;
+TC_GAME_API extern DBCStorage <TeamContributionPointsEntry> sTeamContributionPointsStore;
+TC_GAME_API extern DBCStorage <TotemCategoryEntry> sTotemCategoryStore;
+TC_GAME_API extern DBCStorage <VehicleEntry> sVehicleStore;
+TC_GAME_API extern DBCStorage <VehicleSeatEntry> sVehicleSeatStore;
+TC_GAME_API extern DBCStorage <WMOAreaTableEntry> sWMOAreaTableStore;
+//TC_GAME_API extern DBCStorage <WorldMapAreaEntry> sWorldMapAreaStore; -- use Zone2MapCoordinates and Map2ZoneCoordinates
+TC_GAME_API extern DBCStorage <WorldMapOverlayEntry> sWorldMapOverlayStore;
+TC_GAME_API extern DBCStorage <WorldSafeLocsEntry> sWorldSafeLocsStore;
TC_GAME_API void LoadDBCStores(const std::string& dataPath);
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index ff10193a358..7fadc85a868 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -48,7 +48,7 @@ LFGDungeonData::LFGDungeonData() : id(0), name(), map(0), type(0), expansion(0),
{
}
-LFGDungeonData::LFGDungeonData(LFGDungeonsEntry const* dbc) : id(dbc->ID), name(dbc->name[0]), map(dbc->map),
+LFGDungeonData::LFGDungeonData(LFGDungeonEntry const* dbc) : id(dbc->ID), name(dbc->name[0]), map(dbc->map),
type(dbc->type), expansion(uint8(dbc->expansion)), group(uint8(dbc->grouptype)),
minlevel(uint8(dbc->minlevel)), maxlevel(uint8(dbc->maxlevel)), difficulty(Difficulty(dbc->difficulty)),
seasonal((dbc->flags & LFG_FLAG_SEASONAL) != 0), x(0.0f), y(0.0f), z(0.0f), o(0.0f)
@@ -192,9 +192,9 @@ void LFGMgr::LoadLFGDungeons(bool reload /* = false */)
LfgDungeonStore.clear();
// Initialize Dungeon map with data from dbcs
- for (uint32 i = 0; i < sLFGDungeonsStore.GetNumRows(); ++i)
+ for (uint32 i = 0; i < sLFGDungeonStore.GetNumRows(); ++i)
{
- LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(i);
+ LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(i);
if (!dungeon)
continue;
@@ -962,7 +962,7 @@ void LFGMgr::MakeNewGroup(LfgProposal const& proposal)
if (!dungeons.empty())
{
uint32 rDungeonId = (*dungeons.begin());
- LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(rDungeonId);
+ LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(rDungeonId);
if (dungeon && dungeon->type == LFG_TYPE_RANDOM)
player->CastSpell(player, LFG_SPELL_DUNGEON_COOLDOWN, false);
}
@@ -1633,7 +1633,7 @@ LfgLockMap const LFGMgr::GetLockedDungeons(ObjectGuid guid)
for (LfgDungeonSet::const_iterator it = dungeons.begin(); it != dungeons.end(); ++it)
{
LFGDungeonData const* dungeon = GetLFGDungeon(*it);
- if (!dungeon) // should never happen - We provide a list from sLFGDungeonsStore
+ if (!dungeon) // should never happen - We provide a list from sLFGDungeonStore
continue;
uint32 lockData = 0;
diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h
index eb01734e93d..8b2c074b7bf 100644
--- a/src/server/game/DungeonFinding/LFGMgr.h
+++ b/src/server/game/DungeonFinding/LFGMgr.h
@@ -30,7 +30,7 @@ class Group;
class Player;
class Quest;
class Map;
-struct LFGDungeonsEntry;
+struct LFGDungeonEntry;
enum Difficulty : uint8;
namespace lfg
@@ -269,7 +269,7 @@ struct LfgPlayerBoot
struct LFGDungeonData
{
LFGDungeonData();
- LFGDungeonData(LFGDungeonsEntry const* dbc);
+ LFGDungeonData(LFGDungeonEntry const* dbc);
uint32 id;
std::string name;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 2f92a2b12e2..7f37550b0f9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5281,8 +5281,8 @@ float Player::GetMeleeCritFromAgility() const
if (level > GT_MAX_LEVEL)
level = GT_MAX_LEVEL;
- gtChanceToMeleeCritBaseEntry const* critBase = sgtChanceToMeleeCritBaseStore.LookupEntry(pclass-1);
- gtChanceToMeleeCritEntry const* critRatio = sgtChanceToMeleeCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtChanceToMeleeCritBaseEntry const* critBase = sGtChanceToMeleeCritBaseStore.LookupEntry(pclass-1);
+ GtChanceToMeleeCritEntry const* critRatio = sGtChanceToMeleeCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
if (critBase == nullptr || critRatio == nullptr)
return 0.0f;
@@ -5330,7 +5330,7 @@ void Player::GetDodgeFromAgility(float &diminishing, float &nondiminishing) cons
level = GT_MAX_LEVEL;
// Dodge per agility is proportional to crit per agility, which is available from DBC files
- gtChanceToMeleeCritEntry const* dodgeRatio = sgtChanceToMeleeCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtChanceToMeleeCritEntry const* dodgeRatio = sGtChanceToMeleeCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
if (dodgeRatio == nullptr || pclass > MAX_CLASSES)
return;
@@ -5351,8 +5351,8 @@ float Player::GetSpellCritFromIntellect() const
if (level > GT_MAX_LEVEL)
level = GT_MAX_LEVEL;
- gtChanceToSpellCritBaseEntry const* critBase = sgtChanceToSpellCritBaseStore.LookupEntry(pclass-1);
- gtChanceToSpellCritEntry const* critRatio = sgtChanceToSpellCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtChanceToSpellCritBaseEntry const* critBase = sGtChanceToSpellCritBaseStore.LookupEntry(pclass-1);
+ GtChanceToSpellCritEntry const* critRatio = sGtChanceToSpellCritStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
if (critBase == nullptr || critRatio == nullptr)
return 0.0f;
@@ -5367,9 +5367,9 @@ float Player::GetRatingMultiplier(CombatRating cr) const
if (level > GT_MAX_LEVEL)
level = GT_MAX_LEVEL;
- gtCombatRatingsEntry const* Rating = sgtCombatRatingsStore.LookupEntry(cr*GT_MAX_LEVEL+level-1);
+ GtCombatRatingsEntry const* Rating = sGtCombatRatingsStore.LookupEntry(cr*GT_MAX_LEVEL+level-1);
// gtOCTClassCombatRatingScalarStore.dbc starts with 1, CombatRating with zero, so cr+1
- gtOCTClassCombatRatingScalarEntry const* classRating = sgtOCTClassCombatRatingScalarStore.LookupEntry((getClass()-1)*GT_MAX_RATING+cr+1);
+ GtOCTClassCombatRatingScalarEntry const* classRating = sGtOCTClassCombatRatingScalarStore.LookupEntry((getClass()-1)*GT_MAX_RATING+cr+1);
if (!Rating || !classRating)
return 1.0f; // By default use minimum coefficient (not must be called)
@@ -5403,8 +5403,8 @@ float Player::OCTRegenHPPerSpirit() const
if (level > GT_MAX_LEVEL)
level = GT_MAX_LEVEL;
- gtOCTRegenHPEntry const* baseRatio = sgtOCTRegenHPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
- gtRegenHPPerSptEntry const* moreRatio = sgtRegenHPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtOCTRegenHPEntry const* baseRatio = sGtOCTRegenHPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtRegenHPPerSptEntry const* moreRatio = sGtRegenHPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
if (baseRatio == nullptr || moreRatio == nullptr)
return 0.0f;
@@ -5426,8 +5426,8 @@ float Player::OCTRegenMPPerSpirit() const
if (level > GT_MAX_LEVEL)
level = GT_MAX_LEVEL;
-// gtOCTRegenMPEntry const* baseRatio = sgtOCTRegenMPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
- gtRegenMPPerSptEntry const* moreRatio = sgtRegenMPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+// GtOCTRegenMPEntry const* baseRatio = sGtOCTRegenMPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
+ GtRegenMPPerSptEntry const* moreRatio = sGtRegenMPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
if (moreRatio == nullptr)
return 0.0f;
@@ -6591,7 +6591,7 @@ void Player::RewardReputation(Unit* victim, float rate)
// support for: Championing - http://www.wowwiki.com/Championing
Map const* map = GetMap();
if (map->IsNonRaidDungeon())
- if (LFGDungeonsEntry const* dungeon = GetLFGDungeon(map->GetId(), map->GetDifficulty()))
+ if (LFGDungeonEntry const* dungeon = GetLFGDungeon(map->GetId(), map->GetDifficulty()))
if (dungeon->reclevel == 80)
ChampioningFaction = GetChampioningFaction();
}
@@ -6640,10 +6640,10 @@ void Player::RewardReputation(Quest const* quest)
else
{
uint32 row = ((quest->RewardFactionValueId[i] < 0) ? 1 : 0) + 1;
- if (QuestFactionRewardEntry const* questFactionRewardEntry = sQuestFactionRewardStore.LookupEntry(row))
+ if (QuestFactionRewEntry const* questFactionRewEntry = sQuestFactionRewardStore.LookupEntry(row))
{
uint32 field = abs(quest->RewardFactionValueId[i]);
- rep = questFactionRewardEntry->QuestRewFactionValue[field];
+ rep = questFactionRewEntry->QuestRewFactionValue[field];
}
}
@@ -24244,7 +24244,7 @@ uint32 Player::GetBarberShopCost(uint8 newhairstyle, uint8 newhaircolor, uint8 n
if ((hairstyle == newhairstyle) && (haircolor == newhaircolor) && (facialhair == newfacialhair) && (!newSkin || (newSkin->hair_id == skincolor)))
return 0;
- gtBarberShopCostBaseEntry const* bsc = sgtBarberShopCostBaseStore.LookupEntry(level - 1);
+ GtBarberShopCostBaseEntry const* bsc = sGtBarberShopCostBaseStore.LookupEntry(level - 1);
if (!bsc) // shouldn't happen
return 0xFFFFFFFF;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index bc2001575c6..67503414462 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -494,8 +494,8 @@ int32 SpellEffectInfo::CalcValue(WorldObject const* caster /*= nullptr*/, int32
if (canEffectScale)
{
- gtNPCManaCostScalerEntry const* spellScaler = sgtNPCManaCostScalerStore.LookupEntry(_spellInfo->SpellLevel - 1);
- gtNPCManaCostScalerEntry const* casterScaler = sgtNPCManaCostScalerStore.LookupEntry(casterUnit->getLevel() - 1);
+ GtNPCManaCostScalerEntry const* spellScaler = sGtNPCManaCostScalerStore.LookupEntry(_spellInfo->SpellLevel - 1);
+ GtNPCManaCostScalerEntry const* casterScaler = sGtNPCManaCostScalerStore.LookupEntry(casterUnit->getLevel() - 1);
if (spellScaler && casterScaler)
value *= casterScaler->ratio / spellScaler->ratio;
}
@@ -3220,8 +3220,8 @@ int32 SpellInfo::CalcPowerCost(WorldObject const* caster, SpellSchoolMask school
{
if (HasAttribute(SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION))
{
- gtNPCManaCostScalerEntry const* spellScaler = sgtNPCManaCostScalerStore.LookupEntry(SpellLevel - 1);
- gtNPCManaCostScalerEntry const* casterScaler = sgtNPCManaCostScalerStore.LookupEntry(unitCaster->getLevel() - 1);
+ GtNPCManaCostScalerEntry const* spellScaler = sGtNPCManaCostScalerStore.LookupEntry(SpellLevel - 1);
+ GtNPCManaCostScalerEntry const* casterScaler = sGtNPCManaCostScalerStore.LookupEntry(unitCaster->getLevel() - 1);
if (spellScaler && casterScaler)
powerCost *= casterScaler->ratio / spellScaler->ratio;
}
diff --git a/src/server/shared/DataStores/DBCStructure.h b/src/server/shared/DataStores/DBCStructure.h
index e514c6e7586..cf43e5bc01f 100644
--- a/src/server/shared/DataStores/DBCStructure.h
+++ b/src/server/shared/DataStores/DBCStructure.h
@@ -738,62 +738,62 @@ struct GlyphSlotEntry
// gtOCTClassCombatRatingScalar.dbc stores data for 32 ratings, look at MAX_COMBAT_RATING for real used amount
#define GT_MAX_RATING 32
-struct gtBarberShopCostBaseEntry
+struct GtBarberShopCostBaseEntry
{
float cost;
};
-struct gtCombatRatingsEntry
+struct GtCombatRatingsEntry
{
float ratio;
};
-struct gtChanceToMeleeCritBaseEntry
+struct GtChanceToMeleeCritBaseEntry
{
float base;
};
-struct gtChanceToMeleeCritEntry
+struct GtChanceToMeleeCritEntry
{
float ratio;
};
-struct gtChanceToSpellCritBaseEntry
+struct GtChanceToSpellCritBaseEntry
{
float base;
};
-struct gtNPCManaCostScalerEntry
+struct GtNPCManaCostScalerEntry
{
float ratio;
};
-struct gtChanceToSpellCritEntry
+struct GtChanceToSpellCritEntry
{
float ratio;
};
-struct gtOCTClassCombatRatingScalarEntry
+struct GtOCTClassCombatRatingScalarEntry
{
float ratio;
};
-struct gtOCTRegenHPEntry
+struct GtOCTRegenHPEntry
{
float ratio;
};
-//struct gtOCTRegenMPEntry
+//struct GtOCTRegenMPEntry
//{
// float ratio;
//};
-struct gtRegenHPPerSptEntry
+struct GtRegenHPPerSptEntry
{
float ratio;
};
-struct gtRegenMPPerSptEntry
+struct GtRegenMPPerSptEntry
{
float ratio;
};
@@ -941,7 +941,7 @@ struct ItemSetEntry
uint32 required_skill_value; // 52 m_requiredSkillRank
};
-struct LFGDungeonsEntry
+struct LFGDungeonEntry
{
uint32 ID; // 0
char* name[16]; // 1-17 Name lang
@@ -1157,7 +1157,7 @@ struct QuestXPEntry
uint32 Exp[10];
};
-struct QuestFactionRewardEntry
+struct QuestFactionRewEntry
{
uint32 id;
int32 QuestRewFactionValue[10];
diff --git a/src/server/shared/DataStores/DBCfmt.h b/src/server/shared/DataStores/DBCfmt.h
index 1c1bea9fd2d..9de1c6a490b 100644
--- a/src/server/shared/DataStores/DBCfmt.h
+++ b/src/server/shared/DataStores/DBCfmt.h
@@ -19,126 +19,126 @@
#ifndef TRINITY_DBCSFRM_H
#define TRINITY_DBCSFRM_H
-char constexpr DBCfmt_Achievement[] = "niixssssssssssssssssxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxii";
-char constexpr DBCfmt_Achievement_DBFormat[] = "pppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapapaaaaaaaaaaaaaaaaaapp";
-char constexpr DBCfmt_Achievement_DBIndex[] = "ID";
-char constexpr DBCfmt_AchievementCriteria[] = "niiiiiiiixxxxxxxxxxxxxxxxxiiiix";
-char constexpr DBCfmt_AreaTable[] = "niiiixxxxxissssssssssssssssxiiiiixxx";
-char constexpr DBCfmt_AreaGroup[] = "niiiiiii";
-char constexpr DBCfmt_AreaPOI[] = "niiiiiiiiiiifffixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxix";
-char constexpr DBCfmt_AreaTrigger[] = "niffffffff";
-char constexpr DBCfmt_AuctionHouse[] = "niiixxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_BankBagSlotPrices[] = "ni";
-char constexpr DBCfmt_BannedAddOns[] = "nxxxxxxxxxx";
-char constexpr DBCfmt_BarberShopStyle[] = "nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii";
-char constexpr DBCfmt_BattlemasterList[] = "niiiiiiiiixssssssssssssssssxiixx";
-char constexpr DBCfmt_CharacterFacialHairStyles[] = "iiixxxxx";
-char constexpr DBCfmt_CharStartOutfit[] = "dbbbXiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_CharSections[] = "diiixxxiii";
-char constexpr DBCfmt_CharTitles[] = "nxssssssssssssssssxssssssssssssssssxi";
-char constexpr DBCfmt_ChatChannels[] = "nixssssssssssssssssxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_ChrClasses[] = "nxixssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixii";
-char constexpr DBCfmt_ChrRaces[] = "niixiixixxxxixssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi";
-char constexpr DBCfmt_CinematicCamera[] = "nsiffff";
-char constexpr DBCfmt_CinematicSequences[] = "nxixxxxxxx";
-char constexpr DBCfmt_CreatureDisplayInfo[] = "nixifxxxxxxxxxxx";
-char constexpr DBCfmt_CreatureDisplayInfoExtra[] = "diixxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_CreatureFamily[] = "nfifiiiiixssssssssssssssssxx";
-char constexpr DBCfmt_CreatureModelData[] = "nisxfxxxxxxxxxxffxxxxxxxxxxx";
-char constexpr DBCfmt_CreatureSpellData[] = "niiiixxxx";
-char constexpr DBCfmt_CreatureType[] = "nxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_CurrencyTypes[] = "xnxi";
-char constexpr DBCfmt_DestructibleModelData[] = "nxxixxxixxxixxxixxx";
-char constexpr DBCfmt_DungeonEncounter[] = "niixissssssssssssssssxx";
-char constexpr DBCfmt_DurabilityCosts[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiii";
-char constexpr DBCfmt_DurabilityQuality[] = "nf";
-char constexpr DBCfmt_Emotes[] = "nxxiiix";
-char constexpr DBCfmt_EmotesText[] = "nxixxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_EmotesTextSound[] = "niiii";
-char constexpr DBCfmt_Faction[] = "niiiiiiiiiiiiiiiiiiffixssssssssssssssssxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_FactionTemplate[] = "niiiiiiiiiiiii";
-char constexpr DBCfmt_GameObjectDisplayInfo[] = "nsxxxxxxxxxxffffffx";
-char constexpr DBCfmt_GemProperties[] = "nixxi";
-char constexpr DBCfmt_GlyphProperties[] = "niii";
-char constexpr DBCfmt_GlyphSlot[] = "nii";
-char constexpr DBCfmt_gtBarberShopCostBase[] = "f";
-char constexpr DBCfmt_gtCombatRatings[] = "f";
-char constexpr DBCfmt_gtChanceToMeleeCritBase[] = "f";
-char constexpr DBCfmt_gtChanceToMeleeCrit[] = "f";
-char constexpr DBCfmt_gtChanceToSpellCritBase[] = "f";
-char constexpr DBCfmt_gtChanceToSpellCrit[] = "f";
-char constexpr DBCfmt_gtNPCManaCostScaler[] = "f";
-char constexpr DBCfmt_gtOCTClassCombatRatingScalar[] = "df";
-char constexpr DBCfmt_gtOCTRegenHP[] = "f";
-//char constexpr DBCfmt_gtOCTRegenMP[] = "f";
-char constexpr DBCfmt_gtRegenHPPerSpt[] = "f";
-char constexpr DBCfmt_gtRegenMPPerSpt[] = "f";
-char constexpr DBCfmt_Holidays[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxsiix";
-char constexpr DBCfmt_Item[] = "niiiiiii";
-char constexpr DBCfmt_ItemBagFamily[] = "nxxxxxxxxxxxxxxxxx";
-//char constexpr DBCfmt_ItemDisplayTemplate[] = "nxxxxxxxxxxixxxxxxxxxxx";
-//char constexpr DBCfmt_ItemCondExtCosts[] = "xiii";
-char constexpr DBCfmt_ItemExtendedCost[] = "niiiiiiiiiiiiiix";
-char constexpr DBCfmt_ItemLimitCategory[] = "nxxxxxxxxxxxxxxxxxii";
-char constexpr DBCfmt_ItemRandomProperties[] = "nxiiixxssssssssssssssssx";
-char constexpr DBCfmt_ItemRandomSuffix[] = "nssssssssssssssssxxiiixxiiixx";
-char constexpr DBCfmt_ItemSet[] = "dssssssssssssssssxiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
-char constexpr DBCfmt_LFGDungeons[] = "nssssssssssssssssxiiiiiiiiixxixixxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_Light[] = "nifffxxxxxxxxxx";
-char constexpr DBCfmt_LiquidType[] = "nxxixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_Lock[] = "niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
-char constexpr DBCfmt_MailTemplate[] = "nxxxxxxxxxxxxxxxxxssssssssssssssssx";
-char constexpr DBCfmt_Map[] = "nxiixssssssssssssssssxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixiffxiii";
-char constexpr DBCfmt_MapDifficulty[] = "diisxxxxxxxxxxxxxxxxiix";
-char constexpr DBCfmt_Movie[] = "nxx";
-char constexpr DBCfmt_NamesProfanity[] = "dsi";
-char constexpr DBCfmt_NamesReserved[] = "dsi";
-char constexpr DBCfmt_OverrideSpellData[] = "niiiiiiiiiix";
-char constexpr DBCfmt_QuestFactionReward[] = "niiiiiiiiii";
-char constexpr DBCfmt_QuestSort[] = "nxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_QuestXP[] = "niiiiiiiiii";
-char constexpr DBCfmt_PowerDisplay[] = "nixxxx";
-char constexpr DBCfmt_PvPDifficulty[] = "diiiii";
-char constexpr DBCfmt_RandomPropertiesPoints[] = "niiiiiiiiiiiiiii";
-char constexpr DBCfmt_ScalingStatDistribution[] = "niiiiiiiiiiiiiiiiiiiii";
-char constexpr DBCfmt_ScalingStatValues[] = "iniiiiiiiiiiiiiiiiiiiiii";
-char constexpr DBCfmt_SkillLine[] = "nixssssssssssssssssxxxxxxxxxxxxxxxxxxixxxxxxxxxxxxxxxxxi";
-char constexpr DBCfmt_SkillLineAbility[] = "niiiixxiiiiixx";
-char constexpr DBCfmt_SkillRaceClassInfo[] = "diiiixix";
-char constexpr DBCfmt_SkillTiers[] = "nxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiii";
-char constexpr DBCfmt_SoundEntries[] = "nxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_SpellCastTimes[] = "nixx";
-char constexpr DBCfmt_SpellCategory[] = "ni";
-char constexpr DBCfmt_SpellDifficulty[] = "niiii";
-char constexpr DBCfmt_SpellDifficulty_DBFormat[] = "ppppp";
-char constexpr DBCfmt_SpellDifficulty_DBIndex[] = "id";
-char constexpr DBCfmt_SpellDuration[] = "niii";
-char constexpr DBCfmt_Spell[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiiissssssssssssssssxssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiixfffxxxiiiiixxfffxx";
-char constexpr DBCfmt_Spell_DBFormat[] = "papppppppppppapapaaaaaaaaaaapaaapapppppppaaaaapaapaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppaaappppppppppppaaapppppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppapppaaaaappaaaaaaa";
-char constexpr DBCfmt_Spell_DBIndex[] = "Id";
-char constexpr DBCfmt_SpellFocusObject[] = "nxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_SpellItemEnchantment[] = "nxiiiiiixxxiiissssssssssssssssxiiiiiii";
-char constexpr DBCfmt_SpellItemEnchantmentCondition[] = "nbbbbbxxxxxbbbbbbbbbbiiiiiXXXXX";
-char constexpr DBCfmt_SpellRadius[] = "nfff";
-char constexpr DBCfmt_SpellRange[] = "nffffixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_SpellRuneCost[] = "niiii";
-char constexpr DBCfmt_SpellShapeshift[] = "nxxxxxxxxxxxxxxxxxxiixiiixxiiiiiiii";
-char constexpr DBCfmt_StableSlotPrices[] = "ni";
-char constexpr DBCfmt_SummonProperties[] = "niiiii";
-char constexpr DBCfmt_Talent[] = "niiiiiiiixxxxixxixxxxxx";
-char constexpr DBCfmt_TalentTab[] = "nxxxxxxxxxxxxxxxxxxxiiix";
-char constexpr DBCfmt_TaxiNodes[] = "nifffssssssssssssssssxii";
-char constexpr DBCfmt_TaxiPath[] = "niii";
-char constexpr DBCfmt_TaxiPathNode[] = "diiifffiiii";
-char constexpr DBCfmt_TeamContributionPoints[] = "df";
-char constexpr DBCfmt_TotemCategory[] = "nxxxxxxxxxxxxxxxxxii";
-char constexpr DBCfmt_TransportAnimation[] = "diifffx";
-char constexpr DBCfmt_TransportRotation[] = "diiffff";
-char constexpr DBCfmt_Vehicle[] = "niffffiiiiiiiifffffffffffffffssssfifiixx";
-char constexpr DBCfmt_VehicleSeat[] = "niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxx";
-char constexpr DBCfmt_WMOAreaTable[] = "niiixxxxxiixxxxxxxxxxxxxxxxx";
-char constexpr DBCfmt_WorldMapArea[] = "xinxffffixx";
-char constexpr DBCfmt_WorldMapOverlay[] = "nxiiiixxxxxxxxxxx";
-char constexpr DBCfmt_WorldSafeLocs[] = "nifffxxxxxxxxxxxxxxxxx";
+char constexpr Achievementfmt[] = "niixssssssssssssssssxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxii";
+char constexpr CustomAchievementfmt[] = "pppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapapaaaaaaaaaaaaaaaaaapp";
+char constexpr CustomAchievementIndex[] = "ID";
+char constexpr AchievementCriteriafmt[] = "niiiiiiiixxxxxxxxxxxxxxxxxiiiix";
+char constexpr AreaTableEntryfmt[] = "niiiixxxxxissssssssssssssssxiiiiixxx";
+char constexpr AreaGroupEntryfmt[] = "niiiiiii";
+char constexpr AreaPOIEntryfmt[] = "niiiiiiiiiiifffixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxix";
+char constexpr AreaTriggerEntryfmt[] = "niffffffff";
+char constexpr AuctionHouseEntryfmt[] = "niiixxxxxxxxxxxxxxxxx";
+char constexpr BankBagSlotPricesEntryfmt[] = "ni";
+char constexpr BannedAddOnsfmt[] = "nxxxxxxxxxx";
+char constexpr BarberShopStyleEntryfmt[] = "nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii";
+char constexpr BattlemasterListEntryfmt[] = "niiiiiiiiixssssssssssssssssxiixx";
+char constexpr CharacterFacialHairStylesfmt[] = "iiixxxxx";
+char constexpr CharStartOutfitEntryfmt[] = "dbbbXiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char constexpr CharSectionsEntryfmt[] = "diiixxxiii";
+char constexpr CharTitlesEntryfmt[] = "nxssssssssssssssssxssssssssssssssssxi";
+char constexpr ChatChannelsEntryfmt[] = "nixssssssssssssssssxxxxxxxxxxxxxxxxxx";
+char constexpr ChrClassesEntryfmt[] = "nxixssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixii";
+char constexpr ChrRacesEntryfmt[] = "niixiixixxxxixssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi";
+char constexpr CinematicCameraEntryfmt[] = "nsiffff";
+char constexpr CinematicSequencesEntryfmt[] = "nxixxxxxxx";
+char constexpr CreatureDisplayInfofmt[] = "nixifxxxxxxxxxxx";
+char constexpr CreatureDisplayInfoExtrafmt[] = "diixxxxxxxxxxxxxxxxxx";
+char constexpr CreatureFamilyfmt[] = "nfifiiiiixssssssssssssssssxx";
+char constexpr CreatureModelDatafmt[] = "nisxfxxxxxxxxxxffxxxxxxxxxxx";
+char constexpr CreatureSpellDatafmt[] = "niiiixxxx";
+char constexpr CreatureTypefmt[] = "nxxxxxxxxxxxxxxxxxx";
+char constexpr CurrencyTypesfmt[] = "xnxi";
+char constexpr DestructibleModelDatafmt[] = "nxxixxxixxxixxxixxx";
+char constexpr DungeonEncounterfmt[] = "niixissssssssssssssssxx";
+char constexpr DurabilityCostsfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiii";
+char constexpr DurabilityQualityfmt[] = "nf";
+char constexpr EmotesEntryfmt[] = "nxxiiix";
+char constexpr EmotesTextEntryfmt[] = "nxixxxxxxxxxxxxxxxx";
+char constexpr EmotesTextSoundEntryfmt[] = "niiii";
+char constexpr FactionEntryfmt[] = "niiiiiiiiiiiiiiiiiiffixssssssssssssssssxxxxxxxxxxxxxxxxxx";
+char constexpr FactionTemplateEntryfmt[] = "niiiiiiiiiiiii";
+char constexpr GameObjectDisplayInfofmt[] = "nsxxxxxxxxxxffffffx";
+char constexpr GemPropertiesEntryfmt[] = "nixxi";
+char constexpr GlyphPropertiesfmt[] = "niii";
+char constexpr GlyphSlotfmt[] = "nii";
+char constexpr GtBarberShopCostBasefmt[] = "f";
+char constexpr GtCombatRatingsfmt[] = "f";
+char constexpr GtChanceToMeleeCritBasefmt[] = "f";
+char constexpr GtChanceToMeleeCritfmt[] = "f";
+char constexpr GtChanceToSpellCritBasefmt[] = "f";
+char constexpr GtChanceToSpellCritfmt[] = "f";
+char constexpr GtNPCManaCostScalerfmt[] = "f";
+char constexpr GtOCTClassCombatRatingScalarfmt[] = "df";
+char constexpr GtOCTRegenHPfmt[] = "f";
+//char constexpr GtOCTRegenMPfmt[] = "f";
+char constexpr GtRegenHPPerSptfmt[] = "f";
+char constexpr GtRegenMPPerSptfmt[] = "f";
+char constexpr Holidaysfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxsiix";
+char constexpr Itemfmt[] = "niiiiiii";
+char constexpr ItemBagFamilyfmt[] = "nxxxxxxxxxxxxxxxxx";
+//char constexpr ItemDisplayTemplateEntryfmt[] = "nxxxxxxxxxxixxxxxxxxxxx";
+//char constexpr ItemCondExtCostsEntryfmt[] = "xiii";
+char constexpr ItemExtendedCostEntryfmt[] = "niiiiiiiiiiiiiix";
+char constexpr ItemLimitCategoryEntryfmt[] = "nxxxxxxxxxxxxxxxxxii";
+char constexpr ItemRandomPropertiesfmt[] = "nxiiixxssssssssssssssssx";
+char constexpr ItemRandomSuffixfmt[] = "nssssssssssssssssxxiiixxiiixx";
+char constexpr ItemSetEntryfmt[] = "dssssssssssssssssxiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
+char constexpr LFGDungeonEntryfmt[] = "nssssssssssssssssxiiiiiiiiixxixixxxxxxxxxxxxxxxxx";
+char constexpr LightEntryfmt[] = "nifffxxxxxxxxxx";
+char constexpr LiquidTypefmt[] = "nxxixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char constexpr LockEntryfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
+char constexpr MailTemplateEntryfmt[] = "nxxxxxxxxxxxxxxxxxssssssssssssssssx";
+char constexpr MapEntryfmt[] = "nxiixssssssssssssssssxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixiffxiii";
+char constexpr MapDifficultyEntryfmt[] = "diisxxxxxxxxxxxxxxxxiix";
+char constexpr MovieEntryfmt[] = "nxx";
+char constexpr NamesProfanityEntryfmt[] = "dsi";
+char constexpr NamesReservedEntryfmt[] = "dsi";
+char constexpr OverrideSpellDatafmt[] = "niiiiiiiiiix";
+char constexpr QuestFactionRewardfmt[] = "niiiiiiiiii";
+char constexpr QuestSortEntryfmt[] = "nxxxxxxxxxxxxxxxxx";
+char constexpr QuestXPfmt[] = "niiiiiiiiii";
+char constexpr PowerDisplayfmt[] = "nixxxx";
+char constexpr PvPDifficultyfmt[] = "diiiii";
+char constexpr RandomPropertiesPointsfmt[] = "niiiiiiiiiiiiiii";
+char constexpr ScalingStatDistributionfmt[] = "niiiiiiiiiiiiiiiiiiiii";
+char constexpr ScalingStatValuesfmt[] = "iniiiiiiiiiiiiiiiiiiiiii";
+char constexpr SkillLinefmt[] = "nixssssssssssssssssxxxxxxxxxxxxxxxxxxixxxxxxxxxxxxxxxxxi";
+char constexpr SkillLineAbilityfmt[] = "niiiixxiiiiixx";
+char constexpr SkillRaceClassInfofmt[] = "diiiixix";
+char constexpr SkillTiersfmt[] = "nxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiii";
+char constexpr SoundEntriesfmt[] = "nxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char constexpr SpellCastTimefmt[] = "nixx";
+char constexpr SpellCategoryfmt[] = "ni";
+char constexpr SpellDifficultyfmt[] = "niiii";
+char constexpr CustomSpellDifficultyfmt[] = "ppppp";
+char constexpr CustomSpellDifficultyIndex[] = "id";
+char constexpr SpellDurationfmt[] = "niii";
+char constexpr SpellEntryfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiiissssssssssssssssxssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiixfffxxxiiiiixxfffxx";
+char constexpr CustomSpellEntryfmt[] = "papppppppppppapapaaaaaaaaaaapaaapapppppppaaaaapaapaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppaaappppppppppppaaapppppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppapppaaaaappaaaaaaa";
+char constexpr CustomSpellEntryIndex[] = "Id";
+char constexpr SpellFocusObjectfmt[] = "nxxxxxxxxxxxxxxxxx";
+char constexpr SpellItemEnchantmentfmt[] = "nxiiiiiixxxiiissssssssssssssssxiiiiiii";
+char constexpr SpellItemEnchantmentConditionfmt[] = "nbbbbbxxxxxbbbbbbbbbbiiiiiXXXXX";
+char constexpr SpellRadiusfmt[] = "nfff";
+char constexpr SpellRangefmt[] = "nffffixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char constexpr SpellRuneCostfmt[] = "niiii";
+char constexpr SpellShapeshiftfmt[] = "nxxxxxxxxxxxxxxxxxxiixiiixxiiiiiiii";
+char constexpr StableSlotPricesfmt[] = "ni";
+char constexpr SummonPropertiesfmt[] = "niiiii";
+char constexpr TalentEntryfmt[] = "niiiiiiiixxxxixxixxxxxx";
+char constexpr TalentTabEntryfmt[] = "nxxxxxxxxxxxxxxxxxxxiiix";
+char constexpr TaxiNodesEntryfmt[] = "nifffssssssssssssssssxii";
+char constexpr TaxiPathEntryfmt[] = "niii";
+char constexpr TaxiPathNodeEntryfmt[] = "diiifffiiii";
+char constexpr TeamContributionPointsfmt[] = "df";
+char constexpr TotemCategoryEntryfmt[] = "nxxxxxxxxxxxxxxxxxii";
+char constexpr TransportAnimationfmt[] = "diifffx";
+char constexpr TransportRotationfmt[] = "diiffff";
+char constexpr VehicleEntryfmt[] = "niffffiiiiiiiifffffffffffffffssssfifiixx";
+char constexpr VehicleSeatEntryfmt[] = "niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxx";
+char constexpr WMOAreaTableEntryfmt[] = "niiixxxxxiixxxxxxxxxxxxxxxxx";
+char constexpr WorldMapAreaEntryfmt[] = "xinxffffixx";
+char constexpr WorldMapOverlayEntryfmt[] = "nxiiiixxxxxxxxxxx";
+char constexpr WorldSafeLocsEntryfmt[] = "nifffxxxxxxxxxxxxxxxxx";
#endif