diff options
-rw-r--r-- | src/server/game/DataStores/DBCStores.cpp | 501 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCStores.h | 224 | ||||
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 10 | ||||
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.h | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 30 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 8 | ||||
-rw-r--r-- | src/server/shared/DataStores/DBCStructure.h | 28 | ||||
-rw-r--r-- | src/server/shared/DataStores/DBCfmt.h | 242 |
8 files changed, 527 insertions, 520 deletions
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp index d2bc89c53cd..db1812f4bb0 100644 --- a/src/server/game/DataStores/DBCStores.cpp +++ b/src/server/game/DataStores/DBCStores.cpp @@ -39,150 +39,152 @@ typedef std::map<uint32, uint32> AreaFlagByMapID; typedef std::tuple<int16, int8, int32> WMOAreaTableKey; typedef std::map<WMOAreaTableKey, WMOAreaTableEntry const*> WMOAreaInfoByTripple; -DBCStorage <AreaTableEntry> sAreaTableStore(AreaTableEntryfmt); -DBCStorage <AreaGroupEntry> sAreaGroupStore(AreaGroupEntryfmt); -DBCStorage <AreaPOIEntry> sAreaPOIStore(AreaPOIEntryfmt); +#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); static WMOAreaInfoByTripple sWMOAreaInfoByTripple; -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); +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); std::unordered_map<uint32, CharacterFacialHairStylesEntry const*> sCharFacialHairMap; -DBCStorage <CharSectionsEntry> sCharSectionsStore(CharSectionsEntryfmt); +DEFINE_DBC_STORAGE(CharSections); std::unordered_multimap<uint32, CharSectionsEntry const*> sCharSectionMap; -DBCStorage <CharStartOutfitEntry> sCharStartOutfitStore(CharStartOutfitEntryfmt); +DEFINE_DBC_STORAGE(CharStartOutfit); std::map<uint32, CharStartOutfitEntry const*> sCharStartOutfitMap; -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); +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); typedef std::tuple<uint32, uint32, uint32> EmotesTextSoundKey; static std::map<EmotesTextSoundKey, EmotesTextSoundEntry const*> sEmotesTextSoundMap; -DBCStorage <EmotesTextSoundEntry> sEmotesTextSoundStore(EmotesTextSoundEntryfmt); +DEFINE_DBC_STORAGE(EmotesTextSound); typedef std::map<uint32, SimpleFactionsList> FactionTeamMap; static FactionTeamMap sFactionTeamMap; -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); +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); // DBC used only for initialization sMapDifficultyMap at startup. -DBCStorage <MapDifficultyEntry> sMapDifficultyStore(MapDifficultyEntryfmt); // only for loading +DEFINE_DBC_STORAGE(MapDifficulty); MapDifficultyMap sMapDifficultyMap; -DBCStorage <MovieEntry> sMovieStore(MovieEntryfmt); +DEFINE_DBC_STORAGE(Movie); -DBCStorage<NamesProfanityEntry> sNamesProfanityStore(NamesProfanityEntryfmt); -DBCStorage<NamesReservedEntry> sNamesReservedStore(NamesReservedEntryfmt); +DEFINE_DBC_STORAGE(NamesProfanity); +DEFINE_DBC_STORAGE(NamesReserved); typedef std::array<std::vector<Trinity::wregex>, TOTAL_LOCALES> NameValidationRegexContainer; NameValidationRegexContainer NamesProfaneValidators; NameValidationRegexContainer NamesReservedValidators; -DBCStorage <OverrideSpellDataEntry> sOverrideSpellDataStore(OverrideSpellDatafmt); +DEFINE_DBC_STORAGE(OverrideSpellData); -DBCStorage <PowerDisplayEntry> sPowerDisplayStore(PowerDisplayfmt); -DBCStorage <PvPDifficultyEntry> sPvPDifficultyStore(PvPDifficultyfmt); +DEFINE_DBC_STORAGE(PowerDisplay); +DEFINE_DBC_STORAGE(PvPDifficulty); -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(QuestSort); +DEFINE_DBC_STORAGE(QuestXP); +DEFINE_DBC_STORAGE(QuestFactionReward); +DEFINE_DBC_STORAGE(RandomPropertiesPoints); +DEFINE_DBC_STORAGE(ScalingStatDistribution); +DEFINE_DBC_STORAGE(ScalingStatValues); -DBCStorage <SkillLineEntry> sSkillLineStore(SkillLinefmt); -DBCStorage <SkillLineAbilityEntry> sSkillLineAbilityStore(SkillLineAbilityfmt); -DBCStorage <SkillRaceClassInfoEntry> sSkillRaceClassInfoStore(SkillRaceClassInfofmt); +DEFINE_DBC_STORAGE(SkillLine); +DEFINE_DBC_STORAGE(SkillLineAbility); +DEFINE_DBC_STORAGE(SkillRaceClassInfo); SkillRaceClassInfoMap SkillRaceClassInfoBySkill; -DBCStorage <SkillTiersEntry> sSkillTiersStore(SkillTiersfmt); +DEFINE_DBC_STORAGE(SkillTiers); -DBCStorage <SoundEntriesEntry> sSoundEntriesStore(SoundEntriesfmt); +DEFINE_DBC_STORAGE(SoundEntries); -DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore(SpellItemEnchantmentfmt); -DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore(SpellItemEnchantmentConditionfmt); -DBCStorage <SpellEntry> sSpellStore(SpellEntryfmt); +DEFINE_DBC_STORAGE(SpellItemEnchantment); +DEFINE_DBC_STORAGE(SpellItemEnchantmentCondition); +DEFINE_DBC_STORAGE(Spell); PetFamilySpellsStore sPetFamilySpellsStore; -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); +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); TalentSpellPosMap sTalentSpellPosMap; -DBCStorage <TalentTabEntry> sTalentTabStore(TalentTabEntryfmt); +DEFINE_DBC_STORAGE(TalentTab); // store absolute bit position for first rank for talent inspect static uint32 sTalentTabPages[MAX_CLASSES][3]; -DBCStorage <TaxiNodesEntry> sTaxiNodesStore(TaxiNodesEntryfmt); +DEFINE_DBC_STORAGE(TaxiNodes); TaxiMask sTaxiNodesMask; TaxiMask sOldContinentsNodesMask; TaxiMask sHordeTaxiNodesMask; @@ -191,22 +193,24 @@ TaxiMask sDeathKnightTaxiNodesMask; // DBC used only for initialization sTaxiPathSetBySource at startup. TaxiPathSetBySource sTaxiPathSetBySource; -DBCStorage <TaxiPathEntry> sTaxiPathStore(TaxiPathEntryfmt); +DEFINE_DBC_STORAGE(TaxiPath); // DBC used only for initialization sTaxiPathNodeStore at startup. TaxiPathNodesByPath sTaxiPathNodesByPath; -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); +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 typedef std::list<std::string> StoreProblemList; @@ -273,131 +277,130 @@ void LoadDBCStores(const std::string& dataPath) StoreProblemList bad_dbc_files; uint32 availableDbcLocales = 0xFFFFFFFF; -#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"); +#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); #undef LOAD_DBC - -#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 sCharFacialHairMap.insert({ entry->Race | (entry->Gender << 8) | (entry->Variation << 16), entry }); @@ -893,12 +896,12 @@ CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, ui return itr->second; } -/// 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) +/// 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) { - for (uint32 i = 0; i < sLFGDungeonStore.GetNumRows(); ++i) + for (uint32 i = 0; i < sLFGDungeonsStore.GetNumRows(); ++i) { - LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(i); + LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(i); if (!dungeon) continue; diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h index 8bcc9c5ac24..f0b555a4c6a 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 LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty); +TC_GAME_API LFGDungeonsEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty); TC_GAME_API uint32 GetDefaultMapLight(uint32 mapId); @@ -87,107 +87,109 @@ TC_GAME_API ResponseCodes ValidateName(std::wstring const& name, LocaleConstant TC_GAME_API EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender); -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 +#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 MapDifficultyMap sMapDifficultyMap; -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; +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 PetFamilySpellsStore sPetFamilySpellsStore; -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; +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 TaxiMask sTaxiNodesMask; TC_GAME_API extern TaxiMask sOldContinentsNodesMask; TC_GAME_API extern TaxiMask sHordeTaxiNodesMask; @@ -195,16 +197,18 @@ TC_GAME_API extern TaxiMask sAllianceTaxiNodesM TC_GAME_API extern TaxiMask sDeathKnightTaxiNodesMask; TC_GAME_API extern TaxiPathSetBySource sTaxiPathSetBySource; TC_GAME_API extern TaxiPathNodesByPath sTaxiPathNodesByPath; -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; +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 void LoadDBCStores(const std::string& dataPath); diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 7fadc85a868..ff10193a358 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(LFGDungeonEntry const* dbc) : id(dbc->ID), name(dbc->name[0]), map(dbc->map), +LFGDungeonData::LFGDungeonData(LFGDungeonsEntry 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 < sLFGDungeonStore.GetNumRows(); ++i) + for (uint32 i = 0; i < sLFGDungeonsStore.GetNumRows(); ++i) { - LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(i); + LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(i); if (!dungeon) continue; @@ -962,7 +962,7 @@ void LFGMgr::MakeNewGroup(LfgProposal const& proposal) if (!dungeons.empty()) { uint32 rDungeonId = (*dungeons.begin()); - LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(rDungeonId); + LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.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 sLFGDungeonStore + if (!dungeon) // should never happen - We provide a list from sLFGDungeonsStore continue; uint32 lockData = 0; diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h index 8b2c074b7bf..eb01734e93d 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 LFGDungeonEntry; +struct LFGDungeonsEntry; enum Difficulty : uint8; namespace lfg @@ -269,7 +269,7 @@ struct LfgPlayerBoot struct LFGDungeonData { LFGDungeonData(); - LFGDungeonData(LFGDungeonEntry const* dbc); + LFGDungeonData(LFGDungeonsEntry 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 7f37550b0f9..2f92a2b12e2 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 (LFGDungeonEntry const* dungeon = GetLFGDungeon(map->GetId(), map->GetDifficulty())) + if (LFGDungeonsEntry 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 (QuestFactionRewEntry const* questFactionRewEntry = sQuestFactionRewardStore.LookupEntry(row)) + if (QuestFactionRewardEntry const* questFactionRewardEntry = sQuestFactionRewardStore.LookupEntry(row)) { uint32 field = abs(quest->RewardFactionValueId[i]); - rep = questFactionRewEntry->QuestRewFactionValue[field]; + rep = questFactionRewardEntry->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 67503414462..bc2001575c6 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 cf43e5bc01f..e514c6e7586 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 LFGDungeonEntry +struct LFGDungeonsEntry { uint32 ID; // 0 char* name[16]; // 1-17 Name lang @@ -1157,7 +1157,7 @@ struct QuestXPEntry uint32 Exp[10]; }; -struct QuestFactionRewEntry +struct QuestFactionRewardEntry { uint32 id; int32 QuestRewFactionValue[10]; diff --git a/src/server/shared/DataStores/DBCfmt.h b/src/server/shared/DataStores/DBCfmt.h index 9de1c6a490b..1c1bea9fd2d 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 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"; +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"; #endif |