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
667
674
687
695
742
749
764
774
792
809
826
833
854
863
865{
867 char const* ClientPrefix;
868 char const* ClientFileString;
890 std::array<int32, 3> AlteredFormStartVisualKitID;
891 std::array<int32, 3> AlteredFormFinishVisualKitID;
899 std::array<float, 3> Unknown910_1;
900 std::array<float, 3> Unknown910_2;
918
919 EnumFlag<ChrRacesFlag> GetFlags() const { return static_cast<ChrRacesFlag>(Flags); }
920};
921
922#define MAX_MASTERY_SPELLS 2
923
948
950{
952 DBCPosition3D Origin; // Position in map used for basis for M2 co-ordinates
953 uint32 SoundID; // Sound ID (voiceover for cinematic)
954 float OriginFacing; // Orientation in map used for basis for M2 co
957};
958
960{
963 std::array<uint16, 8> Camera;
964};
965
975
985
1022
1031
1038
1052
1061
1068
1069//struct CreatureDifficultyEntry
1070//{
1071// uint32 ID;
1072// int32 LevelDeltaMin;
1073// int32 LevelDeltaMax;
1074// uint16 FactionID;
1075// int32 ContentTuningID;
1076// int32 Flags[9];
1077// uint32 CreatureID;
1078//};
1079
1111
1122
1137
1144
1185
1192
1194{
1198 {
1200 // CriteriaType::KillCreature = 0
1201 // CriteriaType::KilledByCreature = 20
1202 // CriteriaType::AccountKnownPet = 96
1203 // CriteriaType::KillCreatureScenario = 208
1205
1206 // CriteriaType::WinBattleground = 1
1207 // CriteriaType::ParticipateInBattleground = 15
1208 // CriteriaType::DieOnMap = 16
1209 // CriteriaType::WinArena = 32
1210 // CriteriaType::ParticipateInArena = 33
1211 // CriteriaType::CompleteChallengeMode = 71
1213
1214 // CriteriaType::CompleteResearchProject = 2
1216
1217 // CriteriaType::FindResearchObject = 4
1218 // CriteriaType::UseGameobject = 68
1219 // CriteriaType::CatchFishInFishingHole = 72
1221
1222 // CriteriaType::SkillRaised = 7
1223 // CriteriaType::AchieveSkillStep = 40
1224 // CriteriaType::LearnSpellFromSkillLine = 75
1225 // CriteriaType::LearnTradeskillSkillLine = 112
1227
1228 // CriteriaType::EarnAchievement = 8
1230
1231 // CriteriaType::CompleteQuestsInZone = 11
1232 // CriteriaType::EnterTopLevelArea = 225
1233 // CriteriaType::LeaveTopLevelArea = 226
1235
1236 // CriteriaType::CurrencyGained = 12
1237 // CriteriaType::ObtainAnyItemWithCurrencyValue = 229
1238 // CriteriaType::ReachRenownLevel = 261
1240
1241 // CriteriaType::DieInInstance = 18
1242 // CriteriaType::RunInstance = 19
1244
1245 // CriteriaType::CompleteInternalCriteria = 21
1247
1248 // CriteriaType::DieFromEnviromentalDamage = 26
1250
1251 // CriteriaType::CompleteQuest = 27
1253
1254 // CriteriaType::BeSpellTarget = 28
1255 // CriteriaType::CastSpell = 29
1256 // CriteriaType::LearnOrKnowSpell = 34
1257 // CriteriaType::GainAura = 69
1258 // CriteriaType::LandTargetedSpellOnTarget = 110
1259 // CriteriaType::MemorizeSpell = 222
1261
1262 // CriteriaType::TrackedWorldStateUIModified = 30
1264
1265 // CriteriaType::PVPKillInArea = 31
1266 // CriteriaType::EnterArea = 163
1267 // CriteriaType::LeaveArea = 164
1269
1270 // CriteriaType::AcquireItem = 36
1271 // CriteriaType::UseItem = 41
1272 // CriteriaType::LootItem = 42
1273 // CriteriaType::EquipItem = 57
1274 // CriteriaType::LearnToy = 185
1275 // CriteriaType::LearnHeirloom = 188
1277
1278 // CriteriaType::EarnTeamArenaRating = 38
1279 // CriteriaType::EarnPersonalArenaRating = 39
1281
1282 // CriteriaType::RevealWorldMapOverlay = 43
1284
1285 // CriteriaType::ReputationGained = 46
1286 // CriteriaType::ParagonLevelIncreaseWithFaction = 206
1288
1289 // CriteriaType::EquipItemInSlot = 49
1290 // CriteriaType::LearnAnyTransmogInSlot = 199
1292
1293 // CriteriaType::RollNeed = 50
1294 // CriteriaType::RollGreed = 51
1295 // CriteriaType::RollDisenchant = 116
1297
1298 // CriteriaType::DeliverKillingBlowToClass = 52
1300
1301 // CriteriaType::DeliverKillingBlowToRace = 53
1303
1304 // CriteriaType::DoEmote = 54
1306
1307 // CriteriaType::CompleteQuestsInSort = 58
1309
1310 // CriteriaType::KilledAllUnitsInSpawnRegion = 64
1312
1313 // CriteriaType::PlayerTriggerGameEvent = 73
1314 // CriteriaType::AnyoneTriggerGameEventScenario = 92
1316
1317 // CriteriaType::DefeatDungeonEncounterWhileElegibleForLoot = 97
1318 // CriteriaType::DefeatDungeonEncounter = 165
1320
1321 // CriteriaType::GetLootByType = 109
1323
1324 // CriteriaType::CompleteGuildChallenge = 138
1326
1327 // CriteriaType::CompleteScenario = 152
1329
1330 // CriteriaType::EnterAreaTriggerWithActionSet = 153
1331 // CriteriaType::LeaveAreaTriggerWithActionSet = 154
1333
1334 // CriteriaType::BattlePetReachLevel = 160
1335 // CriteriaType::ActivelyEarnPetLevel = 162
1337
1338 // CriteriaType::PlaceGarrisonBuilding = 167
1339 // CriteriaType::ActivateGarrisonBuilding = 169
1340 // CriteriaType::LearnGarrisonBlueprint = 179
1342
1343 // CriteriaType::UpgradeGarrison = 170
1345
1346 // CriteriaType::StartAnyGarrisonMissionWithFollowerType = 171
1347 // CriteriaType::SucceedAnyGarrisonMissionWithFollowerType = 173
1349
1350 // CriteriaType::StartGarrisonMission = 172
1351 // CriteriaType::SucceedGarrisonMission = 174
1353
1354 // CriteriaType::RecruitGarrisonFollower = 176
1356
1357 // CriteriaType::LearnGarrisonSpecialization = 181
1359
1360 // CriteriaType::CollectGarrisonShipment = 182
1362
1363 // CriteriaType::LearnTransmog = 192
1365
1366 // CriteriaType::ActivelyReachLevel = 196
1368
1369 // CriteriaType::CompleteResearchGarrisonTalent = 198
1370 // CriteriaType::StartResearchGarrisonTalent = 202
1371 // CriteriaType::SocketGarrisonTalent = 227
1373
1374 // CriteriaType::EarnLicense = 204
1376
1377 // CriteriaType::CollectTransmogSetFromGroup = 205
1379
1380 // CriteriaType::ArtifactPowerRankPurchased = 209
1381 // CriteriaType::ChooseRelicTalent = 211
1383
1384 // CriteriaType::EarnExpansionLevel = 212
1386
1387 // CriteriaType::AccountHonorLevelReached = 213
1389
1390 // CriteriaType::AzeriteLevelReached = 215
1392
1393 // CriteriaType::MythicPlusRatingAttained = 230
1395
1396 // CriteriaType::BankTabPurchased = 260
1398
1399 // CriteriaType::LearnTaxiNode = 262
1411
1412 EnumFlag<CriteriaFlags> GetFlags() const { return static_cast<CriteriaFlags>(Flags); }
1413};
1414
1428
1441
1443{
1466 std::array<int32, 2> Flags;
1467
1470
1471 // Helpers
1473 {
1474 return GetFlags().HasFlag(CurrencyTypesFlags::_100_Scaler) ? 100 : 1;
1475 }
1476
1481
1482 bool HasMaxQuantity(bool onLoad = false, bool onUpdateVersion = false) const
1483 {
1484 if (onLoad && GetFlags().HasFlag(CurrencyTypesFlags::IgnoreMaxQtyOnLoad))
1485 return false;
1486
1487 if (onUpdateVersion && GetFlags().HasFlag(CurrencyTypesFlags::UpdateVersionIgnoreMax))
1488 return false;
1489
1491 }
1492
1493 bool HasTotalEarned() const
1494 {
1496 }
1497
1498 bool IsAlliance() const
1499 {
1501 }
1502
1503 bool IsHorde() const
1504 {
1505 return GetFlags().HasFlag(CurrencyTypesFlags::IsHordeOnly);
1506 }
1507
1508 bool IsSuppressingChatLog(bool onUpdateVersion = false) const
1509 {
1510 if ((onUpdateVersion && GetFlags().HasFlag(CurrencyTypesFlags::SuppressChatMessageOnVersionChange)) ||
1512 return true;
1513
1514 return false;
1515 }
1516
1518 {
1520 }
1521};
1522
1529
1538
1565
1584
1599
1601{
1603 std::array<uint16, 21> WeaponSubClassCost;
1604 std::array<uint16, 8> ArmorSubClassCost;
1605};
1606
1612
1627
1629{
1631 char const* Name;
1633};
1634
1644
1661
1675
1707
1708#define MAX_FACTION_RELATIONS 8
1709
1711{
1718 std::array<uint16, MAX_FACTION_RELATIONS> Enemies;
1719 std::array<uint16, MAX_FACTION_RELATIONS> Friend;
1720
1721 //------------------------------------------------------- end structure
1722
1723 // helpers
1724 bool IsFriendlyTo(FactionTemplateEntry const* entry) const
1725 {
1726 if (this == entry)
1727 return true;
1728 if (entry->Faction)
1729 {
1730 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1731 if (Enemies[i] == entry->Faction)
1732 return false;
1733 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1734 if (Friend[i] == entry->Faction)
1735 return true;
1736 }
1737 return (FriendGroup & entry->FactionGroup) || (FactionGroup & entry->FriendGroup);
1738 }
1739 bool IsHostileTo(FactionTemplateEntry const* entry) const
1740 {
1741 if (this == entry)
1742 return false;
1743 if (entry->Faction)
1744 {
1745 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1746 if (Enemies[i] == entry->Faction)
1747 return true;
1748 for (int32 i = 0; i < MAX_FACTION_RELATIONS; ++i)
1749 if (Friend[i] == entry->Faction)
1750 return false;
1751 }
1752 return (EnemyGroup & entry->FactionGroup) != 0;
1753 }
1754 bool IsHostileToPlayers() const { return (EnemyGroup & FACTION_MASK_PLAYER) !=0; }
1755 bool IsNeutralToAll() const
1756 {
1757 for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
1758 if (Enemies[i] != 0)
1759 return false;
1760 return EnemyGroup == 0 && FriendGroup == 0;
1761 }
1763};
1764
1794
1803
1816
1823
1838
1845
1862
1874
1903
1912
1924
1962
1971
2007
2018
2025
2032
2046
2055
2072
2079
2086
2093
2102
2109
2131
2139
2147
2155
2161
2175
2176#define MAX_HOLIDAY_DURATIONS 10
2177#define MAX_HOLIDAY_DATES 26
2178#define MAX_HOLIDAY_FLAGS 10
2179
2181{
2190 std::array<uint16, MAX_HOLIDAY_DURATIONS> Duration;
2191 std::array<uint32, MAX_HOLIDAY_DATES> Date; // dates in unix time starting at January, 1, 2000
2192 std::array<uint8, MAX_HOLIDAY_DURATIONS> CalendarFlags;
2193 std::array<int32, 3> TextureFileDataID;
2194};
2195
2204
2210
2216
2222
2242
2252
2254{
2256 std::array<float, 7> Qualitymod;
2257};
2258
2260{
2262 std::array<float, 7> Quality;
2264};
2265
2275
2281
2290
2291// new item upgrade system
2304
2310
2311//struct ItemBonusSequenceSpellEntry
2312//{
2313// uint32 ID;
2314// int32 SpellID;
2315// int32 ItemID;
2316//};
2317
2324
2340
2348
2357
2369
2376
2382
2384{
2387 std::array<float, 7> Quality;
2388};
2389
2391{
2394 std::array<float, 7> Quality;
2395};
2396
2403
2405{
2408 std::array<float, 7> Quality;
2409};
2410
2417
2429
2443
2444#define MAX_ITEM_EXT_COST_ITEMS 5
2445#define MAX_ITEM_EXT_COST_CURRENCIES 5
2446
2448{
2452 int8 ArenaBracket; // arena slot restrictions (min slot value)
2456 uint8 RequiredAchievement; // required personal arena rating
2457 std::array<int32, MAX_ITEM_EXT_COST_ITEMS> ItemID; // required item id
2458 std::array<uint16, MAX_ITEM_EXT_COST_ITEMS> ItemCount; // required count of 1st item
2459 std::array<uint16, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyID; // required curency id
2460 std::array<uint32, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyCount; // required curency count
2461};
2462
2470
2478
2485
2493
2501
2512
2522
2529
2536
2544
2554
2573
2574#define MAX_ITEM_SET_ITEMS 17
2575
2585
2595
2597{
2614 std::array<float, MAX_ITEM_PROTO_STATS> StatPercentageOfSocket;
2615 std::array<int32, MAX_ITEM_PROTO_STATS> StatPercentEditor;
2616 std::array<int32, MAX_ITEM_PROTO_STATS> StatModifierBonusStat;
2627 std::array<int32, MAX_ITEM_PROTO_FLAGS> Flags;
2642 std::array<uint16, MAX_ITEM_PROTO_ZONES> ZoneBound;
2655 std::array<uint8, MAX_ITEM_PROTO_SOCKETS> SocketType;
2667};
2668
2679
2686
2694
2701
2708
2724
2744
2759
2767
2768#define KEYCHAIN_SIZE 32
2769
2771{
2773 std::array<uint8, KEYCHAIN_SIZE> Key;
2774};
2775
2783
2790
2800
2841
2851
2853{
2855 char const* Name;
2856 std::array<char const*, 6> Texture;
2858 uint8 SoundBank; // used to be "type", maybe needs fixing (works well for now)
2871 std::array<uint8, 6> FrameCountTexture;
2872 std::array<int32, 3> Color;
2873 std::array<float, 38> Float;
2874 std::array<uint32, 4> Int;
2875 std::array<float, 4> Coefficient;
2876};
2877
2879{
2882 std::array<float, 3> Rot;
2883};
2884
2885#define MAX_LOCK_CASE 8
2886
2888{
2891 std::array<int32, MAX_LOCK_CASE> Index;
2892 std::array<uint16, MAX_LOCK_CASE> Skill;
2893 std::array<uint8, MAX_LOCK_CASE> Type;
2894 std::array<uint8, MAX_LOCK_CASE> Action;
2895};
2896
2902
2904{
2906 char const* Directory;
2912 DBCPosition2D Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance)
2923 int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
2930 std::array<int32, 3> Flags;
2931
2932 // Helpers
2933 uint8 Expansion() const { return ExpansionID; }
2934
2936 bool IsNonRaidDungeon() const { return InstanceType == MAP_INSTANCE; }
2938 bool IsRaid() const { return InstanceType == MAP_RAID; }
2940 bool IsBattleArena() const { return InstanceType == MAP_ARENA; }
2942 bool IsScenario() const { return InstanceType == MAP_SCENARIO; }
2943 bool IsWorldMap() const { return InstanceType == MAP_COMMON; }
2944
2945 bool GetEntrancePos(int32& mapid, float& x, float& y) const
2946 {
2947 if (CorpseMapID < 0)
2948 return false;
2949
2950 mapid = CorpseMapID;
2951 x = Corpse.X;
2952 y = Corpse.Y;
2953 return true;
2954 }
2955
2956 bool IsContinent() const
2957 {
2958 switch (ID)
2959 {
2960 case 0:
2961 case 1:
2962 case 530:
2963 case 571:
2964 case 870:
2965 case 1116:
2966 case 1220:
2967 case 1642:
2968 case 1643:
2969 case 2222:
2970 case 2444:
2971 case 2601:
2972 return true;
2973 default:
2974 return false;
2975 }
2976 }
2977
2979 bool IsFlexLocking() const { return GetFlags().HasFlag(MapFlags::FlexibleRaidLocking); }
2980 bool IsGarrison() const { return GetFlags().HasFlag(MapFlags::Garrison); }
2981 bool IsSplitByFaction() const
2982 {
2983 return ID == 609 || // Acherus (DeathKnight Start)
2984 ID == 1265 || // Assault on the Dark Portal (WoD Intro)
2985 ID == 1481 || // Mardum (DH Start)
2986 ID == 2175 || // Exiles Reach - NPE
2987 ID == 2570; // Forbidden Reach (Dracthyr/Evoker Start)
2988 }
2989
2990 EnumFlag<MapFlags> GetFlags() const { return static_cast<MapFlags>(Flags[0]); }
2991 EnumFlag<MapFlags2> GetFlags2() const { return static_cast<MapFlags2>(Flags[1]); }
2992 EnumFlag<MapFlags3> GetFlags3() const { return static_cast<MapFlags3>(Flags[2]); }
2993};
2994
3008
3041
3050
3057
3064
3076
3095
3110
3119
3127
3136
3147
3156
3158{
3160 char const* Name;
3163};
3164
3171
3173{
3175 char const* Name;
3176};
3177
3184
3193
3194#define MAX_OVERRIDE_SPELL 10
3195
3197{
3199 std::array<int32, MAX_OVERRIDE_SPELL> Spells;
3202};
3203
3211
3223
3231
3241
3252
3254{
3257
3259};
3260
3267
3269{
3330 std::array<uint16, 4> SkillID;
3331 std::array<uint16, 4> MinSkill;
3332 std::array<uint16, 4> MaxSkill;
3333 std::array<uint32, 3> MinFactionID;
3334 std::array<uint8, 3> MinReputation;
3335 std::array<int32, 4> PrevQuestID;
3336 std::array<int32, 4> CurrQuestID;
3337 std::array<int32, 4> CurrentCompletedQuestID;
3338 std::array<int32, 4> SpellID;
3339 std::array<int32, 4> ItemID;
3340 std::array<uint32, 4> ItemCount;
3341 std::array<uint16, 2> Explored;
3342 std::array<uint32, 2> Time;
3343 std::array<int32, 4> AuraSpellID;
3344 std::array<uint8, 4> AuraStacks;
3345 std::array<uint32, 4> Achievement;
3346 std::array<uint16, 4> AreaID;
3347 std::array<uint8, 4> LfgStatus;
3348 std::array<uint8, 4> LfgCompare;
3349 std::array<uint32, 4> LfgValue;
3350 std::array<uint32, 4> CurrencyID;
3351 std::array<uint32, 4> CurrencyCount;
3352 std::array<uint32, 6> QuestKillMonster;
3353 std::array<int32, 2> MovementFlags;
3355 std::array<int32, 4> TraitNodeEntryID;
3356 std::array<uint16, 4> TraitNodeEntryMinRank;
3357 std::array<uint16, 4> TraitNodeEntryMaxRank;
3358
3360};
3361
3371
3381
3389
3397
3407
3426
3438
3450
3457
3465
3479
3485
3494
3507
3509{
3511 std::array<int16, 10> Difficulty;
3512};
3513
3522
3534
3536{
3538 std::array<uint32, 10> Difficulty;
3539};
3540
3549
3557
3564
3566{
3568 std::array<uint16, 10> Difficulty;
3569};
3570
3572{
3578 std::array<float, 5> EpicF;
3579 std::array<float, 5> SuperiorF;
3580 std::array<float, 5> GoodF;
3581 std::array<uint32, 5> Epic;
3582 std::array<uint32, 5> Superior;
3583 std::array<uint32, 5> Good;
3584};
3585
3596
3604
3612
3623
3625{
3632 int32 RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field
3633 uint16 Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?)
3638
3639 // helpers
3640 bool IsBonusObjective() const
3641 {
3643 }
3644};
3645
3653
3655{
3657 char const* Name;
3658 char const* Script;
3659};
3660
3668
3670{
3672 char const* Name;
3673 char const* Script;
3674};
3675
3681
3702
3727
3735
3748
3757
3778
3788
3795
3808
3827
3834
3846
3861
3874
3883
3894
3902
3939
3946
3954
3963
3969
3971{
3975 std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> AuraInterruptFlags;
3976 std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> ChannelInterruptFlags;
3978};
3979
3980#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
3981
4011
4013{
4015 std::array<uint8, 5> LtOperandType;
4016 std::array<uint32, 5> LtOperand;
4017 std::array<uint8, 5> Operator;
4018 std::array<uint8, 5> RtOperandType;
4019 std::array<uint8, 5> RtOperand;
4020 std::array<uint8, 5> Logic;
4021};
4022
4031
4038
4046
4057
4079
4081{
4082 uint32 ID; // SpellID
4084};
4085
4087{
4101 uint32 OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource
4102 // only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG
4104};
4105
4112
4119
4128
4137
4147
4148#define MAX_SPELL_REAGENTS 8
4149
4151{
4154 std::array<int32, MAX_SPELL_REAGENTS> Reagent;
4155 std::array<int16, MAX_SPELL_REAGENTS> ReagentCount;
4156 std::array<int16, MAX_SPELL_REAGENTS> ReagentRecraftCount;
4157 std::array<uint8, MAX_SPELL_REAGENTS> ReagentSource;
4158};
4159
4169
4177
4186
4187#define MAX_SHAPESHIFT_SPELLS 8
4188
4205
4218
4219#define MAX_SPELL_TOTEMS 2
4220
4222{
4225 std::array<uint16, MAX_SPELL_TOTEMS> RequiredTotemCategoryID;
4226 std::array<int32, MAX_SPELL_TOTEMS> Totem;
4227};
4228
4250
4271
4285
4308
4325
4337
4338#define TACTKEY_SIZE 16
4339
4341{
4343 std::array<uint8, TACTKEY_SIZE> Key;
4344};
4345
4364
4366{
4378 float Facing;
4381 std::array<int32, 2> MountCreatureID;
4382
4383 EnumFlag<TaxiNodeFlags> GetFlags() const { return static_cast<TaxiNodeFlags>(Flags); }
4384
4386 {
4388 // manually whitelisted nodes
4389 || ID == 1985 // [Hidden] Argus Ground Points Hub (Ground TP out to here, TP to Vindicaar from here)
4390 || ID == 1986 // [Hidden] Argus Vindicaar Ground Hub (Vindicaar TP out to here, TP to ground from here)
4391 || ID == 1987 // [Hidden] Argus Vindicaar No Load Hub (Vindicaar No Load transition goes through here)
4392 || ID == 2627 // [Hidden] 9.0 Bastion Ground Points Hub (Ground TP out to here, TP to Sanctum from here)
4393 || ID == 2628 // [Hidden] 9.0 Bastion Ground Hub (Sanctum TP out to here, TP to ground from here)
4394 || ID == 2732 // [HIDDEN] 9.2 Resonant Peaks - Teleport Network - Hidden Hub (Connects all Nodes to each other without unique paths)
4395 || ID == 2835 // [Hidden] 10.0 Travel Network - Destination Input
4396 || ID == 2843 // [Hidden] 10.0 Travel Network - Destination Output
4397 ;
4398 }
4399};
4400
4408
4421
4429
4438
4444
4468
4478
4487
4500
4513
4525
4536
4545
4558
4569
4576
4583
4590
4597
4604
4612
4619
4626
4634
4643
4655
4671
4678
4688
4695
4703
4714
4731
4751
4766
4783
4789
4797
4810
4818
4830
4839
4847
4868
4883
4897
4905
4925
4926#define MAX_UNIT_CONDITION_VALUES 8
4927
4929{
4932 std::array<uint8, MAX_UNIT_CONDITION_VALUES> Variable;
4933 std::array<uint8, MAX_UNIT_CONDITION_VALUES> Op;
4934 std::array<int32, MAX_UNIT_CONDITION_VALUES> Value;
4935
4937};
4938
4959
4960#define MAX_VEHICLE_SEATS 8
4961
4984
4986{
5049
5050 inline bool HasFlag(VehicleSeatFlags flag) const { return !!(Flags & flag); }
5051 inline bool HasFlag(VehicleSeatFlagsB flag) const { return !!(FlagsB & flag); }
5052 inline bool HasFlag(VehicleSeatFlagsC flag) const { return EnumFlag(static_cast<VehicleSeatFlagsC>(FlagsC)).HasFlag(flag); }
5053
5061 inline bool IsEjectable() const { return HasFlag(VEHICLE_SEAT_FLAG_B_EJECTABLE); }
5062};
5063
5083
5102
5123
5134
5135#define MAX_WORLD_MAP_OVERLAY_AREA_IDX 4
5136
5153
5159
5160#pragma pack(pop)
5161#endif
#define MAX_FACTION_RELATIONS
MapFlags
Definition DBCEnums.h:1596
@ DynamicDifficulty
@ FlexibleRaidLocking
TransmogOutfitSetType
Definition DBCEnums.h:2585
CreatureModelDataFlags
Definition DBCEnums.h:468
ChrSpecializationFlag
Definition DBCEnums.h:379
TransmogOutfitSlotOption
Definition DBCEnums.h:2622
AreaTriggerShapeType
Definition DBCEnums.h:196
SkillLineFlags
Definition DBCEnums.h:2339
VehicleSeatFlags
Definition DBCEnums.h:3091
@ VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_VOLUNTARY_EXIT
Definition DBCEnums.h:3095
@ VEHICLE_SEAT_FLAG_CAN_SWITCH
Definition DBCEnums.h:3118
@ VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT
Definition DBCEnums.h:3117
@ VEHICLE_SEAT_FLAG_CAN_CONTROL
Definition DBCEnums.h:3103
@ VEHICLE_SEAT_FLAG_UNCONTROLLED
Definition DBCEnums.h:3105
@ VEHICLE_SEAT_FLAG_UNK18
Definition DBCEnums.h:3109
CurrencyTypesFlags
Definition DBCEnums.h:862
@ SuppressChatMessageOnVersionChange
@ MAP_DIFFICULTY_RESET_WEEKLY
Definition DBCEnums.h:1682
@ MAP_DIFFICULTY_RESET_DAILY
Definition DBCEnums.h:1681
@ MAP_DIFFICULTY_RESET_ANYTIME
Definition DBCEnums.h:1680
MountFlags
Definition DBCEnums.h:2110
AreaTriggerActionSetFlag
Definition DBCEnums.h:175
TraitConditionType
Definition DBCEnums.h:2841
@ MAP_COMMON
Definition DBCEnums.h:1584
@ MAP_SCENARIO
Definition DBCEnums.h:1589
@ MAP_BATTLEGROUND
Definition DBCEnums.h:1587
@ MAP_ARENA
Definition DBCEnums.h:1588
@ MAP_INSTANCE
Definition DBCEnums.h:1585
@ MAP_RAID
Definition DBCEnums.h:1586
PlayerDataElementType
Definition DBCEnums.h:2205
SpellEffectAttributes
Definition DBCEnums.h:2401
AreaMountFlags
Definition DBCEnums.h:163
SpellShapeshiftFormFlags
Definition DBCEnums.h:2466
TransmogOutfitSlotOptionFlags
Definition DBCEnums.h:2640
ContentTuningFlag
Definition DBCEnums.h:451
@ FACTION_MASK_PLAYER
Definition DBCEnums.h:1008
VehicleSeatFlagsB
Definition DBCEnums.h:3127
@ VEHICLE_SEAT_FLAG_B_EJECTABLE
Definition DBCEnums.h:3131
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED
Definition DBCEnums.h:3129
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3
Definition DBCEnums.h:3133
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_2
Definition DBCEnums.h:3132
@ VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4
Definition DBCEnums.h:3136
PathPropertyIndex
Definition DBCEnums.h:2129
@ PRESTIGE_FLAG_DISABLED
Definition DBCEnums.h:2314
TraitNodeEntryType
Definition DBCEnums.h:2877
CurrencyTypesFlagsB
Definition DBCEnums.h:900
PowerTypeFlags
Definition DBCEnums.h:2295
PhaseEntryFlags
Definition DBCEnums.h:2148
WarbandSceneFlags
Definition DBCEnums.h:3170
QuestLineXQuestFlags
Definition DBCEnums.h:2318
TraitCondFlags
Definition DBCEnums.h:2831
BattlemasterType
Definition DBCEnums.h:268
CriteriaFlags
Definition DBCEnums.h:534
UiMapFlag
Definition DBCEnums.h:2930
SpellItemEnchantmentFlags
Definition DBCEnums.h:2436
TransmogOutfitEntrySource
Definition DBCEnums.h:2576
CfgCategoriesFlags
Definition DBCEnums.h:308
AreaFlags
Definition DBCEnums.h:104
TransmogOutfitSlotFlags
Definition DBCEnums.h:2613
TransmogOutfitSlot
Definition DBCEnums.h:2592
TaxiNodeFlags
Definition DBCEnums.h:2798
TraitTreeFlag
Definition DBCEnums.h:2921
CfgCategoriesCharsets
Definition DBCEnums.h:296
SkillLineAbilityAcquireMethod
Definition DBCEnums.h:2361
UnitConditionFlags
Definition DBCEnums.h:2973
ChatChannelFlags
Definition DBCEnums.h:316
TraitSystemVariationType
Definition DBCEnums.h:2915
WMOAreaTableFlags
Definition DBCEnums.h:3181
TransmogSituationTrigger
Definition DBCEnums.h:2700
TraitPointsOperationType
Definition DBCEnums.h:2908
@ SCENARIO_STEP_FLAG_BONUS_OBJECTIVE
Definition DBCEnums.h:2334
SpellCategoryFlags
Definition DBCEnums.h:2387
TransmogSituationTriggerFlags
Definition DBCEnums.h:2715
TraitNodeType
Definition DBCEnums.h:2900
Difficulty
Definition DBCEnums.h:932
ChatChannelRuleset
Definition DBCEnums.h:335
AreaFlags2
Definition DBCEnums.h:142
ChrSpecializationRole
Definition DBCEnums.h:391
TransmogSituation
Definition DBCEnums.h:2659
BattlegroundBracketId
Definition DBCEnums.h:53
VignetteFlags
Definition DBCEnums.h:3149
TransmogSituationFlags
Definition DBCEnums.h:2687
TraitCurrencyType
Definition DBCEnums.h:2859
MapFlags2
Definition DBCEnums.h:1634
MapFlags3
Definition DBCEnums.h:1661
ChrCustomizationReqFlag
Definition DBCEnums.h:847
MapDifficultyFlags
Definition DBCEnums.h:1668
@ ResumeDungeonProgressBasedOnLockout
@ UseLootBasedLockInsteadOfInstanceLock
TransmogIllusionFlags
Definition DBCEnums.h:2535
ChrRacesFlag
Definition DBCEnums.h:348
BattlemasterListFlags
Definition DBCEnums.h:274
FriendshipReputationFlags
Definition DBCEnums.h:1016
TransmogOutfitEntryFlags
Definition DBCEnums.h:2564
@ FACTION_TEMPLATE_FLAG_CONTESTED_GUARD
Definition DBCEnums.h:1002
CampaignFlags
Definition DBCEnums.h:288
SummonPropertiesFlags
Definition DBCEnums.h:2755
PlayerConditionFlags
Definition DBCEnums.h:2174
BattlePetSpeciesFlags
Definition DBCEnums.h:245
VehicleSeatFlagsC
Definition DBCEnums.h:3142
SkillLineAbilityFlags
Definition DBCEnums.h:2370
CriteriaTreeFlags
Definition DBCEnums.h:809
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
Trinity::RaceMask< int64 > RaceMask
bool IsForNewCharacter() const
Trinity::RaceMask< std::array< 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
LocalizedString ReqSource
Trinity::RaceMask< int64 > RaceMask
Trinity::RaceMask< std::array< int32, 2 > > RaceMask_
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
uint32 ModifierTreeId
int16 EligibilityWorldStateID
EnumFlag< CriteriaFlags > GetFlags() const
union CriteriaEntry::AssetNameAlias Asset
int8 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
Trinity::RaceMask< int64 > RaceMask
uint32 EventSoundID
uint32 EmoteSpecProcParam
Trinity::RaceMask< std::array< int32, 2 > > RaceMask_
char const * Name
std::array< int32, 4 > ReputationBase
std::array< int32, 4 > ReputationMax
LocalizedString Description
uint16 ParagonFactionID
Trinity::RaceMask< std::array< int32, 2 > > ReputationRaceMask1_
Trinity::RaceMask< std::array< int32, 2 > > ReputationRaceMask4_
std::array< uint8, 2 > ParentFactionCap
uint32 FriendshipRepID
uint16 ParentFactionID
Trinity::RaceMask< std::array< int32, 2 > > ReputationRaceMask2_
std::array< int16, 4 > ReputationClassMask
LocalizedString Name
int32 RenownFactionID
bool CanHaveReputation() const
std::array< float, 2 > ParentFactionMod
Trinity::RaceMask< std::array< int32, 2 > > ReputationRaceMask3_
std::array< uint16, 4 > ReputationFlags
int32 RenownCurrencyID
int16 ReputationIndex
std::array< Trinity::RaceMask< int64 >, 4 > ReputationRaceMask
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< std::array< int32, 2 > > AllowableRace_
Trinity::RaceMask< int64 > 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
int32 PlayerLevelToItemLevelCurveID
Trinity::RaceMask< int64 > AllowableRace
int32 ModifiedCraftingReagentItemID
std::array< int32, MAX_ITEM_PROTO_STATS > StatModifierBonusStat
std::array< float, MAX_ITEM_PROTO_STATS > StatPercentageOfSocket
LocalizedString Display3
LocalizedString Display
Trinity::RaceMask< std::array< int32, 2 > > AllowableRace_
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< int32, 2 > MovementFlags
std::array< uint16, 2 > Explored
std::array< uint32, 4 > Achievement
Trinity::RaceMask< std::array< int32, 2 > > RaceMask_
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
Trinity::RaceMask< int64 > RaceMask
std::array< int32, 4 > SpellID
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
Trinity::RaceMask< int64 > RaceMask
EnumFlag< SkillLineAbilityFlags > GetFlags() const
Trinity::RaceMask< std::array< 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< int64 > RaceMask
Trinity::RaceMask< std::array< 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