TrinityCore
Loading...
Searching...
No Matches
DB2Structure.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITY_DB2STRUCTURE_H
19#define TRINITY_DB2STRUCTURE_H
20
21#include "Common.h"
22#include "DBCEnums.h"
23#include "FlagsArray.h"
24#include "RaceMask.h"
25
26#pragma pack(push, 1)
27
29{
34 int16 InstanceID; // -1 = none
35 int8 Faction; // -1 = all, 0 = horde, 1 = alliance
36 int32 Supercedes; // its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin)
38 int8 MinimumCriteria; // need this count of completed criterias (own or referenced achievement criterias)
45 int16 SharesCriteria; // referenced achievement (counting of all completed criterias)
47 int32 HiddenBeforeDisplaySeason; // hidden in UI before this DisplaySeason is active
48 int32 LegacyAfterTimeEvent; // category changes clientside to Legacy after this TimeEvent is passed
49};
50
58
83
100
109
117
124
162
183
191
201
216
236
249
256
267
274
280
290
292{
294 std::array<uint32, 10> Difficulty;
295};
296
306
316
318{
321 uint16 FactionID; // id of faction.dbc for player factions associated with city
324};
325
333
341
354
360
369
375
383
392
402
411
417
427
441
443{
445 char const* Name;
446 char const* Version;
448};
449
451{
455 uint8 Type; // value 0 -> hair, value 2 -> facialhair
459 uint8 Data; // real ID to hair/facial hair
460};
461
473
481
489
507
515
540
547
548#define MAX_BROADCAST_TEXT_EMOTES 3
549
551{
561 std::array<uint32, 2> SoundKitID;
562 std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteID;
563 std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteDelay;
564};
565
573
593
601
616
618{
620 char const* Tag;
622 uint32 Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval
626};
627
638
646
655
666
673
686
694
741
748
763
773
791
808
824
831
852
861
863{
865 char const* ClientPrefix;
866 char const* ClientFileString;
888 std::array<int32, 3> AlteredFormStartVisualKitID;
889 std::array<int32, 3> AlteredFormFinishVisualKitID;
897 std::array<float, 3> Unknown910_1;
898 std::array<float, 3> Unknown910_2;
916
917 EnumFlag<ChrRacesFlag> GetFlags() const { return static_cast<ChrRacesFlag>(Flags); }
918};
919
920#define MAX_MASTERY_SPELLS 2
921
946
948{
950 DBCPosition3D Origin; // Position in map used for basis for M2 co-ordinates
951 uint32 SoundID; // Sound ID (voiceover for cinematic)
952 float OriginFacing; // Orientation in map used for basis for M2 co
955};
956
958{
961 std::array<uint16, 8> Camera;
962};
963
973
983
1020
1029
1036
1050
1059
1066
1067//struct CreatureDifficultyEntry
1068//{
1069// uint32 ID;
1070// int32 LevelDeltaMin;
1071// int32 LevelDeltaMax;
1072// uint16 FactionID;
1073// int32 ContentTuningID;
1074// int32 Flags[9];
1075// uint32 CreatureID;
1076//};
1077
1109
1120
1135
1142
1183
1190
1192{
1196 {
1198 // CriteriaType::KillCreature = 0
1199 // CriteriaType::KilledByCreature = 20
1200 // CriteriaType::AccountKnownPet = 96
1201 // CriteriaType::KillCreatureScenario = 208
1203
1204 // CriteriaType::WinBattleground = 1
1205 // CriteriaType::ParticipateInBattleground = 15
1206 // CriteriaType::DieOnMap = 16
1207 // CriteriaType::WinArena = 32
1208 // CriteriaType::ParticipateInArena = 33
1209 // CriteriaType::CompleteChallengeMode = 71
1211
1212 // CriteriaType::CompleteResearchProject = 2
1214
1215 // CriteriaType::FindResearchObject = 4
1216 // CriteriaType::UseGameobject = 68
1217 // CriteriaType::CatchFishInFishingHole = 72
1219
1220 // CriteriaType::SkillRaised = 7
1221 // CriteriaType::AchieveSkillStep = 40
1222 // CriteriaType::LearnSpellFromSkillLine = 75
1223 // CriteriaType::LearnTradeskillSkillLine = 112
1225
1226 // CriteriaType::EarnAchievement = 8
1228
1229 // CriteriaType::CompleteQuestsInZone = 11
1230 // CriteriaType::EnterTopLevelArea = 225
1231 // CriteriaType::LeaveTopLevelArea = 226
1233
1234 // CriteriaType::CurrencyGained = 12
1235 // CriteriaType::ObtainAnyItemWithCurrencyValue = 229
1236 // CriteriaType::ReachRenownLevel = 261
1238
1239 // CriteriaType::DieInInstance = 18
1240 // CriteriaType::RunInstance = 19
1242
1243 // CriteriaType::CompleteInternalCriteria = 21
1245
1246 // CriteriaType::DieFromEnviromentalDamage = 26
1248
1249 // CriteriaType::CompleteQuest = 27
1251
1252 // CriteriaType::BeSpellTarget = 28
1253 // CriteriaType::CastSpell = 29
1254 // CriteriaType::LearnOrKnowSpell = 34
1255 // CriteriaType::GainAura = 69
1256 // CriteriaType::LandTargetedSpellOnTarget = 110
1257 // CriteriaType::MemorizeSpell = 222
1259
1260 // CriteriaType::TrackedWorldStateUIModified = 30
1262
1263 // CriteriaType::PVPKillInArea = 31
1264 // CriteriaType::EnterArea = 163
1265 // CriteriaType::LeaveArea = 164
1267
1268 // CriteriaType::AcquireItem = 36
1269 // CriteriaType::UseItem = 41
1270 // CriteriaType::LootItem = 42
1271 // CriteriaType::EquipItem = 57
1272 // CriteriaType::LearnToy = 185
1273 // CriteriaType::LearnHeirloom = 188
1275
1276 // CriteriaType::EarnTeamArenaRating = 38
1277 // CriteriaType::EarnPersonalArenaRating = 39
1279
1280 // CriteriaType::RevealWorldMapOverlay = 43
1282
1283 // CriteriaType::ReputationGained = 46
1284 // CriteriaType::ParagonLevelIncreaseWithFaction = 206
1286
1287 // CriteriaType::EquipItemInSlot = 49
1288 // CriteriaType::LearnAnyTransmogInSlot = 199
1290
1291 // CriteriaType::RollNeed = 50
1292 // CriteriaType::RollGreed = 51
1293 // CriteriaType::RollDisenchant = 116
1295
1296 // CriteriaType::DeliverKillingBlowToClass = 52
1298
1299 // CriteriaType::DeliverKillingBlowToRace = 53
1301
1302 // CriteriaType::DoEmote = 54
1304
1305 // CriteriaType::CompleteQuestsInSort = 58
1307
1308 // CriteriaType::KilledAllUnitsInSpawnRegion = 64
1310
1311 // CriteriaType::PlayerTriggerGameEvent = 73
1312 // CriteriaType::AnyoneTriggerGameEventScenario = 92
1314
1315 // CriteriaType::DefeatDungeonEncounterWhileElegibleForLoot = 97
1316 // CriteriaType::DefeatDungeonEncounter = 165
1318
1319 // CriteriaType::GetLootByType = 109
1321
1322 // CriteriaType::CompleteGuildChallenge = 138
1324
1325 // CriteriaType::CompleteScenario = 152
1327
1328 // CriteriaType::EnterAreaTriggerWithActionSet = 153
1329 // CriteriaType::LeaveAreaTriggerWithActionSet = 154
1331
1332 // CriteriaType::BattlePetReachLevel = 160
1333 // CriteriaType::ActivelyEarnPetLevel = 162
1335
1336 // CriteriaType::PlaceGarrisonBuilding = 167
1337 // CriteriaType::ActivateGarrisonBuilding = 169
1338 // CriteriaType::LearnGarrisonBlueprint = 179
1340
1341 // CriteriaType::UpgradeGarrison = 170
1343
1344 // CriteriaType::StartAnyGarrisonMissionWithFollowerType = 171
1345 // CriteriaType::SucceedAnyGarrisonMissionWithFollowerType = 173
1347
1348 // CriteriaType::StartGarrisonMission = 172
1349 // CriteriaType::SucceedGarrisonMission = 174
1351
1352 // CriteriaType::RecruitGarrisonFollower = 176
1354
1355 // CriteriaType::LearnGarrisonSpecialization = 181
1357
1358 // CriteriaType::CollectGarrisonShipment = 182
1360
1361 // CriteriaType::LearnTransmog = 192
1363
1364 // CriteriaType::ActivelyReachLevel = 196
1366
1367 // CriteriaType::CompleteResearchGarrisonTalent = 198
1368 // CriteriaType::StartResearchGarrisonTalent = 202
1369 // CriteriaType::SocketGarrisonTalent = 227
1371
1372 // CriteriaType::EarnLicense = 204
1374
1375 // CriteriaType::CollectTransmogSetFromGroup = 205
1377
1378 // CriteriaType::ArtifactPowerRankPurchased = 209
1379 // CriteriaType::ChooseRelicTalent = 211
1381
1382 // CriteriaType::EarnExpansionLevel = 212
1384
1385 // CriteriaType::AccountHonorLevelReached = 213
1387
1388 // CriteriaType::AzeriteLevelReached = 215
1390
1391 // CriteriaType::MythicPlusRatingAttained = 230
1393
1394 // CriteriaType::BankTabPurchased = 260
1396
1397 // CriteriaType::LearnTaxiNode = 262
1409
1410 EnumFlag<CriteriaFlags> GetFlags() const { return static_cast<CriteriaFlags>(Flags); }
1411};
1412
1426
1439
1441{
1464 std::array<int32, 2> Flags;
1465
1468
1469 // Helpers
1471 {
1472 return GetFlags().HasFlag(CurrencyTypesFlags::_100_Scaler) ? 100 : 1;
1473 }
1474
1479
1480 bool HasMaxQuantity(bool onLoad = false, bool onUpdateVersion = false) const
1481 {
1482 if (onLoad && GetFlags().HasFlag(CurrencyTypesFlags::IgnoreMaxQtyOnLoad))
1483 return false;
1484
1485 if (onUpdateVersion && GetFlags().HasFlag(CurrencyTypesFlags::UpdateVersionIgnoreMax))
1486 return false;
1487
1489 }
1490
1491 bool HasTotalEarned() const
1492 {
1494 }
1495
1496 bool IsAlliance() const
1497 {
1499 }
1500
1501 bool IsHorde() const
1502 {
1503 return GetFlags().HasFlag(CurrencyTypesFlags::IsHordeOnly);
1504 }
1505
1506 bool IsSuppressingChatLog(bool onUpdateVersion = false) const
1507 {
1508 if ((onUpdateVersion && GetFlags().HasFlag(CurrencyTypesFlags::SuppressChatMessageOnVersionChange)) ||
1510 return true;
1511
1512 return false;
1513 }
1514
1516 {
1518 }
1519};
1520
1527
1536
1563
1582
1597
1599{
1601 std::array<uint16, 21> WeaponSubClassCost;
1602 std::array<uint16, 8> ArmorSubClassCost;
1603};
1604
1610
1624
1626{
1628 char const* Name;
1630};
1631
1641
1658
1672
1703
1704#define MAX_FACTION_RELATIONS 8
1705
1707{
1714 std::array<uint16, MAX_FACTION_RELATIONS> Enemies;
1715 std::array<uint16, MAX_FACTION_RELATIONS> Friend;
1716
1717 //------------------------------------------------------- end structure
1718
1719 // helpers
1720 bool IsFriendlyTo(FactionTemplateEntry const* entry) const
1721 {
1722 if (this == entry)
1723 return true;
1724 if (entry->Faction)
1725 {
1726 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1727 if (Enemies[i] == entry->Faction)
1728 return false;
1729 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1730 if (Friend[i] == entry->Faction)
1731 return true;
1732 }
1733 return (FriendGroup & entry->FactionGroup) || (FactionGroup & entry->FriendGroup);
1734 }
1735 bool IsHostileTo(FactionTemplateEntry const* entry) const
1736 {
1737 if (this == entry)
1738 return false;
1739 if (entry->Faction)
1740 {
1741 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1742 if (Enemies[i] == entry->Faction)
1743 return true;
1744 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1745 if (Friend[i] == entry->Faction)
1746 return false;
1747 }
1748 return (EnemyGroup & entry->FactionGroup) != 0;
1749 }
1750 bool IsHostileToPlayers() const { return (EnemyGroup & FACTION_MASK_PLAYER) !=0; }
1751 bool IsNeutralToAll() const
1752 {
1753 for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
1754 if (Enemies[i] != 0)
1755 return false;
1756 return EnemyGroup == 0 && FriendGroup == 0;
1757 }
1759};
1760
1790
1799
1812
1819
1834
1841
1859
1871
1900
1909
1921
1959
1968
2004
2015
2022
2029
2043
2052
2069
2076
2083
2090
2099
2106
2128
2136
2144
2152
2158
2172
2173#define MAX_HOLIDAY_DURATIONS 10
2174#define MAX_HOLIDAY_DATES 26
2175#define MAX_HOLIDAY_FLAGS 10
2176
2178{
2187 std::array<uint16, MAX_HOLIDAY_DURATIONS> Duration;
2188 std::array<uint32, MAX_HOLIDAY_DATES> Date; // dates in unix time starting at January, 1, 2000
2189 std::array<uint8, MAX_HOLIDAY_DURATIONS> CalendarFlags;
2190 std::array<int32, 3> TextureFileDataID;
2191};
2192
2201
2207
2213
2219
2239
2249
2251{
2253 std::array<float, 7> Qualitymod;
2254};
2255
2257{
2259 std::array<float, 7> Quality;
2261};
2262
2272
2278
2287
2288// new item upgrade system
2301
2307
2308//struct ItemBonusSequenceSpellEntry
2309//{
2310// uint32 ID;
2311// int32 SpellID;
2312// int32 ItemID;
2313//};
2314
2321
2337
2345
2354
2366
2373
2379
2381{
2384 std::array<float, 7> Quality;
2385};
2386
2388{
2391 std::array<float, 7> Quality;
2392};
2393
2400
2402{
2405 std::array<float, 7> Quality;
2406};
2407
2414
2426
2440
2441#define MAX_ITEM_EXT_COST_ITEMS 5
2442#define MAX_ITEM_EXT_COST_CURRENCIES 5
2443
2445{
2449 int8 ArenaBracket; // arena slot restrictions (min slot value)
2453 uint8 RequiredAchievement; // required personal arena rating
2454 std::array<int32, MAX_ITEM_EXT_COST_ITEMS> ItemID; // required item id
2455 std::array<uint16, MAX_ITEM_EXT_COST_ITEMS> ItemCount; // required count of 1st item
2456 std::array<uint16, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyID; // required curency id
2457 std::array<uint32, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyCount; // required curency count
2458};
2459
2467
2475
2482
2490
2498
2509
2519
2526
2533
2541
2551
2569
2570#define MAX_ITEM_SET_ITEMS 17
2571
2581
2591
2593{
2609 std::array<float, MAX_ITEM_PROTO_STATS> StatPercentageOfSocket;
2610 std::array<int32, MAX_ITEM_PROTO_STATS> StatPercentEditor;
2611 std::array<int32, MAX_ITEM_PROTO_STATS> StatModifierBonusStat;
2622 std::array<int32, MAX_ITEM_PROTO_FLAGS> Flags;
2637 std::array<uint16, MAX_ITEM_PROTO_ZONES> ZoneBound;
2650 std::array<uint8, MAX_ITEM_PROTO_SOCKETS> SocketType;
2662};
2663
2674
2681
2689
2696
2703
2719
2739
2754
2762
2763#define KEYCHAIN_SIZE 32
2764
2766{
2768 std::array<uint8, KEYCHAIN_SIZE> Key;
2769};
2770
2778
2785
2795
2836
2846
2848{
2850 char const* Name;
2851 std::array<char const*, 6> Texture;
2853 uint8 SoundBank; // used to be "type", maybe needs fixing (works well for now)
2866 std::array<uint8, 6> FrameCountTexture;
2867 std::array<int32, 3> Color;
2868 std::array<float, 38> Float;
2869 std::array<uint32, 4> Int;
2870 std::array<float, 4> Coefficient;
2871};
2872
2874{
2877 std::array<float, 3> Rot;
2878};
2879
2880#define MAX_LOCK_CASE 8
2881
2883{
2886 std::array<int32, MAX_LOCK_CASE> Index;
2887 std::array<uint16, MAX_LOCK_CASE> Skill;
2888 std::array<uint8, MAX_LOCK_CASE> Type;
2889 std::array<uint8, MAX_LOCK_CASE> Action;
2890};
2891
2897
2899{
2901 char const* Directory;
2907 DBCPosition2D Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance)
2918 int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
2925 std::array<int32, 3> Flags;
2926
2927 // Helpers
2928 uint8 Expansion() const { return ExpansionID; }
2929
2931 bool IsNonRaidDungeon() const { return InstanceType == MAP_INSTANCE; }
2933 bool IsRaid() const { return InstanceType == MAP_RAID; }
2935 bool IsBattleArena() const { return InstanceType == MAP_ARENA; }
2937 bool IsScenario() const { return InstanceType == MAP_SCENARIO; }
2938 bool IsWorldMap() const { return InstanceType == MAP_COMMON; }
2939
2940 bool GetEntrancePos(int32& mapid, float& x, float& y) const
2941 {
2942 if (CorpseMapID < 0)
2943 return false;
2944
2945 mapid = CorpseMapID;
2946 x = Corpse.X;
2947 y = Corpse.Y;
2948 return true;
2949 }
2950
2951 bool IsContinent() const
2952 {
2953 switch (ID)
2954 {
2955 case 0:
2956 case 1:
2957 case 530:
2958 case 571:
2959 case 870:
2960 case 1116:
2961 case 1220:
2962 case 1642:
2963 case 1643:
2964 case 2222:
2965 case 2444:
2966 case 2601:
2967 return true;
2968 default:
2969 return false;
2970 }
2971 }
2972
2974 bool IsFlexLocking() const { return GetFlags().HasFlag(MapFlags::FlexibleRaidLocking); }
2975 bool IsGarrison() const { return GetFlags().HasFlag(MapFlags::Garrison); }
2976 bool IsSplitByFaction() const
2977 {
2978 return ID == 609 || // Acherus (DeathKnight Start)
2979 ID == 1265 || // Assault on the Dark Portal (WoD Intro)
2980 ID == 1481 || // Mardum (DH Start)
2981 ID == 2175 || // Exiles Reach - NPE
2982 ID == 2570; // Forbidden Reach (Dracthyr/Evoker Start)
2983 }
2984
2985 EnumFlag<MapFlags> GetFlags() const { return static_cast<MapFlags>(Flags[0]); }
2986 EnumFlag<MapFlags2> GetFlags2() const { return static_cast<MapFlags2>(Flags[1]); }
2987 EnumFlag<MapFlags3> GetFlags3() const { return static_cast<MapFlags3>(Flags[2]); }
2988};
2989
3003
3036
3045
3052
3059
3071
3090
3105
3114
3122
3131
3142
3151
3153{
3155 char const* Name;
3158};
3159
3166
3168{
3170 char const* Name;
3171};
3172
3179
3188
3189#define MAX_OVERRIDE_SPELL 10
3190
3192{
3194 std::array<int32, MAX_OVERRIDE_SPELL> Spells;
3197};
3198
3206
3218
3226
3236
3247
3249{
3252
3254};
3255
3262
3264{
3325 std::array<uint16, 4> SkillID;
3326 std::array<uint16, 4> MinSkill;
3327 std::array<uint16, 4> MaxSkill;
3328 std::array<uint32, 3> MinFactionID;
3329 std::array<uint8, 3> MinReputation;
3330 std::array<int32, 4> PrevQuestID;
3331 std::array<int32, 4> CurrQuestID;
3332 std::array<int32, 4> CurrentCompletedQuestID;
3333 std::array<int32, 4> SpellID;
3334 std::array<int32, 4> ItemID;
3335 std::array<uint32, 4> ItemCount;
3336 std::array<uint16, 2> Explored;
3337 std::array<uint32, 2> Time;
3338 std::array<int32, 4> AuraSpellID;
3339 std::array<uint8, 4> AuraStacks;
3340 std::array<uint32, 4> Achievement;
3341 std::array<uint16, 4> AreaID;
3342 std::array<uint8, 4> LfgStatus;
3343 std::array<uint8, 4> LfgCompare;
3344 std::array<uint32, 4> LfgValue;
3345 std::array<uint32, 4> CurrencyID;
3346 std::array<uint32, 4> CurrencyCount;
3347 std::array<uint32, 6> QuestKillMonster;
3349 std::array<int32, 4> TraitNodeEntryID;
3350 std::array<uint16, 4> TraitNodeEntryMinRank;
3351 std::array<uint16, 4> TraitNodeEntryMaxRank;
3352
3354};
3355
3365
3375
3383
3391
3401
3420
3432
3444
3451
3459
3473
3479
3488
3501
3503{
3505 std::array<int16, 10> Difficulty;
3506};
3507
3516
3528
3530{
3532 std::array<uint32, 10> Difficulty;
3533};
3534
3543
3551
3558
3560{
3562 std::array<uint16, 10> Difficulty;
3563};
3564
3566{
3572 std::array<float, 5> EpicF;
3573 std::array<float, 5> SuperiorF;
3574 std::array<float, 5> GoodF;
3575 std::array<uint32, 5> Epic;
3576 std::array<uint32, 5> Superior;
3577 std::array<uint32, 5> Good;
3578};
3579
3590
3598
3606
3617
3619{
3626 int32 RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field
3627 uint16 Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?)
3632
3633 // helpers
3634 bool IsBonusObjective() const
3635 {
3637 }
3638};
3639
3647
3649{
3651 char const* Name;
3652 char const* Script;
3653};
3654
3662
3664{
3666 char const* Name;
3667 char const* Script;
3668};
3669
3675
3696
3720
3728
3740
3749
3770
3780
3787
3800
3819
3826
3838
3853
3866
3875
3886
3894
3931
3938
3946
3955
3961
3963{
3967 std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> AuraInterruptFlags;
3968 std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> ChannelInterruptFlags;
3970};
3971
3972#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
3973
4003
4005{
4007 std::array<uint8, 5> LtOperandType;
4008 std::array<uint32, 5> LtOperand;
4009 std::array<uint8, 5> Operator;
4010 std::array<uint8, 5> RtOperandType;
4011 std::array<uint8, 5> RtOperand;
4012 std::array<uint8, 5> Logic;
4013};
4014
4023
4030
4038
4049
4071
4073{
4074 uint32 ID; // SpellID
4076};
4077
4079{
4093 uint32 OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource
4094 // only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG
4096};
4097
4104
4111
4120
4129
4139
4140#define MAX_SPELL_REAGENTS 8
4141
4143{
4146 std::array<int32, MAX_SPELL_REAGENTS> Reagent;
4147 std::array<int16, MAX_SPELL_REAGENTS> ReagentCount;
4148 std::array<int16, MAX_SPELL_REAGENTS> ReagentRecraftCount;
4149 std::array<uint8, MAX_SPELL_REAGENTS> ReagentSource;
4150};
4151
4161
4169
4178
4179#define MAX_SHAPESHIFT_SPELLS 8
4180
4197
4210
4211#define MAX_SPELL_TOTEMS 2
4212
4214{
4217 std::array<uint16, MAX_SPELL_TOTEMS> RequiredTotemCategoryID;
4218 std::array<int32, MAX_SPELL_TOTEMS> Totem;
4219};
4220
4242
4263
4277
4300
4317
4329
4330#define TACTKEY_SIZE 16
4331
4333{
4335 std::array<uint8, TACTKEY_SIZE> Key;
4336};
4337
4356
4358{
4370 float Facing;
4373 std::array<int32, 2> MountCreatureID;
4374
4375 EnumFlag<TaxiNodeFlags> GetFlags() const { return static_cast<TaxiNodeFlags>(Flags); }
4376
4378 {
4380 // manually whitelisted nodes
4381 || ID == 1985 // [Hidden] Argus Ground Points Hub (Ground TP out to here, TP to Vindicaar from here)
4382 || ID == 1986 // [Hidden] Argus Vindicaar Ground Hub (Vindicaar TP out to here, TP to ground from here)
4383 || ID == 1987 // [Hidden] Argus Vindicaar No Load Hub (Vindicaar No Load transition goes through here)
4384 || ID == 2627 // [Hidden] 9.0 Bastion Ground Points Hub (Ground TP out to here, TP to Sanctum from here)
4385 || ID == 2628 // [Hidden] 9.0 Bastion Ground Hub (Sanctum TP out to here, TP to ground from here)
4386 || ID == 2732 // [HIDDEN] 9.2 Resonant Peaks - Teleport Network - Hidden Hub (Connects all Nodes to each other without unique paths)
4387 || ID == 2835 // [Hidden] 10.0 Travel Network - Destination Input
4388 || ID == 2843 // [Hidden] 10.0 Travel Network - Destination Output
4389 ;
4390 }
4391};
4392
4400
4413
4421
4430
4436
4460
4470
4479
4492
4505
4517
4528
4537
4550
4561
4568
4575
4582
4589
4596
4604
4611
4618
4626
4635
4647
4663
4670
4680
4687
4695
4706
4723
4743
4758
4775
4781
4789
4802
4810
4822
4831
4839
4860
4875
4889
4897
4917
4918#define MAX_UNIT_CONDITION_VALUES 8
4919
4921{
4924 std::array<uint8, MAX_UNIT_CONDITION_VALUES> Variable;
4925 std::array<uint8, MAX_UNIT_CONDITION_VALUES> Op;
4926 std::array<int32, MAX_UNIT_CONDITION_VALUES> Value;
4927
4929};
4930
4951
4952#define MAX_VEHICLE_SEATS 8
4953
4976
4978{
5041
5042 inline bool HasFlag(VehicleSeatFlags flag) const { return !!(Flags & flag); }
5043 inline bool HasFlag(VehicleSeatFlagsB flag) const { return !!(FlagsB & flag); }
5044 inline bool HasFlag(VehicleSeatFlagsC flag) const { return EnumFlag(static_cast<VehicleSeatFlagsC>(FlagsC)).HasFlag(flag); }
5045
5053 inline bool IsEjectable() const { return HasFlag(VEHICLE_SEAT_FLAG_B_EJECTABLE); }
5054};
5055
5075
5094
5115
5126
5127#define MAX_WORLD_MAP_OVERLAY_AREA_IDX 4
5128
5145
5151
5152#pragma pack(pop)
5153#endif
#define MAX_FACTION_RELATIONS
MapFlags
Definition DBCEnums.h:1611
@ DynamicDifficulty
@ FlexibleRaidLocking
TransmogOutfitSetType
Definition DBCEnums.h:2605
CreatureModelDataFlags
Definition DBCEnums.h:470
ChrSpecializationFlag
Definition DBCEnums.h:381
TransmogOutfitSlotOption
Definition DBCEnums.h:2642
AreaTriggerShapeType
Definition DBCEnums.h:196
SkillLineFlags
Definition DBCEnums.h:2359
VehicleSeatFlags
Definition DBCEnums.h:3111
@ VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_VOLUNTARY_EXIT
Definition DBCEnums.h:3115
@ VEHICLE_SEAT_FLAG_CAN_SWITCH
Definition DBCEnums.h:3138
@ VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT
Definition DBCEnums.h:3137
@ VEHICLE_SEAT_FLAG_CAN_CONTROL
Definition DBCEnums.h:3123
@ VEHICLE_SEAT_FLAG_UNCONTROLLED
Definition DBCEnums.h:3125
@ VEHICLE_SEAT_FLAG_UNK18
Definition DBCEnums.h:3129
CurrencyTypesFlags
Definition DBCEnums.h:864
@ SuppressChatMessageOnVersionChange
@ MAP_DIFFICULTY_RESET_WEEKLY
Definition DBCEnums.h:1697
@ MAP_DIFFICULTY_RESET_DAILY
Definition DBCEnums.h:1696
@ MAP_DIFFICULTY_RESET_ANYTIME
Definition DBCEnums.h:1695
MountFlags
Definition DBCEnums.h:2125
AreaTriggerActionSetFlag
Definition DBCEnums.h:175
TraitConditionType
Definition DBCEnums.h:2861
@ MAP_COMMON
Definition DBCEnums.h:1599
@ MAP_SCENARIO
Definition DBCEnums.h:1604
@ MAP_BATTLEGROUND
Definition DBCEnums.h:1602
@ MAP_ARENA
Definition DBCEnums.h:1603
@ MAP_INSTANCE
Definition DBCEnums.h:1600
@ MAP_RAID
Definition DBCEnums.h:1601
PlayerDataElementType
Definition DBCEnums.h:2220
SpellEffectAttributes
Definition DBCEnums.h:2421
AreaMountFlags
Definition DBCEnums.h:163
SpellShapeshiftFormFlags
Definition DBCEnums.h:2486
TransmogOutfitSlotOptionFlags
Definition DBCEnums.h:2660
ContentTuningFlag
Definition DBCEnums.h:453
@ FACTION_MASK_PLAYER
Definition DBCEnums.h:1011
VehicleSeatFlagsB
Definition DBCEnums.h:3147
@ VEHICLE_SEAT_FLAG_B_EJECTABLE
Definition DBCEnums.h:3151
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED
Definition DBCEnums.h:3149
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3
Definition DBCEnums.h:3153
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_2
Definition DBCEnums.h:3152
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4
Definition DBCEnums.h:3156
PathPropertyIndex
Definition DBCEnums.h:2144
@ PRESTIGE_FLAG_DISABLED
Definition DBCEnums.h:2334
TraitNodeEntryType
Definition DBCEnums.h:2897
CurrencyTypesFlagsB
Definition DBCEnums.h:902
PhaseEntryFlags
Definition DBCEnums.h:2163
WarbandSceneFlags
Definition DBCEnums.h:3190
QuestLineXQuestFlags
Definition DBCEnums.h:2338
TraitCondFlags
Definition DBCEnums.h:2851
BattlemasterType
Definition DBCEnums.h:270
CriteriaFlags
Definition DBCEnums.h:536
UiMapFlag
Definition DBCEnums.h:2950
SpellItemEnchantmentFlags
Definition DBCEnums.h:2456
TransmogOutfitEntrySource
Definition DBCEnums.h:2596
CfgCategoriesFlags
Definition DBCEnums.h:310
AreaFlags
Definition DBCEnums.h:104
TransmogOutfitSlotFlags
Definition DBCEnums.h:2633
TransmogOutfitSlot
Definition DBCEnums.h:2612
TaxiNodeFlags
Definition DBCEnums.h:2818
PowerTypeFlags
Definition DBCEnums.h:2310
TraitTreeFlag
Definition DBCEnums.h:2941
CfgCategoriesCharsets
Definition DBCEnums.h:298
SkillLineAbilityAcquireMethod
Definition DBCEnums.h:2381
UnitConditionFlags
Definition DBCEnums.h:2993
ChatChannelFlags
Definition DBCEnums.h:318
TraitSystemVariationType
Definition DBCEnums.h:2935
WMOAreaTableFlags
Definition DBCEnums.h:3201
TransmogSituationTrigger
Definition DBCEnums.h:2720
TraitPointsOperationType
Definition DBCEnums.h:2928
@ SCENARIO_STEP_FLAG_BONUS_OBJECTIVE
Definition DBCEnums.h:2354
SpellCategoryFlags
Definition DBCEnums.h:2407
TransmogSituationTriggerFlags
Definition DBCEnums.h:2735
TraitNodeType
Definition DBCEnums.h:2920
Difficulty
Definition DBCEnums.h:935
ChatChannelRuleset
Definition DBCEnums.h:337
AreaFlags2
Definition DBCEnums.h:142
ChrSpecializationRole
Definition DBCEnums.h:393
TransmogSituation
Definition DBCEnums.h:2679
BattlegroundBracketId
Definition DBCEnums.h:53
VignetteFlags
Definition DBCEnums.h:3169
TransmogSituationFlags
Definition DBCEnums.h:2707
TraitCurrencyType
Definition DBCEnums.h:2879
MapFlags2
Definition DBCEnums.h:1649
MapFlags3
Definition DBCEnums.h:1676
ChrCustomizationReqFlag
Definition DBCEnums.h:849
MapDifficultyFlags
Definition DBCEnums.h:1683
@ ResumeDungeonProgressBasedOnLockout
@ UseLootBasedLockInsteadOfInstanceLock
TransmogIllusionFlags
Definition DBCEnums.h:2555
ChrRacesFlag
Definition DBCEnums.h:350
BattlemasterListFlags
Definition DBCEnums.h:276
FriendshipReputationFlags
Definition DBCEnums.h:1019
TransmogOutfitEntryFlags
Definition DBCEnums.h:2584
@ FACTION_TEMPLATE_FLAG_CONTESTED_GUARD
Definition DBCEnums.h:1005
CampaignFlags
Definition DBCEnums.h:290
SummonPropertiesFlags
Definition DBCEnums.h:2775
PlayerConditionFlags
Definition DBCEnums.h:2189
BattlePetSpeciesFlags
Definition DBCEnums.h:247
VehicleSeatFlagsC
Definition DBCEnums.h:3162
SkillLineAbilityFlags
Definition DBCEnums.h:2390
CriteriaTreeFlags
Definition DBCEnums.h:811
uint8_t uint8
Definition Define.h:156
int64_t int64
Definition Define.h:149
int16_t int16
Definition Define.h:151
int8_t int8
Definition Define.h:152
int32_t int32
Definition Define.h:150
uint64_t uint64
Definition Define.h:153
uint16_t uint16
Definition Define.h:155
uint32_t uint32
Definition Define.h:154
uint16 flags
TypeID
Definition ObjectGuid.h:37
constexpr bool HasFlag(T flag) const
Definition EnumFlag.h:106
int32 HiddenBeforeDisplaySeason
LocalizedString Description
LocalizedString Title
int32 LegacyAfterTimeEvent
LocalizedString Reward
LocalizedString Name
LocalizedString Description
LocalizedString RewardDescription
std::array< uint8, 2 > BonusValue
LocalizedString ContinueDescription
LocalizedString ButtonText
std::array< uint32, 2 > BonusPlayerConditionID
DBCPosition2D WorldPosition
LocalizedString Title
LocalizedString Description
uint16 LowDefAnimKitID
uint32 OneShotDuration
uint16 OneShotStopAnimKitID
std::array< int32, 2 > Flags
float AmbientMultiplier
std::array< int32, 2 > Flags
EnumFlag< AreaMountFlags > GetMountFlags() const
uint8 WildBattlePetLevelMin
EnumFlag< AreaFlags > GetFlags() const
std::array< uint16, 4 > LiquidTypeID
int32 PvpCombatWorldStateID
uint8 SoundProviderPrefUnderwater
char const * ZoneName
EnumFlag< AreaFlags2 > GetFlags2() const
LocalizedString AreaName
uint8 SoundProviderPref
bool IsSanctuary() const
uint8 WildBattlePetLevelMax
EnumFlag< AreaTriggerActionSetFlag > GetFlags() const
AreaTriggerShapeType GetShapeType() const
DBCPosition3D Pos
int32 AreaTriggerActionSetID
LocalizedString Description
int32 UiBarOverlayColor
uint32 UiModelSceneID
uint16 ChrSpecializationID
uint16 UiTextureKitID
int32 UiBarBackgroundColor
LocalizedString Name
uint32 SpellVisualKitID
uint8 ArtifactCategoryID
DBCPosition2D DisplayPos
std::array< uint32, 10 > Difficulty
uint32 MaxArtifactKnowledge
uint32 KnowledgePlayerCondition
uint32 MinimumEmpowerKnowledge
LocalizedString Name
LocalizedString Name
LocalizedString Description
LocalizedString SourceHorde
LocalizedString SourceAlliance
uint64 MinimumExperienceToNextLevel
int32 PurchasePromptTitle
int32 TabNameEditBoxHeader
int32 PurchasePromptConfirmation
int32 PurchasePromptBody
int32 PlayerConditionID
int32 TabCleanupConfirmation
char const * Name
char const * Version
LocalizedString DisplayName
LocalizedString Description
LocalizedString Name
LocalizedString Description
LocalizedString Description
EnumFlag< BattlePetSpeciesFlags > GetFlags() const
LocalizedString SourceText
LocalizedString Name
EnumFlag< BattlemasterListFlags > GetFlags() const
BattlemasterType GetType() const
LocalizedString GameType
LocalizedString ShortDescription
LocalizedString LongDescription
LocalizedString Text
std::array< uint32, 2 > SoundKitID
std::array< uint16, MAX_BROADCAST_TEXT_EMOTES > EmoteDelay
LocalizedString Text1
std::array< uint16, MAX_BROADCAST_TEXT_EMOTES > EmoteID
LocalizedString Title
int32 UiQuestDetailsThemeID
int32 SortAsNormalQuest
int32 DisplayPriority
int32 UseMinimalHeader
LocalizedString Description
bool HasFlag(CampaignFlags flag) const
EnumFlag< CfgCategoriesCharsets > GetExistingCharsetMask() const
LocalizedString Name
EnumFlag< CfgCategoriesCharsets > GetCreateCharsetMask() const
EnumFlag< CfgCategoriesFlags > GetFlags() const
char const * Tag
int32 TimeEventRegionGroupID
LocalizedString Name1
LocalizedString Name
bool IsForNewCharacter() const
Trinity::RaceMask< int32, 2 > RaceMask
ChatChannelRuleset GetRuleset() const
LocalizedString Name
EnumFlag< ChatChannelFlags > GetFlags() const
LocalizedString Shortcut
char const * Filename
int32 CharStartKitUnknown901
int32 FemaleCharacterCreationIdleVisualFallback
uint32 SelectScreenFileDataID
LocalizedString NameMale
int32 MaleCharacterCreationVisualFallback
uint8 AttackPowerPerAgility
LocalizedString HyphenatedNameFemale
uint32 SpellTextureBlobFileDataID
int32 CharacterCreationGroundVisualFallback
uint32 LowResScreenFileDataID
uint32 CreateScreenFileDataID
int32 MaleCharacterCreationIdleVisualFallback
char const * PetNameToken
LocalizedString RoleInfoString
LocalizedString Name
LocalizedString NameFemale
int32 AlteredFormCharacterCreationIdleVisualFallback
uint8 RangedAttackPowerPerAgility
int32 FemaleCharacterCreationVisualFallback
LocalizedString Description
LocalizedString HyphenatedNameMale
uint16 CinematicSequenceID
uint8 AttackPowerPerStrength
int32 CharacterCreationIdleGroundVisualFallback
LocalizedString DisabledString
int32 CharacterCreationAnimLoopWaitTimeMsFallback
std::array< int32, 2 > SwatchColor
Trinity::RaceMask< int32, 2 > RaceMask
LocalizedString ReqSource
EnumFlag< ChrCustomizationReqFlag > GetFlags() const
int32 TextureFallbackChrModelID
float CameraDistanceOffset
int32 SkeletonFileDataID
float CustomizeFacing
int32 ModelFallbackChrModelID
std::array< float, 3 > FaceCustomizationOffset
float BarberShopCameraOffsetScale
std::array< float, 3 > CustomizeOffset
float BarberShopCameraHeightOffsetScale
int32 HelmVisFallbackChrModelID
int32 CharComponentTextureLayoutID
float BarberShopCameraRotationOffset
int32 TransmogrifyDisabledSlotMask
LocalizedString NameFemale
int8 FemaleTextureFallbackRaceID
int8 UnalteredVisualCustomizationRaceID
char const * ClientPrefix
LocalizedString LoreDescription
LocalizedString ShortNameLower
int32 SelectScreenFileDataID
int8 FemaleTextureFallbackSex
LocalizedString NameLowercase
char const * ClientFileString
LocalizedString LoreNameLower
int8 MaleTextureFallbackSex
LocalizedString LoreName
int32 CinematicSequenceID
LocalizedString NameFemaleLowercase
int32 ResSicknessSpellID
int32 LowResScreenFileDataID
int8 UnalteredVisualRaceID
LocalizedString LoreNameLowerFemale
int8 FemaleModelFallbackSex
int8 MaleModelFallbackSex
std::array< float, 3 > Unknown910_2
LocalizedString ShortName
std::array< int32, 3 > AlteredFormStartVisualKitID
float AlteredFormCustomizeRotationFallback
int32 HeritageArmorAchievementID
std::array< float, 3 > AlteredFormCustomizeOffsetFallback
LocalizedString Name
std::array< int32, 3 > AlteredFormFinishVisualKitID
int8 MaleModelFallbackRaceID
LocalizedString LoreNameFemale
int32 PlayableRaceBit
int32 CreateScreenFileDataID
EnumFlag< ChrRacesFlag > GetFlags() const
int8 HelmetAnimScalingRaceID
int8 MaleTextureFallbackRaceID
std::array< float, 3 > Unknown910_1
LocalizedString ShortNameFemale
LocalizedString ShortNameLowerFemale
int8 FemaleModelFallbackRaceID
EnumFlag< ChrSpecializationFlag > GetFlags() const
ChrSpecializationRole GetRole() const
LocalizedString Description
LocalizedString Name
bool IsPetSpecialization() const
LocalizedString FemaleName
std::array< int32, MAX_MASTERY_SPELLS > MasterySpellID
DBCPosition3D Origin
std::array< uint16, 8 > Camera
int32 GetScalingFactionGroup() const
float PrimaryStatScalingModPlayerDataElementCharacterMultiplier
EnumFlag< ContentTuningFlag > GetFlags() const
int32 PrimaryStatScalingModPlayerDataElementCharacterID
std::array< int32, 4 > TextureVariationFileDataID
std::array< int16, 2 > SkillLine
LocalizedString Name
std::array< float, 6 > GeoBox
std::array< float, 2 > MountScaleOther
EnumFlag< CreatureModelDataFlags > GetFlags() const
LocalizedString Name
EnumFlag< CriteriaFlags > GetFlags() const
union CriteriaEntry::AssetNameAlias Asset
int32 EligibilityWorldStateID
int32 EligibilityWorldStateValue
EnumFlag< CriteriaTreeFlags > GetFlags() const
LocalizedString Description
LocalizedString ContainerName
LocalizedString ContainerDescription
bool IsSuppressingChatLog(bool onUpdateVersion=false) const
bool HasTotalEarned() const
bool IsHorde() const
bool HasMaxEarnablePerWeek() const
int32 GetScaler() const
LocalizedString Description
bool HasMaxQuantity(bool onLoad=false, bool onUpdateVersion=false) const
LocalizedString Name
EnumFlag< CurrencyTypesFlags > GetFlags() const
EnumFlag< CurrencyTypesFlagsB > GetFlagsB() const
uint32 RechargingCycleDurationMS
bool IsTrackingQuantity() const
std::array< int32, 2 > Flags
float RecraftReagentCountPercentage
bool IsAlliance() const
uint32 RechargingAmountPerCycle
DBCPosition2D Pos
DBCPosition2D PreSLSquishPos
uint32 GroupSizeHealthCurveID
uint32 GroupSizeDmgCurveID
uint32 GroupSizeSpellPointsCurveID
LocalizedString Name
LocalizedString Name
std::array< uint16, 8 > ArmorSubClassCost
std::array< uint16, 21 > WeaponSubClassCost
int32 EmoteSpecProc
char const * EmoteSlashCommand
uint32 SpellVisualKitID
uint32 EventSoundID
uint32 EmoteSpecProcParam
Trinity::RaceMask< int32, 2 > RaceMask
char const * Name
std::array< int32, 4 > ReputationBase
std::array< int32, 4 > ReputationMax
LocalizedString Description
uint16 ParagonFactionID
std::array< uint8, 2 > ParentFactionCap
uint32 FriendshipRepID
uint16 ParentFactionID
std::array< int16, 4 > ReputationClassMask
Trinity::RaceMask< int32, 2 > ReputationRaceMask2
Trinity::RaceMask< int32, 2 > ReputationRaceMask3
Trinity::RaceMask< int32, 2 > ReputationRaceMask1
LocalizedString Name
int32 RenownFactionID
bool CanHaveReputation() const
Trinity::RaceMask< int32, 2 > ReputationRaceMask4
std::array< float, 2 > ParentFactionMod
std::array< uint16, 4 > ReputationFlags
int32 RenownCurrencyID
int16 ReputationIndex
std::array< uint16, MAX_FACTION_RELATIONS > Friend
bool IsHostileToPlayers() const
bool IsContestedGuardFaction() const
bool IsNeutralToAll() const
bool IsFriendlyTo(FactionTemplateEntry const *entry) const
bool IsHostileTo(FactionTemplateEntry const *entry) const
std::array< uint16, MAX_FACTION_RELATIONS > Enemies
EnumFlag< FriendshipReputationFlags > GetFlags() const
LocalizedString StandingModified
LocalizedString StandingChanged
LocalizedString Description
std::array< int32, 3 > TextureVariationFileID
LocalizedString Name
std::array< float, 4 > Rot
std::array< int32, 8 > PropValue
DBCPosition3D Pos
LocalizedString Name
uint16 FactionChangeGarrAbilityID
LocalizedString Description
LocalizedString Description
uint16 HordeSceneScriptPackageID
LocalizedString AllianceName
LocalizedString HordeName
uint16 AllianceSceneScriptPackageID
uint16 AllianceUiTextureKitID
LocalizedString Tooltip
LocalizedString ClassSpec
LocalizedString ClassSpecFemale
LocalizedString ClassSpecMale
uint16 HordeGarrFollItemSetID
uint32 HordeSlottingBroadcastTextID
uint16 AllianceUITextureKitID
uint32 AllySlottingBroadcastTextID
LocalizedString HordeSourceText
uint16 AllianceGarrFollItemSetID
LocalizedString TitleName
uint8 AllianceFlavorGarrStringID
LocalizedString AllianceSourceText
uint16 MissionCostCurrencyTypesID
uint8 OfferedGarrMissionTextureID
int32 AutoMissionScalarCurveID
LocalizedString Location
DBCPosition2D MapPos
LocalizedString Description
int32 AutoCombatantEnvCasterID
LocalizedString Name
DBCPosition2D WorldPos
int32 HordeConstructObjID
std::array< uint32, 2 > UpgradeRequirement
char const * Name
int32 AllianceConstructObjID
DBCPosition2D TownHallUiPos
LocalizedString Name
std::array< uint16, 6 > UpgradeItemBonusListID
int32 LegacyUpgradedItemID
int32 StaticUpgradedItemID
std::array< int32, 6 > UpgradeItemID
LocalizedString SourceText
std::array< uint8, MAX_HOLIDAY_DURATIONS > CalendarFlags
uint32 HolidayDescriptionID
uint8 CalendarFilterType
std::array< int32, 3 > TextureFileDataID
std::array< uint32, MAX_HOLIDAY_DATES > Date
std::array< uint16, MAX_HOLIDAY_DURATIONS > Duration
std::array< float, 7 > Qualitymod
std::array< float, 7 > Quality
LocalizedString Name
uint16 ParentItemBonusListID
std::array< int32, 4 > Value
LocalizedString ClassName
std::array< float, 7 > Quality
std::array< float, 7 > Quality
std::array< float, 7 > Quality
std::array< float, 7 > Quality
std::array< float, 7 > Quality
uint16 ChrSpecializationID
int8 SoundOverrideSubclassID
int32 CraftingQualityID
float RecraftReagentCountPercentage
uint8 OrderSource
uint8 SheatheType
uint32 ItemGroupSoundsID
int32 ModifiedCraftingReagentItemID
int32 ContentTuningID
uint8 SubclassID
int32 ItemSquishEraID
int32 IconFileDataID
uint8 Unknown1200
int8 InventoryType
std::array< uint32, MAX_ITEM_EXT_COST_CURRENCIES > CurrencyCount
std::array< int32, MAX_ITEM_EXT_COST_ITEMS > ItemID
std::array< uint16, MAX_ITEM_EXT_COST_ITEMS > ItemCount
std::array< uint16, MAX_ITEM_EXT_COST_CURRENCIES > CurrencyID
LocalizedString Description
LocalizedString Display
std::array< int32, 5 > Flags
Trinity::RaceMask< int32, 2 > AllowableRace
uint16 RequiredSkillRank
uint32 RequiredSkill
LocalizedString Name
std::array< uint32, MAX_ITEM_SET_ITEMS > ItemID
uint32 DurationInInventory
uint16 SocketMatchEnchantmentId
int32 ItemLevelOffsetCurveID
std::array< int32, MAX_ITEM_PROTO_FLAGS > Flags
std::array< int32, MAX_ITEM_PROTO_STATS > StatPercentEditor
std::array< uint16, MAX_ITEM_PROTO_ZONES > ZoneBound
Trinity::RaceMask< int32, 2 > AllowableRace
int32 PlayerLevelToItemLevelCurveID
int32 ModifiedCraftingReagentItemID
std::array< int32, MAX_ITEM_PROTO_STATS > StatModifierBonusStat
std::array< float, MAX_ITEM_PROTO_STATS > StatPercentageOfSocket
LocalizedString Display3
LocalizedString Display
LocalizedString Description
int32 ItemLevelOffsetItemLevel
uint16 ItemNameDescriptionID
LocalizedString Display2
uint16 RequiredTransmogHoliday
LocalizedString Display1
std::array< uint8, MAX_ITEM_PROTO_SOCKETS > SocketType
uint16 SpecializationID
LocalizedString Name
LocalizedString Description
LocalizedString Name
LocalizedString Description
LocalizedString Name
std::array< uint8, KEYCHAIN_SIZE > Key
LocalizedString Name
LocalizedString Description
std::array< int32, 2 > Flags
uint32 RequiredPlayerConditionId
uint32 Entry() const
LocalizedString Description
LocalizedString Name
uint16 BonusReputationAmount
LocalizedString Name
int32 UiTextureKitElementCount
DBCPosition3D GameCoords
float GameFalloffEnd
int16 ContinentID
float GameFalloffStart
std::array< uint16, 8 > LightParamsID
std::array< uint8, 6 > FrameCountTexture
char const * Name
std::array< int32, 3 > Color
std::array< float, 4 > Coefficient
std::array< float, 38 > Float
std::array< char const *, 6 > Texture
std::array< uint32, 4 > Int
DBCPosition3D Pos
std::array< float, 3 > Rot
std::array< uint8, MAX_LOCK_CASE > Type
std::array< uint16, MAX_LOCK_CASE > Skill
std::array< uint8, MAX_LOCK_CASE > Action
std::array< int32, MAX_LOCK_CASE > Index
LocalizedString Body
std::array< int32, 6 > FirstRewardQuestID
LocalizedString Name
std::array< int16, 5 > CriteriaCount
std::array< int32, 6 > RewardQuestID
uint32 GetRaidDuration() const
bool IsExtendable() const
LocalizedString Message
bool IsUsingEncounterLocks() const
EnumFlag< MapDifficultyFlags > GetFlags() const
bool IsRestoringDungeonState() const
bool HasResetSchedule() const
Difficulty GetDifficultyID() const
LocalizedString FailureDescription
DBCPosition2D Corpse
LocalizedString MapDescription1
int32 WdtFileDataID
bool IsBattleground() const
bool IsScenario() const
bool GetEntrancePos(int32 &mapid, float &x, float &y) const
uint8 MapType
bool IsNonRaidDungeon() const
int16 TimeOfDayOverride
int16 CosmeticParentMapID
int16 LoadingScreenID
EnumFlag< MapFlags > GetFlags() const
int16 WindSettingsID
bool IsSplitByFaction() const
bool IsContinent() const
char const * Directory
float MinimapIconScale
bool IsFlexLocking() const
bool IsWorldMap() const
LocalizedString PvpLongDescription
std::array< int32, 3 > Flags
uint16 AreaTableID
uint8 TimeOffset
bool IsBattlegroundOrArena() const
EnumFlag< MapFlags2 > GetFlags2() const
LocalizedString MapName
int16 CorpseMapID
int8 InstanceType
int32 NavigationMaxDistance
bool IsGarrison() const
int32 PreloadFileDataID
uint8 ExpansionID
uint8 Expansion() const
int16 ParentMapID
bool IsDungeon() const
int32 ZmpFileDataID
bool IsRaid() const
bool IsBattleArena() const
EnumFlag< MapFlags3 > GetFlags3() const
bool IsDynamicDifficultyMap() const
LocalizedString MapDescription0
bool Instanceable() const
LocalizedString PvpShortDescription
uint8 MaxPlayers
uint32 PlayerConditionID
int32 MountSpecialSpellVisualKitID
LocalizedString Description
int32 UiModelSceneID
EnumFlag< MountFlags > GetFlags() const
int32 MountSpecialRiderAnimKitID
LocalizedString Name
int32 SourceSpellID
uint16 MountTypeID
float MountFlyRideHeight
LocalizedString SourceText
int8 SourceTypeEnum
uint32 AudioFileDataID
uint32 SubtitleFileFormat
LocalizedString Summary
uint32 SubtitleFileDataID
char const * Name
std::array< int32, MAX_OVERRIDE_SPELL > Spells
BattlegroundBracketId GetBracketId() const
LocalizedString Description
uint8 SplineType
PathPropertyIndex GetPropertyIndex() const
LocalizedString Description
int32 ThresholdContributionAmount
LocalizedString ActivityName
EnumFlag< PhaseEntryFlags > GetFlags() const
std::array< int32, 4 > AuraSpellID
std::array< int32, 4 > TraitNodeEntryID
std::array< uint32, 4 > ItemCount
std::array< uint32, 2 > Time
std::array< uint32, 4 > LfgValue
std::array< uint8, 4 > LfgCompare
std::array< uint16, 4 > MaxSkill
std::array< uint16, 4 > TraitNodeEntryMaxRank
std::array< int32, 4 > CurrentCompletedQuestID
std::array< uint8, 4 > LfgStatus
std::array< int32, 4 > PrevQuestID
std::array< int32, 4 > CurrQuestID
std::array< uint16, 4 > SkillID
std::array< uint16, 2 > Explored
std::array< uint32, 4 > Achievement
std::array< uint32, 3 > MinFactionID
LocalizedString FailureDescription
std::array< uint32, 4 > CurrencyCount
std::array< uint8, 4 > AuraStacks
std::array< uint16, 4 > AreaID
std::array< uint32, 6 > QuestKillMonster
std::array< uint16, 4 > MinSkill
EnumFlag< PlayerConditionFlags > GetFlags() const
std::array< uint8, 3 > MinReputation
std::array< uint16, 4 > TraitNodeEntryMinRank
std::array< int32, 4 > ItemID
std::array< int32, 4 > SpellID
Trinity::RaceMask< int32, 2 > RaceMask
std::array< uint32, 4 > CurrencyID
PlayerDataElementType GetType() const
PlayerDataElementType GetType() const
char const * GlobalStringBaseTag
int32 RegenInterruptTimeMS
EnumFlag< PowerTypeFlags > GetFlags() const
char const * CostGlobalStringTag
char const * NameGlobalStringTag
int32 AllianceAchievementID
LocalizedString Description
int32 PvpTalentCategoryID
int32 RankIconFileDataID
LocalizedString Name
std::array< int16, 10 > Difficulty
LocalizedString InfoName
bool HasFlag(QuestLineXQuestFlags flag) const
std::array< uint32, 10 > Difficulty
LocalizedString SortName
int32 UiQuestDetailsTheme
std::array< uint16, 10 > Difficulty
std::array< float, 5 > SuperiorF
std::array< uint32, 5 > Epic
std::array< uint32, 5 > Superior
std::array< float, 5 > GoodF
std::array< uint32, 5 > Good
std::array< float, 5 > EpicF
LocalizedString Name
uint32 UiScenarioDisplayInfoID
uint32 UiTextureKitID
uint32 VisibilityPlayerConditionID
LocalizedString Title
bool IsBonusObjective() const
LocalizedString Description
LocalizedString Text
LocalizedString AbilityAllVerb
EnumFlag< SkillLineAbilityFlags > GetFlags() const
Trinity::RaceMask< int32, 2 > RaceMask
SkillLineAbilityAcquireMethod GetAcquireMethod() const
LocalizedString AbilityVerb
uint32 ParentSkillLineID
LocalizedString HordeDisplayName
EnumFlag< SkillLineFlags > GetFlags() const
LocalizedString AlternateVerb
char const * OverrideSourceInfoDisplayName
int32 ExpansionNameSharedStringID
int32 HordeExpansionNameSharedStringID
LocalizedString DisplayName
LocalizedString Description
Trinity::RaceMask< int32, 2 > RaceMask
float VolumeVariationMinus
float VolumeVariationPlus
float PitchVariationPlus
uint32 SoundKitAdvancedID
uint32 SoundMixGroupID
float PitchVariationMinus
uint16 BusOverwriteID
LocalizedString Description
std::array< int32, 2 > ProcTypeMask
LocalizedString Name
EnumFlag< SpellCategoryFlags > GetFlags() const
std::array< int32, 2 > EffectMiscValue
std::array< int16, 2 > ImplicitTarget
float EffectRealPointsPerLevel
std::array< uint32, 2 > EffectRadiusIndex
float GroupSizeBasePointsCoefficient
flag128 EffectSpellClassMask
SpellEffectAttributes GetEffectAttributes() const
float EffectPointsPerResource
LocalizedString Name
std::array< int32, MAX_SPELL_AURA_INTERRUPT_FLAGS > AuraInterruptFlags
std::array< int32, MAX_SPELL_AURA_INTERRUPT_FLAGS > ChannelInterruptFlags
std::array< uint32, 5 > LtOperand
std::array< uint8, 5 > Operator
std::array< uint8, 5 > RtOperand
std::array< uint8, 5 > LtOperandType
std::array< uint8, 5 > RtOperandType
std::array< uint32, MAX_ITEM_ENCHANTMENT_EFFECTS > EffectArg
std::array< int16, MAX_ITEM_ENCHANTMENT_EFFECTS > EffectPointsMin
std::array< uint8, MAX_ITEM_ENCHANTMENT_EFFECTS > Effect
std::array< float, MAX_ITEM_ENCHANTMENT_EFFECTS > EffectScalingPoints
EnumFlag< SpellItemEnchantmentFlags > GetFlags() const
std::array< int32, 17 > Attributes
int32 ShowFutureSpellPlayerConditionID
uint16 CastingTimeIndex
uint16 PvPDurationIndex
int32 ActiveIconFileDataID
int32 SpellIconFileDataID
int32 ActiveSpellVisualScript
LocalizedString Name
std::array< float, 2 > RangeMin
LocalizedString DisplayName
std::array< float, 2 > RangeMax
LocalizedString DisplayNameShort
std::array< int16, MAX_SPELL_REAGENTS > ReagentCount
std::array< int16, MAX_SPELL_REAGENTS > ReagentRecraftCount
std::array< int32, MAX_SPELL_REAGENTS > Reagent
std::array< uint8, MAX_SPELL_REAGENTS > ReagentSource
std::array< int32, 2 > ShapeshiftExclude
std::array< int32, 2 > ShapeshiftMask
std::array< uint32, MAX_SHAPESHIFT_SPELLS > PresetSpellID
EnumFlag< SpellShapeshiftFormFlags > GetFlags() const
std::array< int32, MAX_SPELL_TOTEMS > Totem
std::array< uint16, MAX_SPELL_TOTEMS > RequiredTotemCategoryID
uint32 HostileSpellVisualID
uint32 MissileCastPositionerID
int8 MissileDestinationAttachment
uint32 MissileImpactPositionerID
uint32 LowViolenceSpellVisualID
std::array< float, 3 > MissileImpactOffset
int32 ReducedUnexpectedCameraMovementSpellVisualID
std::array< float, 3 > MissileCastOffset
uint32 RaidSpellVisualMissileSetID
uint16 SpellVisualMissileSetID
std::array< int32, 2 > Flags
int32 MinimumSpellVisualDensityFilterType
int32 ReducedSpellVisualDensityFilterParam
int32 MinimumSpellVisualDensityFilterParam
int32 ReducedSpellVisualDensityFilterType
std::array< float, 3 > CastOffset
std::array< float, 3 > ImpactOffset
std::array< int32, 2 > Flags
EnumFlag< SummonPropertiesFlags > GetFlags() const
std::array< uint8, TACTKEY_SIZE > Key
uint32 OverridesSpellID
std::array< int32, 2 > CategoryMask
uint32 RequiredSpellID
LocalizedString Description
std::array< uint32, 3 > PrereqTalent
std::array< uint8, 3 > PrereqRank
std::array< uint32, 9 > SpellRank
EnumFlag< TaxiNodeFlags > GetFlags() const
uint32 SpecialIconConditionID
uint32 VisibilityConditionID
uint16 CharacterBitNumber
DBCPosition2D FlightMapOffset
LocalizedString Name
DBCPosition3D Pos
DBCPosition2D MapOffset
std::array< int32, 2 > MountCreatureID
int32 MinimapAtlasMemberID
bool IsPartOfTaxiNetwork() const
DBCPosition3D Loc
LocalizedString Name
int8 SourceTypeEnum
LocalizedString SourceText
int32 TraitCondAccountElementID
int32 SpendMoreSharedStringID
EnumFlag< TraitCondFlags > GetFlags() const
TraitConditionType GetCondType() const
int32 SpentAmountRequired
char const * InternalName
int32 PlayerDataElementCharacterID
TraitCurrencyType GetType() const
LocalizedString Requirement
TraitPointsOperationType GetOperationType() const
LocalizedString OverrideDescription
LocalizedString OverrideName
LocalizedString OverrideSubtext
TraitNodeEntryType GetNodeEntryType() const
TraitNodeType GetType() const
LocalizedString Name
LocalizedString Description
TraitSystemVariationType GetVariationType() const
EnumFlag< TraitTreeFlag > GetFlags() const
LocalizedString TitleText
EnumFlag< TransmogIllusionFlags > GetFlags() const
TransmogOutfitEntrySource GetSource() const
TransmogOutfitSetType GetSetType() const
bool HasFlag(TransmogOutfitEntryFlags flag) const
bool HasFlag(TransmogOutfitSlotFlags flag) const
TransmogOutfitSlot GetSlot() const
bool HasFlag(TransmogOutfitSlotOptionFlags flag) const
TransmogOutfitSlotOption GetOption() const
LocalizedString Name
LocalizedString Name
TransmogSituation GetSituation() const
bool HasFlag(TransmogSituationFlags flag) const
TransmogSituationTrigger GetTrigger() const
bool HasFlag(TransmogSituationTriggerFlags flag) const
std::array< float, 4 > Rot
LocalizedString TopLeftFeatureDesc
LocalizedString BottomLeftFeatureTitle
LocalizedString BottomLeftFeatureDesc
LocalizedString RightFeatureTitle
LocalizedString RightFeatureDesc
LocalizedString Header
LocalizedString TopLeftFeatureTitle
std::array< DBCPosition3D, 2 > Region
int8 MapArtZoneTextPosition
uint32 ParentUiMapID
int32 BountySetID
int8 HelpTextPosition
int32 VisibilityPlayerConditionID
int32 AdventureMapTextureKitID
int32 ContentTuningID
EnumFlag< UiMapFlag > GetFlags() const
uint32 BountyDisplayLocation
int32 AlternateUiMapGroup
LocalizedString Name
int32 OverrideHighlightFileDataID
int32 OverrideHighlightAtlasID
DBCPosition2D UiMax
DBCPosition2D UiMin
EnumFlag< UnitConditionFlags > GetFlags() const
std::array< int32, MAX_UNIT_CONDITION_VALUES > Value
std::array< uint8, MAX_UNIT_CONDITION_VALUES > Variable
std::array< uint8, MAX_UNIT_CONDITION_VALUES > Op
LocalizedString OutOfError
std::array< int32, 6 > Color
LocalizedString Name
LocalizedString ToolTip
std::array< int32, 6 > FileDataID
LocalizedString Cost
uint16 VehiclePOITypeID
std::array< uint16, 8 > SeatID
float MouseLookOffsetPitch
float CameraYawOffset
float CameraFadeDistScalarMin
int32 MissileTargetingID
float FacingLimitRight
std::array< uint16, 3 > PowerDisplayID
float CameraFadeDistScalarMax
float CameraPitchOffset
uint16 VehicleUIIndicatorID
float FacingLimitLeft
bool HasFlag(VehicleSeatFlags flag) const
bool IsEjectable() const
bool CanEnterOrExit() const
DBCPosition3D CameraOffset
bool HasFlag(VehicleSeatFlagsB flag) const
bool IsUsableByOverride() const
bool CanSwitchFromSeat() const
bool HasFlag(VehicleSeatFlagsC flag) const
DBCPosition3D AttachmentOffset
uint32 PlayerConditionID
uint32 VisibleTrackingQuestID
uint32 QuestFeedbackEffectID
EnumFlag< VignetteFlags > GetFlags() const
LocalizedString Name
bool IsInfiniteAOI() const
LocalizedString AreaName
bool HasFlag(WMOAreaTableFlags flag) const
uint8 SoundProviderPrefUnderwater
LocalizedString Name
EnumFlag< WarbandSceneFlags > GetFlags() const
DBCPosition3D Position
DBCPosition3D LookAt
LocalizedString Description
uint32 QuestFeedbackEffectID
std::array< uint32, MAX_WORLD_MAP_OVERLAY_AREA_IDX > AreaID