/* * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ // DO NOT EDIT! // Autogenerated from DB2Structure.h #ifndef TRINITYCORE_DB2_LOAD_INFO_H #define TRINITYCORE_DB2_LOAD_INFO_H #include "DB2DatabaseLoader.h" #include "DB2Metadata.h" #include "HotfixDatabase.h" struct AchievementLoadInfo { static constexpr DB2FieldMeta Fields[19] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Title" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Reward" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "InstanceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Faction" }, { .IsSigned = true, .Type = FT_INT, .Name = "Supercedes" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Category" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinimumCriteria" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Points" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardItemID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CriteriaTree" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "SharesCriteria" }, { .IsSigned = true, .Type = FT_INT, .Name = "CovenantID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HiddenBeforeDisplaySeason" }, { .IsSigned = true, .Type = FT_INT, .Name = "LegacyAfterTimeEvent" }, }; static constexpr DB2LoadInfo Instance{ Fields, 19, &AchievementMeta::Instance, HOTFIX_SEL_ACHIEVEMENT }; }; struct AchievementCategoryLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Parent" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "UiOrder" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &Achievement_CategoryMeta::Instance, HOTFIX_SEL_ACHIEVEMENT_CATEGORY }; }; struct AdventureJournalLoadInfo { static constexpr DB2FieldMeta Fields[23] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ButtonText" }, { .IsSigned = false, .Type = FT_STRING, .Name = "RewardDescription" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ContinueDescription" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ButtonActionType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileDataID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LfgDungeonID" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BattleMasterListID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PriorityMin" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PriorityMax" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyType" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyQuantity" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiMapID" }, { .IsSigned = false, .Type = FT_INT, .Name = "BonusPlayerConditionID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "BonusPlayerConditionID2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BonusValue1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BonusValue2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 23, &AdventureJournalMeta::Instance, HOTFIX_SEL_ADVENTURE_JOURNAL }; }; struct AdventureMapPoiLoadInfo { static constexpr DB2FieldMeta Fields[14] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Title" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldPositionX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldPositionY" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgDungeonID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardItemID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiTextureAtlasMemberID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MapID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaTableID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 14, &AdventureMapPOIMeta::Instance, HOTFIX_SEL_ADVENTURE_MAP_POI }; }; struct AnimationDataLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Fallback" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "BehaviorTier" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "BehaviorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &AnimationDataMeta::Instance, HOTFIX_SEL_ANIMATION_DATA }; }; struct AnimKitLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OneShotDuration" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "OneShotStopAnimKitID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LowDefAnimKitID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &AnimKitMeta::Instance, HOTFIX_SEL_ANIM_KIT }; }; struct AreaGroupMemberLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &AreaGroupMemberMeta::Instance, HOTFIX_SEL_AREA_GROUP_MEMBER }; }; struct AreaTableLoadInfo { static constexpr DB2FieldMeta Fields[28] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "ZoneName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AreaName" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ContinentID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParentAreaID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "AreaBit" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SoundProviderPref" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SoundProviderPrefUnderwater" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AmbienceID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UwAmbience" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ZoneMusic" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UwZoneMusic" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "IntroSound" }, { .IsSigned = false, .Type = FT_INT, .Name = "UwIntroSound" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FactionGroupMask" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AmbientMultiplier" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountFlags" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "PvpCombatWorldStateID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "WildBattlePetLevelMin" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "WildBattlePetLevelMax" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "WindSettingsID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LiquidTypeID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LiquidTypeID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LiquidTypeID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LiquidTypeID4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 28, &AreaTableMeta::Instance, HOTFIX_SEL_AREA_TABLE }; }; struct AreaTriggerLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosZ" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ContinentID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseUseFlags" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "PhaseID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "PhaseGroupID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Radius" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BoxLength" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BoxWidth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BoxHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BoxYaw" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ShapeType" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ShapeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AreaTriggerActionSetID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &AreaTriggerMeta::Instance, HOTFIX_SEL_AREA_TRIGGER }; }; struct AreaTriggerActionSetLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &AreaTriggerActionSetMeta::Instance, HOTFIX_SEL_AREA_TRIGGER_ACTION_SET }; }; struct ArmorLocationLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Clothmodifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Leathermodifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Chainmodifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Platemodifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Modifier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ArmorLocationMeta::Instance, HOTFIX_SEL_ARMOR_LOCATION }; }; struct ArtifactLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiNameColor" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiBarOverlayColor" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiBarBackgroundColor" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChrSpecializationID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ArtifactCategoryID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiModelSceneID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellVisualKitID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactMeta::Instance, HOTFIX_SEL_ARTIFACT }; }; struct ArtifactAppearanceLoadInfo { static constexpr DB2FieldMeta Fields[16] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArtifactAppearanceSetID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DisplayIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "UnlockPlayerConditionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemAppearanceModifierID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiSwatchColor" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiModelSaturation" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiModelOpacity" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OverrideShapeshiftFormID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OverrideShapeshiftDisplayID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiItemAppearanceID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiAltItemAppearanceID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiCameraID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UsablePlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 16, &ArtifactAppearanceMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE }; }; struct ArtifactAppearanceSetLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DisplayIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiCameraID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AltHandUICameraID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ForgeAttachmentOverride" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "ArtifactID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ArtifactAppearanceSetMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE_SET }; }; struct ArtifactCategoryLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "XpMultCurrencyID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "XpMultCurveID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactCategoryMeta::Instance, HOTFIX_SEL_ARTIFACT_CATEGORY }; }; struct ArtifactPowerLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "DisplayPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DisplayPosY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ArtifactID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPurchasableRank" }, { .IsSigned = true, .Type = FT_INT, .Name = "Label" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Tier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ArtifactPowerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER }; }; struct ArtifactPowerLinkLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PowerA" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PowerB" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactPowerLinkMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_LINK }; }; struct ArtifactPowerPickerLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ArtifactPowerPickerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_PICKER }; }; struct ArtifactPowerRankLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RankIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemBonusListID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AuraPointsOverride" }, { .IsSigned = false, .Type = FT_INT, .Name = "ArtifactPowerID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactPowerRankMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_RANK }; }; struct ArtifactQuestXpLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty6" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty7" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty8" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty9" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty10" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactQuestXPMeta::Instance, HOTFIX_SEL_ARTIFACT_QUEST_XP }; }; struct ArtifactTierLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ArtifactTier" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxNumTraits" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxArtifactKnowledge" }, { .IsSigned = false, .Type = FT_INT, .Name = "KnowledgePlayerCondition" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinimumEmpowerKnowledge" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactTierMeta::Instance, HOTFIX_SEL_ARTIFACT_TIER }; }; struct ArtifactUnlockLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PowerID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PowerRank" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemBonusListID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ArtifactID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactUnlockMeta::Instance, HOTFIX_SEL_ARTIFACT_UNLOCK }; }; struct AuctionHouseLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FactionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DepositRate" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ConsignmentRate" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &AuctionHouseMeta::Instance, HOTFIX_SEL_AUCTION_HOUSE }; }; struct AzeriteEmpoweredItemLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AzeriteTierUnlockSetID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AzeritePowerSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEmpoweredItemMeta::Instance, HOTFIX_SEL_AZERITE_EMPOWERED_ITEM }; }; struct AzeriteEssenceLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpecSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEssenceMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE }; }; struct AzeriteEssencePowerLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "SourceAlliance" }, { .IsSigned = false, .Type = FT_STRING, .Name = "SourceHorde" }, { .IsSigned = true, .Type = FT_INT, .Name = "AzeriteEssenceID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Tier" }, { .IsSigned = true, .Type = FT_INT, .Name = "MajorPowerDescription" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinorPowerDescription" }, { .IsSigned = true, .Type = FT_INT, .Name = "MajorPowerActual" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinorPowerActual" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &AzeriteEssencePowerMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE_POWER }; }; struct AzeriteItemLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteItemMeta::Instance, HOTFIX_SEL_AZERITE_ITEM }; }; struct AzeriteItemMilestonePowerLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "AzeritePowerID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "AutoUnlock" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteItemMilestonePowerMeta::Instance, HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER }; }; struct AzeriteKnowledgeMultiplierLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Multiplier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteKnowledgeMultiplierMeta::Instance, HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER }; }; struct AzeriteLevelInfoLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_LONG, .Name = "BaseExperienceToNextLevel" }, { .IsSigned = false, .Type = FT_LONG, .Name = "MinimumExperienceToNextLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemLevel" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteLevelInfoMeta::Instance, HOTFIX_SEL_AZERITE_LEVEL_INFO }; }; struct AzeritePowerLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusListID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpecSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeritePowerMeta::Instance, HOTFIX_SEL_AZERITE_POWER }; }; struct AzeritePowerSetMemberLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AzeritePowerSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AzeritePowerID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Class" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Tier" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeritePowerSetMemberMeta::Instance, HOTFIX_SEL_AZERITE_POWER_SET_MEMBER }; }; struct AzeriteTierUnlockLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemCreationContext" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Tier" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AzeriteLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "AzeriteTierUnlockSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteTierUnlockMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK }; }; struct AzeriteTierUnlockSetLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteTierUnlockSetMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET }; }; struct AzeriteUnlockMappingLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusListHead" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusListShoulders" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusListChest" }, { .IsSigned = false, .Type = FT_INT, .Name = "AzeriteUnlockMappingSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeriteUnlockMappingMeta::Instance, HOTFIX_SEL_AZERITE_UNLOCK_MAPPING }; }; struct BankTabLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_LONG, .Name = "Cost" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BankType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PurchasePromptTitle" }, { .IsSigned = true, .Type = FT_INT, .Name = "PurchasePromptBody" }, { .IsSigned = true, .Type = FT_INT, .Name = "PurchasePromptConfirmation" }, { .IsSigned = true, .Type = FT_INT, .Name = "TabCleanupConfirmation" }, { .IsSigned = true, .Type = FT_INT, .Name = "TabNameEditBoxHeader" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &BankTabMeta::Instance, HOTFIX_SEL_BANK_TAB }; }; struct BannedAddonsLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Version" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BannedAddonsMeta::Instance, HOTFIX_SEL_BANNED_ADDONS }; }; struct BarberShopStyleLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "DisplayName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CostModifier" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Race" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Sex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Data" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &BarberShopStyleMeta::Instance, HOTFIX_SEL_BARBER_SHOP_STYLE }; }; struct BattlePetAbilityLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PetTypeEnum" }, { .IsSigned = false, .Type = FT_INT, .Name = "Cooldown" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BattlePetVisualID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &BattlePetAbilityMeta::Instance, HOTFIX_SEL_BATTLE_PET_ABILITY }; }; struct BattlePetBreedQualityLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxQualityRoll" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StateMultiplier" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "QualityEnum" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedQualityMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_QUALITY }; }; struct BattlePetBreedStateLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "BattlePetStateID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Value" }, { .IsSigned = false, .Type = FT_INT, .Name = "BattlePetBreedID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_STATE }; }; struct BattlePetSpeciesLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "SourceText" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CreatureID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SummonSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PetTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "CardUIModelSceneID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LoadoutUIModelSceneID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CovenantID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &BattlePetSpeciesMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES }; }; struct BattlePetSpeciesStateLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BattlePetStateID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value" }, { .IsSigned = false, .Type = FT_INT, .Name = "BattlePetSpeciesID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetSpeciesStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES_STATE }; }; struct BattlemasterListLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "GameType" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ShortDescription" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LongDescription" }, { .IsSigned = true, .Type = FT_INT, .Name = "PvpType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinLevel" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxLevel" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RatedPlayers" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinPlayers" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxPlayers" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GroupsAllowed" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxGroupSize" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "HolidayWorldState" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredPlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &BattlemasterListMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST }; }; struct BattlemasterListXMapLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MapID" }, { .IsSigned = false, .Type = FT_INT, .Name = "BattlemasterListID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &BattlemasterListXMapMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST_X_MAP }; }; struct BroadcastTextLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Text" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Text1" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LanguageID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmotesID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChatBubbleDurationMs" }, { .IsSigned = true, .Type = FT_INT, .Name = "VoiceOverPriorityID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundKitID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundKitID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteDelay1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteDelay2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteDelay3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &BroadcastTextMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT }; }; struct BroadcastTextDurationLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Locale" }, { .IsSigned = true, .Type = FT_INT, .Name = "Duration" }, { .IsSigned = false, .Type = FT_INT, .Name = "BroadcastTextID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BroadcastTextDurationMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT_DURATION }; }; struct CfgCategoriesLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LocaleMask" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CreateCharsetMask" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ExistingCharsetMask" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Order" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &Cfg_CategoriesMeta::Instance, HOTFIX_SEL_CFG_CATEGORIES }; }; struct CfgRegionsLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Tag" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RegionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Raidorigin" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RegionGroupMask" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChallengeOrigin" }, { .IsSigned = true, .Type = FT_INT, .Name = "TimeEventRegionGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &Cfg_RegionsMeta::Instance, HOTFIX_SEL_CFG_REGIONS }; }; struct ChallengeModeItemBonusOverrideLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusTreeGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DstItemBonusTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredTimeEventPassed" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredTimeEventNotPassed" }, { .IsSigned = false, .Type = FT_INT, .Name = "SrcItemBonusTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &ChallengeModeItemBonusOverrideMeta::Instance, HOTFIX_SEL_CHALLENGE_MODE_ITEM_BONUS_OVERRIDE }; }; struct CharBaseInfoLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "OtherFactionRaceID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &CharBaseInfoMeta::Instance, HOTFIX_SEL_CHAR_BASE_INFO }; }; struct CharTitlesLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MaskID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &CharTitlesMeta::Instance, HOTFIX_SEL_CHAR_TITLES }; }; struct CharacterLoadoutLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ChrClassID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Purpose" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemContext" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &CharacterLoadoutMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT }; }; struct CharacterLoadoutItemLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CharacterLoadoutID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &CharacterLoadoutItemMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT_ITEM }; }; struct ChatChannelsLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Shortcut" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FactionGroup" }, { .IsSigned = true, .Type = FT_INT, .Name = "Ruleset" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ChatChannelsMeta::Instance, HOTFIX_SEL_CHAT_CHANNELS }; }; struct ChrClassUiDisplayLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ChrClassesID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AdvGuidePlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SplashPlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ChrClassUIDisplayMeta::Instance, HOTFIX_SEL_CHR_CLASS_UI_DISPLAY }; }; struct ChrClassesLoadInfo { static constexpr DB2FieldMeta Fields[43] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Filename" }, { .IsSigned = false, .Type = FT_STRING, .Name = "NameMale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "NameFemale" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "PetNameToken" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "RoleInfoString" }, { .IsSigned = false, .Type = FT_STRING, .Name = "DisabledString" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HyphenatedNameMale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HyphenatedNameFemale" }, { .IsSigned = false, .Type = FT_INT, .Name = "CreateScreenFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SelectScreenFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "LowResScreenFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartingLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellTextureBlobFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ArmorTypeMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharStartKitUnknown901" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaleCharacterCreationVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaleCharacterCreationIdleVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "FemaleCharacterCreationVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "FemaleCharacterCreationIdleVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharacterCreationIdleGroundVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharacterCreationGroundVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormCharacterCreationIdleVisualFallback" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharacterCreationAnimLoopWaitTimeMsFallback" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CinematicSequenceID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DefaultSpec" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "HasStrengthBonus" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PrimaryStatPriority" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayPower" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RangedAttackPowerPerAgility" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AttackPowerPerAgility" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AttackPowerPerStrength" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpellClassSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ClassColorR" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ClassColorG" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ClassColorB" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RolesMask" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DamageBonusStat" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "HasRelicSlot" }, }; static constexpr DB2LoadInfo Instance{ Fields, 43, &ChrClassesMeta::Instance, HOTFIX_SEL_CHR_CLASSES }; }; struct ChrClassesXPowerTypesLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PowerType" }, { .IsSigned = false, .Type = FT_INT, .Name = "ClassID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrClassesXPowerTypesMeta::Instance, HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES }; }; struct ChrCustomizationChoiceLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChrCustomizationOptionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationReqID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationVisReqID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SortOrder" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiOrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "AddedInPatch" }, { .IsSigned = true, .Type = FT_INT, .Name = "SoundKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SwatchColor1" }, { .IsSigned = true, .Type = FT_INT, .Name = "SwatchColor2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &ChrCustomizationChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE }; }; struct ChrCustomizationDisplayInfoLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShapeshiftFormID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DisplayID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopMinCameraDistance" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopHeightOffset" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopCameraZoomOffset" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ChrCustomizationDisplayInfoMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_DISPLAY_INFO }; }; struct ChrCustomizationElementLoadInfo { static constexpr DB2FieldMeta Fields[14] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationChoiceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RelatedChrCustomizationChoiceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationGeosetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationSkinnedModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationMaterialID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationBoneSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationCondModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationDisplayInfoID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustItemGeoModifyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationVoiceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ParticleColorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustGeoComponentLinkID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 14, &ChrCustomizationElementMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_ELEMENT }; }; struct ChrCustomizationOptionLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SecondaryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChrModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SortIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationCategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OptionType" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopCostModifier" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationReqID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiOrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "AddedInPatch" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &ChrCustomizationOptionMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION }; }; struct ChrCustomizationReqLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ReqSource" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "RegionGroupMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "AchievementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverrideArchive" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemModifiedAppearanceID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &ChrCustomizationReqMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ }; }; struct ChrCustomizationReqChoiceLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationChoiceID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChrCustomizationReqID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrCustomizationReqChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ_CHOICE }; }; struct ChrModelLoadInfo { static constexpr DB2FieldMeta Fields[21] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "FaceCustomizationOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FaceCustomizationOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FaceCustomizationOffset3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CustomizeOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CustomizeOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CustomizeOffset3" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Sex" }, { .IsSigned = false, .Type = FT_INT, .Name = "DisplayID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharComponentTextureLayoutID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "SkeletonFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModelFallbackChrModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFallbackChrModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HelmVisFallbackChrModelID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CustomizeScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CustomizeFacing" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraDistanceOffset" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopCameraOffsetScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopCameraHeightOffsetScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BarberShopCameraRotationOffset" }, }; static constexpr DB2LoadInfo Instance{ Fields, 21, &ChrModelMeta::Instance, HOTFIX_SEL_CHR_MODEL }; }; struct ChrRaceXChrModelLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ChrRacesID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrModelID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Sex" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllowedTransmogSlots" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ChrRaceXChrModelMeta::Instance, HOTFIX_SEL_CHR_RACE_X_CHR_MODEL }; }; struct ChrRacesLoadInfo { static constexpr DB2FieldMeta Fields[62] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "ClientPrefix" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "ClientFileString" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "NameFemale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "NameLowercase" }, { .IsSigned = false, .Type = FT_STRING, .Name = "NameFemaleLowercase" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LoreName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LoreNameFemale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LoreNameLower" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LoreNameLowerFemale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "LoreDescription" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ShortName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ShortNameFemale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ShortNameLower" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ShortNameLowerFemale" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "FactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CinematicSequenceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ResSicknessSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SplashSoundID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CreateScreenFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SelectScreenFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LowResScreenFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormStartVisualKitID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormStartVisualKitID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormStartVisualKitID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormFinishVisualKitID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormFinishVisualKitID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlteredFormFinishVisualKitID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "HeritageArmorAchievementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartingLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiDisplayOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayableRaceBit" }, { .IsSigned = true, .Type = FT_INT, .Name = "TransmogrifyDisabledSlotMask" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AlteredFormCustomizeOffsetFallback1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AlteredFormCustomizeOffsetFallback2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AlteredFormCustomizeOffsetFallback3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AlteredFormCustomizeRotationFallback" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_11" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_12" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_13" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_21" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_22" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown910_23" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "BaseLanguage" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CreatureType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Alliance" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RaceRelated" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "UnalteredVisualRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DefaultClassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "NeutralRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaleModelFallbackRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaleModelFallbackSex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "FemaleModelFallbackRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "FemaleModelFallbackSex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaleTextureFallbackRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaleTextureFallbackSex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "FemaleTextureFallbackRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "FemaleTextureFallbackSex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "HelmetAnimScalingRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "UnalteredVisualCustomizationRaceID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 62, &ChrRacesMeta::Instance, HOTFIX_SEL_CHR_RACES }; }; struct ChrSpecializationLoadInfo { static constexpr DB2FieldMeta Fields[14] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "FemaleName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ClassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PetTalentType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Role" }, { .IsSigned = false, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PrimaryStatPriority" }, { .IsSigned = true, .Type = FT_INT, .Name = "AnimReplacements" }, { .IsSigned = true, .Type = FT_INT, .Name = "MasterySpellID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "MasterySpellID2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 14, &ChrSpecializationMeta::Instance, HOTFIX_SEL_CHR_SPECIALIZATION }; }; struct CinematicCameraLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OriginX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OriginY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OriginZ" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OriginFacing" }, { .IsSigned = false, .Type = FT_INT, .Name = "FileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ConversationID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &CinematicCameraMeta::Instance, HOTFIX_SEL_CINEMATIC_CAMERA }; }; struct CinematicSequencesLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Camera8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &CinematicSequencesMeta::Instance, HOTFIX_SEL_CINEMATIC_SEQUENCES }; }; struct ConditionalChrModelLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ChrModelID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationReqID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrCustomizationCategoryID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ConditionalChrModelMeta::Instance, HOTFIX_SEL_CONDITIONAL_CHR_MODEL }; }; struct ConditionalContentTuningLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "RedirectContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RedirectFlag" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentContentTuningID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ConditionalContentTuningMeta::Instance, HOTFIX_SEL_CONDITIONAL_CONTENT_TUNING }; }; struct ContentTuningLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HealthItemLevelCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DamageItemLevelCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HealthPrimaryStatCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DamagePrimaryStatCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinLevelType" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxLevelType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetLevelDelta" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetLevelMaxDelta" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetLevelMin" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetLevelMax" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "QuestXpMultiplier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &ContentTuningMeta::Instance, HOTFIX_SEL_CONTENT_TUNING }; }; struct ContentTuningXExpectedLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpectedStatModID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinMythicPlusSeasonID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxMythicPlusSeasonID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ContentTuningID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ContentTuningXExpectedMeta::Instance, HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED }; }; struct ContentTuningXLabelLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LabelID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ContentTuningID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ContentTuningXLabelMeta::Instance, HOTFIX_SEL_CONTENT_TUNING_X_LABEL }; }; struct ConversationLineLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "BroadcastTextID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Unused1020" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellVisualKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AdditionalDuration" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "NextConversationLineID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AnimKitID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpeechType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "StartAnimation" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "EndAnimation" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &ConversationLineMeta::Instance, HOTFIX_SEL_CONVERSATION_LINE }; }; struct CorruptionEffectsLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinCorruption" }, { .IsSigned = true, .Type = FT_INT, .Name = "Aura" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &CorruptionEffectsMeta::Instance, HOTFIX_SEL_CORRUPTION_EFFECTS }; }; struct CraftingQualityLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "QualityTier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &CraftingQualityMeta::Instance, HOTFIX_SEL_CRAFTING_QUALITY }; }; struct CreatureDisplayInfoLoadInfo { static constexpr DB2FieldMeta Fields[31] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ModelID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SoundID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SizeClass" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureModelScale" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CreatureModelAlpha" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BloodID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExtendedDisplayInfoID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "NPCSoundID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParticleColorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PortraitCreatureDisplayInfoID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PortraitTextureFileDataID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ObjectEffectPackageID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AnimReplacementSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "StateSpellVisualKitID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerOverrideScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PetInstanceScale" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "UnarmedWeaponType" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountPoofSpellVisualKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DissolveEffectID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Gender" }, { .IsSigned = true, .Type = FT_INT, .Name = "DissolveOutEffectID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "CreatureModelMinLod" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ConditionalCreatureModelID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown_1100_1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown_1100_2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileDataID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileDataID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileDataID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileDataID4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 31, &CreatureDisplayInfoMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO }; }; struct CreatureDisplayInfoExtraLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayRaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplaySexID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayClassID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "BakeMaterialResourcesID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HDBakeMaterialResourcesID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &CreatureDisplayInfoExtraMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA }; }; struct CreatureFamilyLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinScale" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinScaleLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MaxScale" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxScaleLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "PetFoodMask" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PetTalentType" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryEnumID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "SkillLine1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "SkillLine2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &CreatureFamilyMeta::Instance, HOTFIX_SEL_CREATURE_FAMILY }; }; struct CreatureLabelLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LabelID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CreatureDifficultyID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &CreatureLabelMeta::Instance, HOTFIX_SEL_CREATURE_LABEL }; }; struct CreatureModelDataLoadInfo { static constexpr DB2FieldMeta Fields[41] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBox6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "FileDataID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WalkSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RunSpeed" }, { .IsSigned = false, .Type = FT_INT, .Name = "BloodID" }, { .IsSigned = false, .Type = FT_INT, .Name = "FootprintTextureID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FootprintTextureLength" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FootprintTextureWidth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FootprintParticleScale" }, { .IsSigned = false, .Type = FT_INT, .Name = "FoleyMaterialID" }, { .IsSigned = false, .Type = FT_INT, .Name = "FootstepCameraEffectID" }, { .IsSigned = false, .Type = FT_INT, .Name = "DeathThudCameraEffectID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SizeClass" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CollisionWidth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CollisionHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldEffectScale" }, { .IsSigned = false, .Type = FT_INT, .Name = "CreatureGeosetDataID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "HoverHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AttachedEffectScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ModelScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCollisionRadius" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCollisionPush" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCollisionRaise" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MountHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverrideLootEffectScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverrideNameScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverrideSelectionRadius" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TamedPetBaseScale" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MountScaleOtherIndex" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MountScaleSelf" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown1100" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MountScaleOther1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MountScaleOther2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 41, &CreatureModelDataMeta::Instance, HOTFIX_SEL_CREATURE_MODEL_DATA }; }; struct CreatureTypeLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &CreatureTypeMeta::Instance, HOTFIX_SEL_CREATURE_TYPE }; }; struct CriteriaLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Asset" }, { .IsSigned = false, .Type = FT_INT, .Name = "ModifierTreeId" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartEvent" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartAsset" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "StartTimer" }, { .IsSigned = true, .Type = FT_INT, .Name = "FailEvent" }, { .IsSigned = true, .Type = FT_INT, .Name = "FailAsset" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EligibilityWorldStateID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "EligibilityWorldStateValue" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &CriteriaMeta::Instance, HOTFIX_SEL_CRITERIA }; }; struct CriteriaTreeLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "Parent" }, { .IsSigned = false, .Type = FT_INT, .Name = "Amount" }, { .IsSigned = true, .Type = FT_INT, .Name = "Operator" }, { .IsSigned = false, .Type = FT_INT, .Name = "CriteriaID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &CriteriaTreeMeta::Instance, HOTFIX_SEL_CRITERIA_TREE }; }; struct CurrencyContainerLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ContainerName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ContainerDescription" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinAmount" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxAmount" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContainerIconID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ContainerQuality" }, { .IsSigned = true, .Type = FT_INT, .Name = "OnLootSpellVisualKitID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyTypesID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &CurrencyContainerMeta::Instance, HOTFIX_SEL_CURRENCY_CONTAINER }; }; struct CurrencyTypesLoadInfo { static constexpr DB2FieldMeta Fields[21] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "InventoryIconFileID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellWeight" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpellCategory" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxQty" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxEarnablePerWeek" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Quality" }, { .IsSigned = true, .Type = FT_INT, .Name = "FactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemGroupSoundsID" }, { .IsSigned = true, .Type = FT_INT, .Name = "XpQuestDifficulty" }, { .IsSigned = true, .Type = FT_INT, .Name = "AwardConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxQtyWorldStateID" }, { .IsSigned = false, .Type = FT_INT, .Name = "RechargingAmountPerCycle" }, { .IsSigned = false, .Type = FT_INT, .Name = "RechargingCycleDurationMS" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AccountTransferPercentage" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 21, &CurrencyTypesMeta::Instance, HOTFIX_SEL_CURRENCY_TYPES }; }; struct CurveLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &CurveMeta::Instance, HOTFIX_SEL_CURVE }; }; struct CurvePointLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PreSLSquishPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PreSLSquishPosY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurveID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &CurvePointMeta::Instance, HOTFIX_SEL_CURVE_POINT }; }; struct DestructibleModelDataLoadInfo { static constexpr DB2FieldMeta Fields[23] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State0ImpactEffectDoodadSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "State0AmbientDoodadSet" }, { .IsSigned = true, .Type = FT_INT, .Name = "State1Wmo" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State1DestructionDoodadSet" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State1ImpactEffectDoodadSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "State1AmbientDoodadSet" }, { .IsSigned = true, .Type = FT_INT, .Name = "State2Wmo" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State2DestructionDoodadSet" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State2ImpactEffectDoodadSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "State2AmbientDoodadSet" }, { .IsSigned = true, .Type = FT_INT, .Name = "State3Wmo" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "State3InitDoodadSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "State3AmbientDoodadSet" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "EjectDirection" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DoNotHighlight" }, { .IsSigned = true, .Type = FT_INT, .Name = "State0Wmo" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "HealEffect" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "HealEffectSpeed" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State0NameSet" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State1NameSet" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State2NameSet" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "State3NameSet" }, }; static constexpr DB2LoadInfo Instance{ Fields, 23, &DestructibleModelDataMeta::Instance, HOTFIX_SEL_DESTRUCTIBLE_MODEL_DATA }; }; struct DifficultyLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "InstanceType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "OldEnumValue" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FallbackDifficultyID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinPlayers" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPlayers" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemContext" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ToggleDifficultyID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GroupSizeHealthCurveID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GroupSizeDmgCurveID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GroupSizeSpellPointsCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1105" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &DifficultyMeta::Instance, HOTFIX_SEL_DIFFICULTY }; }; struct DungeonEncounterLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "CompleteWorldStateID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Bit" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Faction" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1115" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER }; }; struct DurabilityCostsLoadInfo { static constexpr DB2FieldMeta Fields[30] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost9" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost10" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost11" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost12" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost13" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost14" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost15" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost16" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost17" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost18" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost19" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost20" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WeaponSubClassCost21" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ArmorSubClassCost8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 30, &DurabilityCostsMeta::Instance, HOTFIX_SEL_DURABILITY_COSTS }; }; struct DurabilityQualityLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Data" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &DurabilityQualityMeta::Instance, HOTFIX_SEL_DURABILITY_QUALITY }; }; struct EmotesLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "EmoteSlashCommand" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "AnimID" }, { .IsSigned = true, .Type = FT_INT, .Name = "EmoteFlags" }, { .IsSigned = true, .Type = FT_INT, .Name = "EmoteSpecProc" }, { .IsSigned = false, .Type = FT_INT, .Name = "EmoteSpecProcParam" }, { .IsSigned = false, .Type = FT_INT, .Name = "EventSoundID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellVisualKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &EmotesMeta::Instance, HOTFIX_SEL_EMOTES }; }; struct EmotesTextLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EmoteID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &EmotesTextMeta::Instance, HOTFIX_SEL_EMOTES_TEXT }; }; struct EmotesTextSoundLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SexID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundID" }, { .IsSigned = false, .Type = FT_INT, .Name = "EmotesTextID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &EmotesTextSoundMeta::Instance, HOTFIX_SEL_EMOTES_TEXT_SOUND }; }; struct ExpectedStatLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureHealth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerHealth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureAutoAttackDps" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureArmor" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerMana" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerPrimaryStat" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerSecondaryStat" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ArmorConstant" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureSpellDamage" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentSetID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Lvl" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &ExpectedStatMeta::Instance, HOTFIX_SEL_EXPECTED_STAT }; }; struct ExpectedStatModLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureHealthMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerHealthMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureAutoAttackDPSMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureArmorMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerManaMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerPrimaryStatMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlayerSecondaryStatMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ArmorConstantMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CreatureSpellDamageMod" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &ExpectedStatModMeta::Instance, HOTFIX_SEL_EXPECTED_STAT_MOD }; }; struct FactionLoadInfo { static constexpr DB2FieldMeta Fields[35] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "ReputationRaceMask1" }, { .IsSigned = true, .Type = FT_LONG, .Name = "ReputationRaceMask2" }, { .IsSigned = true, .Type = FT_LONG, .Name = "ReputationRaceMask3" }, { .IsSigned = true, .Type = FT_LONG, .Name = "ReputationRaceMask4" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReputationIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParentFactionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Expansion" }, { .IsSigned = false, .Type = FT_INT, .Name = "FriendshipRepID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParagonFactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RenownFactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RenownCurrencyID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReputationClassMask1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReputationClassMask2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReputationClassMask3" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReputationClassMask4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReputationFlags1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReputationFlags2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReputationFlags3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReputationFlags4" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationBase1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationBase2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationBase3" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationBase4" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationMax1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationMax2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationMax3" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReputationMax4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ParentFactionMod1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ParentFactionMod2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ParentFactionCap1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ParentFactionCap2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 35, &FactionMeta::Instance, HOTFIX_SEL_FACTION }; }; struct FactionTemplateLoadInfo { static constexpr DB2FieldMeta Fields[22] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Faction" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FactionGroup" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FriendGroup" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "EnemyGroup" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Enemies8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Friend8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 22, &FactionTemplateMeta::Instance, HOTFIX_SEL_FACTION_TEMPLATE }; }; struct FlightCapabilityLoadInfo { static constexpr DB2FieldMeta Fields[26] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AirFriction" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MaxVel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DoubleJumpVelMod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LiftCoefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GlideStartMinHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AddImpulseMaxSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BankingRateMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BankingRateMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchingRateDownMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchingRateDownMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchingRateUpMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchingRateUpMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TurnVelocityThresholdMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TurnVelocityThresholdMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SurfaceFriction" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverMaxDeceleration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_17" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_18" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_19" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_20" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1000_21" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LaunchSpeedCoefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VigorRegenMaxVelCoefficient" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 26, &FlightCapabilityMeta::Instance, HOTFIX_SEL_FLIGHT_CAPABILITY }; }; struct FriendshipRepReactionLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Reaction" }, { .IsSigned = false, .Type = FT_INT, .Name = "FriendshipRepID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReactionThreshold" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverrideColor" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &FriendshipRepReactionMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REP_REACTION }; }; struct FriendshipReputationLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "StandingModified" }, { .IsSigned = false, .Type = FT_STRING, .Name = "StandingChanged" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &FriendshipReputationMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REPUTATION }; }; struct GameobjectArtKitLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AttachModelFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureVariationFileID3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &GameObjectArtKitMeta::Instance, HOTFIX_SEL_GAMEOBJECT_ART_KIT }; }; struct GameobjectDisplayInfoLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMinX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMinY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMinZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMaxX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMaxY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GeoBoxMaxZ" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ObjectEffectPackageID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverrideLootEffectScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OverrideNameScale" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlternateDisplayType" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClientCreatureDisplayInfoID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClientItemID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown1100" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &GameObjectDisplayInfoMeta::Instance, HOTFIX_SEL_GAMEOBJECT_DISPLAY_INFO }; }; struct GameobjectLabelLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LabelID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GameObjectID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GameObjectLabelMeta::Instance, HOTFIX_SEL_GAMEOBJECT_LABEL }; }; struct GameobjectsLoadInfo { static constexpr DB2FieldMeta Fields[25] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot4" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OwnerID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DisplayID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Scale" }, { .IsSigned = true, .Type = FT_INT, .Name = "TypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseUseFlags" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseGroupID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown1100" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue1" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue2" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue3" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue4" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue5" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue6" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue7" }, { .IsSigned = true, .Type = FT_INT, .Name = "PropValue8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 25, &GameObjectsMeta::Instance, HOTFIX_SEL_GAMEOBJECTS }; }; struct GarrAbilityLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrAbilityCategoryID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrFollowerTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FactionChangeGarrAbilityID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrAbilityMeta::Instance, HOTFIX_SEL_GARR_ABILITY }; }; struct GarrBuildingLoadInfo { static constexpr DB2FieldMeta Fields[25] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HordeName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AllianceName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Tooltip" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrTypeID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BuildingType" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeGameObjectID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceGameObjectID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GarrSiteID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "UpgradeLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "BuildSeconds" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrencyQty" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "HordeUiTextureKitID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AllianceUiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AllianceSceneScriptPackageID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "HordeSceneScriptPackageID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxAssignments" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ShipmentCapacity" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GarrAbilityID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BonusGarrAbilityID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GoldCost" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 25, &GarrBuildingMeta::Instance, HOTFIX_SEL_GARR_BUILDING }; }; struct GarrBuildingPlotInstLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapOffsetX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapOffsetY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrBuildingID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GarrSiteLevelPlotInstID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureAtlasMemberID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrBuildingPlotInstMeta::Instance, HOTFIX_SEL_GARR_BUILDING_PLOT_INST }; }; struct GarrClassSpecLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ClassSpec" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ClassSpecMale" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ClassSpecFemale" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureAtlasMemberID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GarrFollItemSetID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FollowerClassLimit" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrClassSpecMeta::Instance, HOTFIX_SEL_GARR_CLASS_SPEC }; }; struct GarrFollowerLoadInfo { static constexpr DB2FieldMeta Fields[34] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HordeSourceText" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AllianceSourceText" }, { .IsSigned = false, .Type = FT_STRING, .Name = "TitleName" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrTypeID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrFollowerTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeCreatureID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceCreatureID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "HordeGarrFollRaceID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AllianceGarrFollRaceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeGarrClassSpecID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceGarrClassSpecID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Quality" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FollowerLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevelWeapon" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevelArmor" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "HordeSourceTypeEnum" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "AllianceSourceTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeIconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceIconFileDataID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "HordeGarrFollItemSetID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AllianceGarrFollItemSetID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "HordeUITextureKitID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AllianceUITextureKitID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Vitality" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "HordeFlavorGarrStringID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AllianceFlavorGarrStringID" }, { .IsSigned = false, .Type = FT_INT, .Name = "HordeSlottingBroadcastTextID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AllySlottingBroadcastTextID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ChrClassID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Gender" }, { .IsSigned = true, .Type = FT_INT, .Name = "AutoCombatantID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CovenantID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrFollowerMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER }; }; struct GarrFollowerXAbilityLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FactionIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GarrAbilityID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GarrFollowerID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &GarrFollowerXAbilityMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY }; }; struct GarrMissionLoadInfo { static constexpr DB2FieldMeta Fields[34] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Location" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapPosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldPosY" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrTypeID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrMissionTypeID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrFollowerTypeID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxFollowers" }, { .IsSigned = false, .Type = FT_INT, .Name = "MissionCost" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MissionCostCurrencyTypesID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OfferedGarrMissionTextureID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureKitID" }, { .IsSigned = false, .Type = FT_INT, .Name = "EnvGarrMechanicID" }, { .IsSigned = true, .Type = FT_INT, .Name = "EnvGarrMechanicTypeID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GarrMissionSetID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "TargetLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TargetItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MissionDuration" }, { .IsSigned = true, .Type = FT_INT, .Name = "TravelDuration" }, { .IsSigned = false, .Type = FT_INT, .Name = "OfferDuration" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BaseCompletionChance" }, { .IsSigned = false, .Type = FT_INT, .Name = "BaseFollowerXP" }, { .IsSigned = false, .Type = FT_INT, .Name = "OvermaxRewardPackID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FollowerDeathChance" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AutoMissionScalar" }, { .IsSigned = true, .Type = FT_INT, .Name = "AutoMissionScalarCurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AutoCombatantEnvCasterID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrMissionMeta::Instance, HOTFIX_SEL_GARR_MISSION }; }; struct GarrPlotLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PlotType" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeConstructObjID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceConstructObjID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "UiCategoryID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UpgradeRequirement1" }, { .IsSigned = false, .Type = FT_INT, .Name = "UpgradeRequirement2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &GarrPlotMeta::Instance, HOTFIX_SEL_GARR_PLOT }; }; struct GarrPlotBuildingLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrPlotID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrBuildingID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotBuildingMeta::Instance, HOTFIX_SEL_GARR_PLOT_BUILDING }; }; struct GarrPlotInstanceLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrPlotID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotInstanceMeta::Instance, HOTFIX_SEL_GARR_PLOT_INSTANCE }; }; struct GarrSiteLevelLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TownHallUiPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TownHallUiPosY" }, { .IsSigned = false, .Type = FT_INT, .Name = "GarrSiteID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MapID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeMovieID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureKitID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxBuildingLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeCost" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeGoldCost" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &GarrSiteLevelMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL }; }; struct GarrSiteLevelPlotInstLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMarkerPosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMarkerPosY" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GarrSiteLevelID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GarrPlotInstanceID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "UiMarkerSize" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrSiteLevelPlotInstMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST }; }; struct GarrTalentTreeLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxTiers" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "UiOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GarrTalentTreeType" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FeatureTypeIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FeatureSubtypeIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrencyID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &GarrTalentTreeMeta::Instance, HOTFIX_SEL_GARR_TALENT_TREE }; }; struct GemPropertiesLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "EnchantId" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GemPropertiesMeta::Instance, HOTFIX_SEL_GEM_PROPERTIES }; }; struct GlobalCurveLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurveID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GlobalCurveMeta::Instance, HOTFIX_SEL_GLOBAL_CURVE }; }; struct GlyphBindableSpellLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GlyphPropertiesID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphBindableSpellMeta::Instance, HOTFIX_SEL_GLYPH_BINDABLE_SPELL }; }; struct GlyphPropertiesLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GlyphType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GlyphExclusiveCategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileDataID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &GlyphPropertiesMeta::Instance, HOTFIX_SEL_GLYPH_PROPERTIES }; }; struct GlyphRequiredSpecLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChrSpecializationID" }, { .IsSigned = false, .Type = FT_INT, .Name = "GlyphPropertiesID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphRequiredSpecMeta::Instance, HOTFIX_SEL_GLYPH_REQUIRED_SPEC }; }; struct GossipNpcOptionLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GossipNpcOption" }, { .IsSigned = true, .Type = FT_INT, .Name = "LFGDungeonsID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TrainerID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "GarrFollowerTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharShipmentID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GarrTalentTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiItemInteractionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown_1000_8" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown_1000_9" }, { .IsSigned = true, .Type = FT_INT, .Name = "CovenantID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GossipOptionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ProfessionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown_1002_14" }, { .IsSigned = true, .Type = FT_INT, .Name = "SkillLineID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &GossipNPCOptionMeta::Instance, HOTFIX_SEL_GOSSIP_NPC_OPTION }; }; struct GuildColorBackgroundLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Red" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Blue" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Green" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBackgroundMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BACKGROUND }; }; struct GuildColorBorderLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Red" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Blue" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Green" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBorderMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BORDER }; }; struct GuildColorEmblemLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Red" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Blue" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Green" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorEmblemMeta::Instance, HOTFIX_SEL_GUILD_COLOR_EMBLEM }; }; struct GuildPerkSpellsLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &GuildPerkSpellsMeta::Instance, HOTFIX_SEL_GUILD_PERK_SPELLS }; }; struct HeirloomLoadInfo { static constexpr DB2FieldMeta Fields[20] = { { .IsSigned = false, .Type = FT_STRING, .Name = "SourceText" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LegacyUpgradedItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StaticUpgradedItemID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "LegacyItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID5" }, { .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UpgradeItemBonusListID6" }, }; static constexpr DB2LoadInfo Instance{ Fields, 20, &HeirloomMeta::Instance, HOTFIX_SEL_HEIRLOOM }; }; struct HolidaysLoadInfo { static constexpr DB2FieldMeta Fields[57] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Region" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Looping" }, { .IsSigned = false, .Type = FT_INT, .Name = "HolidayNameID" }, { .IsSigned = false, .Type = FT_INT, .Name = "HolidayDescriptionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Priority" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "CalendarFilterType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration9" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Duration10" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date6" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date7" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date8" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date9" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date10" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date11" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date12" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date13" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date14" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date15" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date16" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date17" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date18" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date19" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date20" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date21" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date22" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date23" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date24" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date25" }, { .IsSigned = false, .Type = FT_INT, .Name = "Date26" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags9" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CalendarFlags10" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileDataID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileDataID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileDataID3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 57, &HolidaysMeta::Instance, HOTFIX_SEL_HOLIDAYS }; }; struct ImportPriceArmorLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ClothModifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LeatherModifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ChainModifier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PlateModifier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ImportPriceArmorMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_ARMOR }; }; struct ImportPriceQualityLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Data" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceQualityMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_QUALITY }; }; struct ImportPriceShieldLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Data" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceShieldMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_SHIELD }; }; struct ImportPriceWeaponLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Data" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceWeaponMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_WEAPON }; }; struct ItemLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SubclassID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Material" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "InventoryType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SheatheType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SoundOverrideSubclassID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemGroupSoundsID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModifiedCraftingReagentItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CraftingQualityID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &ItemMeta::Instance, HOTFIX_SEL_ITEM }; }; struct ItemAppearanceLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayType" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemDisplayInfoID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DefaultIconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemAppearanceMeta::Instance, HOTFIX_SEL_ITEM_APPEARANCE }; }; struct ItemArmorQualityLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Qualitymod7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemArmorQualityMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_QUALITY }; }; struct ItemArmorShieldLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemArmorShieldMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_SHIELD }; }; struct ItemArmorTotalLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Cloth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Leather" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Mail" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Plate" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemArmorTotalMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_TOTAL }; }; struct ItemBagFamilyLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBagFamilyMeta::Instance, HOTFIX_SEL_ITEM_BAG_FAMILY }; }; struct ItemBonusLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParentItemBonusListID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemBonusMeta::Instance, HOTFIX_SEL_ITEM_BONUS }; }; struct ItemBonusListGroupEntryLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemBonusListGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemBonusListID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemLevelSelectorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SequenceValue" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemExtendedCostID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemLogicalCostGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemBonusListGroupEntryMeta::Instance, HOTFIX_SEL_ITEM_BONUS_LIST_GROUP_ENTRY }; }; struct ItemBonusListLevelDeltaLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = true, .Type = FT_SHORT, .Name = "ItemLevelDelta" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBonusListLevelDeltaMeta::Instance, HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA }; }; struct ItemBonusTreeLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "InventoryTypeSlotMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemBonusTreeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE }; }; struct ItemBonusTreeNodeLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemContext" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChildItemBonusTreeID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChildItemBonusListID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChildItemLevelSelectorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChildItemBonusListGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IblGroupPointsModSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinMythicPlusLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxMythicPlusLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentItemBonusTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &ItemBonusTreeNodeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE_NODE }; }; struct ItemChildEquipmentLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChildItemID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ChildItemEquipSlot" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemChildEquipmentMeta::Instance, HOTFIX_SEL_ITEM_CHILD_EQUIPMENT }; }; struct ItemClassLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ClassName" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PriceModifier" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemClassMeta::Instance, HOTFIX_SEL_ITEM_CLASS }; }; struct ItemContextPickerEntryLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemCreationContext" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "PVal" }, { .IsSigned = true, .Type = FT_INT, .Name = "LabelID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemContextPickerID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemContextPickerEntryMeta::Instance, HOTFIX_SEL_ITEM_CONTEXT_PICKER_ENTRY }; }; struct ItemCurrencyCostLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemCurrencyCostMeta::Instance, HOTFIX_SEL_ITEM_CURRENCY_COST }; }; struct ItemDamageAmmoLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageAmmoMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_AMMO }; }; struct ItemDamageOneHandLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND }; }; struct ItemDamageOneHandCasterLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND_CASTER }; }; struct ItemDamageTwoHandLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND }; }; struct ItemDamageTwoHandCasterLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Quality7" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND_CASTER }; }; struct ItemDisenchantLootLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Subclass" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Quality" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillRequired" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ExpansionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Class" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemDisenchantLootMeta::Instance, HOTFIX_SEL_ITEM_DISENCHANT_LOOT }; }; struct ItemEffectLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LegacySlotIndex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "TriggerType" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Charges" }, { .IsSigned = true, .Type = FT_INT, .Name = "CoolDownMSec" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryCoolDownMSec" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpellCategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChrSpecializationID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemEffectMeta::Instance, HOTFIX_SEL_ITEM_EFFECT }; }; struct ItemExtendedCostLoadInfo { static constexpr DB2FieldMeta Fields[27] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredArenaRating" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ArenaBracket" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinFactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RequiredAchievement" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemCount1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemCount2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemCount3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemCount4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemCount5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyID5" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount1" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount2" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount3" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount4" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount5" }, }; static constexpr DB2LoadInfo Instance{ Fields, 27, &ItemExtendedCostMeta::Instance, HOTFIX_SEL_ITEM_EXTENDED_COST }; }; struct ItemLevelSelectorLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinItemLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevelSelectorQualitySetID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AzeriteUnlockMappingSet" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR }; }; struct ItemLevelSelectorQualityLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "QualityItemBonusListID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Quality" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentILSQualitySetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorQualityMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY }; }; struct ItemLevelSelectorQualitySetLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "IlvlRare" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "IlvlEpic" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemLevelSelectorQualitySetMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY_SET }; }; struct ItemLimitCategoryLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Quantity" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY }; }; struct ItemLimitCategoryConditionLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "AddQuantity" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentItemLimitCategoryID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryConditionMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY_CONDITION }; }; struct ItemModifiedAppearanceLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemAppearanceModifierID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemAppearanceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TransmogSourceTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemModifiedAppearanceMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE }; }; struct ItemModifiedAppearanceExtraLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UnequippedIconFileDataID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SheatheType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayWeaponSubclassID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayInventoryType" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceExtraMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE_EXTRA }; }; struct ItemNameDescriptionLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemNameDescriptionMeta::Instance, HOTFIX_SEL_ITEM_NAME_DESCRIPTION }; }; struct ItemPriceBaseLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Armor" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Weapon" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemPriceBaseMeta::Instance, HOTFIX_SEL_ITEM_PRICE_BASE }; }; struct ItemSearchNameLoadInfo { static constexpr DB2FieldMeta Fields[18] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "AllowableRace" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Display" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OverallQualityID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinFactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllowableClass" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RequiredLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkill" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkillRank" }, { .IsSigned = false, .Type = FT_INT, .Name = "RequiredAbility" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags5" }, }; static constexpr DB2LoadInfo Instance{ Fields, 18, &ItemSearchNameMeta::Instance, HOTFIX_SEL_ITEM_SEARCH_NAME }; }; struct ItemSetLoadInfo { static constexpr DB2FieldMeta Fields[22] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "SetFlags" }, { .IsSigned = false, .Type = FT_INT, .Name = "RequiredSkill" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkillRank" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID2" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID3" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID4" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID5" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID6" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID7" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID8" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID9" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID10" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID11" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID12" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID13" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID14" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID15" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID16" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID17" }, }; static constexpr DB2LoadInfo Instance{ Fields, 22, &ItemSetMeta::Instance, HOTFIX_SEL_ITEM_SET }; }; struct ItemSetSpellLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ChrSpecID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitSubTreeID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Threshold" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemSetSpellMeta::Instance, HOTFIX_SEL_ITEM_SET_SPELL }; }; struct ItemSparseLoadInfo { static constexpr DB2FieldMeta Fields[99] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "AllowableRace" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Display3" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Display2" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Display1" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Display" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DmgVariance" }, { .IsSigned = true, .Type = FT_INT, .Name = "LimitCategory" }, { .IsSigned = false, .Type = FT_INT, .Name = "DurationInInventory" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "QualityModifier" }, { .IsSigned = false, .Type = FT_INT, .Name = "BagFamily" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartQuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LanguageID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ItemRange" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket7" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket8" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket9" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StatPercentageOfSocket10" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor1" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor2" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor3" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor4" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor5" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor6" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor7" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor8" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor9" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatPercentEditor10" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat1" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat2" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat3" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat4" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat5" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat6" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat7" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat8" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat9" }, { .IsSigned = true, .Type = FT_INT, .Name = "StatModifierBonusStat10" }, { .IsSigned = true, .Type = FT_INT, .Name = "Stackable" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxCount" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" }, { .IsSigned = false, .Type = FT_INT, .Name = "RequiredAbility" }, { .IsSigned = false, .Type = FT_INT, .Name = "SellPrice" }, { .IsSigned = false, .Type = FT_INT, .Name = "BuyPrice" }, { .IsSigned = false, .Type = FT_INT, .Name = "VendorStackCount" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PriceVariance" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PriceRandomValue" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags5" }, { .IsSigned = true, .Type = FT_INT, .Name = "FactionRelated" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModifiedCraftingReagentItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerLevelToItemLevelCurveID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemNameDescriptionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredTransmogHoliday" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredHoliday" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "GemProperties" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SocketMatchEnchantmentId" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TotemCategoryID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "InstanceBound" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ZoneBound1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ZoneBound2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemSet" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LockID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PageID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemDelay" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinFactionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkillRank" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkill" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "AllowableClass" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ArtifactID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpellWeight" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpellWeightCategory" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SocketType1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SocketType2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SocketType3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SheatheType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Material" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PageMaterialID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Bonding" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DamageDamageType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ContainerSlots" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RequiredPVPMedal" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RequiredPVPRank" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RequiredLevel" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "InventoryType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "OverallQualityID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 99, &ItemSparseMeta::Instance, HOTFIX_SEL_ITEM_SPARSE }; }; struct ItemSpecLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PrimaryStat" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SecondaryStat" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpecializationID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemSpecMeta::Instance, HOTFIX_SEL_ITEM_SPEC }; }; struct ItemSpecOverrideLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpecID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemSpecOverrideMeta::Instance, HOTFIX_SEL_ITEM_SPEC_OVERRIDE }; }; struct ItemXBonusTreeLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemBonusTreeID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXBonusTreeMeta::Instance, HOTFIX_SEL_ITEM_X_BONUS_TREE }; }; struct ItemXItemEffectLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemEffectID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXItemEffectMeta::Instance, HOTFIX_SEL_ITEM_X_ITEM_EFFECT }; }; struct JournalEncounterLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "JournalInstanceID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DungeonEncounterID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FirstSectionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UiMapID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapDisplayConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DifficultyMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &JournalEncounterMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER }; }; struct JournalEncounterSectionLoadInfo { static constexpr DB2FieldMeta Fields[16] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Title" }, { .IsSigned = false, .Type = FT_STRING, .Name = "BodyText" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "JournalEncounterID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ParentSectionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FirstChildSectionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "NextSiblingSectionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_INT, .Name = "IconCreatureDisplayInfoID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiModelSceneID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconFlags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DifficultyMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 16, &JournalEncounterSectionMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION }; }; struct JournalInstanceLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "BackgroundFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ButtonFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ButtonSmallFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LoreFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CovenantID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &JournalInstanceMeta::Instance, HOTFIX_SEL_JOURNAL_INSTANCE }; }; struct JournalTierLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = true, .Type = FT_INT, .Name = "Expansion" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &JournalTierMeta::Instance, HOTFIX_SEL_JOURNAL_TIER }; }; struct KeychainLoadInfo { static constexpr DB2FieldMeta Fields[33] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key9" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key10" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key11" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key12" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key13" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key14" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key15" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key16" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key17" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key18" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key19" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key20" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key21" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key22" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key23" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key24" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key25" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key26" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key27" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key28" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key29" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key30" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key31" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key32" }, }; static constexpr DB2LoadInfo Instance{ Fields, 33, &KeychainMeta::Instance, HOTFIX_SEL_KEYCHAIN }; }; struct KeystoneAffixLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FiledataID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &KeystoneAffixMeta::Instance, HOTFIX_SEL_KEYSTONE_AFFIX }; }; struct LanguageWordsLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Word" }, { .IsSigned = false, .Type = FT_INT, .Name = "LanguageID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &LanguageWordsMeta::Instance, HOTFIX_SEL_LANGUAGE_WORDS }; }; struct LanguagesLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiTextureKitElementCount" }, { .IsSigned = true, .Type = FT_INT, .Name = "LearningCurveID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &LanguagesMeta::Instance, HOTFIX_SEL_LANGUAGES }; }; struct LfgDungeonsLoadInfo { static constexpr DB2FieldMeta Fields[35] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TypeID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Subtype" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Faction" }, { .IsSigned = true, .Type = FT_INT, .Name = "IconTextureFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardsBgTextureFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PopupBgTextureFileID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ExpansionLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MapID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinGear" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "GroupID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "RequiredPlayerConditionId" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RandomID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ScenarioID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FinalEncounterID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CountTank" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CountHealer" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CountDamage" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinCountTank" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinCountHealer" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinCountDamage" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPremadeCountTank" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPremadeCountHealer" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPremadeCountDamage" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BonusReputationAmount" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MentorItemLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MentorCharLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPremadeGroupSize" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 35, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS }; }; struct LightLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GameCoordsX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GameCoordsY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GameCoordsZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GameFalloffStart" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GameFalloffEnd" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ContinentID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightParamsID8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &LightMeta::Instance, HOTFIX_SEL_LIGHT }; }; struct LiquidTypeLoadInfo { static constexpr DB2FieldMeta Fields[56] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture1" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture2" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture3" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture4" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture5" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Texture6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SoundBank" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MaxDarkenDepth" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FogDarkenIntensity" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AmbDarkenIntensity" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DirDarkenIntensity" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "LightID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ParticleScale" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ParticleMovement" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ParticleTexSlots" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaterialID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinimapStaticCol" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "FrameCountTexture6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float6" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float7" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float8" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float9" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float10" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float11" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float12" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float13" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float14" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float15" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float16" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float17" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Float18" }, { .IsSigned = false, .Type = FT_INT, .Name = "Int1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Int2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Int3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Int4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coefficient1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coefficient2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coefficient3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coefficient4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 56, &LiquidTypeMeta::Instance, HOTFIX_SEL_LIQUID_TYPE }; }; struct LocationLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &LocationMeta::Instance, HOTFIX_SEL_LOCATION }; }; struct LockLoadInfo { static constexpr DB2FieldMeta Fields[34] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index7" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Skill8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Action8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 34, &LockMeta::Instance, HOTFIX_SEL_LOCK }; }; struct MailTemplateLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Body" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &MailTemplateMeta::Instance, HOTFIX_SEL_MAIL_TEMPLATE }; }; struct MapLoadInfo { static constexpr DB2FieldMeta Fields[29] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Directory" }, { .IsSigned = false, .Type = FT_STRING, .Name = "MapName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "MapDescription0" }, { .IsSigned = false, .Type = FT_STRING, .Name = "MapDescription1" }, { .IsSigned = false, .Type = FT_STRING, .Name = "PvpShortDescription" }, { .IsSigned = false, .Type = FT_STRING, .Name = "PvpLongDescription" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CorpseX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CorpseY" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MapType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "InstanceType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ExpansionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaTableID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "LoadingScreenID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "TimeOfDayOverride" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ParentMapID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CosmeticParentMapID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TimeOffset" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinimapIconScale" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CorpseMapID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPlayers" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "WindSettingsID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ZmpFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WdtFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "NavigationMaxDistance" }, { .IsSigned = true, .Type = FT_INT, .Name = "PreloadFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 29, &MapMeta::Instance, HOTFIX_SEL_MAP }; }; struct MapChallengeModeLoadInfo { static constexpr DB2FieldMeta Fields[21] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "ExpansionLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredWorldStateID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CriteriaCount1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CriteriaCount2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CriteriaCount3" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID5" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstRewardQuestID6" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID5" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID6" }, }; static constexpr DB2LoadInfo Instance{ Fields, 21, &MapChallengeModeMeta::Instance, HOTFIX_SEL_MAP_CHALLENGE_MODE }; }; struct MapDifficultyLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Message" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LockID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ResetInterval" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxPlayers" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemContext" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemContextPickerID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WorldStateExpressionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &MapDifficultyMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY }; }; struct MapDifficultyXConditionLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "FailureDescription" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapDifficultyID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &MapDifficultyXConditionMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION }; }; struct MawPowerLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MawPowerRarityID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &MawPowerMeta::Instance, HOTFIX_SEL_MAW_POWER }; }; struct ModifiedCraftingItemLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModifiedCraftingReagentItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CraftingQualityID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &ModifiedCraftingItemMeta::Instance, HOTFIX_SEL_MODIFIED_CRAFTING_ITEM }; }; struct ModifierTreeLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Parent" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Operator" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Amount" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Asset" }, { .IsSigned = true, .Type = FT_INT, .Name = "SecondaryAsset" }, { .IsSigned = true, .Type = FT_INT, .Name = "TertiaryAsset" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ModifierTreeMeta::Instance, HOTFIX_SEL_MODIFIER_TREE }; }; struct MountLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "SourceText" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MountTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "SourceSpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MountFlyRideHeight" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiModelSceneID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountSpecialRiderAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountSpecialSpellVisualKitID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &MountMeta::Instance, HOTFIX_SEL_MOUNT }; }; struct MountCapabilityLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReqRidingSkill" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ReqAreaID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ReqSpellAuraID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReqSpellKnownID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModSpellAuraID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReqMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FlightCapabilityID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DriveCapabilityID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &MountCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_CAPABILITY }; }; struct MountEquipmentLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Item" }, { .IsSigned = true, .Type = FT_INT, .Name = "BuffSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown820" }, { .IsSigned = false, .Type = FT_INT, .Name = "LearnedBySpell" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &MountEquipmentMeta::Instance, HOTFIX_SEL_MOUNT_EQUIPMENT }; }; struct MountTypeXCapabilityLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MountTypeID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MountCapabilityID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &MountTypeXCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY }; }; struct MountXDisplayLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CreatureDisplayInfoID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown1100" }, { .IsSigned = false, .Type = FT_INT, .Name = "MountID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &MountXDisplayMeta::Instance, HOTFIX_SEL_MOUNT_X_DISPLAY }; }; struct MovieLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Volume" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "KeyID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AudioFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SubtitleFileDataID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SubtitleFileFormat" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &MovieMeta::Instance, HOTFIX_SEL_MOVIE }; }; struct MythicPlusSeasonLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MilestoneSeason" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartTimeEvent" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "HeroicLFGDungeonMinGear" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &MythicPlusSeasonMeta::Instance, HOTFIX_SEL_MYTHIC_PLUS_SEASON }; }; struct NameGenLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "RaceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Sex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &NameGenMeta::Instance, HOTFIX_SEL_NAME_GEN }; }; struct NamesProfanityLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Language" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesProfanityMeta::Instance, HOTFIX_SEL_NAMES_PROFANITY }; }; struct NamesReservedLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &NamesReservedMeta::Instance, HOTFIX_SEL_NAMES_RESERVED }; }; struct NamesReservedLocaleLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LocaleMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesReservedLocaleMeta::Instance, HOTFIX_SEL_NAMES_RESERVED }; }; struct NumTalentsAtLevelLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "NumTalents" }, { .IsSigned = true, .Type = FT_INT, .Name = "NumTalentsDeathKnight" }, { .IsSigned = true, .Type = FT_INT, .Name = "NumTalentsDemonHunter" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1115" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &NumTalentsAtLevelMeta::Instance, HOTFIX_SEL_NUM_TALENTS_AT_LEVEL }; }; struct OverrideSpellDataLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells7" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells8" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells9" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spells10" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerActionBarFileDataID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &OverrideSpellDataMeta::Instance, HOTFIX_SEL_OVERRIDE_SPELL_DATA }; }; struct ParagonReputationLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LevelThreshold" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &ParagonReputationMeta::Instance, HOTFIX_SEL_PARAGON_REPUTATION }; }; struct PathLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SplineType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Red" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Green" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Blue" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Alpha" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &PathMeta::Instance, HOTFIX_SEL_PATH }; }; struct PathNodeLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PathID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Sequence" }, { .IsSigned = true, .Type = FT_INT, .Name = "LocationID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &PathNodeMeta::Instance, HOTFIX_SEL_PATH_NODE }; }; struct PathPropertyLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PathID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PropertyIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &PathPropertyMeta::Instance, HOTFIX_SEL_PATH_PROPERTY }; }; struct PerksActivityLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_STRING, .Name = "ActivityName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CriteriaTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ThresholdContributionAmount" }, { .IsSigned = true, .Type = FT_INT, .Name = "Supersedes" }, { .IsSigned = true, .Type = FT_INT, .Name = "Priority" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &PerksActivityMeta::Instance, HOTFIX_SEL_PERKS_ACTIVITY }; }; struct PhaseLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &PhaseMeta::Instance, HOTFIX_SEL_PHASE }; }; struct PhaseXPhaseGroupLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PhaseID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PhaseGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PhaseXPhaseGroupMeta::Instance, HOTFIX_SEL_PHASE_X_PHASE_GROUP }; }; struct PlayerConditionLoadInfo { static constexpr DB2FieldMeta Fields[162] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = false, .Type = FT_STRING, .Name = "FailureDescription" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, { .IsSigned = false, .Type = FT_INT, .Name = "SkillLogic" }, { .IsSigned = true, .Type = FT_INT, .Name = "LanguageID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinLanguage" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxLanguage" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxFactionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxReputation" }, { .IsSigned = false, .Type = FT_INT, .Name = "ReputationLogic" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "CurrentPvpFaction" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PvpMedal" }, { .IsSigned = false, .Type = FT_INT, .Name = "PrevQuestLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrQuestLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrentCompletedQuestLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemLogic" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemFlags" }, { .IsSigned = false, .Type = FT_INT, .Name = "AuraSpellLogic" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WorldStateExpressionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WeatherID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PartyStatus" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "LifetimeMaxPVPRank" }, { .IsSigned = false, .Type = FT_INT, .Name = "AchievementLogic" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Gender" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "NativeGender" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgLogic" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyLogic" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestKillID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillLogic" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinExpansionLevel" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxExpansionLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinAvgItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxAvgItemLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinAvgEquippedItemLevel" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxAvgEquippedItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseUseFlags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PhaseID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PhaseGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ChrSpecializationIndex" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ChrSpecializationRole" }, { .IsSigned = false, .Type = FT_INT, .Name = "ModifierTreeID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PowerType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PowerTypeComp" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PowerTypeValue" }, { .IsSigned = true, .Type = FT_INT, .Name = "WeaponSubclassMask" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxGuildLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinGuildLevel" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxExpansionTier" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinExpansionTier" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinPVPRank" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MaxPVPRank" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CovenantID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeEntryLogic" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinSkill1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinSkill2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinSkill3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinSkill4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxSkill1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxSkill2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxSkill3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MaxSkill4" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinFactionID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinFactionID2" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinFactionID3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinReputation1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinReputation2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinReputation3" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrevQuestID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrevQuestID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrevQuestID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrevQuestID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrQuestID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrQuestID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrQuestID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrQuestID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrentCompletedQuestID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrentCompletedQuestID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrentCompletedQuestID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrentCompletedQuestID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID4" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemCount1" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemCount2" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemCount3" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemCount4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Explored1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Explored2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Time1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Time2" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraSpellID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraSpellID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraSpellID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraSpellID4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AuraStacks1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AuraStacks2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AuraStacks3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "AuraStacks4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Achievement1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Achievement2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Achievement3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Achievement4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaID4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgStatus1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgStatus2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgStatus3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgStatus4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgCompare1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgCompare2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgCompare3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LfgCompare4" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgValue1" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgValue2" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgValue3" }, { .IsSigned = false, .Type = FT_INT, .Name = "LfgValue4" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyID2" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyID3" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyID4" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount1" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount2" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount3" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyCount4" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster1" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster2" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster3" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster4" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster5" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestKillMonster6" }, { .IsSigned = true, .Type = FT_INT, .Name = "MovementFlags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "MovementFlags2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMinRank1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMinRank2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMinRank3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMinRank4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMaxRank1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMaxRank2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMaxRank3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TraitNodeEntryMaxRank4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 162, &PlayerConditionMeta::Instance, HOTFIX_SEL_PLAYER_CONDITION }; }; struct PlayerDataElementAccountLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StorageIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PlayerDataElementAccountMeta::Instance, HOTFIX_SEL_PLAYER_DATA_ELEMENT_ACCOUNT }; }; struct PlayerDataElementCharacterLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StorageIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PlayerDataElementCharacterMeta::Instance, HOTFIX_SEL_PLAYER_DATA_ELEMENT_CHARACTER }; }; struct PlayerDataFlagAccountLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StorageIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1107" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PlayerDataFlagAccountMeta::Instance, HOTFIX_SEL_PLAYER_DATA_FLAG_ACCOUNT }; }; struct PlayerDataFlagCharacterLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "StorageIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1107" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PlayerDataFlagCharacterMeta::Instance, HOTFIX_SEL_PLAYER_DATA_FLAG_CHARACTER }; }; struct PowerDisplayLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "GlobalStringBaseTag" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ActualType" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Red" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Green" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Blue" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &PowerDisplayMeta::Instance, HOTFIX_SEL_POWER_DISPLAY }; }; struct PowerTypeLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "NameGlobalStringTag" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "CostGlobalStringTag" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PowerTypeEnum" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinPower" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxBasePower" }, { .IsSigned = true, .Type = FT_INT, .Name = "CenterPower" }, { .IsSigned = true, .Type = FT_INT, .Name = "DefaultPower" }, { .IsSigned = true, .Type = FT_INT, .Name = "DisplayModifier" }, { .IsSigned = true, .Type = FT_INT, .Name = "RegenInterruptTimeMS" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RegenPeace" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RegenCombat" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &PowerTypeMeta::Instance, HOTFIX_SEL_POWER_TYPE }; }; struct PrestigeLevelInfoLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrestigeLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "BadgeTextureFileDataID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "AwardedAchievementID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &PrestigeLevelInfoMeta::Instance, HOTFIX_SEL_PRESTIGE_LEVEL_INFO }; }; struct PvpDifficultyLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RangeIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &PVPDifficultyMeta::Instance, HOTFIX_SEL_PVP_DIFFICULTY }; }; struct PvpItemLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemLevelDelta" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPItemMeta::Instance, HOTFIX_SEL_PVP_ITEM }; }; struct PvpStatLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPStatMeta::Instance, HOTFIX_SEL_PVP_STAT }; }; struct PvpSeasonLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MilestoneSeason" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceAchievementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeAchievementID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &PvpSeasonMeta::Instance, HOTFIX_SEL_PVP_SEASON }; }; struct PvpTalentLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpecID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverridesSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "ActionBarSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PvpTalentCategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LevelRequired" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &PvpTalentMeta::Instance, HOTFIX_SEL_PVP_TALENT }; }; struct PvpTalentCategoryLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TalentSlotMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &PvpTalentCategoryMeta::Instance, HOTFIX_SEL_PVP_TALENT_CATEGORY }; }; struct PvpTalentSlotUnlockLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Slot" }, { .IsSigned = true, .Type = FT_INT, .Name = "LevelRequired" }, { .IsSigned = true, .Type = FT_INT, .Name = "DeathKnightLevelRequired" }, { .IsSigned = true, .Type = FT_INT, .Name = "DemonHunterLevelRequired" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &PvpTalentSlotUnlockMeta::Instance, HOTFIX_SEL_PVP_TALENT_SLOT_UNLOCK }; }; struct PvpTierLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MinRating" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MaxRating" }, { .IsSigned = true, .Type = FT_INT, .Name = "PrevTier" }, { .IsSigned = true, .Type = FT_INT, .Name = "NextTier" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BracketID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Rank" }, { .IsSigned = true, .Type = FT_INT, .Name = "RankIconFileDataID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &PvpTierMeta::Instance, HOTFIX_SEL_PVP_TIER }; }; struct QuestFactionRewardLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty3" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty4" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty5" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty6" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty7" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty8" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty9" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Difficulty10" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestFactionRewardMeta::Instance, HOTFIX_SEL_QUEST_FACTION_REWARD }; }; struct QuestInfoLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "InfoName" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Modifiers" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Profession" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestInfoMeta::Instance, HOTFIX_SEL_QUEST_INFO }; }; struct QuestLineXQuestLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestLineID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1110" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &QuestLineXQuestMeta::Instance, HOTFIX_SEL_QUEST_LINE_X_QUEST }; }; struct QuestMoneyRewardLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty6" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty7" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty8" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty9" }, { .IsSigned = false, .Type = FT_INT, .Name = "Difficulty10" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestMoneyRewardMeta::Instance, HOTFIX_SEL_QUEST_MONEY_REWARD }; }; struct QuestPackageItemLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PackageID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemQuantity" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DisplayType" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestPackageItemMeta::Instance, HOTFIX_SEL_QUEST_PACKAGE_ITEM }; }; struct QuestSortLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "SortName" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "UiOrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &QuestSortMeta::Instance, HOTFIX_SEL_QUEST_SORT }; }; struct QuestV2LoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UniqueBitFlag" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiQuestDetailsTheme" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &QuestV2Meta::Instance, HOTFIX_SEL_QUEST_V2 }; }; struct QuestXpLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty9" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Difficulty10" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestXPMeta::Instance, HOTFIX_SEL_QUEST_XP }; }; struct RandPropPointsLoadInfo { static constexpr DB2FieldMeta Fields[35] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DamageReplaceStatF" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DamageSecondaryF" }, { .IsSigned = true, .Type = FT_INT, .Name = "DamageReplaceStat" }, { .IsSigned = true, .Type = FT_INT, .Name = "DamageSecondary" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EpicF1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EpicF2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EpicF3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EpicF4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EpicF5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SuperiorF1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SuperiorF2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SuperiorF3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SuperiorF4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "SuperiorF5" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GoodF1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GoodF2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GoodF3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GoodF4" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GoodF5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Epic1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Epic2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Epic3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Epic4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Epic5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Superior1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Superior2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Superior3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Superior4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Superior5" }, { .IsSigned = false, .Type = FT_INT, .Name = "Good1" }, { .IsSigned = false, .Type = FT_INT, .Name = "Good2" }, { .IsSigned = false, .Type = FT_INT, .Name = "Good3" }, { .IsSigned = false, .Type = FT_INT, .Name = "Good4" }, { .IsSigned = false, .Type = FT_INT, .Name = "Good5" }, }; static constexpr DB2LoadInfo Instance{ Fields, 35, &RandPropPointsMeta::Instance, HOTFIX_SEL_RAND_PROP_POINTS }; }; struct RewardPackLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharTitleID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Money" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ArtifactXPDifficulty" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ArtifactXPMultiplier" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ArtifactXPCategoryID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TreasurePickerID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &RewardPackMeta::Instance, HOTFIX_SEL_REWARD_PACK }; }; struct RewardPackXCurrencyTypeLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CurrencyTypeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Quantity" }, { .IsSigned = false, .Type = FT_INT, .Name = "RewardPackID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXCurrencyTypeMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_CURRENCY_TYPE }; }; struct RewardPackXItemLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemQuantity" }, { .IsSigned = false, .Type = FT_INT, .Name = "RewardPackID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXItemMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_ITEM }; }; struct ScenarioLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaTableID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiTextureKitID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &ScenarioMeta::Instance, HOTFIX_SEL_SCENARIO }; }; struct ScenarioStepLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Title" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ScenarioID" }, { .IsSigned = false, .Type = FT_INT, .Name = "Criteriatreeid" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RelatedStep" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Supersedes" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "VisibilityPlayerConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WidgetSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &ScenarioStepMeta::Instance, HOTFIX_SEL_SCENARIO_STEP }; }; struct SceneScriptLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FirstSceneScriptID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "NextSceneScriptID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown915" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &SceneScriptMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT }; }; struct SceneScriptGlobalTextLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Script" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptGlobalTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT }; }; struct SceneScriptPackageLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown915" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptPackageMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_PACKAGE }; }; struct SceneScriptTextLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Script" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_TEXT }; }; struct ServerMessagesLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Text" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ServerMessagesMeta::Instance, HOTFIX_SEL_SERVER_MESSAGES }; }; struct SkillLineLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_STRING, .Name = "DisplayName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AlternateVerb" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HordeDisplayName" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "OverrideSourceInfoDisplayName" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "CategoryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "CanLink" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentSkillLineID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ParentTierIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellBookSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionNameSharedStringID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeExpansionNameSharedStringID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &SkillLineMeta::Instance, HOTFIX_SEL_SKILL_LINE }; }; struct SkillLineAbilityLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AbilityVerb" }, { .IsSigned = false, .Type = FT_STRING, .Name = "AbilityAllVerb" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillLine" }, { .IsSigned = true, .Type = FT_INT, .Name = "Spell" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MinSkillLineRank" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "SupercedesSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "AcquireMethod" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "TrivialSkillLineRankHigh" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "TrivialSkillLineRankLow" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "NumSkillUps" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "UniqueBit" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "TradeSkillCategoryID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "SkillupSkillLineID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &SkillLineAbilityMeta::Instance, HOTFIX_SEL_SKILL_LINE_ABILITY }; }; struct SkillLineXTraitTreeLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SkillLineID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &SkillLineXTraitTreeMeta::Instance, HOTFIX_SEL_SKILL_LINE_X_TRAIT_TREE }; }; struct SkillRaceClassInfoLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_LONG, .Name = "RaceMask" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SkillID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "Availability" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MinLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "SkillTierID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &SkillRaceClassInfoMeta::Instance, HOTFIX_SEL_SKILL_RACE_CLASS_INFO }; }; struct SoulbindConduitRankLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RankIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AuraPointsOverride" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoulbindConduitID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SoulbindConduitRankMeta::Instance, HOTFIX_SEL_SOULBIND_CONDUIT_RANK }; }; struct SoundKitLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SoundType" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VolumeFloat" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinDistance" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DistanceCutoff" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "EAXDef" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundKitAdvancedID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VolumeVariationPlus" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VolumeVariationMinus" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchVariationPlus" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchVariationMinus" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DialogType" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchAdjust" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "BusOverwriteID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxInstances" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundMixGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &SoundKitMeta::Instance, HOTFIX_SEL_SOUND_KIT }; }; struct SpecializationSpellsLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpecID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverridesSpellID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DisplayOrder" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &SpecializationSpellsMeta::Instance, HOTFIX_SEL_SPECIALIZATION_SPELLS }; }; struct SpecSetMemberLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrSpecializationID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpecSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpecSetMemberMeta::Instance, HOTFIX_SEL_SPEC_SET_MEMBER }; }; struct SpellAuraOptionsLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CumulativeAura" }, { .IsSigned = true, .Type = FT_INT, .Name = "ProcCategoryRecovery" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ProcChance" }, { .IsSigned = true, .Type = FT_INT, .Name = "ProcCharges" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpellProcsPerMinuteID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ProcTypeMask1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ProcTypeMask2" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellAuraOptionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_OPTIONS }; }; struct SpellAuraRestrictionsLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CasterAuraState" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetAuraState" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeCasterAuraState" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeTargetAuraState" }, { .IsSigned = true, .Type = FT_INT, .Name = "CasterAuraSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetAuraSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeCasterAuraSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeTargetAuraSpell" }, { .IsSigned = true, .Type = FT_INT, .Name = "CasterAuraType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetAuraType" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeCasterAuraType" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExcludeTargetAuraType" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellAuraRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_RESTRICTIONS }; }; struct SpellCastTimesLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Base" }, { .IsSigned = true, .Type = FT_INT, .Name = "Minimum" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellCastTimesMeta::Instance, HOTFIX_SEL_SPELL_CAST_TIMES }; }; struct SpellCastingRequirementsLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FacingCasterFlags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MinFactionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredAreasID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RequiredAuraVision" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiresSpellFocus" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellCastingRequirementsMeta::Instance, HOTFIX_SEL_SPELL_CASTING_REQUIREMENTS }; }; struct SpellCategoriesLoadInfo { static constexpr DB2FieldMeta Fields[10] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "Category" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DefenseType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DispelType" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Mechanic" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PreventionType" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "StartRecoveryCategory" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ChargeCategory" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellCategoriesMeta::Instance, HOTFIX_SEL_SPELL_CATEGORIES }; }; struct SpellCategoryLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "UsesPerWeek" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxCharges" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChargeRecoveryTime" }, { .IsSigned = true, .Type = FT_INT, .Name = "TypeMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCategoryMeta::Instance, HOTFIX_SEL_SPELL_CATEGORY }; }; struct SpellClassOptionsLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ModalNextSpell" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SpellClassSet" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellClassMask1" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellClassMask2" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellClassMask3" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellClassMask4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellClassOptionsMeta::Instance, HOTFIX_SEL_SPELL_CLASS_OPTIONS }; }; struct SpellCooldownsLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryRecoveryTime" }, { .IsSigned = true, .Type = FT_INT, .Name = "RecoveryTime" }, { .IsSigned = true, .Type = FT_INT, .Name = "StartRecoveryTime" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraSpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCooldownsMeta::Instance, HOTFIX_SEL_SPELL_COOLDOWNS }; }; struct SpellDurationLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Duration" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxDuration" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellDurationMeta::Instance, HOTFIX_SEL_SPELL_DURATION }; }; struct SpellEffectLoadInfo { static constexpr DB2FieldMeta Fields[36] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EffectAura" }, { .IsSigned = true, .Type = FT_INT, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "Effect" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectAmplitude" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectAttributes" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectAuraPeriod" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectBonusCoefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectChainAmplitude" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectChainTargets" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectItemType" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectMechanic" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectPointsPerResource" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectPosFacing" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectRealPointsPerLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectTriggerSpell" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BonusCoefficientFromAP" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PvpMultiplier" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Variance" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ResourceCoefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "GroupSizeBasePointsCoefficient" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectBasePoints" }, { .IsSigned = true, .Type = FT_INT, .Name = "ScalingClass" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectMiscValue1" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectMiscValue2" }, { .IsSigned = false, .Type = FT_INT, .Name = "EffectRadiusIndex1" }, { .IsSigned = false, .Type = FT_INT, .Name = "EffectRadiusIndex2" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectSpellClassMask1" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectSpellClassMask2" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectSpellClassMask3" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectSpellClassMask4" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ImplicitTarget1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ImplicitTarget2" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 36, &SpellEffectMeta::Instance, HOTFIX_SEL_SPELL_EFFECT }; }; struct SpellEmpowerLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unused1000" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellEmpowerMeta::Instance, HOTFIX_SEL_SPELL_EMPOWER }; }; struct SpellEmpowerStageLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Stage" }, { .IsSigned = true, .Type = FT_INT, .Name = "DurationMs" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellEmpowerID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellEmpowerStageMeta::Instance, HOTFIX_SEL_SPELL_EMPOWER_STAGE }; }; struct SpellEquippedItemsLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "EquippedItemClass" }, { .IsSigned = true, .Type = FT_INT, .Name = "EquippedItemInvTypes" }, { .IsSigned = true, .Type = FT_INT, .Name = "EquippedItemSubclass" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellEquippedItemsMeta::Instance, HOTFIX_SEL_SPELL_EQUIPPED_ITEMS }; }; struct SpellFocusObjectLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellFocusObjectMeta::Instance, HOTFIX_SEL_SPELL_FOCUS_OBJECT }; }; struct SpellInterruptsLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "InterruptFlags" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraInterruptFlags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "AuraInterruptFlags2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChannelInterruptFlags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChannelInterruptFlags2" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellInterruptsMeta::Instance, HOTFIX_SEL_SPELL_INTERRUPTS }; }; struct SpellItemEnchantmentLoadInfo { static constexpr DB2FieldMeta Fields[32] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "HordeName" }, { .IsSigned = true, .Type = FT_INT, .Name = "Duration" }, { .IsSigned = false, .Type = FT_INT, .Name = "EffectArg1" }, { .IsSigned = false, .Type = FT_INT, .Name = "EffectArg2" }, { .IsSigned = false, .Type = FT_INT, .Name = "EffectArg3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectScalingPoints1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectScalingPoints2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectScalingPoints3" }, { .IsSigned = false, .Type = FT_INT, .Name = "IconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinItemLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxItemLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "TransmogUseConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TransmogCost" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EffectPointsMin1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EffectPointsMin2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EffectPointsMin3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemVisual" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkillID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredSkillRank" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ItemLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Charges" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Effect1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Effect2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Effect3" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ScalingClass" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ScalingClassRestricted" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ConditionID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MinLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxLevel" }, }; static constexpr DB2LoadInfo Instance{ Fields, 32, &SpellItemEnchantmentMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT }; }; struct SpellItemEnchantmentConditionLoadInfo { static constexpr DB2FieldMeta Fields[31] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LtOperandType1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LtOperandType2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LtOperandType3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LtOperandType4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "LtOperandType5" }, { .IsSigned = false, .Type = FT_INT, .Name = "LtOperand1" }, { .IsSigned = false, .Type = FT_INT, .Name = "LtOperand2" }, { .IsSigned = false, .Type = FT_INT, .Name = "LtOperand3" }, { .IsSigned = false, .Type = FT_INT, .Name = "LtOperand4" }, { .IsSigned = false, .Type = FT_INT, .Name = "LtOperand5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Operator1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Operator2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Operator3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Operator4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Operator5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperandType1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperandType2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperandType3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperandType4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperandType5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperand1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperand2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperand3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperand4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "RtOperand5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Logic1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Logic2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Logic3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Logic4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Logic5" }, }; static constexpr DB2LoadInfo Instance{ Fields, 31, &SpellItemEnchantmentConditionMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION }; }; struct SpellKeyboundOverrideLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Function" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Data" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellKeyboundOverrideMeta::Instance, HOTFIX_SEL_SPELL_KEYBOUND_OVERRIDE }; }; struct SpellLabelLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "LabelID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellLabelMeta::Instance, HOTFIX_SEL_SPELL_LABEL }; }; struct SpellLearnSpellLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "LearnSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverridesSpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellLearnSpellMeta::Instance, HOTFIX_SEL_SPELL_LEARN_SPELL }; }; struct SpellLevelsLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "MaxLevel" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxPassiveAuraLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "BaseLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellLevelsMeta::Instance, HOTFIX_SEL_SPELL_LEVELS }; }; struct SpellMiscLoadInfo { static constexpr DB2FieldMeta Fields[33] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes7" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes8" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes9" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes10" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes11" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes12" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes13" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes14" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes15" }, { .IsSigned = true, .Type = FT_INT, .Name = "Attributes16" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CastingTimeIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DurationIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PvPDurationIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RangeIndex" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SchoolMask" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Speed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LaunchDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinDuration" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ActiveIconFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShowFutureSpellPlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellVisualScript" }, { .IsSigned = true, .Type = FT_INT, .Name = "ActiveSpellVisualScript" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 33, &SpellMiscMeta::Instance, HOTFIX_SEL_SPELL_MISC }; }; struct SpellNameLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellNameMeta::Instance, HOTFIX_SEL_SPELL_NAME }; }; struct SpellPowerLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "ManaCost" }, { .IsSigned = true, .Type = FT_INT, .Name = "ManaCostPerLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "ManaPerSecond" }, { .IsSigned = false, .Type = FT_INT, .Name = "PowerDisplayID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AltPowerBarID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PowerCostPct" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PowerCostMaxPct" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "OptionalCostPct" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PowerPctPerSecond" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PowerType" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredAuraSpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OptionalCost" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellPowerMeta::Instance, HOTFIX_SEL_SPELL_POWER }; }; struct SpellPowerDifficultyLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellPowerDifficultyMeta::Instance, HOTFIX_SEL_SPELL_POWER_DIFFICULTY }; }; struct SpellProcsPerMinuteLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BaseProcRate" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellProcsPerMinuteMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE }; }; struct SpellProcsPerMinuteModLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Param" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Coeff" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellProcsPerMinuteID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellProcsPerMinuteModMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD }; }; struct SpellRadiusLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Radius" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RadiusPerLevel" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RadiusMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RadiusMax" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellRadiusMeta::Instance, HOTFIX_SEL_SPELL_RADIUS }; }; struct SpellRangeLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "DisplayName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "DisplayNameShort" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RangeMin1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RangeMin2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RangeMax1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RangeMax2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellRangeMeta::Instance, HOTFIX_SEL_SPELL_RANGE }; }; struct SpellReagentsLoadInfo { static constexpr DB2FieldMeta Fields[34] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent7" }, { .IsSigned = true, .Type = FT_INT, .Name = "Reagent8" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount3" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount4" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount5" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount6" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount7" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentCount8" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount1" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount2" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount3" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount4" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount5" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount6" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount7" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ReagentRecraftCount8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ReagentSource8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 34, &SpellReagentsMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS }; }; struct SpellReagentsCurrencyLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyTypesID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CurrencyCount" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellReagentsCurrencyMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS_CURRENCY }; }; struct SpellScalingLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinScalingLevel" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxScalingLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ScalesFromItemLevel" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellScalingMeta::Instance, HOTFIX_SEL_SPELL_SCALING }; }; struct SpellShapeshiftLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "StanceBarOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShapeshiftExclude1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShapeshiftExclude2" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShapeshiftMask1" }, { .IsSigned = true, .Type = FT_INT, .Name = "ShapeshiftMask2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellShapeshiftMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT }; }; struct SpellShapeshiftFormLoadInfo { static constexpr DB2FieldMeta Fields[18] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "CreatureDisplayID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CreatureType" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "AttackIconFileID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "BonusActionBar" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CombatRoundTime" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "DamageVariance" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "MountTypeID" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID2" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID3" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID4" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID5" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID6" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID7" }, { .IsSigned = false, .Type = FT_INT, .Name = "PresetSpellID8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 18, &SpellShapeshiftFormMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT_FORM }; }; struct SpellTargetRestrictionsLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ConeDegrees" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "MaxTargets" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxTargetLevel" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "TargetCreatureType" }, { .IsSigned = true, .Type = FT_INT, .Name = "Targets" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Width" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &SpellTargetRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS }; }; struct SpellTotemsLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredTotemCategoryID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredTotemCategoryID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Totem1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Totem2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &SpellTotemsMeta::Instance, HOTFIX_SEL_SPELL_TOTEMS }; }; struct SpellVisualLoadInfo { static constexpr DB2FieldMeta Fields[21] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCastOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCastOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileCastOffset3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileImpactOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileImpactOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MissileImpactOffset3" }, { .IsSigned = false, .Type = FT_INT, .Name = "AnimEventSoundID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MissileAttachment" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MissileDestinationAttachment" }, { .IsSigned = false, .Type = FT_INT, .Name = "MissileCastPositionerID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MissileImpactPositionerID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MissileTargetingKit" }, { .IsSigned = false, .Type = FT_INT, .Name = "HostileSpellVisualID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CasterSpellVisualID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpellVisualMissileSetID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DamageNumberDelay" }, { .IsSigned = false, .Type = FT_INT, .Name = "LowViolenceSpellVisualID" }, { .IsSigned = false, .Type = FT_INT, .Name = "RaidSpellVisualMissileSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReducedUnexpectedCameraMovementSpellVisualID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 21, &SpellVisualMeta::Instance, HOTFIX_SEL_SPELL_VISUAL }; }; struct SpellVisualEffectNameLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModelFileDataID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "BaseMissileSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Scale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinAllowedScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MaxAllowedScale" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Alpha" }, { .IsSigned = false, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureFileDataID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EffectRadius" }, { .IsSigned = false, .Type = FT_INT, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "GenericID" }, { .IsSigned = false, .Type = FT_INT, .Name = "RibbonQualityID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DissolveEffectID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ModelPosition" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Unknown901" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unknown1100" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &SpellVisualEffectNameMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_EFFECT_NAME }; }; struct SpellVisualKitLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClutterLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "FallbackSpellVisualKitId" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DelayMin" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "DelayMax" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinimumSpellVisualDensityFilterType" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinimumSpellVisualDensityFilterParam" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReducedSpellVisualDensityFilterType" }, { .IsSigned = true, .Type = FT_INT, .Name = "ReducedSpellVisualDensityFilterParam" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &SpellVisualKitMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_KIT }; }; struct SpellVisualMissileLoadInfo { static constexpr DB2FieldMeta Fields[23] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "CastOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CastOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CastOffset3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ImpactOffset1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ImpactOffset2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ImpactOffset3" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpellVisualEffectNameID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SoundEntriesID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Attachment" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "DestinationAttachment" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CastPositionerID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ImpactPositionerID" }, { .IsSigned = true, .Type = FT_INT, .Name = "FollowGroundHeight" }, { .IsSigned = false, .Type = FT_INT, .Name = "FollowGroundDropSpeed" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FollowGroundApproach" }, { .IsSigned = false, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpellMissileMotionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "AnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClutterLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "DecayTimeAfterImpact" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "Unused1100" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellVisualMissileSetID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 23, &SpellVisualMissileMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_MISSILE }; }; struct SpellXSpellVisualLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "DifficultyID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellVisualID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Probability" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "Priority" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ActiveIconFileID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ViewerUnitConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ViewerPlayerConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CasterUnitConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "CasterPlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &SpellXSpellVisualMeta::Instance, HOTFIX_SEL_SPELL_X_SPELL_VISUAL }; }; struct SummonPropertiesLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Control" }, { .IsSigned = true, .Type = FT_INT, .Name = "Faction" }, { .IsSigned = true, .Type = FT_INT, .Name = "Title" }, { .IsSigned = true, .Type = FT_INT, .Name = "Slot" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &SummonPropertiesMeta::Instance, HOTFIX_SEL_SUMMON_PROPERTIES }; }; struct TactKeyLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key9" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key10" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key11" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key12" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key13" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key14" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key15" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Key16" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &TactKeyMeta::Instance, HOTFIX_SEL_TACT_KEY }; }; struct TalentLoadInfo { static constexpr DB2FieldMeta Fields[28] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TierID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ColumnIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TabID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SpecID" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "OverridesSpellID" }, { .IsSigned = false, .Type = FT_INT, .Name = "RequiredSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryMask1" }, { .IsSigned = true, .Type = FT_INT, .Name = "CategoryMask2" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank1" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank2" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank3" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank4" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank5" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank6" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank7" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank8" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank9" }, { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent1" }, { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent2" }, { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 28, &TalentMeta::Instance, HOTFIX_SEL_TALENT }; }; struct TaxiNodesLoadInfo { static constexpr DB2FieldMeta Fields[20] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapOffsetX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MapOffsetY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FlightMapOffsetX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FlightMapOffsetY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ContinentID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CharacterBitNumber" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiTextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MinimapAtlasMemberID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Facing" }, { .IsSigned = false, .Type = FT_INT, .Name = "SpecialIconConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "VisibilityConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountCreatureID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "MountCreatureID2" }, }; static constexpr DB2LoadInfo Instance{ Fields, 20, &TaxiNodesMeta::Instance, HOTFIX_SEL_TAXI_NODES }; }; struct TaxiPathLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "FromTaxiNode" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ToTaxiNode" }, { .IsSigned = false, .Type = FT_INT, .Name = "Cost" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TaxiPathMeta::Instance, HOTFIX_SEL_TAXI_PATH }; }; struct TaxiPathNodeLoadInfo { static constexpr DB2FieldMeta Fields[11] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "LocX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LocY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LocZ" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PathID" }, { .IsSigned = true, .Type = FT_INT, .Name = "NodeIndex" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ContinentID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "Delay" }, { .IsSigned = true, .Type = FT_INT, .Name = "ArrivalEventID" }, { .IsSigned = true, .Type = FT_INT, .Name = "DepartureEventID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 11, &TaxiPathNodeMeta::Instance, HOTFIX_SEL_TAXI_PATH_NODE }; }; struct TotemCategoryLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TotemCategoryType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TotemCategoryMask" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TotemCategoryMeta::Instance, HOTFIX_SEL_TOTEM_CATEGORY }; }; struct ToyLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_STRING, .Name = "SourceText" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &ToyMeta::Instance, HOTFIX_SEL_TOY }; }; struct TransmogHolidayLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredTransmogHoliday" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogHolidayMeta::Instance, HOTFIX_SEL_TRANSMOG_HOLIDAY }; }; struct TraitCondLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CondType" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "GrantedRanks" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AchievementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpecSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCurrencyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpentAmountRequired" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "FreeSharedStringID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpendMoreSharedStringID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCondAccountElementID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &TraitCondMeta::Instance, HOTFIX_SEL_TRAIT_COND }; }; struct TraitCostLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "InternalName" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Amount" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCurrencyID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitCostMeta::Instance, HOTFIX_SEL_TRAIT_COST }; }; struct TraitCurrencyLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurrencyTypesID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "Icon" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY }; }; struct TraitCurrencySourceLoadInfo { static constexpr DB2FieldMeta Fields[9] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Requirement" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitCurrencyID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Amount" }, { .IsSigned = true, .Type = FT_INT, .Name = "QuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AchievementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerLevel" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 9, &TraitCurrencySourceMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY_SOURCE }; }; struct TraitDefinitionLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_STRING, .Name = "OverrideName" }, { .IsSigned = false, .Type = FT_STRING, .Name = "OverrideSubtext" }, { .IsSigned = false, .Type = FT_STRING, .Name = "OverrideDescription" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverrideIcon" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverridesSpellID" }, { .IsSigned = true, .Type = FT_INT, .Name = "VisibleSpellID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitDefinitionMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION }; }; struct TraitDefinitionEffectPointsLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitDefinitionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "EffectIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "OperationType" }, { .IsSigned = true, .Type = FT_INT, .Name = "CurveID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitDefinitionEffectPointsMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION_EFFECT_POINTS }; }; struct TraitEdgeLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "VisualStyle" }, { .IsSigned = false, .Type = FT_INT, .Name = "LeftTraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RightTraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Type" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitEdgeMeta::Instance, HOTFIX_SEL_TRAIT_EDGE }; }; struct TraitNodeLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PosX" }, { .IsSigned = true, .Type = FT_INT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitSubTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &TraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE }; }; struct TraitNodeEntryLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitDefinitionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MaxRanks" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "NodeEntryType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitSubTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY }; }; struct TraitNodeEntryXTraitCondLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCondID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeEntryID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COND }; }; struct TraitNodeEntryXTraitCostLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeEntryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCostID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COST }; }; struct TraitNodeGroupLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP }; }; struct TraitNodeGroupXTraitCondLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCondID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND }; }; struct TraitNodeGroupXTraitCostLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCostID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COST }; }; struct TraitNodeGroupXTraitNodeLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeGroupXTraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_NODE }; }; struct TraitNodeXTraitCondLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCondID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND }; }; struct TraitNodeXTraitCostLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCostID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COST }; }; struct TraitNodeXTraitNodeEntryLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitNodeEntryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeXTraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_NODE_ENTRY }; }; struct TraitSubTreeLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiTextureAtlasElementID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitSubTreeMeta::Instance, HOTFIX_SEL_TRAIT_SUB_TREE }; }; struct TraitTreeLoadInfo { static constexpr DB2FieldMeta Fields[8] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitSystemID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unused1000_1" }, { .IsSigned = true, .Type = FT_INT, .Name = "FirstTraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unused1000_2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unused1000_3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitTreeMeta::Instance, HOTFIX_SEL_TRAIT_TREE }; }; struct TraitTreeLoadoutLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChrSpecializationID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeLoadoutMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT }; }; struct TraitTreeLoadoutEntryLoadInfo { static constexpr DB2FieldMeta Fields[6] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeLoadoutID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SelectedTraitNodeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SelectedTraitNodeEntryID" }, { .IsSigned = true, .Type = FT_INT, .Name = "NumPoints" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, }; static constexpr DB2LoadInfo Instance{ Fields, 6, &TraitTreeLoadoutEntryMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT_ENTRY }; }; struct TraitTreeXTraitCostLoadInfo { static constexpr DB2FieldMeta Fields[3] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCostID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_COST }; }; struct TraitTreeXTraitCurrencyLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Index" }, { .IsSigned = false, .Type = FT_INT, .Name = "TraitTreeID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TraitCurrencyID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitTreeXTraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_CURRENCY }; }; struct TransmogIllusionLoadInfo { static constexpr DB2FieldMeta Fields[5] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UnlockConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "TransmogCost" }, { .IsSigned = true, .Type = FT_INT, .Name = "SpellItemEnchantmentID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TransmogIllusionMeta::Instance, HOTFIX_SEL_TRANSMOG_ILLUSION }; }; struct TransmogSetLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ClassMask" }, { .IsSigned = true, .Type = FT_INT, .Name = "TrackingQuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "TransmogSetGroupID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ItemNameDescriptionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentTransmogSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Unknown810" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PatchID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiOrder" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &TransmogSetMeta::Instance, HOTFIX_SEL_TRANSMOG_SET }; }; struct TransmogSetGroupLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogSetGroupMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_GROUP }; }; struct TransmogSetItemLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TransmogSetID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ItemModifiedAppearanceID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &TransmogSetItemMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_ITEM }; }; struct TransportAnimationLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PosZ" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SequenceID" }, { .IsSigned = false, .Type = FT_INT, .Name = "TimeIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "TransportID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportAnimationMeta::Instance, HOTFIX_SEL_TRANSPORT_ANIMATION }; }; struct TransportRotationLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot1" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot2" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot3" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Rot4" }, { .IsSigned = false, .Type = FT_INT, .Name = "TimeIndex" }, { .IsSigned = false, .Type = FT_INT, .Name = "GameObjectsID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportRotationMeta::Instance, HOTFIX_SEL_TRANSPORT_ROTATION }; }; struct UiMapLoadInfo { static constexpr DB2FieldMeta Fields[16] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentUiMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "System" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Type" }, { .IsSigned = true, .Type = FT_INT, .Name = "BountySetID" }, { .IsSigned = false, .Type = FT_INT, .Name = "BountyDisplayLocation" }, { .IsSigned = true, .Type = FT_INT, .Name = "VisibilityPlayerConditionID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "VisibilityPlayerConditionID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "HelpTextPosition" }, { .IsSigned = true, .Type = FT_INT, .Name = "BkgAtlasID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AlternateUiMapGroup" }, { .IsSigned = true, .Type = FT_INT, .Name = "ContentTuningID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AdventureMapTextureKitID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "MapArtZoneTextPosition" }, }; static constexpr DB2LoadInfo Instance{ Fields, 16, &UiMapMeta::Instance, HOTFIX_SEL_UI_MAP }; }; struct UiMapAssignmentLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMinX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMinY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMaxX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMaxY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region1X" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region1Y" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region1Z" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region2X" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region2Y" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Region2Z" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "MapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "AreaID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WmoDoodadPlacementID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WmoGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &UiMapAssignmentMeta::Instance, HOTFIX_SEL_UI_MAP_ASSIGNMENT }; }; struct UiMapLinkLoadInfo { static constexpr DB2FieldMeta Fields[12] = { { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMinX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMinY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMaxX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "UiMaxY" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ParentUiMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OrderIndex" }, { .IsSigned = true, .Type = FT_INT, .Name = "ChildUiMapID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverrideHighlightFileDataID" }, { .IsSigned = true, .Type = FT_INT, .Name = "OverrideHighlightAtlasID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 12, &UiMapLinkMeta::Instance, HOTFIX_SEL_UI_MAP_LINK }; }; struct UiMapXMapArtLoadInfo { static constexpr DB2FieldMeta Fields[4] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PhaseID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiMapArtID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiMapID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &UiMapXMapArtMeta::Instance, HOTFIX_SEL_UI_MAP_X_MAP_ART }; }; struct UiSplashScreenLoadInfo { static constexpr DB2FieldMeta Fields[16] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Header" }, { .IsSigned = false, .Type = FT_STRING, .Name = "TopLeftFeatureTitle" }, { .IsSigned = false, .Type = FT_STRING, .Name = "TopLeftFeatureDesc" }, { .IsSigned = false, .Type = FT_STRING, .Name = "BottomLeftFeatureTitle" }, { .IsSigned = false, .Type = FT_STRING, .Name = "BottomLeftFeatureDesc" }, { .IsSigned = false, .Type = FT_STRING, .Name = "RightFeatureTitle" }, { .IsSigned = false, .Type = FT_STRING, .Name = "RightFeatureDesc" }, { .IsSigned = true, .Type = FT_INT, .Name = "AllianceQuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "HordeQuestID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "ScreenType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "SoundKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "CharLevelConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RequiredTimeEventPassed" }, }; static constexpr DB2LoadInfo Instance{ Fields, 16, &UISplashScreenMeta::Instance, HOTFIX_SEL_UI_SPLASH_SCREEN }; }; struct UnitConditionLoadInfo { static constexpr DB2FieldMeta Fields[26] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Variable8" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op1" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op2" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op3" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op4" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op5" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op6" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op7" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "Op8" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value7" }, { .IsSigned = true, .Type = FT_INT, .Name = "Value8" }, }; static constexpr DB2LoadInfo Instance{ Fields, 26, &UnitConditionMeta::Instance, HOTFIX_SEL_UNIT_CONDITION }; }; struct UnitPowerBarLoadInfo { static constexpr DB2FieldMeta Fields[27] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Cost" }, { .IsSigned = false, .Type = FT_STRING, .Name = "OutOfError" }, { .IsSigned = false, .Type = FT_STRING, .Name = "ToolTip" }, { .IsSigned = false, .Type = FT_INT, .Name = "MinPower" }, { .IsSigned = false, .Type = FT_INT, .Name = "MaxPower" }, { .IsSigned = false, .Type = FT_INT, .Name = "StartPower" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "CenterPower" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RegenerationPeace" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "RegenerationCombat" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "BarType" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "StartInset" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EndInset" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID1" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID2" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID3" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID4" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID5" }, { .IsSigned = true, .Type = FT_INT, .Name = "FileDataID6" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color1" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color2" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color3" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color4" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color5" }, { .IsSigned = true, .Type = FT_INT, .Name = "Color6" }, }; static constexpr DB2LoadInfo Instance{ Fields, 27, &UnitPowerBarMeta::Instance, HOTFIX_SEL_UNIT_POWER_BAR }; }; struct VehicleLoadInfo { static constexpr DB2FieldMeta Fields[28] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "FlagsB" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "TurnSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PitchMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MouseLookOffsetPitch" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraFadeDistScalarMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraFadeDistScalarMax" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraPitchOffset" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FacingLimitRight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "FacingLimitLeft" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraYawOffset" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "VehicleUIIndicatorID" }, { .IsSigned = true, .Type = FT_INT, .Name = "MissileTargetingID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "VehiclePOITypeID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID3" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID4" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID5" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID6" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID7" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "SeatID8" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PowerDisplayID1" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PowerDisplayID2" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "PowerDisplayID3" }, }; static constexpr DB2LoadInfo Instance{ Fields, 28, &VehicleMeta::Instance, HOTFIX_SEL_VEHICLE }; }; struct VehicleSeatLoadInfo { static constexpr DB2FieldMeta Fields[66] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AttachmentOffsetX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AttachmentOffsetY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "AttachmentOffsetZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraOffsetX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraOffsetY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraOffsetZ" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "FlagsB" }, { .IsSigned = true, .Type = FT_INT, .Name = "FlagsC" }, { .IsSigned = true, .Type = FT_INT, .Name = "AttachmentID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterPreDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterGravity" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterMinDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterMaxDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterMinArcHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "EnterMaxArcHeight" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EnterAnimStart" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "EnterAnimLoop" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "RideAnimStart" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "RideAnimLoop" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "RideUpperAnimStart" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "RideUpperAnimLoop" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitPreDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitSpeed" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitGravity" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitMinDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitMaxDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitMinArcHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "ExitMaxArcHeight" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ExitAnimStart" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ExitAnimLoop" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "ExitAnimEnd" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleEnterAnim" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "VehicleEnterAnimBone" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleExitAnim" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "VehicleExitAnimBone" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleRideAnimLoop" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "VehicleRideAnimLoopBone" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "PassengerAttachmentID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PassengerYaw" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PassengerPitch" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PassengerRoll" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VehicleEnterAnimDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "VehicleExitAnimDelay" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "VehicleAbilityDisplay" }, { .IsSigned = false, .Type = FT_INT, .Name = "EnterUISoundID" }, { .IsSigned = false, .Type = FT_INT, .Name = "ExitUISoundID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiSkinFileDataID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraEnteringDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraEnteringDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraExitingDelay" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraExitingDuration" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraPosChaseRate" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraFacingChaseRate" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraEnteringZoom" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraSeatZoomMin" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraSeatZoomMax" }, { .IsSigned = true, .Type = FT_INT, .Name = "EnterAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "RideAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "ExitAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "VehicleEnterAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "VehicleRideAnimKitID" }, { .IsSigned = true, .Type = FT_INT, .Name = "VehicleExitAnimKitID" }, { .IsSigned = true, .Type = FT_SHORT, .Name = "CameraModeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 66, &VehicleSeatMeta::Instance, HOTFIX_SEL_VEHICLE_SEAT }; }; struct VignetteLoadInfo { static constexpr DB2FieldMeta Fields[13] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_INT, .Name = "VisibleTrackingQuestID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestFeedbackEffectID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MaxHeight" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "MinHeight" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "VignetteType" }, { .IsSigned = true, .Type = FT_INT, .Name = "RewardQuestID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiWidgetSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "UiMapPinInfoID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "ObjectiveType" }, }; static constexpr DB2LoadInfo Instance{ Fields, 13, &VignetteMeta::Instance, HOTFIX_SEL_VIGNETTE }; }; struct WarbandSceneLoadInfo { static constexpr DB2FieldMeta Fields[17] = { { .IsSigned = false, .Type = FT_STRING, .Name = "Name" }, { .IsSigned = false, .Type = FT_STRING, .Name = "Description" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PositionX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PositionY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "PositionZ" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LookAtX" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LookAtY" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "LookAtZ" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "MapID" }, { .IsSigned = false, .Type = FT_FLOAT, .Name = "Fov" }, { .IsSigned = true, .Type = FT_INT, .Name = "TimeOfDay" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = true, .Type = FT_INT, .Name = "SoundAmbienceID" }, { .IsSigned = true, .Type = FT_BYTE, .Name = "Quality" }, { .IsSigned = true, .Type = FT_INT, .Name = "TextureKit" }, { .IsSigned = true, .Type = FT_INT, .Name = "DefaultScenePriority" }, }; static constexpr DB2LoadInfo Instance{ Fields, 17, &WarbandSceneMeta::Instance, HOTFIX_SEL_WARBAND_SCENE }; }; struct WmoAreaTableLoadInfo { static constexpr DB2FieldMeta Fields[15] = { { .IsSigned = false, .Type = FT_STRING, .Name = "AreaName" }, { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "WmoID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "NameSetID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WmoGroupID" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SoundProviderPref" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "SoundProviderPrefUnderwater" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AmbienceID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UwAmbience" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "ZoneMusic" }, { .IsSigned = false, .Type = FT_INT, .Name = "UwZoneMusic" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "IntroSound" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "UwIntroSound" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "AreaTableID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, }; static constexpr DB2LoadInfo Instance{ Fields, 15, &WMOAreaTableMeta::Instance, HOTFIX_SEL_WMO_AREA_TABLE }; }; struct WorldEffectLoadInfo { static constexpr DB2FieldMeta Fields[7] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "QuestFeedbackEffectID" }, { .IsSigned = true, .Type = FT_INT, .Name = "WhenToDisplay" }, { .IsSigned = false, .Type = FT_BYTE, .Name = "TargetType" }, { .IsSigned = true, .Type = FT_INT, .Name = "TargetAsset" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "CombatConditionID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 7, &WorldEffectMeta::Instance, HOTFIX_SEL_WORLD_EFFECT }; }; struct WorldMapOverlayLoadInfo { static constexpr DB2FieldMeta Fields[16] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_INT, .Name = "UiMapArtID" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TextureWidth" }, { .IsSigned = false, .Type = FT_SHORT, .Name = "TextureHeight" }, { .IsSigned = true, .Type = FT_INT, .Name = "OffsetX" }, { .IsSigned = true, .Type = FT_INT, .Name = "OffsetY" }, { .IsSigned = true, .Type = FT_INT, .Name = "HitRectTop" }, { .IsSigned = true, .Type = FT_INT, .Name = "HitRectBottom" }, { .IsSigned = true, .Type = FT_INT, .Name = "HitRectLeft" }, { .IsSigned = true, .Type = FT_INT, .Name = "HitRectRight" }, { .IsSigned = false, .Type = FT_INT, .Name = "PlayerConditionID" }, { .IsSigned = true, .Type = FT_INT, .Name = "Flags" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaID1" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaID2" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaID3" }, { .IsSigned = false, .Type = FT_INT, .Name = "AreaID4" }, }; static constexpr DB2LoadInfo Instance{ Fields, 16, &WorldMapOverlayMeta::Instance, HOTFIX_SEL_WORLD_MAP_OVERLAY }; }; struct WorldStateExpressionLoadInfo { static constexpr DB2FieldMeta Fields[2] = { { .IsSigned = false, .Type = FT_INT, .Name = "ID" }, { .IsSigned = false, .Type = FT_STRING_NOT_LOCALIZED, .Name = "Expression" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &WorldStateExpressionMeta::Instance, HOTFIX_SEL_WORLD_STATE_EXPRESSION }; }; #endif // TRINITYCORE_DB2_LOAD_INFO_H