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, 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 |