224 TC_LOG_ERROR(
"misc",
"Size of '{}' set by format string ({}) not equal size of C++ structure ({}).", filename, fsize, rsize);
232 char const* dbTable =
nullptr,
char const* dbFormat =
nullptr,
char const* dbIndexName =
nullptr)
238 std::string dbcFilename = dbcPath + filename;
240 if (storage.
Load(dbcFilename.c_str()))
244 if (!(availableDbcLocales & (1 << i)))
247 std::string localizedName(dbcPath);
249 localizedName.push_back(
'/');
250 localizedName.append(filename);
253 availableDbcLocales &= ~(1 << i);
257 storage.
LoadFromDB(dbTable, dbFormat, dbIndexName);
262 if (FILE* f = fopen(dbcFilename.c_str(),
"rb"))
264 std::ostringstream stream;
265 stream << dbcFilename <<
" exists, and has " << storage.
GetFieldCount() <<
" field(s) (expected " << strlen(storage.
GetFormat()) <<
"). Extracted file might be from wrong client version or a database-update has been forgotten. Search on forum for TCE00008 for more info.";
266 std::string buf = stream.str();
267 errors.push_back(buf);
271 errors.push_back(dbcFilename);
279 std::string dbcPath = dataPath +
"dbc/";
282 uint32 availableDbcLocales = 0xFFFFFFFF;
284#define LOAD_DBC(store, file) LoadDBC(availableDbcLocales, bad_dbc_files, store, dbcPath, file)
403#define LOAD_DBC_EXT(store, file, dbtable, dbformat, dbpk) LoadDBC(availableDbcLocales, bad_dbc_files, store, dbcPath, file, dbtable, dbformat, dbpk)
413 sCharFacialHairMap.insert({ entry->RaceID | (entry->SexID << 8) | (entry->VariationID << 16), entry });
417 sCharSectionMap.insert({ entry->BaseSection | (entry->SexID << 8) | (entry->RaceID << 16), entry });
420 sCharStartOutfitMap[outfit->RaceID | (outfit->ClassID << 8) | (outfit->SexID << 16)] = outfit;
427 if (faction->ParentFactionID)
430 flist.push_back(faction->ID);
436 if (info->GeoBoxMax.X < info->GeoBoxMin.X)
437 std::swap(*(
float*)(&info->GeoBoxMax.X), *(
float*)(&info->GeoBoxMin.X));
438 if (info->GeoBoxMax.Y < info->GeoBoxMin.Y)
439 std::swap(*(
float*)(&info->GeoBoxMax.Y), *(
float*)(&info->GeoBoxMin.Y));
440 if (info->GeoBoxMax.Z < info->GeoBoxMin.Z)
441 std::swap(*(
float*)(&info->GeoBoxMax.Z), *(
float*)(&info->GeoBoxMin.Z));
452 bool conversionResult =
Utf8toWStr(namesProfanity->Name, wname);
455 if (namesProfanity->Language != -1)
456 NamesProfaneValidators[namesProfanity->Language].emplace_back(wname, Trinity::regex::perl | Trinity::regex::icase | Trinity::regex::optimize);
459 NamesProfaneValidators[i].emplace_back(wname, Trinity::regex::perl | Trinity::regex::icase | Trinity::regex::optimize);
466 bool conversionResult =
Utf8toWStr(namesReserved->Name, wname);
469 if (namesReserved->Language != -1)
470 NamesReservedValidators[namesReserved->Language].emplace_back(wname, Trinity::regex::perl | Trinity::regex::icase | Trinity::regex::optimize);
473 NamesReservedValidators[i].emplace_back(wname, Trinity::regex::perl | Trinity::regex::icase | Trinity::regex::optimize);
492 if (skillLine->SkillLine != cFamily->SkillLine[0] && skillLine->SkillLine != cFamily->SkillLine[1])
514 if (spellDiff->DifficultySpellID[x] <= 0 || !
sSpellStore.LookupEntry(spellDiff->DifficultySpellID[x]))
516 if (spellDiff->DifficultySpellID[x] > 0)
517 TC_LOG_ERROR(
"sql.sql",
"spelldifficulty_dbc: spell {} at field id:{} at spellid{} does not exist in SpellStore (spell.dbc), loaded as 0", spellDiff->DifficultySpellID[x], spellDiff->ID, x);
537 if (talentInfo->SpellRank[j])
557 if (talentTabInfo->ClassMask & (1 << (cls - 1)))
567 std::vector<uint32> pathLength;
568 pathLength.resize(pathCount);
571 if (pathLength[entry->PathID] < entry->NodeIndex + 1)
572 pathLength[entry->PathID] = entry->NodeIndex + 1;
586 std::set<uint32> spellPaths;
590 spellPaths.insert(sInfo->EffectMiscValue[j]);
604 for (TaxiPathSetForSource::const_iterator dest_i = src_i->second.begin(); dest_i != src_i->second.end(); ++dest_i)
607 if (dest_i->second.price || spellPaths.find(dest_i->second.ID) == spellPaths.end())
623 if (node->MountCreatureID[0] && node->MountCreatureID[0] != 32981)
625 if (node->MountCreatureID[1] && node->MountCreatureID[1] != 32981)
627 if (node->MountCreatureID[0] == 32981 || node->MountCreatureID[1] == 32981)
631 if (node->ContinentID < 2 || node->ID == 82 || node->ID == 83 || node->ID == 93 || node->ID == 94)
635 if (node->ID == 315 || node->ID == 333)
646 TC_LOG_ERROR(
"misc",
"Incorrect DataDir value in worldserver.conf or ALL required *.dbc files ({}) not found by path: {}dbc",
DBCFileCount, dataPath);
649 else if (!bad_dbc_files.empty())
652 for (StoreProblemList::iterator i = bad_dbc_files.begin(); i != bad_dbc_files.end(); ++i)
668 TC_LOG_ERROR(
"misc",
"You have _outdated_ DBC files. Please extract correct versions from current using client.");
692 return pet_family->
Name[dbclang];
724 return raceEntry ? raceEntry->
Name[locale] :
nullptr;
730 return classEntry ? classEntry->
Name[locale] :
nullptr;
735 if (mapid != 530 && mapid != 571)
739 return wma->DisplayMapID >= 0 ? wma->DisplayMapID : wma->MapID;
764 if (requiredTotemCategoryId == 0)
766 if (itemTotemCategoryId == 0)
816 uint32 tmpDiff = difficulty;
846 if (entry->MapID != mapid || entry->MinLevel > level)
850 if (entry->MaxLevel >= level)
854 if (!maxEntry || maxEntry->
MaxLevel < entry->MaxLevel)
866 if (entry->MapID == mapid && entry->GetBracketId() ==
id)
880 return 1 << liq->SoundBank;
899 if (section.second->VariationIndex == type && section.second->ColorIndex == color)
900 return section.second;
908 std::map<uint32, CharStartOutfitEntry const*>::const_iterator itr =
sCharStartOutfitMap.find(race | (class_ << 8) | (gender << 16));
954 for (SkillRaceClassInfoMap::iterator itr = bounds.first; itr != bounds.second; ++itr)
956 if (itr->second->RaceMask && !(itr->second->RaceMask & (1 << (race - 1))))
958 if (itr->second->ClassMask && !(itr->second->ClassMask & (1 << (class_ - 1))))
973 if (Trinity::regex_search(name, regex))
978 if (Trinity::regex_search(name, regex))
995 ASSERT((
_data.size() % (8 /
sizeof(
value_type))) == 0,
"TaxiMask byte size must be aligned to a multiple of uint64");
char const * localeNames[TOTAL_LOCALES]
@ RAID_DIFFICULTY_25MAN_NORMAL
#define MAX_BATTLEGROUND_BRACKETS
@ SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN
#define MAX_SPELL_EFFECTS
DBCStorage< DurabilityQualityEntry > sDurabilityQualityStore(DurabilityQualityfmt)
std::array< std::vector< Trinity::wregex >, TOTAL_LOCALES > NameValidationRegexContainer
DBCStorage< NamesReservedEntry > sNamesReservedStore(NamesReservedEntryfmt)
DBCStorage< AchievementCriteriaEntry > sAchievementCriteriaStore(AchievementCriteriafmt)
DBCStorage< MovieEntry > sMovieStore(MovieEntryfmt)
DBCStorage< SpellItemEnchantmentEntry > sSpellItemEnchantmentStore(SpellItemEnchantmentfmt)
DBCStorage< CharTitlesEntry > sCharTitlesStore(CharTitlesEntryfmt)
NameValidationRegexContainer NamesReservedValidators
std::map< uint32, uint32 > AreaFlagByMapID
DBCStorage< VehicleSeatEntry > sVehicleSeatStore(VehicleSeatEntryfmt)
DBCStorage< FactionEntry > sFactionStore(FactionEntryfmt)
DBCStorage< SpellShapeshiftFormEntry > sSpellShapeshiftFormStore(SpellShapeshiftFormfmt)
SkillRaceClassInfoEntry const * GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_)
DBCStorage< TalentTabEntry > sTalentTabStore(TalentTabEntryfmt)
DBCStorage< ScalingStatDistributionEntry > sScalingStatDistributionStore(ScalingStatDistributionfmt)
TaxiMask sAllianceTaxiNodesMask
char const * GetClassName(uint8 class_, uint8 locale)
ContentLevels GetContentLevelsForMapAndZone(uint32 mapid, uint32 zoneId)
DBCStorage< ItemSetEntry > sItemSetStore(ItemSetEntryfmt)
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
ResponseCodes ValidateName(std::wstring const &name, LocaleConstant locale)
DBCStorage< DestructibleModelDataEntry > sDestructibleModelDataStore(DestructibleModelDatafmt)
DBCStorage< GlyphSlotEntry > sGlyphSlotStore(GlyphSlotfmt)
TaxiPathSetBySource sTaxiPathSetBySource
DBCStorage< RandPropPointsEntry > sRandPropPointsStore(RandPropPointsfmt)
DBCStorage< LFGDungeonEntry > sLFGDungeonStore(LFGDungeonEntryfmt)
std::map< WMOAreaTableKey, WMOAreaTableEntry const * > WMOAreaInfoByTripple
DBCStorage< MailTemplateEntry > sMailTemplateStore(MailTemplateEntryfmt)
DBCStorage< GtChanceToSpellCritBaseEntry > sGtChanceToSpellCritBaseStore(GtChanceToSpellCritBasefmt)
DBCStorage< VehicleEntry > sVehicleStore(VehicleEntryfmt)
MapDifficulty const * GetDownscaledMapDifficultyData(uint32 mapId, Difficulty &difficulty)
void Zone2MapCoordinates(float &x, float &y, uint32 zone)
DBCStorage< ItemLimitCategoryEntry > sItemLimitCategoryStore(ItemLimitCategoryEntryfmt)
DBCStorage< SpellRadiusEntry > sSpellRadiusStore(SpellRadiusfmt)
DBCStorage< SummonPropertiesEntry > sSummonPropertiesStore(SummonPropertiesfmt)
std::unordered_map< uint32, CharacterFacialHairStylesEntry const * > sCharFacialHairMap
void Map2ZoneCoordinates(float &x, float &y, uint32 zone)
std::map< uint16, uint32 > AreaFlagByAreaID
std::map< uint32, SimpleFactionsList > FactionTeamMap
CharacterFacialHairStylesEntry const * GetCharFacialHairEntry(uint8 race, uint8 gender, uint8 facialHairID)
char const * GetPetName(uint32 petfamily, uint32 dbclang)
std::tuple< int16, int8, int32 > WMOAreaTableKey
std::map< uint32, CharStartOutfitEntry const * > sCharStartOutfitMap
std::vector< SkillLineAbilityEntry const * > const * GetSkillLineAbilitiesBySkill(uint32 skillLine)
DBCStorage< ScalingStatValuesEntry > sScalingStatValuesStore(ScalingStatValuesfmt)
void LoadDBC(uint32 &availableDbcLocales, StoreProblemList &errors, DBCStorage< T > &storage, std::string const &dbcPath, std::string const &filename, char const *dbTable=nullptr, char const *dbFormat=nullptr, char const *dbIndexName=nullptr)
DBCStorage< CharStartOutfitEntry > sCharStartOutfitStore(CharStartOutfitEntryfmt)
DBCStorage< QuestFactionRewEntry > sQuestFactionRewardStore(QuestFactionRewardfmt)
DBCStorage< GtCombatRatingsEntry > sGtCombatRatingsStore(GtCombatRatingsfmt)
EmotesTextSoundEntry const * FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender)
#define LOAD_DBC(store, file)
DBCStorage< LockEntry > sLockStore(LockEntryfmt)
DBCStorage< SkillTiersEntry > sSkillTiersStore(SkillTiersfmt)
TaxiPathNodesByPath sTaxiPathNodesByPath
DBCStorage< SpellCategoryEntry > sSpellCategoryStore(SpellCategoryfmt)
DBCStorage< ItemEntry > sItemStore(Itemfmt)
DBCStorage< ChatChannelsEntry > sChatChannelsStore(ChatChannelsEntryfmt)
bool IsTotemCategoryCompatiableWith(uint32 itemTotemCategoryId, uint32 requiredTotemCategoryId)
DBCStorage< PowerDisplayEntry > sPowerDisplayStore(PowerDisplayfmt)
TalentSpellPos const * GetTalentSpellPos(uint32 spellId)
DBCStorage< BankBagSlotPricesEntry > sBankBagSlotPricesStore(BankBagSlotPricesEntryfmt)
DBCStorage< BattlemasterListEntry > sBattlemasterListStore(BattlemasterListEntryfmt)
static DBCStorage< TaxiPathNodeEntry > sTaxiPathNodeStore(TaxiPathNodeEntryfmt)
DBCStorage< CreatureSpellDataEntry > sCreatureSpellDataStore(CreatureSpellDatafmt)
MapDifficultyMap sMapDifficultyMap
DBCStorage< CreatureDisplayInfoEntry > sCreatureDisplayInfoStore(CreatureDisplayInfofmt)
DBCStorage< SpellItemEnchantmentConditionEntry > sSpellItemEnchantmentConditionStore(SpellItemEnchantmentConditionfmt)
DBCStorage< SpellCastTimesEntry > sSpellCastTimesStore(SpellCastTimefmt)
DBCStorage< SpellRangeEntry > sSpellRangeStore(SpellRangefmt)
uint32 GetLiquidFlags(uint32 liquidType)
DBCStorage< MapDifficultyEntry > sMapDifficultyStore(MapDifficultyEntryfmt)
DBCStorage< ItemBagFamilyEntry > sItemBagFamilyStore(ItemBagFamilyfmt)
DBCStorage< BarberShopStyleEntry > sBarberShopStyleStore(BarberShopStyleEntryfmt)
SkillRaceClassInfoMap SkillRaceClassInfoBySkill
DBCStorage< ChrRacesEntry > sChrRacesStore(ChrRacesEntryfmt)
DBCStorage< SpellRuneCostEntry > sSpellRuneCostStore(SpellRuneCostfmt)
uint32 GetTalentSpellCost(uint32 spellId)
DBCStorage< GtChanceToSpellCritEntry > sGtChanceToSpellCritStore(GtChanceToSpellCritfmt)
DBCStorage< SpellDifficultyEntry > sSpellDifficultyStore(SpellDifficultyfmt)
TaxiMask sOldContinentsNodesMask
DBCStorage< SpellVisualEntry > sSpellVisualStore(SpellVisualfmt)
DBCStorage< OverrideSpellDataEntry > sOverrideSpellDataStore(OverrideSpellDatafmt)
DBCStorage< GameObjectDisplayInfoEntry > sGameObjectDisplayInfoStore(GameObjectDisplayInfofmt)
MapDifficulty const * GetMapDifficultyData(uint32 mapId, Difficulty difficulty)
PvPDifficultyEntry const * GetBattlegroundBracketByLevel(uint32 mapid, uint32 level)
std::unordered_set< uint32 > sPetTalentSpells
DBCStorage< NamesProfanityEntry > sNamesProfanityStore(NamesProfanityEntryfmt)
TaxiMask sDeathKnightTaxiNodesMask
uint32 GetVirtualMapForMapAndZone(uint32 mapid, uint32 zoneId)
DBCStorage< AreaTriggerEntry > sAreaTriggerStore(AreaTriggerEntryfmt)
CharSectionsEntry const * GetCharSectionEntry(uint8 race, CharSectionType genType, uint8 gender, uint8 type, uint8 color)
std::unordered_map< uint32, std::vector< SkillLineAbilityEntry const * > > SkillLineAbilitiesBySkill
uint32 const * GetTalentTabPages(uint8 cls)
DBCStorage< HolidaysEntry > sHolidaysStore(Holidaysfmt)
#define LOAD_DBC_EXT(store, file, dbtable, dbformat, dbpk)
DBCStorage< GtOCTClassCombatRatingScalarEntry > sGtOCTClassCombatRatingScalarStore(GtOCTClassCombatRatingScalarfmt)
DBCStorage< BannedAddOnsEntry > sBannedAddOnsStore(BannedAddOnsfmt)
DBCStorage< WorldMapAreaEntry > sWorldMapAreaStore(WorldMapAreaEntryfmt)
DBCStorage< ItemRandomSuffixEntry > sItemRandomSuffixStore(ItemRandomSuffixfmt)
DBCStorage< SoundEntriesEntry > sSoundEntriesStore(SoundEntriesfmt)
DBCStorage< EmotesTextEntry > sEmotesTextStore(EmotesTextEntryfmt)
DBCStorage< AchievementEntry > sAchievementStore(Achievementfmt)
char const * GetRaceName(uint8 race, uint8 locale)
DBCStorage< TotemCategoryEntry > sTotemCategoryStore(TotemCategoryEntryfmt)
DBCStorage< TransportRotationEntry > sTransportRotationStore(TransportRotationfmt)
DBCStorage< QuestSortEntry > sQuestSortStore(QuestSortEntryfmt)
DBCStorage< LightEntry > sLightStore(LightEntryfmt)
DBCStorage< GtRegenMPPerSptEntry > sGtRegenMPPerSptStore(GtRegenMPPerSptfmt)
DBCStorage< GameObjectArtKitEntry > sGameObjectArtKitStore(GameObjectArtKitfmt)
PvPDifficultyEntry const * GetBattlegroundBracketById(uint32 mapid, BattlegroundBracketId id)
DBCStorage< DurabilityCostsEntry > sDurabilityCostsStore(DurabilityCostsfmt)
DBCStorage< WorldMapOverlayEntry > sWorldMapOverlayStore(WorldMapOverlayEntryfmt)
DBCStorage< GtChanceToMeleeCritBaseEntry > sGtChanceToMeleeCritBaseStore(GtChanceToMeleeCritBasefmt)
DBCStorage< CreatureDisplayInfoExtraEntry > sCreatureDisplayInfoExtraStore(CreatureDisplayInfoExtrafmt)
DBCStorage< GtRegenHPPerSptEntry > sGtRegenHPPerSptStore(GtRegenHPPerSptfmt)
DBCStorage< SkillRaceClassInfoEntry > sSkillRaceClassInfoStore(SkillRaceClassInfofmt)
DBCStorage< CharSectionsEntry > sCharSectionsStore(CharSectionsEntryfmt)
static FactionTeamMap sFactionTeamMap
DBCStorage< GemPropertiesEntry > sGemPropertiesStore(GemPropertiesEntryfmt)
DBCStorage< ItemRandomPropertiesEntry > sItemRandomPropertiesStore(ItemRandomPropertiesfmt)
NameValidationRegexContainer NamesProfaneValidators
DBCStorage< DungeonEncounterEntry > sDungeonEncounterStore(DungeonEncounterfmt)
LFGDungeonEntry const * GetLFGDungeon(uint32 mapId, Difficulty difficulty)
Returns LFGDungeonEntry for a specific map and difficulty. Will return first found entry if multiple ...
DBCStorage< GtNPCManaCostScalerEntry > sGtNPCManaCostScalerStore(GtNPCManaCostScalerfmt)
std::tuple< uint32, uint32, uint32 > EmotesTextSoundKey
DBCStorage< SpellEntry > sSpellStore(SpellEntryfmt)
DBCStorage< AreaGroupEntry > sAreaGroupStore(AreaGroupEntryfmt)
DBCStorage< QuestXPEntry > sQuestXPStore(QuestXPfmt)
DBCStorage< SkillLineEntry > sSkillLineStore(SkillLinefmt)
DBCStorage< CreatureFamilyEntry > sCreatureFamilyStore(CreatureFamilyfmt)
DBCStorage< FactionTemplateEntry > sFactionTemplateStore(FactionTemplateEntryfmt)
DBCStorage< GtOCTRegenHPEntry > sGtOCTRegenHPStore(GtOCTRegenHPfmt)
DBCStorage< EmotesTextSoundEntry > sEmotesTextSoundStore(EmotesTextSoundEntryfmt)
static bool LoadDBC_assert_print(uint32 fsize, uint32 rsize, const std::string &filename)
DBCStorage< TaxiPathEntry > sTaxiPathStore(TaxiPathEntryfmt)
DBCStorage< WMOAreaTableEntry > sWMOAreaTableStore(WMOAreaTableEntryfmt)
DBCStorage< TalentEntry > sTalentStore(TalentEntryfmt)
DBCStorage< TaxiNodesEntry > sTaxiNodesStore(TaxiNodesEntryfmt)
DBCStorage< TeamContributionPointsEntry > sTeamContributionPointsStore(TeamContributionPointsfmt)
DBCStorage< SpellDurationEntry > sSpellDurationStore(SpellDurationfmt)
DBCStorage< SpellFocusObjectEntry > sSpellFocusObjectStore(SpellFocusObjectfmt)
DBCStorage< AuctionHouseEntry > sAuctionHouseStore(AuctionHouseEntryfmt)
DBCStorage< TransportAnimationEntry > sTransportAnimationStore(TransportAnimationfmt)
uint32 GetDefaultMapLight(uint32 mapId)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
CharStartOutfitEntry const * GetCharStartOutfitEntry(uint8 race, uint8 class_, uint8 gender)
TalentSpellPosMap sTalentSpellPosMap
DBCStorage< GlyphPropertiesEntry > sGlyphPropertiesStore(GlyphPropertiesfmt)
DBCStorage< CreatureModelDataEntry > sCreatureModelDataStore(CreatureModelDatafmt)
static uint32 sTalentTabPages[MAX_CLASSES][3]
DBCStorage< LFGDungeonExpansionEntry > sLFGDungeonExpansionStore(LFGDungeonExpansionfmt)
DBCStorage< CreatureTypeEntry > sCreatureTypeStore(CreatureTypefmt)
std::list< std::string > StoreProblemList
DBCStorage< CharacterFacialHairStylesEntry > sCharacterFacialHairStylesStore(CharacterFacialHairStylesfmt)
PetFamilySpellsStore sPetFamilySpellsStore
DBCStorage< CinematicSequencesEntry > sCinematicSequencesStore(CinematicSequencesEntryfmt)
DBCStorage< GtBarberShopCostBaseEntry > sGtBarberShopCostBaseStore(GtBarberShopCostBasefmt)
DBCStorage< CinematicCameraEntry > sCinematicCameraStore(CinematicCameraEntryfmt)
DBCStorage< ItemExtendedCostEntry > sItemExtendedCostStore(ItemExtendedCostEntryfmt)
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
void LoadDBCStores(const std::string &dataPath)
DBCStorage< SkillLineAbilityEntry > sSkillLineAbilityStore(SkillLineAbilityfmt)
DBCStorage< ChrClassesEntry > sChrClassesStore(ChrClassesEntryfmt)
DBCStorage< CurrencyTypesEntry > sCurrencyTypesStore(CurrencyTypesfmt)
SimpleFactionsList const * GetFactionTeamList(uint32 faction)
DBCStorage< EmotesEntry > sEmotesStore(EmotesEntryfmt)
DBCStorage< GtChanceToMeleeCritEntry > sGtChanceToMeleeCritStore(GtChanceToMeleeCritfmt)
DBCStorage< LiquidTypeEntry > sLiquidTypeStore(LiquidTypefmt)
static std::map< EmotesTextSoundKey, EmotesTextSoundEntry const * > sEmotesTextSoundMap
DBCStorage< PvPDifficultyEntry > sPvPDifficultyStore(PvPDifficultyfmt)
std::unordered_multimap< uint32, CharSectionsEntry const * > sCharSectionMap
TaxiMask sHordeTaxiNodesMask
WMOAreaTableEntry const * GetWMOAreaTableEntryByTripple(int32 rootid, int32 adtid, int32 groupid)
DBCStorage< StableSlotPricesEntry > sStableSlotPricesStore(StableSlotPricesfmt)
static WMOAreaInfoByTripple sWMOAreaInfoByTripple
std::list< uint32 > SimpleFactionsList
std::unordered_multimap< uint32, SkillRaceClassInfoEntry const * > SkillRaceClassInfoMap
std::pair< SkillRaceClassInfoMap::iterator, SkillRaceClassInfoMap::iterator > SkillRaceClassInfoBounds
std::map< uint32, MapDifficulty > MapDifficultyMap
std::vector< TaxiPathNodeList > TaxiPathNodesByPath
std::map< uint32, TaxiPathSetForSource > TaxiPathSetBySource
std::map< uint32, PetFamilySpellsSet > PetFamilySpellsStore
std::map< uint32, TalentSpellPos > TalentSpellPosMap
char constexpr ItemBagFamilyfmt[]
char constexpr NamesProfanityEntryfmt[]
char constexpr GlyphPropertiesfmt[]
char constexpr Achievementfmt[]
char constexpr AuctionHouseEntryfmt[]
char constexpr PvPDifficultyfmt[]
char constexpr CreatureModelDatafmt[]
char constexpr GtChanceToSpellCritfmt[]
char constexpr BarberShopStyleEntryfmt[]
char constexpr SoundEntriesfmt[]
char constexpr WMOAreaTableEntryfmt[]
char constexpr TransportRotationfmt[]
char constexpr ScalingStatDistributionfmt[]
char constexpr ChatChannelsEntryfmt[]
char constexpr CreatureDisplayInfoExtrafmt[]
char constexpr SpellEntryfmt[]
char constexpr QuestXPfmt[]
char constexpr GtRegenHPPerSptfmt[]
char constexpr TalentTabEntryfmt[]
char constexpr CinematicCameraEntryfmt[]
char constexpr SpellCategoryfmt[]
char constexpr CreatureTypefmt[]
char constexpr LFGDungeonEntryfmt[]
char constexpr TalentEntryfmt[]
char constexpr SkillRaceClassInfofmt[]
char constexpr SpellShapeshiftFormfmt[]
char constexpr AchievementCriteriafmt[]
char constexpr StableSlotPricesfmt[]
char constexpr BannedAddOnsfmt[]
char constexpr SummonPropertiesfmt[]
char constexpr CharStartOutfitEntryfmt[]
char constexpr SpellRadiusfmt[]
char constexpr EmotesEntryfmt[]
char constexpr SpellCastTimefmt[]
char constexpr MapDifficultyEntryfmt[]
char constexpr CustomSpellDifficultyfmt[]
char constexpr ItemRandomPropertiesfmt[]
char constexpr SkillTiersfmt[]
char constexpr DungeonEncounterfmt[]
char constexpr SpellDurationfmt[]
char constexpr QuestSortEntryfmt[]
char constexpr TaxiNodesEntryfmt[]
char constexpr CreatureFamilyfmt[]
char constexpr AreaTableEntryfmt[]
char constexpr GtChanceToMeleeCritfmt[]
char constexpr GameObjectArtKitfmt[]
char constexpr CinematicSequencesEntryfmt[]
char constexpr CustomAchievementIndex[]
char constexpr LockEntryfmt[]
char constexpr DurabilityQualityfmt[]
char constexpr LightEntryfmt[]
char constexpr TransportAnimationfmt[]
char constexpr GameObjectDisplayInfofmt[]
char constexpr TotemCategoryEntryfmt[]
char constexpr CurrencyTypesfmt[]
char constexpr AreaTriggerEntryfmt[]
char constexpr ItemLimitCategoryEntryfmt[]
char constexpr SkillLineAbilityfmt[]
char constexpr GtOCTClassCombatRatingScalarfmt[]
char constexpr CustomSpellDifficultyIndex[]
char constexpr MailTemplateEntryfmt[]
char constexpr SpellFocusObjectfmt[]
char constexpr LFGDungeonExpansionfmt[]
char constexpr Holidaysfmt[]
char constexpr DurabilityCostsfmt[]
char constexpr TeamContributionPointsfmt[]
char constexpr EmotesTextSoundEntryfmt[]
char constexpr CustomSpellEntryIndex[]
char constexpr GtNPCManaCostScalerfmt[]
char constexpr GtRegenMPPerSptfmt[]
char constexpr PowerDisplayfmt[]
char constexpr ChrRacesEntryfmt[]
char constexpr RandPropPointsfmt[]
char constexpr GemPropertiesEntryfmt[]
char constexpr WorldMapOverlayEntryfmt[]
char constexpr GtChanceToSpellCritBasefmt[]
char constexpr CharacterFacialHairStylesfmt[]
char constexpr SpellDifficultyfmt[]
char constexpr MovieEntryfmt[]
char constexpr CreatureSpellDatafmt[]
char constexpr CharTitlesEntryfmt[]
char constexpr SpellVisualfmt[]
char constexpr VehicleEntryfmt[]
char constexpr DestructibleModelDatafmt[]
char constexpr QuestFactionRewardfmt[]
char constexpr SpellRuneCostfmt[]
char constexpr GlyphSlotfmt[]
char constexpr LiquidTypefmt[]
char constexpr ChrClassesEntryfmt[]
char constexpr GtOCTRegenHPfmt[]
char constexpr FactionEntryfmt[]
char constexpr CustomAchievementfmt[]
char constexpr BattlemasterListEntryfmt[]
char constexpr CustomSpellEntryfmt[]
char constexpr WorldMapAreaEntryfmt[]
char constexpr ScalingStatValuesfmt[]
char constexpr GtBarberShopCostBasefmt[]
char constexpr SpellItemEnchantmentConditionfmt[]
char constexpr BankBagSlotPricesEntryfmt[]
char constexpr ItemSetEntryfmt[]
char constexpr VehicleSeatEntryfmt[]
char constexpr ItemRandomSuffixfmt[]
char constexpr TaxiPathEntryfmt[]
char constexpr CreatureDisplayInfofmt[]
char constexpr CharSectionsEntryfmt[]
char constexpr SpellRangefmt[]
char constexpr MapEntryfmt[]
char constexpr EmotesTextEntryfmt[]
char constexpr OverrideSpellDatafmt[]
char constexpr WorldSafeLocsEntryfmt[]
char constexpr AreaGroupEntryfmt[]
char constexpr GtChanceToMeleeCritBasefmt[]
char constexpr NamesReservedEntryfmt[]
char constexpr TaxiPathNodeEntryfmt[]
char constexpr SkillLinefmt[]
char constexpr ItemExtendedCostEntryfmt[]
char constexpr GtCombatRatingsfmt[]
char constexpr FactionTemplateEntryfmt[]
char constexpr SpellItemEnchantmentfmt[]
#define TC_LOG_ERROR(filterType__,...)
#define TC_LOG_INFO(filterType__,...)
uint32 MAKE_PAIR32(uint16 l, uint16 h)
if(posix_memalign(&__mallocedMemory, __align, __size)) return NULL
#define CLASSMASK_ALL_PLAYABLE
#define RACEMASK_ALL_PLAYABLE
uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
bool Utf8toWStr(char const *utf8str, size_t csize, wchar_t *wstr, size_t &wsize)
static uint32 GetFormatRecordSize(const char *format, int32 *index_pos=nullptr)
uint32 GetFieldCount() const
char const * GetFormat() const
bool LoadStringsFrom(char const *path) override
bool Load(char const *path) override
void LoadFromDB(char const *table, char const *format, char const *index) override
std::vector< value_type > _data
auto MapEqualRange(M &map, typename M::key_type const &key)
auto MapGetValuePtr(M &map, typename M::key_type const &key)
TC_REGEX_NAMESPACE ::wregex wregex
int32 DifficultySpellID[MAX_DIFFICULTY]