diff options
author | funjoker <torti-esser@web.de> | 2018-09-16 17:04:34 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-09-16 17:04:34 +0200 |
commit | 8901e1d45e4fef64a9d34ffcd16ffa2b42efd445 (patch) | |
tree | 3fe2f11e71b3c60f3f8760ce5ce36a31a4f86032 | |
parent | ccbe4404f1806f047c009d14ed1dea9806dd5736 (diff) |
Core/DataStores: Updated db2 structures to 8.0.1.27602 (#22389)
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 1337 |
1 files changed, 660 insertions, 677 deletions
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index e5f46417a81..f8649bdf40a 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -28,21 +28,21 @@ struct LocalizedString; struct AchievementEntry { - LocalizedString* Title; LocalizedString* Description; + LocalizedString* Title; LocalizedString* Reward; - int32 Flags; + uint32 ID; int16 InstanceID; // -1 = none + int8 Faction; // -1 = all, 0 = horde, 1 = alliance int16 Supercedes; // its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin) int16 Category; - int16 UiOrder; - int16 SharesCriteria; // referenced achievement (counting of all completed criterias) - int8 Faction; // -1 = all, 0 = horde, 1 = alliance - int8 Points; int8 MinimumCriteria; // need this count of completed criterias (own or referenced achievement criterias) - uint32 ID; + int8 Points; + int32 Flags; + int16 UiOrder; int32 IconFileID; uint32 CriteriaTree; + int16 SharesCriteria; // referenced achievement (counting of all completed criterias) }; struct AnimKitEntry @@ -65,27 +65,27 @@ struct AreaTableEntry uint32 ID; char const* ZoneName; LocalizedString* AreaName; - int32 Flags[2]; - float AmbientMultiplier; uint16 ContinentID; uint16 ParentAreaID; int16 AreaBit; + uint8 SoundProviderPref; + uint8 SoundProviderPrefUnderwater; uint16 AmbienceID; + uint16 UwAmbience; uint16 ZoneMusic; - uint16 IntroSound; - uint16 LiquidTypeID[4]; uint16 UwZoneMusic; - uint16 UwAmbience; - int16 PvpCombatWorldStateID; - uint8 SoundProviderPref; - uint8 SoundProviderPrefUnderwater; int8 ExplorationLevel; + uint16 IntroSound; + uint32 UwIntroSound; uint8 FactionGroupMask; + float AmbientMultiplier; uint8 MountFlags; + int16 PvpCombatWorldStateID; uint8 WildBattlePetLevelMin; uint8 WildBattlePetLevelMax; uint8 WindSettingsID; - uint32 UwIntroSound; + int32 Flags[2]; + uint16 LiquidTypeID[4]; // helpers bool IsSanctuary() const @@ -99,20 +99,20 @@ struct AreaTableEntry struct AreaTriggerEntry { DBCPosition3D Pos; + uint32 ID; + int16 ContinentID; + int8 PhaseUseFlags; + int16 PhaseID; + int16 PhaseGroupID; float Radius; float BoxLength; float BoxWidth; float BoxHeight; float BoxYaw; - int16 ContinentID; - int16 PhaseID; - int16 PhaseGroupID; + int8 ShapeType; int16 ShapeID; int16 AreaTriggerActionSetID; - int8 PhaseUseFlags; - int8 ShapeType; int8 Flags; - uint32 ID; }; struct ArmorLocationEntry @@ -127,15 +127,15 @@ struct ArmorLocationEntry struct ArtifactEntry { - uint32 ID; LocalizedString* Name; + uint32 ID; + uint16 UiTextureKitID; + int32 UiNameColor; int32 UiBarOverlayColor; int32 UiBarBackgroundColor; - int32 UiNameColor; - uint16 UiTextureKitID; uint16 ChrSpecializationID; - uint8 ArtifactCategoryID; uint8 Flags; + uint8 ArtifactCategoryID; uint32 UiModelSceneID; uint32 SpellVisualKitID; }; @@ -143,32 +143,32 @@ struct ArtifactEntry struct ArtifactAppearanceEntry { LocalizedString* Name; - int32 UiSwatchColor; - float UiModelSaturation; - float UiModelOpacity; - uint32 OverrideShapeshiftDisplayID; + uint32 ID; uint16 ArtifactAppearanceSetID; - uint16 UiCameraID; uint8 DisplayIndex; + uint32 UnlockPlayerConditionID; uint8 ItemAppearanceModifierID; - uint8 Flags; + int32 UiSwatchColor; + float UiModelSaturation; + float UiModelOpacity; uint8 OverrideShapeshiftFormID; - uint32 ID; - uint32 UnlockPlayerConditionID; + uint32 OverrideShapeshiftDisplayID; uint32 UiItemAppearanceID; uint32 UiAltItemAppearanceID; + uint8 Flags; + uint16 UiCameraID; }; struct ArtifactAppearanceSetEntry { LocalizedString* Name; LocalizedString* Description; + uint32 ID; + uint8 DisplayIndex; uint16 UiCameraID; uint16 AltHandUICameraID; - uint8 DisplayIndex; int8 ForgeAttachmentOverride; uint8 Flags; - uint32 ID; uint8 ArtifactID; }; @@ -181,13 +181,13 @@ struct ArtifactCategoryEntry struct ArtifactPowerEntry { - DBCPosition2D Pos; + DBCPosition2D DisplayPos; + uint32 ID; uint8 ArtifactID; - uint8 Flags; uint8 MaxPurchasableRank; - uint8 Tier; - uint32 ID; int32 Label; + uint8 Flags; + uint8 Tier; }; struct ArtifactPowerLinkEntry @@ -206,10 +206,10 @@ struct ArtifactPowerPickerEntry struct ArtifactPowerRankEntry { uint32 ID; + uint8 RankIndex; int32 SpellID; - float AuraPointsOverride; uint16 ItemBonusListID; - uint8 RankIndex; + float AuraPointsOverride; uint16 ArtifactPowerID; }; @@ -232,9 +232,9 @@ struct ArtifactTierEntry struct ArtifactUnlockEntry { uint32 ID; - uint16 ItemBonusListID; - uint8 PowerRank; uint32 PowerID; + uint8 PowerRank; + uint16 ItemBonusListID; uint32 PlayerConditionID; uint8 ArtifactID; }; @@ -266,12 +266,12 @@ struct BarberShopStyleEntry { LocalizedString* DisplayName; LocalizedString* Description; - float CostModifier; + uint32 ID; uint8 Type; // value 0 -> hair, value 2 -> facialhair + float CostModifier; uint8 Race; uint8 Sex; uint8 Data; // real ID to hair/facial hair - uint32 ID; }; struct BattlePetBreedQualityEntry @@ -284,22 +284,22 @@ struct BattlePetBreedQualityEntry struct BattlePetBreedStateEntry { uint32 ID; - uint16 Value; uint8 BattlePetStateID; + uint16 Value; uint8 BattlePetBreedID; }; struct BattlePetSpeciesEntry { - LocalizedString* SourceText; LocalizedString* Description; + LocalizedString* SourceText; + uint32 ID; int32 CreatureID; - int32 IconFileDataID; int32 SummonSpellID; - uint16 Flags; + int32 IconFileDataID; uint8 PetTypeEnum; + uint16 Flags; int8 SourceTypeEnum; - uint32 ID; int32 CardUIModelSceneID; int32 LoadoutUIModelSceneID; }; @@ -307,8 +307,8 @@ struct BattlePetSpeciesEntry struct BattlePetSpeciesStateEntry { uint32 ID; - int32 Value; uint8 BattlePetStateID; + int32 Value; uint16 BattlePetSpeciesID; }; @@ -319,45 +319,46 @@ struct BattlemasterListEntry LocalizedString* GameType; LocalizedString* ShortDescription; LocalizedString* LongDescription; - int32 IconFileDataID; - int16 MapID[16]; - int16 HolidayWorldState; - int16 RequiredPlayerConditionID; int8 InstanceType; - int8 GroupsAllowed; - int8 MaxGroupSize; int8 MinLevel; int8 MaxLevel; int8 RatedPlayers; int8 MinPlayers; int8 MaxPlayers; + int8 GroupsAllowed; + int8 MaxGroupSize; + int16 HolidayWorldState; int8 Flags; + int32 IconFileDataID; + int16 RequiredPlayerConditionID; + int16 MapID[16]; }; #define MAX_BROADCAST_TEXT_EMOTES 3 struct BroadcastTextEntry { - uint32 ID; LocalizedString* Text; LocalizedString* Text1; - uint16 EmoteID[MAX_BROADCAST_TEXT_EMOTES]; - uint16 EmoteDelay[MAX_BROADCAST_TEXT_EMOTES]; - uint16 EmotesID; + uint32 ID; uint8 LanguageID; - uint8 Flags; int32 ConditionID; + uint16 EmotesID; + uint8 Flags; + uint32 Unknown; uint32 SoundEntriesID[2]; + uint16 EmoteID[MAX_BROADCAST_TEXT_EMOTES]; + uint16 EmoteDelay[MAX_BROADCAST_TEXT_EMOTES]; }; struct Cfg_RegionsEntry { uint32 ID; char const* Tag; - uint32 Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval - uint32 ChallengeOrigin; uint16 RegionID; + uint32 Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval uint8 RegionGroupMask; + uint32 ChallengeOrigin; }; struct CharacterFacialHairStylesEntry @@ -372,21 +373,21 @@ struct CharacterFacialHairStylesEntry struct CharBaseSectionEntry { uint32 ID; + uint8 LayoutResType; uint8 VariationEnum; uint8 ResolutionVariationEnum; - uint8 LayoutResType; }; struct CharSectionsEntry { uint32 ID; - int32 MaterialResourcesID[3]; - int16 Flags; int8 RaceID; int8 SexID; int8 BaseSection; int8 VariationIndex; int8 ColorIndex; + int16 Flags; + int32 MaterialResourcesID[3]; }; #define MAX_OUTFIT_ITEMS 24 @@ -394,12 +395,12 @@ struct CharSectionsEntry struct CharStartOutfitEntry { uint32 ID; - int32 ItemID[MAX_OUTFIT_ITEMS]; - uint32 PetDisplayID; // Pet Model ID for starting pet uint8 ClassID; uint8 SexID; uint8 OutfitID; + uint32 PetDisplayID; // Pet Model ID for starting pet uint8 PetFamilyID; // Pet Family Entry for starting pet + int32 ItemID[MAX_OUTFIT_ITEMS]; uint8 RaceID; }; @@ -423,32 +424,32 @@ struct ChatChannelsEntry struct ChrClassesEntry { - char const* PetNameToken; LocalizedString* Name; - LocalizedString* NameFemale; - LocalizedString* NameMale; char const* Filename; + LocalizedString* NameMale; + LocalizedString* NameFemale; + char const* PetNameToken; + uint32 ID; uint32 CreateScreenFileDataID; uint32 SelectScreenFileDataID; - uint32 LowResScreenFileDataID; uint32 IconFileDataID; + uint32 LowResScreenFileDataID; int32 StartingLevel; uint16 Flags; uint16 CinematicSequenceID; uint16 DefaultSpec; + uint8 PrimaryStatPriority; uint8 DisplayPower; - uint8 SpellClassSet; - uint8 AttackPowerPerStrength; - uint8 AttackPowerPerAgility; uint8 RangedAttackPowerPerAgility; - uint8 PrimaryStatPriority; - uint32 ID; + uint8 AttackPowerPerAgility; + uint8 AttackPowerPerStrength; + uint8 SpellClassSet; }; struct ChrClassesXPowerTypesEntry { uint32 ID; - uint8 PowerType; + int8 PowerType; uint8 ClassID; }; @@ -460,38 +461,46 @@ struct ChrRacesEntry LocalizedString* NameFemale; LocalizedString* NameLowercase; LocalizedString* NameFemaleLowercase; + uint32 ID; int32 Flags; uint32 MaleDisplayId; uint32 FemaleDisplayId; + uint32 HighResMaleDisplayId; + uint32 HighResFemaleDisplayId; int32 CreateScreenFileDataID; int32 SelectScreenFileDataID; float MaleCustomizeOffset[3]; float FemaleCustomizeOffset[3]; int32 LowResScreenFileDataID; + uint32 AlteredFormStartVisualKitID[3]; + uint32 AlteredFormFinishVisualKitID[3]; + int32 HeritageArmorAchievementID; int32 StartingLevel; int32 UiDisplayOrder; + int32 FemaleSkeletonFileDataID; + int32 MaleSkeletonFileDataID; + int32 BaseRaceID; int16 FactionID; + int16 CinematicSequenceID; int16 ResSicknessSpellID; int16 SplashSoundID; - int16 CinematicSequenceID; int8 BaseLanguage; int8 CreatureType; int8 Alliance; int8 RaceRelated; int8 UnalteredVisualRaceID; int8 CharComponentTextureLayoutID; + int8 CharComponentTexLayoutHiResID; int8 DefaultClassID; int8 NeutralRaceID; - int8 DisplayRaceID; - int8 CharComponentTexLayoutHiResID; - uint32 ID; - uint32 HighResMaleDisplayId; - uint32 HighResFemaleDisplayId; - int32 HeritageArmorAchievementID; - int32 MaleSkeletonFileDataID; - int32 FemaleSkeletonFileDataID; - uint32 AlteredFormStartVisualKitID[3]; - uint32 AlteredFormFinishVisualKitID[3]; + int8 MaleModelFallbackRaceID; + int8 MaleModelFallbackSex; + int8 FemaleModelFallbackRaceID; + int8 FemaleModelFallbackSex; + int8 MaleTextureFallbackRaceID; + int8 MaleTextureFallbackSex; + int8 FemaleTextureFallbackRaceID; + int8 FemaleTextureFallbackSex; }; #define MAX_MASTERY_SPELLS 2 @@ -501,16 +510,16 @@ struct ChrSpecializationEntry LocalizedString* Name; LocalizedString* FemaleName; LocalizedString* Description; - int32 MasterySpellID[MAX_MASTERY_SPELLS]; + uint32 ID; int8 ClassID; int8 OrderIndex; int8 PetTalentType; int8 Role; - int8 PrimaryStatPriority; - uint32 ID; - int32 SpellIconFileID; uint32 Flags; + int32 SpellIconFileID; + int8 PrimaryStatPriority; int32 AnimReplacements; + int32 MasterySpellID[MAX_MASTERY_SPELLS]; bool IsPetSpecialization() const { @@ -521,9 +530,9 @@ struct ChrSpecializationEntry struct CinematicCameraEntry { uint32 ID; - uint32 SoundID; // Sound ID (voiceover for cinematic) DBCPosition3D Origin; // Position in map used for basis for M2 co-ordinates - float OriginFacing; // Orientation in map used for basis for M2 co- + uint32 SoundID; // Sound ID (voiceover for cinematic) + float OriginFacing; // Orientation in map used for basis for M2 co uint32 FileDataID; // Model }; @@ -534,6 +543,16 @@ struct CinematicSequencesEntry uint16 Camera[8]; }; +struct ContentTuningEntry +{ + uint32 ID; + int32 MinLevel; + int32 MaxLevel; + int32 Flags; + int32 ExpectedStatModID; + int32 Unknown; +}; + struct ConversationLineEntry { uint32 ID; @@ -550,35 +569,35 @@ struct ConversationLineEntry struct CreatureDisplayInfoEntry { uint32 ID; - float CreatureModelScale; uint16 ModelID; - uint16 NPCSoundID; + uint16 SoundID; int8 SizeClass; - uint8 Flags; - int8 Gender; - int32 ExtendedDisplayInfoID; - int32 PortraitTextureFileDataID; + float CreatureModelScale; uint8 CreatureModelAlpha; - uint16 SoundID; - float PlayerOverrideScale; - int32 PortraitCreatureDisplayInfoID; uint8 BloodID; + int32 ExtendedDisplayInfoID; + uint16 NPCSoundID; uint16 ParticleColorID; - uint32 CreatureGeosetData; + int32 PortraitCreatureDisplayInfoID; + int32 PortraitTextureFileDataID; uint16 ObjectEffectPackageID; uint16 AnimReplacementSetID; - int8 UnarmedWeaponType; + uint8 Flags; int32 StateSpellVisualKitID; + float PlayerOverrideScale; float PetInstanceScale; // scale of not own player pets inside dungeons/raids/scenarios + int8 UnarmedWeaponType; int32 MountPoofSpellVisualKitID; + int32 DissolveEffectID; + int8 Gender; + int32 DissolveOutEffectID; + int8 CreatureModelMinLod; int32 TextureVariationFileDataID[3]; }; struct CreatureDisplayInfoExtraEntry { uint32 ID; - int32 BakeMaterialResourcesID; - int32 HDBakeMaterialResourcesID; int8 DisplayRaceID; int8 DisplaySexID; int8 DisplayClassID; @@ -587,8 +606,10 @@ struct CreatureDisplayInfoExtraEntry int8 HairStyleID; int8 HairColorID; int8 FacialHairID; - uint8 CustomDisplayOption[3]; int8 Flags; + int32 BakeMaterialResourcesID; + int32 HDBakeMaterialResourcesID; + uint8 CustomDisplayOption[3]; }; struct CreatureFamilyEntry @@ -596,46 +617,46 @@ struct CreatureFamilyEntry uint32 ID; LocalizedString* Name; float MinScale; - float MaxScale; - int32 IconFileID; - int16 SkillLine[2]; - int16 PetFoodMask; int8 MinScaleLevel; + float MaxScale; int8 MaxScaleLevel; + int16 PetFoodMask; int8 PetTalentType; + int32 IconFileID; + int16 SkillLine[2]; }; struct CreatureModelDataEntry { uint32 ID; - float ModelScale; + float GeoBox[6]; + uint32 Flags; + uint32 FileDataID; + uint32 BloodID; + uint32 FootprintTextureID; float FootprintTextureLength; float FootprintTextureWidth; float FootprintParticleScale; + uint32 FoleyMaterialID; + uint32 FootstepCameraEffectID; + uint32 DeathThudCameraEffectID; + uint32 SoundID; + uint32 SizeClass; float CollisionWidth; float CollisionHeight; - float MountHeight; - float GeoBox[6]; float WorldEffectScale; + uint32 CreatureGeosetDataID; + float HoverHeight; float AttachedEffectScale; + float ModelScale; float MissileCollisionRadius; float MissileCollisionPush; float MissileCollisionRaise; + float MountHeight; float OverrideLootEffectScale; float OverrideNameScale; float OverrideSelectionRadius; float TamedPetBaseScale; - float HoverHeight; - uint32 Flags; - uint32 FileDataID; - uint32 SizeClass; - uint32 BloodID; - uint32 FootprintTextureID; - uint32 FoleyMaterialID; - uint32 FootstepCameraEffectID; - uint32 DeathThudCameraEffectID; - uint32 SoundID; - uint32 CreatureGeosetDataID; }; struct CreatureTypeEntry @@ -648,144 +669,144 @@ struct CreatureTypeEntry struct CriteriaEntry { uint32 ID; + int16 Type; union AssetNameAlias { - uint32 ID; + int32 ID; // CRITERIA_TYPE_KILL_CREATURE = 0 // CRITERIA_TYPE_KILLED_BY_CREATURE = 20 - uint32 CreatureID; + int32 CreatureID; // CRITERIA_TYPE_WIN_BG = 1 // CRITERIA_TYPE_COMPLETE_BATTLEGROUND = 15 // CRITERIA_TYPE_DEATH_AT_MAP = 16 // CRITERIA_TYPE_WIN_ARENA = 32 // CRITERIA_TYPE_PLAY_ARENA = 33 - uint32 MapID; + int32 MapID; // CRITERIA_TYPE_REACH_SKILL_LEVEL = 7 // CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40 // CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75 // CRITERIA_TYPE_LEARN_SKILL_LINE = 112 - uint32 SkillID; + int32 SkillID; // CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8 - uint32 AchievementID; + int32 AchievementID; // CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11 - uint32 ZoneID; + int32 ZoneID; // CRITERIA_TYPE_CURRENCY = 12 - uint32 CurrencyID; + int32 CurrencyID; // CRITERIA_TYPE_DEATH_IN_DUNGEON = 18 // CRITERIA_TYPE_COMPLETE_RAID = 19 - uint32 GroupSize; + int32 GroupSize; // CRITERIA_TYPE_DEATHS_FROM = 26 - uint32 DamageType; + int32 DamageType; // CRITERIA_TYPE_COMPLETE_QUEST = 27 - uint32 QuestID; + int32 QuestID; // CRITERIA_TYPE_BE_SPELL_TARGET = 28 // CRITERIA_TYPE_BE_SPELL_TARGET2 = 69 // CRITERIA_TYPE_CAST_SPELL = 29 // CRITERIA_TYPE_CAST_SPELL2 = 110 // CRITERIA_TYPE_LEARN_SPELL = 34 - uint32 SpellID; + int32 SpellID; // CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE - uint32 ObjectiveId; + int32 ObjectiveId; // CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31 // CRITERIA_TYPE_ENTER_AREA = 163 // CRITERIA_TYPE_LEAVE_AREA = 164 - uint32 AreaID; + int32 AreaID; // CRITERIA_TYPE_OWN_ITEM = 36 // CRITERIA_TYPE_USE_ITEM = 41 // CRITERIA_TYPE_LOOT_ITEM = 42 // CRITERIA_TYPE_EQUIP_ITEM = 57 // CRITERIA_TYPE_OWN_TOY = 185 - uint32 ItemID; + int32 ItemID; // CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38 // CRITERIA_TYPE_REACH_TEAM_RATING = 39 // CRITERIA_TYPE_HIGHEST_PERSONAL_RATING = 39 - uint32 TeamType; + int32 TeamType; // CRITERIA_TYPE_EXPLORE_AREA = 43 - uint32 WorldMapOverlayID; + int32 WorldMapOverlayID; // CRITERIA_TYPE_GAIN_REPUTATION = 46 // CRITERIA_TYPE_GAIN_PARAGON_REPUTATION = 206 - uint32 FactionID; + int32 FactionID; // CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49 - uint32 ItemSlot; + int32 ItemSlot; // CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50 // CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51 - uint32 RollValue; + int32 RollValue; // CRITERIA_TYPE_HK_CLASS = 52 - uint32 ClassID; + int32 ClassID; // CRITERIA_TYPE_HK_RACE = 53 - uint32 RaceID; + int32 RaceID; // CRITERIA_TYPE_DO_EMOTE = 54 - uint32 EmoteID; + int32 EmoteID; // CRITERIA_TYPE_USE_GAMEOBJECT = 68 // CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72 - uint32 GameObjectID; + int32 GameObjectID; // CRITERIA_TYPE_HIGHEST_POWER = 96 - uint32 PowerType; + int32 PowerType; // CRITERIA_TYPE_HIGHEST_STAT = 97 - uint32 StatType; + int32 StatType; // CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98 - uint32 SpellSchool; + int32 SpellSchool; // CRITERIA_TYPE_LOOT_TYPE = 109 - uint32 LootType; + int32 LootType; // CRITERIA_TYPE_COMPLETE_DUNGEON_ENCOUNTER = 165 - uint32 DungeonEncounterID; + int32 DungeonEncounterID; // CRITERIA_TYPE_CONSTRUCT_GARRISON_BUILDING = 169 - uint32 GarrBuildingID; + int32 GarrBuildingID; // CRITERIA_TYPE_UPGRADE_GARRISON = 170 - uint32 GarrisonLevel; + int32 GarrisonLevel; // CRITERIA_TYPE_COMPLETE_GARRISON_MISSION = 174 - uint32 GarrMissionID; + int32 GarrMissionID; // CRITERIA_TYPE_COMPLETE_GARRISON_SHIPMENT = 182 - uint32 CharShipmentContainerID; + int32 CharShipmentContainerID; // CRITERIA_TYPE_APPEARANCE_UNLOCKED_BY_SLOT - uint32 EquipmentSlot; + int32 EquipmentSlot; // CRITERIA_TYPE_TRANSMOG_SET_UNLOCKED = 205 - uint32 TransmogSetGroupID; + int32 TransmogSetGroupID; // CRITERIA_TYPE_RELIC_TALENT_UNLOCKED = 211 - uint32 ArtifactPowerID; + int32 ArtifactPowerID; } Asset; - int32 StartAsset; - int32 FailAsset; uint32 ModifierTreeId; - uint16 StartTimer; - int16 EligibilityWorldStateID; - uint8 Type; uint8 StartEvent; + int32 StartAsset; + uint16 StartTimer; uint8 FailEvent; + int32 FailAsset; uint8 Flags; + int16 EligibilityWorldStateID; int8 EligibilityWorldStateValue; }; @@ -793,12 +814,12 @@ struct CriteriaTreeEntry { uint32 ID; LocalizedString* Description; - int32 Amount; - int16 Flags; + uint32 Parent; + uint32 Amount; int8 Operator; uint32 CriteriaID; - uint32 Parent; int32 OrderIndex; + int16 Flags; }; struct CurrencyTypesEntry @@ -806,14 +827,15 @@ struct CurrencyTypesEntry uint32 ID; LocalizedString* Name; LocalizedString* Description; - uint32 MaxQty; - uint32 MaxEarnablePerWeek; - uint32 Flags; uint8 CategoryID; - uint8 SpellCategory; - uint8 Quality; int32 InventoryIconFileID; uint32 SpellWeight; + uint8 SpellCategory; + uint32 MaxQty; + uint32 MaxEarnablePerWeek; + uint32 Flags; + int8 Quality; + int32 Unknown10; }; struct CurveEntry @@ -834,58 +856,58 @@ struct CurvePointEntry struct DestructibleModelDataEntry { uint32 ID; - uint16 State0Wmo; - uint16 State1Wmo; - uint16 State2Wmo; - uint16 State3Wmo; - uint16 HealEffectSpeed; int8 State0ImpactEffectDoodadSet; uint8 State0AmbientDoodadSet; - int8 State0NameSet; + uint16 State1Wmo; int8 State1DestructionDoodadSet; int8 State1ImpactEffectDoodadSet; uint8 State1AmbientDoodadSet; - int8 State1NameSet; + uint16 State2Wmo; int8 State2DestructionDoodadSet; int8 State2ImpactEffectDoodadSet; uint8 State2AmbientDoodadSet; - int8 State2NameSet; + uint16 State3Wmo; uint8 State3InitDoodadSet; uint8 State3AmbientDoodadSet; - int8 State3NameSet; uint8 EjectDirection; uint8 DoNotHighlight; + uint16 State0Wmo; uint8 HealEffect; + uint16 HealEffectSpeed; + int8 State0NameSet; + int8 State1NameSet; + int8 State2NameSet; + int8 State3NameSet; }; struct DifficultyEntry { uint32 ID; LocalizedString* Name; - uint16 GroupSizeHealthCurveID; - uint16 GroupSizeDmgCurveID; - uint16 GroupSizeSpellPointsCurveID; - uint8 FallbackDifficultyID; uint8 InstanceType; + uint8 OrderIndex; + int8 OldEnumValue; + uint8 FallbackDifficultyID; uint8 MinPlayers; uint8 MaxPlayers; - int8 OldEnumValue; uint8 Flags; - uint8 ToggleDifficultyID; uint8 ItemContext; - uint8 OrderIndex; + uint8 ToggleDifficultyID; + uint16 GroupSizeHealthCurveID; + uint16 GroupSizeDmgCurveID; + uint16 GroupSizeSpellPointsCurveID; }; struct DungeonEncounterEntry { LocalizedString* Name; - int32 CreatureDisplayID; + uint32 ID; int16 MapID; int8 DifficultyID; - int8 Bit; - uint8 Flags; - uint32 ID; int32 OrderIndex; + int8 CreatureDisplayID; + int32 Unknown6; + uint8 Flags; int32 SpellIconFileID; }; @@ -907,13 +929,13 @@ struct EmotesEntry uint32 ID; int64 RaceMask; char const* EmoteSlashCommand; + int32 AnimID; uint32 EmoteFlags; - uint32 SpellVisualKitID; - int16 AnimID; uint8 EmoteSpecProc; - int32 ClassMask; uint32 EmoteSpecProcParam; uint32 EventSoundID; + uint32 SpellVisualKitID; + int32 ClassMask; }; struct EmotesTextEntry @@ -927,8 +949,8 @@ struct EmotesTextSoundEntry { uint32 ID; uint8 RaceID; - uint8 SexID; uint8 ClassID; + uint8 SexID; uint32 SoundID; uint16 EmotesTextID; }; @@ -939,18 +961,18 @@ struct FactionEntry LocalizedString* Name; LocalizedString* Description; uint32 ID; - int32 ReputationBase[4]; - float ParentFactionMod[2]; // Faction outputs rep * ParentFactionModOut as spillover reputation - int32 ReputationMax[4]; int16 ReputationIndex; - int16 ReputationClassMask[4]; - uint16 ReputationFlags[4]; uint16 ParentFactionID; - uint16 ParagonFactionID; - uint8 ParentFactionCap[2]; // The highest rank the faction will profit from incoming spillover uint8 Expansion; - uint8 Flags; uint8 FriendshipRepID; + uint8 Flags; + uint16 ParagonFactionID; + int16 ReputationClassMask[4]; + uint16 ReputationFlags[4]; + int32 ReputationBase[4]; + int32 ReputationMax[4]; + float ParentFactionMod[2]; // Faction outputs rep * ParentFactionModOut as spillover reputation + uint8 ParentFactionCap[2]; // The highest rank the faction will profit from incoming spillover // helpers bool CanHaveReputation() const @@ -966,11 +988,11 @@ struct FactionTemplateEntry uint32 ID; uint16 Faction; uint16 Flags; - uint16 Enemies[MAX_FACTION_RELATIONS]; - uint16 Friend[MAX_FACTION_RELATIONS]; uint8 FactionGroup; uint8 FriendGroup; uint8 EnemyGroup; + uint16 Enemies[MAX_FACTION_RELATIONS]; + uint16 Friend[MAX_FACTION_RELATIONS]; //------------------------------------------------------- end structure @@ -1020,12 +1042,12 @@ struct FactionTemplateEntry struct GameObjectDisplayInfoEntry { uint32 ID; - int32 FileDataID; DBCPosition3D GeoBoxMin; DBCPosition3D GeoBoxMax; + int32 FileDataID; + int16 ObjectEffectPackageID; float OverrideLootEffectScale; float OverrideNameScale; - int16 ObjectEffectPackageID; }; struct GameObjectsEntry @@ -1033,65 +1055,65 @@ struct GameObjectsEntry LocalizedString* Name; DBCPosition3D Pos; float Rot[4]; - float Scale; - int32 PropValue[8]; + uint32 ID; uint16 OwnerID; uint16 DisplayID; + float Scale; + uint8 TypeID; + uint8 PhaseUseFlags; uint16 PhaseID; uint16 PhaseGroupID; - uint8 PhaseUseFlags; - uint8 TypeID; - uint32 ID; + int32 PropValue[8]; }; struct GarrAbilityEntry { LocalizedString* Name; LocalizedString* Description; - int32 IconFileDataID; - uint16 Flags; - uint16 FactionChangeGarrAbilityID; + uint32 ID; uint8 GarrAbilityCategoryID; uint8 GarrFollowerTypeID; - uint32 ID; + int32 IconFileDataID; + uint16 FactionChangeGarrAbilityID; + uint16 Flags; }; struct GarrBuildingEntry { uint32 ID; - LocalizedString* AllianceName; LocalizedString* HordeName; + LocalizedString* AllianceName; LocalizedString* Description; LocalizedString* Tooltip; + uint8 GarrTypeID; + uint8 BuildingType; int32 HordeGameObjectID; int32 AllianceGameObjectID; - int32 IconFileDataID; + uint8 GarrSiteID; + uint8 UpgradeLevel; + int32 BuildSeconds; uint16 CurrencyTypeID; + int32 CurrencyQty; uint16 HordeUiTextureKitID; uint16 AllianceUiTextureKitID; + int32 IconFileDataID; uint16 AllianceSceneScriptPackageID; uint16 HordeSceneScriptPackageID; + int32 MaxAssignments; + uint8 ShipmentCapacity; uint16 GarrAbilityID; uint16 BonusGarrAbilityID; uint16 GoldCost; - uint8 GarrSiteID; - uint8 BuildingType; - uint8 UpgradeLevel; uint8 Flags; - uint8 ShipmentCapacity; - uint8 GarrTypeID; - int32 BuildSeconds; - int32 CurrencyQty; - int32 MaxAssignments; }; struct GarrBuildingPlotInstEntry { DBCPosition2D MapOffset; - uint16 UiTextureAtlasMemberID; - uint16 GarrSiteLevelPlotInstID; - uint8 GarrBuildingID; uint32 ID; + uint8 GarrBuildingID; + uint16 GarrSiteLevelPlotInstID; + uint16 UiTextureAtlasMemberID; }; struct GarrClassSpecEntry @@ -1099,11 +1121,11 @@ struct GarrClassSpecEntry LocalizedString* ClassSpec; LocalizedString* ClassSpecMale; LocalizedString* ClassSpecFemale; + uint32 ID; uint16 UiTextureAtlasMemberID; uint16 GarrFollItemSetID; uint8 FollowerClassLimit; uint8 Flags; - uint32 ID; }; struct GarrFollowerEntry @@ -1111,42 +1133,43 @@ struct GarrFollowerEntry LocalizedString* HordeSourceText; LocalizedString* AllianceSourceText; LocalizedString* TitleName; + uint32 ID; + uint8 GarrTypeID; + uint8 GarrFollowerTypeID; int32 HordeCreatureID; int32 AllianceCreatureID; - int32 HordeIconFileDataID; - int32 AllianceIconFileDataID; - uint32 HordeSlottingBroadcastTextID; - uint32 AllySlottingBroadcastTextID; - uint16 HordeGarrFollItemSetID; - uint16 AllianceGarrFollItemSetID; - uint16 ItemLevelWeapon; - uint16 ItemLevelArmor; - uint16 HordeUITextureKitID; - uint16 AllianceUITextureKitID; - uint8 GarrFollowerTypeID; uint8 HordeGarrFollRaceID; uint8 AllianceGarrFollRaceID; - uint8 Quality; uint8 HordeGarrClassSpecID; uint8 AllianceGarrClassSpecID; + uint8 Quality; uint8 FollowerLevel; - uint8 Gender; - uint8 Flags; + uint16 ItemLevelWeapon; + uint16 ItemLevelArmor; int8 HordeSourceTypeEnum; int8 AllianceSourceTypeEnum; - uint8 GarrTypeID; + int32 HordeIconFileDataID; + int32 AllianceIconFileDataID; + uint16 HordeGarrFollItemSetID; + uint16 AllianceGarrFollItemSetID; + uint16 HordeUITextureKitID; + uint16 AllianceUITextureKitID; uint8 Vitality; - uint8 ChrClassID; uint8 HordeFlavorGarrStringID; uint8 AllianceFlavorGarrStringID; - uint32 ID; + uint32 HordeSlottingBroadcastTextID; + uint32 AllySlottingBroadcastTextID; + uint8 ChrClassID; + uint8 Flags; + uint8 Gender; }; struct GarrFollowerXAbilityEntry { uint32 ID; - uint16 GarrAbilityID; + uint8 OrderIndex; uint8 FactionIndex; + uint16 GarrAbilityID; uint16 GarrFollowerID; }; @@ -1154,11 +1177,11 @@ struct GarrPlotEntry { uint32 ID; LocalizedString* Name; - int32 AllianceConstructObjID; - int32 HordeConstructObjID; - uint8 UiCategoryID; uint8 PlotType; + int32 HordeConstructObjID; + int32 AllianceConstructObjID; uint8 Flags; + uint8 UiCategoryID; uint32 UpgradeRequirement[2]; }; @@ -1180,14 +1203,14 @@ struct GarrSiteLevelEntry { uint32 ID; DBCPosition2D TownHallUiPos; + uint32 GarrSiteID; + uint8 GarrLevel; uint16 MapID; - uint16 UiTextureKitID; uint16 UpgradeMovieID; + uint16 UiTextureKitID; + uint8 MaxBuildingLevel; uint16 UpgradeCost; uint16 UpgradeGoldCost; - uint8 GarrLevel; - uint8 GarrSiteID; - uint8 MaxBuildingLevel; }; struct GarrSiteLevelPlotInstEntry @@ -1202,8 +1225,8 @@ struct GarrSiteLevelPlotInstEntry struct GemPropertiesEntry { uint32 ID; - uint32 Type; uint16 EnchantId; + int32 Type; uint16 MinItemLevel; }; @@ -1234,24 +1257,24 @@ struct GuildColorBackgroundEntry { uint32 ID; uint8 Red; - uint8 Green; uint8 Blue; + uint8 Green; }; struct GuildColorBorderEntry { uint32 ID; uint8 Red; - uint8 Green; uint8 Blue; + uint8 Green; }; struct GuildColorEmblemEntry { uint32 ID; uint8 Red; - uint8 Green; uint8 Blue; + uint8 Green; }; struct GuildPerkSpellsEntry @@ -1263,15 +1286,15 @@ struct GuildPerkSpellsEntry struct HeirloomEntry { LocalizedString* SourceText; + uint32 ID; int32 ItemID; - int32 LegacyItemID; int32 LegacyUpgradedItemID; int32 StaticUpgradedItemID; + int8 SourceTypeEnum; + uint8 Flags; + int32 LegacyItemID; int32 UpgradeItemID[3]; uint16 UpgradeItemBonusListID[3]; - uint8 Flags; - int8 SourceTypeEnum; - uint32 ID; }; #define MAX_HOLIDAY_DURATIONS 10 @@ -1281,16 +1304,16 @@ struct HeirloomEntry struct HolidaysEntry { uint32 ID; - uint32 Date[MAX_HOLIDAY_DATES]; // dates in unix time starting at January, 1, 2000 - uint16 Duration[MAX_HOLIDAY_DURATIONS]; uint16 Region; uint8 Looping; - uint8 CalendarFlags[MAX_HOLIDAY_FLAGS]; + uint32 HolidayNameID; + uint32 HolidayDescriptionID; uint8 Priority; int8 CalendarFilterType; uint8 Flags; - uint32 HolidayNameID; - uint32 HolidayDescriptionID; + uint16 Duration[MAX_HOLIDAY_DURATIONS]; + uint32 Date[MAX_HOLIDAY_DATES]; // dates in unix time starting at January, 1, 2000 + uint8 CalendarFlags[MAX_HOLIDAY_DURATIONS]; int32 TextureFileDataID[3]; }; @@ -1324,30 +1347,29 @@ struct ImportPriceWeaponEntry struct ItemEntry { uint32 ID; - int32 IconFileDataID; uint8 ClassID; uint8 SubclassID; - int8 SoundOverrideSubclassID; uint8 Material; - uint8 InventoryType; + int8 InventoryType; uint8 SheatheType; + int8 SoundOverrideSubclassID; + int32 IconFileDataID; uint8 ItemGroupSoundsID; }; struct ItemAppearanceEntry { uint32 ID; + uint8 DisplayType; int32 ItemDisplayInfoID; int32 DefaultIconFileDataID; int32 UiOrder; - uint8 DisplayType; }; struct ItemArmorQualityEntry { uint32 ID; float Qualitymod[7]; - int16 ItemLevel; }; struct ItemArmorShieldEntry @@ -1360,11 +1382,11 @@ struct ItemArmorShieldEntry struct ItemArmorTotalEntry { uint32 ID; + int16 ItemLevel; float Cloth; float Leather; float Mail; float Plate; - int16 ItemLevel; }; struct ItemBagFamilyEntry @@ -1391,10 +1413,10 @@ struct ItemBonusListLevelDeltaEntry struct ItemBonusTreeNodeEntry { uint32 ID; + uint8 ItemContext; uint16 ChildItemBonusTreeID; uint16 ChildItemBonusListID; uint16 ChildItemLevelSelectorID; - uint8 ItemContext; uint16 ParentItemBonusTreeID; }; @@ -1410,8 +1432,8 @@ struct ItemClassEntry { uint32 ID; LocalizedString* ClassName; - float PriceModifier; int8 ClassID; + float PriceModifier; uint8 Flags; }; @@ -1425,45 +1447,40 @@ struct ItemDamageAmmoEntry { uint32 ID; float Quality[7]; - uint16 ItemLevel; }; struct ItemDamageOneHandEntry { uint32 ID; float Quality[7]; - uint16 ItemLevel; }; struct ItemDamageOneHandCasterEntry { uint32 ID; float Quality[7]; - uint16 ItemLevel; }; struct ItemDamageTwoHandEntry { uint32 ID; float Quality[7]; - uint16 ItemLevel; }; struct ItemDamageTwoHandCasterEntry { uint32 ID; float Quality[7]; - uint16 ItemLevel; }; struct ItemDisenchantLootEntry { uint32 ID; + int8 Subclass; + uint8 Quality; uint16 MinLevel; uint16 MaxLevel; uint16 SkillRequired; - int8 Subclass; - uint8 Quality; int8 ExpansionID; uint8 Class; }; @@ -1471,14 +1488,14 @@ struct ItemDisenchantLootEntry struct ItemEffectEntry { uint32 ID; - int32 SpellID; + uint8 LegacySlotIndex; + int8 TriggerType; + int16 Charges; int32 CoolDownMSec; int32 CategoryCoolDownMSec; - int16 Charges; uint16 SpellCategoryID; + int32 SpellID; uint16 ChrSpecializationID; - uint8 LegacySlotIndex; - int8 TriggerType; int32 ParentItemID; }; @@ -1488,16 +1505,16 @@ struct ItemEffectEntry struct ItemExtendedCostEntry { uint32 ID; + uint16 RequiredArenaRating; + int8 ArenaBracket; // arena slot restrictions (min slot value) + uint8 Flags; + uint8 MinFactionID; + uint8 MinReputation; + uint8 RequiredAchievement; // required personal arena rating int32 ItemID[MAX_ITEM_EXT_COST_ITEMS]; // required item id - uint32 CurrencyCount[MAX_ITEM_EXT_COST_CURRENCIES]; // required curency count uint16 ItemCount[MAX_ITEM_EXT_COST_ITEMS]; // required count of 1st item - uint16 RequiredArenaRating; // required personal arena rating uint16 CurrencyID[MAX_ITEM_EXT_COST_CURRENCIES]; // required curency id - uint8 ArenaBracket; // arena slot restrictions (min slot value) - uint8 MinFactionID; - uint8 MinReputation; - uint8 Flags; - uint8 RequiredAchievement; + uint32 CurrencyCount[MAX_ITEM_EXT_COST_CURRENCIES]; // required curency count }; struct ItemLevelSelectorEntry @@ -1540,8 +1557,8 @@ struct ItemLimitCategoryConditionEntry struct ItemModifiedAppearanceEntry { - int32 ItemID; uint32 ID; + int32 ItemID; uint8 ItemAppearanceModifierID; uint16 ItemAppearanceID; uint8 OrderIndex; @@ -1551,9 +1568,9 @@ struct ItemModifiedAppearanceEntry struct ItemPriceBaseEntry { uint32 ID; + uint16 ItemLevel; float Armor; float Weapon; - uint16 ItemLevel; }; #define MAX_ITEM_RANDOM_PROPERTIES 5 @@ -1578,17 +1595,17 @@ struct ItemSearchNameEntry int64 AllowableRace; LocalizedString* Display; uint32 ID; - int32 Flags[3]; - uint16 ItemLevel; uint8 OverallQualityID; uint8 ExpansionID; - int8 RequiredLevel; uint16 MinFactionID; uint8 MinReputation; int32 AllowableClass; + int8 RequiredLevel; uint16 RequiredSkill; uint16 RequiredSkillRank; uint32 RequiredAbility; + uint16 ItemLevel; + int32 Flags[4]; }; #define MAX_ITEM_SET_ITEMS 17 @@ -1597,17 +1614,17 @@ struct ItemSetEntry { uint32 ID; LocalizedString* Name; - uint32 ItemID[MAX_ITEM_SET_ITEMS]; - uint16 RequiredSkillRank; - uint32 RequiredSkill; uint32 SetFlags; + uint32 RequiredSkill; + uint16 RequiredSkillRank; + uint32 ItemID[MAX_ITEM_SET_ITEMS]; }; struct ItemSetSpellEntry { uint32 ID; - uint32 SpellID; uint16 ChrSpecID; + uint32 SpellID; uint8 Threshold; uint16 ItemSetID; }; @@ -1616,80 +1633,80 @@ struct ItemSparseEntry { uint32 ID; int64 AllowableRace; - LocalizedString* Display; - LocalizedString* Display1; - LocalizedString* Display2; - LocalizedString* Display3; LocalizedString* Description; - int32 Flags[MAX_ITEM_PROTO_FLAGS]; - float PriceRandomValue; - float PriceVariance; - uint32 VendorStackCount; - uint32 BuyPrice; - uint32 SellPrice; - uint32 RequiredAbility; - int32 MaxCount; - int32 Stackable; - int32 StatPercentEditor[MAX_ITEM_PROTO_STATS]; - float StatPercentageOfSocket[MAX_ITEM_PROTO_STATS]; - float ItemRange; - uint32 BagFamily; - float QualityModifier; - uint32 DurationInInventory; + LocalizedString* Display3; + LocalizedString* Display2; + LocalizedString* Display1; + LocalizedString* Display; float DmgVariance; - int16 AllowableClass; - uint16 ItemLevel; - uint16 RequiredSkill; - uint16 RequiredSkillRank; - uint16 MinFactionID; - int16 ItemStatValue[MAX_ITEM_PROTO_STATS]; - uint16 ScalingStatDistributionID; - uint16 ItemDelay; - uint16 PageID; - uint16 StartQuestID; - uint16 LockID; - uint16 RandomSelect; - uint16 ItemRandomSuffixGroupID; - uint16 ItemSet; - uint16 ZoneBound; - uint16 InstanceBound; - uint16 TotemCategoryID; - uint16 SocketMatchEnchantmentId; - uint16 GemProperties; - uint16 LimitCategory; - uint16 RequiredHoliday; - uint16 RequiredTransmogHoliday; + uint32 DurationInInventory; + float QualityModifier; + uint32 BagFamily; + float ItemRange; + float StatPercentageOfSocket[MAX_ITEM_PROTO_STATS]; + int32 StatPercentEditor[MAX_ITEM_PROTO_STATS]; + int32 Stackable; + int32 MaxCount; + uint32 RequiredAbility; + uint32 SellPrice; + uint32 BuyPrice; + uint32 VendorStackCount; + float PriceVariance; + float PriceRandomValue; + int32 Flags[MAX_ITEM_PROTO_FLAGS]; + int32 Unknown; uint16 ItemNameDescriptionID; - uint8 OverallQualityID; - uint8 InventoryType; - int8 RequiredLevel; - uint8 RequiredPVPRank; - uint8 RequiredPVPMedal; - uint8 MinReputation; - uint8 ContainerSlots; - int8 StatModifierBonusStat[MAX_ITEM_PROTO_STATS]; - uint8 DamageDamageType; - uint8 Bonding; - uint8 LanguageID; - uint8 PageMaterialID; - uint8 Material; - uint8 SheatheType; - uint8 SocketType[MAX_ITEM_PROTO_SOCKETS]; - uint8 SpellWeightCategory; - uint8 SpellWeight; - uint8 ArtifactID; + uint16 RequiredTransmogHoliday; + uint16 RequiredHoliday; + uint16 LimitCategory; + uint16 GemProperties; + uint16 SocketMatchEnchantmentId; + uint16 TotemCategoryID; + uint16 InstanceBound; + uint16 ZoneBound; + uint16 ItemSet; + uint16 ItemRandomSuffixGroupID; + uint16 RandomSelect; + uint16 LockID; + uint16 StartQuestID; + uint16 PageID; + uint16 ItemDelay; + uint16 ScalingStatDistributionID; + uint16 MinFactionID; + uint16 RequiredSkillRank; + uint16 RequiredSkill; + uint16 ItemLevel; + int16 AllowableClass; uint8 ExpansionID; + uint8 ArtifactID; + uint8 SpellWeight; + uint8 SpellWeightCategory; + uint8 SocketType[MAX_ITEM_PROTO_SOCKETS]; + uint8 SheatheType; + uint8 Material; + uint8 PageMaterialID; + uint8 LanguageID; + uint8 Bonding; + uint8 DamageDamageType; + int8 StatModifierBonusStat[MAX_ITEM_PROTO_STATS]; + uint8 ContainerSlots; + uint8 MinReputation; + uint8 RequiredPVPMedal; + uint8 RequiredPVPRank; + int8 RequiredLevel; + uint8 InventoryType; + uint8 OverallQualityID; }; struct ItemSpecEntry { uint32 ID; - uint16 SpecializationID; uint8 MinLevel; uint8 MaxLevel; uint8 ItemType; uint8 PrimaryStat; uint8 SecondaryStat; + uint16 SpecializationID; }; struct ItemSpecOverrideEntry @@ -1702,11 +1719,11 @@ struct ItemSpecOverrideEntry struct ItemUpgradeEntry { uint32 ID; - uint32 CurrencyAmount; - uint16 PrerequisiteID; - uint16 CurrencyType; uint8 ItemUpgradePathID; uint8 ItemLevelIncrement; + uint16 PrerequisiteID; + uint16 CurrencyType; + uint32 CurrencyAmount; }; struct ItemXBonusTreeEntry @@ -1729,37 +1746,37 @@ struct LFGDungeonsEntry uint32 ID; LocalizedString* Name; LocalizedString* Description; - int32 Flags; - float MinGear; - uint16 MaxLevel; - uint16 TargetLevelMax; - int16 MapID; - uint16 RandomID; - uint16 ScenarioID; - uint16 FinalEncounterID; - uint16 BonusReputationAmount; - uint16 MentorItemLevel; - uint16 RequiredPlayerConditionId; uint8 MinLevel; - uint8 TargetLevel; - uint8 TargetLevelMin; - uint8 DifficultyID; + uint16 MaxLevel; uint8 TypeID; + uint8 Subtype; int8 Faction; + int32 IconTextureFileID; + int32 RewardsBgTextureFileID; + int32 PopupBgTextureFileID; uint8 ExpansionLevel; - uint8 OrderIndex; + int16 MapID; + uint8 DifficultyID; + float MinGear; uint8 GroupID; + uint8 OrderIndex; + uint32 RequiredPlayerConditionId; + uint8 TargetLevel; + uint8 TargetLevelMin; + uint16 TargetLevelMax; + uint16 RandomID; + uint16 ScenarioID; + uint16 FinalEncounterID; uint8 CountTank; uint8 CountHealer; uint8 CountDamage; uint8 MinCountTank; uint8 MinCountHealer; uint8 MinCountDamage; - uint8 Subtype; + uint16 BonusReputationAmount; + uint16 MentorItemLevel; uint8 MentorCharLevel; - int32 IconTextureFileID; - int32 RewardsBgTextureFileID; - int32 PopupBgTextureFileID; + int32 Flags[2]; // Helpers uint32 Entry() const { return ID + (TypeID << 24); } @@ -1780,23 +1797,25 @@ struct LiquidTypeEntry uint32 ID; char const* Name; char const* Texture[6]; + uint16 Flags; + uint8 SoundBank; // used to be "type", maybe needs fixing (works well for now) + uint32 SoundID; uint32 SpellID; float MaxDarkenDepth; float FogDarkenIntensity; float AmbDarkenIntensity; float DirDarkenIntensity; - float ParticleScale; - int32 Color[2]; - float Float[18]; - uint32 Int[4]; - uint16 Flags; uint16 LightID; - uint8 SoundBank; // used to be "type", maybe needs fixing (works well for now) + float ParticleScale; uint8 ParticleMovement; uint8 ParticleTexSlots; uint8 MaterialID; + int32 MinimapStaticCol; uint8 FrameCountTexture[6]; - uint32 SoundID; + int32 Color[2]; + float Float[18]; + uint32 Int[4]; + float Coefficient[4]; }; #define MAX_LOCK_CASE 8 @@ -1825,21 +1844,22 @@ struct MapEntry LocalizedString* MapDescription1; // Alliance LocalizedString* PvpShortDescription; LocalizedString* PvpLongDescription; - int32 Flags[2]; - float MinimapIconScale; DBCPosition2D Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance) + uint8 MapType; + int8 InstanceType; + uint8 ExpansionID; uint16 AreaTableID; int16 LoadingScreenID; - int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance) int16 TimeOfDayOverride; int16 ParentMapID; int16 CosmeticParentMapID; - int16 WindSettingsID; - uint8 InstanceType; - uint8 MapType; - uint8 ExpansionID; - uint8 MaxPlayers; uint8 TimeOffset; + float MinimapIconScale; + int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance) + uint8 MaxPlayers; + int16 WindSettingsID; + int32 ZmpFileDataID; + int32 Flags[2]; // Helpers uint8 Expansion() const { return ExpansionID; } @@ -1877,13 +1897,14 @@ struct MapDifficultyEntry { uint32 ID; LocalizedString* Message; // m_message_lang (text showed when transfer to map failed) + uint32 ItemContextPickerID; + int32 Unknown; uint8 DifficultyID; + uint8 LockID; uint8 ResetInterval; uint8 MaxPlayers; - uint8 LockID; - uint8 Flags; uint8 ItemContext; - uint32 ItemContextPickerID; + uint8 Flags; uint16 MapID; uint32 GetRaidDuration() const @@ -1899,13 +1920,13 @@ struct MapDifficultyEntry struct ModifierTreeEntry { uint32 ID; - int32 Asset; - int32 SecondaryAsset; uint32 Parent; - uint8 Type; - int8 TertiaryAsset; int8 Operator; int8 Amount; + uint8 Type; + int32 Asset; + int32 SecondaryAsset; + int8 TertiaryAsset; }; struct MountEntry @@ -1913,13 +1934,13 @@ struct MountEntry LocalizedString* Name; LocalizedString* Description; LocalizedString* SourceText; - int32 SourceSpellID; - float MountFlyRideHeight; + uint32 ID; uint16 MountTypeID; uint16 Flags; int8 SourceTypeEnum; - uint32 ID; + int32 SourceSpellID; uint32 PlayerConditionID; + float MountFlyRideHeight; int32 UiModelSceneID; bool IsSelfMount() const { return (Flags & MOUNT_FLAG_SELF_MOUNT) != 0; } @@ -1927,14 +1948,14 @@ struct MountEntry struct MountCapabilityEntry { - int32 ReqSpellKnownID; - int32 ModSpellAuraID; + uint32 ID; + uint8 Flags; uint16 ReqRidingSkill; uint16 ReqAreaID; - int16 ReqMapID; - uint8 Flags; - uint32 ID; uint32 ReqSpellAuraID; + int32 ReqSpellKnownID; + int32 ModSpellAuraID; + int16 ReqMapID; }; struct MountTypeXCapabilityEntry @@ -1956,10 +1977,10 @@ struct MountXDisplayEntry struct MovieEntry { uint32 ID; - uint32 AudioFileDataID; - uint32 SubtitleFileDataID; uint8 Volume; uint8 KeyID; + uint32 AudioFileDataID; + uint32 SubtitleFileDataID; }; struct NameGenEntry @@ -2018,12 +2039,9 @@ struct PlayerConditionEntry int64 RaceMask; LocalizedString* FailureDescription; uint32 ID; - uint8 Flags; uint16 MinLevel; uint16 MaxLevel; int32 ClassMask; - int8 Gender; - int8 NativeGender; uint32 SkillLogic; uint8 LanguageID; uint8 MinLanguage; @@ -2032,8 +2050,6 @@ struct PlayerConditionEntry uint8 MaxReputation; uint32 ReputationLogic; int8 CurrentPvpFaction; - uint8 MinPVPRank; - uint8 MaxPVPRank; uint8 PvpMedal; uint32 PrevQuestLogic; uint32 CurrQuestLogic; @@ -2047,31 +2063,36 @@ struct PlayerConditionEntry uint8 PartyStatus; uint8 LifetimeMaxPVPRank; uint32 AchievementLogic; - uint32 LfgLogic; + int8 Gender; + int8 NativeGender; uint32 AreaLogic; + uint32 LfgLogic; uint32 CurrencyLogic; uint16 QuestKillID; uint32 QuestKillLogic; int8 MinExpansionLevel; int8 MaxExpansionLevel; - int8 MinExpansionTier; - int8 MaxExpansionTier; - uint8 MinGuildLevel; - uint8 MaxGuildLevel; - uint8 PhaseUseFlags; - uint16 PhaseID; - uint32 PhaseGroupID; int32 MinAvgItemLevel; int32 MaxAvgItemLevel; uint16 MinAvgEquippedItemLevel; uint16 MaxAvgEquippedItemLevel; + uint8 PhaseUseFlags; + uint16 PhaseID; + uint32 PhaseGroupID; + uint8 Flags; int8 ChrSpecializationIndex; int8 ChrSpecializationRole; + uint32 ModifierTreeID; int8 PowerType; uint8 PowerTypeComp; uint8 PowerTypeValue; - uint32 ModifierTreeID; int32 WeaponSubclassMask; + uint8 MaxGuildLevel; + uint8 MinGuildLevel; + int8 MaxExpansionTier; + int8 MinExpansionTier; + uint8 MinPVPRank; + uint8 MaxPVPRank; uint16 SkillID[4]; uint16 MinSkill[4]; uint16 MaxSkill[4]; @@ -2088,10 +2109,10 @@ struct PlayerConditionEntry int32 AuraSpellID[4]; uint8 AuraStacks[4]; uint16 Achievement[4]; + uint16 AreaID[4]; uint8 LfgStatus[4]; uint8 LfgCompare[4]; uint32 LfgValue[4]; - uint16 AreaID[4]; uint32 CurrencyID[4]; uint32 CurrencyCount[4]; uint32 QuestKillMonster[6]; @@ -2113,25 +2134,26 @@ struct PowerTypeEntry uint32 ID; char const* NameGlobalStringTag; char const* CostGlobalStringTag; - float RegenPeace; - float RegenCombat; - int16 MaxBasePower; - int16 RegenInterruptTimeMS; - int16 Flags; int8 PowerTypeEnum; int8 MinPower; + int16 MaxBasePower; int8 CenterPower; int8 DefaultPower; int8 DisplayModifier; + int16 RegenInterruptTimeMS; + float RegenPeace; + float RegenCombat; + int16 Flags; }; struct PrestigeLevelInfoEntry { uint32 ID; LocalizedString* Name; + int32 HonorLevel; int32 BadgeTextureFileDataID; - uint8 PrestigeLevel; uint8 Flags; + int32 Unknown; bool IsDisabled() const { return (Flags & PRESTIGE_FLAG_DISABLED) != 0; } }; @@ -2155,35 +2177,17 @@ struct PVPItemEntry uint8 ItemLevelDelta; }; -struct PvpRewardEntry -{ - uint32 ID; - int32 HonorLevel; - int32 PrestigeLevel; - int32 RewardPackID; -}; - struct PvpTalentEntry { - uint32 ID; LocalizedString* Description; + uint32 ID; + int32 SpecID; int32 SpellID; int32 OverridesSpellID; - int32 ActionBarSpellID; - int32 TierID; - int32 ColumnIndex; int32 Flags; - int32 ClassID; - int32 SpecID; - int32 Role; -}; - -struct PvpTalentUnlockEntry -{ - uint32 ID; - int32 TierID; - int32 ColumnIndex; - int32 HonorLevel; + int32 ActionBarSpellID; + int32 PvpTalentCategoryID; + int32 LevelRequired; }; struct QuestFactionRewardEntry @@ -2201,10 +2205,10 @@ struct QuestMoneyRewardEntry struct QuestPackageItemEntry { uint32 ID; - int32 ItemID; uint16 PackageID; - uint8 DisplayType; + int32 ItemID; uint32 ItemQuantity; + uint8 DisplayType; }; struct QuestSortEntry @@ -2229,6 +2233,7 @@ struct QuestXPEntry struct RandPropPointsEntry { uint32 ID; + int32 DamageReplaceStat; uint32 Epic[5]; uint32 Superior[5]; uint32 Good[5]; @@ -2237,11 +2242,11 @@ struct RandPropPointsEntry struct RewardPackEntry { uint32 ID; + int32 CharTitleID; uint32 Money; - float ArtifactXPMultiplier; int8 ArtifactXPDifficulty; + float ArtifactXPMultiplier; uint8 ArtifactXPCategoryID; - int32 CharTitleID; uint32 TreasurePickerID; }; @@ -2268,13 +2273,14 @@ struct RulesetItemUpgradeEntry uint16 ItemUpgradeID; }; -struct SandboxScalingEntry +// Exchanged by ContentTuning +/*struct SandboxScalingEntry { uint32 ID; int32 MinLevel; int32 MaxLevel; int32 Flags; -}; +};*/ struct ScalingStatDistributionEntry { @@ -2289,8 +2295,9 @@ struct ScenarioEntry uint32 ID; LocalizedString* Name; uint16 AreaTableID; - uint8 Flags; uint8 Type; + uint8 Flags; + uint32 Unknown; }; struct ScenarioStepEntry @@ -2299,12 +2306,14 @@ struct ScenarioStepEntry LocalizedString* Description; LocalizedString* Title; uint16 ScenarioID; - uint16 Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?) + uint32 Criteriatreeid; uint16 RewardQuestID; + int32 RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field + uint16 Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?) uint8 OrderIndex; uint8 Flags; - uint32 Criteriatreeid; - int32 RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field + uint32 VisibilityPlayerConditionID; + uint16 Unknown; // helpers bool IsBonusObjective() const @@ -2342,33 +2351,38 @@ struct SceneScriptTextEntry struct SkillLineEntry { - uint32 ID; LocalizedString* DisplayName; - LocalizedString* Description; LocalizedString* AlternateVerb; - uint16 Flags; + LocalizedString* Description; + LocalizedString* HordeDisplayName; + char const* ExpansionDisplayName; + uint32 ID; int8 CategoryID; - int8 CanLink; int32 SpellIconFileID; + int8 CanLink; uint32 ParentSkillLineID; + int32 ParentTierIndex; + uint16 Flags; + int32 SpellID; }; struct SkillLineAbilityEntry { int64 RaceMask; uint32 ID; + int16 SkillLine; int32 Spell; + int16 MinSkillLineRank; + int32 ClassMask; int32 SupercedesSpell; - int16 SkillLine; + int8 AcquireMethod; int16 TrivialSkillLineRankHigh; int16 TrivialSkillLineRankLow; + int8 Flags; + int8 NumSkillUps; int16 UniqueBit; int16 TradeSkillCategoryID; - int8 NumSkillUps; - int32 ClassMask; - int16 MinSkillLineRank; - int8 AcquireMethod; - int8 Flags; + int16 SkillupSkillLineID; }; struct SkillRaceClassInfoEntry @@ -2376,28 +2390,28 @@ struct SkillRaceClassInfoEntry uint32 ID; int64 RaceMask; int16 SkillID; + int32 ClassMask; uint16 Flags; - int16 SkillTierID; int8 Availability; int8 MinLevel; - int32 ClassMask; + int16 SkillTierID; }; struct SoundKitEntry { uint32 ID; + uint8 SoundType; float VolumeFloat; + uint16 Flags; float MinDistance; float DistanceCutoff; - uint16 Flags; - uint16 SoundEntriesAdvancedID; - uint8 SoundType; - uint8 DialogType; uint8 EAXDef; + uint32 SoundKitAdvancedID; float VolumeVariationPlus; float VolumeVariationMinus; float PitchVariationPlus; float PitchVariationMinus; + int8 DialogType; float PitchAdjust; uint16 BusOverwriteID; uint8 MaxInstances; @@ -2406,17 +2420,16 @@ struct SoundKitEntry struct SpecializationSpellsEntry { LocalizedString* Description; + uint32 ID; + uint16 SpecID; int32 SpellID; int32 OverridesSpellID; - uint16 SpecID; uint8 DisplayOrder; - uint32 ID; }; struct SpellEntry { uint32 ID; - LocalizedString* Name; LocalizedString* NameSubtext; LocalizedString* Description; LocalizedString* AuraDescription; @@ -2425,28 +2438,28 @@ struct SpellEntry struct SpellAuraOptionsEntry { uint32 ID; - int32 ProcCharges; - int32 ProcTypeMask; - int32 ProcCategoryRecovery; - uint16 CumulativeAura; - uint16 SpellProcsPerMinuteID; uint8 DifficultyID; + uint16 CumulativeAura; + int32 ProcCategoryRecovery; uint8 ProcChance; + int32 ProcCharges; + uint16 SpellProcsPerMinuteID; + int32 ProcTypeMask[2]; int32 SpellID; }; struct SpellAuraRestrictionsEntry { uint32 ID; - int32 CasterAuraSpell; - int32 TargetAuraSpell; - int32 ExcludeCasterAuraSpell; - int32 ExcludeTargetAuraSpell; uint8 DifficultyID; uint8 CasterAuraState; uint8 TargetAuraState; uint8 ExcludeCasterAuraState; uint8 ExcludeTargetAuraState; + int32 CasterAuraSpell; + int32 TargetAuraSpell; + int32 ExcludeCasterAuraSpell; + int32 ExcludeTargetAuraSpell; int32 SpellID; }; @@ -2454,33 +2467,33 @@ struct SpellCastTimesEntry { uint32 ID; int32 Base; - int32 Minimum; int16 PerLevel; + int32 Minimum; }; struct SpellCastingRequirementsEntry { uint32 ID; int32 SpellID; - uint16 MinFactionID; - uint16 RequiredAreasID; - uint16 RequiresSpellFocus; uint8 FacingCasterFlags; + uint16 MinFactionID; int8 MinReputation; + uint16 RequiredAreasID; uint8 RequiredAuraVision; + uint16 RequiresSpellFocus; }; struct SpellCategoriesEntry { uint32 ID; - int16 Category; - int16 StartRecoveryCategory; - int16 ChargeCategory; uint8 DifficultyID; + int16 Category; int8 DefenseType; int8 DispelType; int8 Mechanic; int8 PreventionType; + int16 StartRecoveryCategory; + int16 ChargeCategory; int32 SpellID; }; @@ -2488,10 +2501,10 @@ struct SpellCategoryEntry { uint32 ID; LocalizedString* Name; - int32 ChargeRecoveryTime; int8 Flags; uint8 UsesPerWeek; int8 MaxCharges; + int32 ChargeRecoveryTime; int32 TypeMask; }; @@ -2499,18 +2512,18 @@ struct SpellClassOptionsEntry { uint32 ID; int32 SpellID; - flag128 SpellClassMask; - uint8 SpellClassSet; uint32 ModalNextSpell; + uint8 SpellClassSet; + flag128 SpellClassMask; }; struct SpellCooldownsEntry { uint32 ID; + uint8 DifficultyID; int32 CategoryRecoveryTime; int32 RecoveryTime; int32 StartRecoveryTime; - uint8 DifficultyID; int32 SpellID; }; @@ -2518,41 +2531,40 @@ struct SpellDurationEntry { uint32 ID; int32 Duration; - int32 MaxDuration; uint32 DurationPerLevel; + int32 MaxDuration; }; struct SpellEffectEntry { uint32 ID; - uint32 Effect; - int32 EffectBasePoints; - int32 EffectIndex; - int32 EffectAura; int32 DifficultyID; + int32 EffectIndex; + uint32 Effect; float EffectAmplitude; + int32 EffectAttributes; + int16 EffectAura; int32 EffectAuraPeriod; float EffectBonusCoefficient; float EffectChainAmplitude; int32 EffectChainTargets; - int32 EffectDieSides; int32 EffectItemType; int32 EffectMechanic; float EffectPointsPerResource; + float EffectPosFacing; float EffectRealPointsPerLevel; int32 EffectTriggerSpell; - float EffectPosFacing; - int32 EffectAttributes; float BonusCoefficientFromAP; float PvpMultiplier; float Coefficient; float Variance; float ResourceCoefficient; float GroupSizeBasePointsCoefficient; - flag128 EffectSpellClassMask; + float EffectBasePoints; int32 EffectMiscValue[2]; uint32 EffectRadiusIndex[2]; - uint32 ImplicitTarget[2]; + flag128 EffectSpellClassMask; + int16 ImplicitTarget[2]; int32 SpellID; }; @@ -2560,9 +2572,9 @@ struct SpellEquippedItemsEntry { uint32 ID; int32 SpellID; + int8 EquippedItemClass; int32 EquippedItemInvTypes; int32 EquippedItemSubclass; - int8 EquippedItemClass; }; struct SpellFocusObjectEntry @@ -2587,10 +2599,12 @@ struct SpellItemEnchantmentEntry { uint32 ID; LocalizedString* Name; + LocalizedString* HordeName; uint32 EffectArg[MAX_ITEM_ENCHANTMENT_EFFECTS]; float EffectScalingPoints[MAX_ITEM_ENCHANTMENT_EFFECTS]; uint32 TransmogCost; uint32 IconFileDataID; + uint32 TransmogPlayerConditionID; int16 EffectPointsMin[MAX_ITEM_ENCHANTMENT_EFFECTS]; uint16 ItemVisual; uint16 Flags; @@ -2599,19 +2613,18 @@ struct SpellItemEnchantmentEntry uint16 ItemLevel; uint8 Charges; uint8 Effect[MAX_ITEM_ENCHANTMENT_EFFECTS]; + int8 ScalingClass; + int8 ScalingClassRestricted; uint8 ConditionID; uint8 MinLevel; uint8 MaxLevel; - int8 ScalingClass; - int8 ScalingClassRestricted; - uint32 TransmogPlayerConditionID; }; struct SpellItemEnchantmentConditionEntry { uint32 ID; - uint32 LtOperand[5]; uint8 LtOperandType[5]; + uint32 LtOperand[5]; uint8 Operator[5]; uint8 RtOperandType[5]; uint8 RtOperand[5]; @@ -2629,10 +2642,10 @@ struct SpellLearnSpellEntry struct SpellLevelsEntry { uint32 ID; + uint8 DifficultyID; int16 BaseLevel; int16 MaxLevel; int16 SpellLevel; - uint8 DifficultyID; uint8 MaxPassiveAuraLevel; int32 SpellID; }; @@ -2640,43 +2653,50 @@ struct SpellLevelsEntry struct SpellMiscEntry { uint32 ID; + uint8 DifficultyID; uint16 CastingTimeIndex; uint16 DurationIndex; uint16 RangeIndex; uint8 SchoolMask; - int32 SpellIconFileDataID; float Speed; - int32 ActiveIconFileDataID; float LaunchDelay; - uint8 DifficultyID; + float Unknown; + int32 SpellIconFileDataID; + int32 ActiveIconFileDataID; int32 Attributes[14]; int32 SpellID; }; +struct SpellNameEntry +{ + uint32 ID; // SpellID + LocalizedString* Name; +}; + struct SpellPowerEntry { - int32 ManaCost; - float PowerCostPct; - float PowerPctPerSecond; - int32 RequiredAuraSpellID; - float PowerCostMaxPct; - uint8 OrderIndex; - int8 PowerType; uint32 ID; + uint8 OrderIndex; + int32 ManaCost; int32 ManaCostPerLevel; int32 ManaPerSecond; - uint32 OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource - // only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG uint32 PowerDisplayID; int32 AltPowerBarID; + float PowerCostPct; + float PowerCostMaxPct; + float PowerPctPerSecond; + int8 PowerType; + int32 RequiredAuraSpellID; + uint32 OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource + // only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG int32 SpellID; }; struct SpellPowerDifficultyEntry { + uint32 ID; uint8 DifficultyID; uint8 OrderIndex; - uint32 ID; }; struct SpellProcsPerMinuteEntry @@ -2689,9 +2709,9 @@ struct SpellProcsPerMinuteEntry struct SpellProcsPerMinuteModEntry { uint32 ID; - float Coeff; - int16 Param; uint8 Type; + int16 Param; + float Coeff; uint16 SpellProcsPerMinuteID; }; @@ -2709,9 +2729,9 @@ struct SpellRangeEntry uint32 ID; LocalizedString* DisplayName; LocalizedString* DisplayNameShort; + uint8 Flags; float RangeMin[2]; float RangeMax[2]; - uint8 Flags; }; #define MAX_SPELL_REAGENTS 8 @@ -2728,19 +2748,19 @@ struct SpellScalingEntry { uint32 ID; int32 SpellID; - int16 ScalesFromItemLevel; int32 Class; uint32 MinScalingLevel; uint32 MaxScalingLevel; + int16 ScalesFromItemLevel; }; struct SpellShapeshiftEntry { uint32 ID; int32 SpellID; + int8 StanceBarOrder; int32 ShapeshiftExclude[2]; int32 ShapeshiftMask[2]; - int8 StanceBarOrder; }; #define MAX_SHAPESHIFT_SPELLS 8 @@ -2749,13 +2769,13 @@ struct SpellShapeshiftFormEntry { uint32 ID; LocalizedString* Name; - float DamageVariance; + int8 CreatureType; int32 Flags; + int32 AttackIconFileID; + int8 BonusActionBar; int16 CombatRoundTime; + float DamageVariance; uint16 MountTypeID; - int8 CreatureType; - int8 BonusActionBar; - int32 AttackIconFileID; uint32 CreatureDisplayID[4]; uint32 PresetSpellID[MAX_SHAPESHIFT_SPELLS]; }; @@ -2763,13 +2783,13 @@ struct SpellShapeshiftFormEntry struct SpellTargetRestrictionsEntry { uint32 ID; - float ConeDegrees; - float Width; - int32 Targets; - int16 TargetCreatureType; uint8 DifficultyID; + float ConeDegrees; uint8 MaxTargets; uint32 MaxTargetLevel; + int16 TargetCreatureType; + int32 Targets; + float Width; int32 SpellID; }; @@ -2779,35 +2799,35 @@ struct SpellTotemsEntry { uint32 ID; int32 SpellID; - int32 Totem[MAX_SPELL_TOTEMS]; uint16 RequiredTotemCategoryID[MAX_SPELL_TOTEMS]; + int32 Totem[MAX_SPELL_TOTEMS]; }; struct SpellXSpellVisualEntry { - uint32 SpellVisualID; uint32 ID; + uint8 DifficultyID; + uint32 SpellVisualID; float Probability; - uint16 CasterPlayerConditionID; - uint16 CasterUnitConditionID; - uint16 ViewerPlayerConditionID; - uint16 ViewerUnitConditionID; - int32 SpellIconFileID; - int32 ActiveIconFileID; uint8 Flags; - uint8 DifficultyID; uint8 Priority; + int32 SpellIconFileID; + int32 ActiveIconFileID; + uint16 ViewerUnitConditionID; + uint32 ViewerPlayerConditionID; + uint16 CasterUnitConditionID; + uint32 CasterPlayerConditionID; int32 SpellID; }; struct SummonPropertiesEntry { uint32 ID; - int32 Flags; int32 Control; int32 Faction; int32 Title; int32 Slot; + int32 Flags; }; #define TACTKEY_SIZE 16 @@ -2822,48 +2842,49 @@ struct TalentEntry { uint32 ID; LocalizedString* Description; - uint32 SpellID; - uint32 OverridesSpellID; - uint16 SpecID; uint8 TierID; - uint8 ColumnIndex; uint8 Flags; - uint8 CategoryMask[2]; + uint8 ColumnIndex; uint8 ClassID; + uint16 SpecID; + uint32 SpellID; + uint32 OverridesSpellID; + uint8 CategoryMask[2]; }; struct TaxiNodesEntry { - uint32 ID; LocalizedString* Name; DBCPosition3D Pos; - int32 MountCreatureID[2]; DBCPosition2D MapOffset; - float Facing; DBCPosition2D FlightMapOffset; + uint32 ID; uint16 ContinentID; uint16 ConditionID; uint16 CharacterBitNumber; uint8 Flags; int32 UiTextureKitID; + float Facing; uint32 SpecialIconConditionID; + uint32 Unknown; + int32 MountCreatureID[2]; }; struct TaxiPathEntry { + uint32 ID; uint16 FromTaxiNode; uint16 ToTaxiNode; - uint32 ID; uint32 Cost; }; struct TaxiPathNodeEntry { DBCPosition3D Loc; + uint32 ID; uint16 PathID; + int32 NodeIndex; uint16 ContinentID; - uint8 NodeIndex; - uint32 ID; uint8 Flags; uint32 Delay; uint16 ArrivalEventID; @@ -2874,17 +2895,17 @@ struct TotemCategoryEntry { uint32 ID; LocalizedString* Name; - int32 TotemCategoryMask; uint8 TotemCategoryType; + int32 TotemCategoryMask; }; struct ToyEntry { LocalizedString* SourceText; + uint32 ID; int32 ItemID; uint8 Flags; int8 SourceTypeEnum; - uint32 ID; }; struct TransmogHolidayEntry @@ -2896,15 +2917,15 @@ struct TransmogHolidayEntry struct TransmogSetEntry { LocalizedString* Name; - uint16 ParentTransmogSetID; - int16 UiOrder; - uint8 ExpansionID; uint32 ID; - int32 Flags; - uint32 TrackingQuestID; int32 ClassMask; - int32 ItemNameDescriptionID; + uint32 TrackingQuestID; + int32 Flags; uint32 TransmogSetGroupID; + int32 ItemNameDescriptionID; + uint16 ParentTransmogSetID; + uint8 ExpansionID; + int16 UiOrder; }; struct TransmogSetGroupEntry @@ -2924,17 +2945,17 @@ struct TransmogSetItemEntry struct TransportAnimationEntry { uint32 ID; - uint32 TimeIndex; DBCPosition3D Pos; uint8 SequenceID; + uint32 TimeIndex; int32 TransportID; }; struct TransportRotationEntry { uint32 ID; - uint32 TimeIndex; float Rot[4]; + uint32 TimeIndex; int32 GameObjectsID; }; @@ -2945,18 +2966,18 @@ struct UnitPowerBarEntry LocalizedString* Cost; LocalizedString* OutOfError; LocalizedString* ToolTip; + uint32 MinPower; + uint32 MaxPower; + uint16 StartPower; + uint8 CenterPower; float RegenerationPeace; float RegenerationCombat; - int32 FileDataID[6]; - int32 Color[6]; + uint8 BarType; + uint16 Flags; float StartInset; float EndInset; - uint16 StartPower; - uint16 Flags; - uint8 CenterPower; - uint8 BarType; - uint32 MinPower; - uint32 MaxPower; + int32 FileDataID[6]; + int32 Color[6]; }; #define MAX_VEHICLE_SEATS 8 @@ -2965,6 +2986,7 @@ struct VehicleEntry { uint32 ID; int32 Flags; + uint8 FlagsB; float TurnSpeed; float PitchSpeed; float PitchMin; @@ -2976,21 +2998,22 @@ struct VehicleEntry float FacingLimitRight; float FacingLimitLeft; float CameraYawOffset; - uint16 SeatID[MAX_VEHICLE_SEATS]; - uint16 VehicleUIIndicatorID; - uint16 PowerDisplayID[3]; - uint8 FlagsB; uint8 UiLocomotionType; + uint16 VehicleUIIndicatorID; int32 MissileTargetingID; + uint16 SeatID[8]; + uint16 PowerDisplayID[3]; }; struct VehicleSeatEntry { uint32 ID; + DBCPosition3D AttachmentOffset; + DBCPosition3D CameraOffset; int32 Flags; int32 FlagsB; int32 FlagsC; - DBCPosition3D AttachmentOffset; + int8 AttachmentID; float EnterPreDelay; float EnterSpeed; float EnterGravity; @@ -2998,6 +3021,12 @@ struct VehicleSeatEntry float EnterMaxDuration; float EnterMinArcHeight; float EnterMaxArcHeight; + int32 EnterAnimStart; + int32 EnterAnimLoop; + int32 RideAnimStart; + int32 RideAnimLoop; + int32 RideUpperAnimStart; + int32 RideUpperAnimLoop; float ExitPreDelay; float ExitSpeed; float ExitGravity; @@ -3005,34 +3034,34 @@ struct VehicleSeatEntry float ExitMaxDuration; float ExitMinArcHeight; float ExitMaxArcHeight; + int32 ExitAnimStart; + int32 ExitAnimLoop; + int32 ExitAnimEnd; + int16 VehicleEnterAnim; + int8 VehicleEnterAnimBone; + int16 VehicleExitAnim; + int8 VehicleExitAnimBone; + int16 VehicleRideAnimLoop; + int8 VehicleRideAnimLoopBone; + int8 PassengerAttachmentID; float PassengerYaw; float PassengerPitch; float PassengerRoll; float VehicleEnterAnimDelay; float VehicleExitAnimDelay; + int8 VehicleAbilityDisplay; + uint32 EnterUISoundID; + uint32 ExitUISoundID; + int32 UiSkinFileDataID; float CameraEnteringDelay; float CameraEnteringDuration; float CameraExitingDelay; float CameraExitingDuration; - DBCPosition3D CameraOffset; float CameraPosChaseRate; float CameraFacingChaseRate; float CameraEnteringZoom; float CameraSeatZoomMin; float CameraSeatZoomMax; - int32 UiSkinFileDataID; - int16 EnterAnimStart; - int16 EnterAnimLoop; - int16 RideAnimStart; - int16 RideAnimLoop; - int16 RideUpperAnimStart; - int16 RideUpperAnimLoop; - int16 ExitAnimStart; - int16 ExitAnimLoop; - int16 ExitAnimEnd; - int16 VehicleEnterAnim; - int16 VehicleExitAnim; - int16 VehicleRideAnimLoop; int16 EnterAnimKitID; int16 RideAnimKitID; int16 ExitAnimKitID; @@ -3040,14 +3069,6 @@ struct VehicleSeatEntry int16 VehicleRideAnimKitID; int16 VehicleExitAnimKitID; int16 CameraModeID; - int8 AttachmentID; - int8 PassengerAttachmentID; - int8 VehicleEnterAnimBone; - int8 VehicleExitAnimBone; - int8 VehicleRideAnimLoopBone; - int8 VehicleAbilityDisplay; - uint32 EnterUISoundID; - uint32 ExitUISoundID; bool CanEnterOrExit() const { @@ -3068,97 +3089,59 @@ struct VehicleSeatEntry struct WMOAreaTableEntry { LocalizedString* AreaName; + uint32 ID; + uint16 WmoID; // used in root WMO + uint8 NameSetID; // used in adt file int32 WmoGroupID; // used in group WMO + uint8 SoundProviderPref; + uint8 SoundProviderPrefUnderwater; uint16 AmbienceID; + uint16 UwAmbience; uint16 ZoneMusic; + uint32 UwZoneMusic; uint16 IntroSound; - uint16 AreaTableID; uint16 UwIntroSound; - uint16 UwAmbience; - uint8 NameSetID; // used in adt file - uint8 SoundProviderPref; - uint8 SoundProviderPrefUnderwater; + uint16 AreaTableID; uint8 Flags; - uint32 ID; - uint32 UwZoneMusic; - uint16 WmoID; // used in root WMO }; struct WorldEffectEntry { uint32 ID; - int32 TargetAsset; - uint16 CombatConditionID; - uint8 TargetType; - uint8 WhenToDisplay; uint32 QuestFeedbackEffectID; + uint8 WhenToDisplay; + uint8 TargetType; + int32 TargetAsset; uint32 PlayerConditionID; -}; - -struct WorldMapAreaEntry -{ - char const* AreaName; - float LocLeft; - float LocRight; - float LocTop; - float LocBottom; - uint32 Flags; - int16 MapID; - uint16 AreaID; - int16 DisplayMapID; - uint16 DefaultDungeonFloor; - uint16 ParentWorldMapID; - uint8 LevelRangeMin; - uint8 LevelRangeMax; - uint8 BountySetID; - uint8 BountyDisplayLocation; - uint32 ID; - uint32 VisibilityPlayerConditionID; + uint16 CombatConditionID; }; #define MAX_WORLD_MAP_OVERLAY_AREA_IDX 4 struct WorldMapOverlayEntry { - char const* TextureName; uint32 ID; + uint32 UiMapArtID; uint16 TextureWidth; uint16 TextureHeight; - uint32 MapAreaID; // idx in WorldMapArea.dbc int32 OffsetX; int32 OffsetY; int32 HitRectTop; - int32 HitRectLeft; int32 HitRectBottom; + int32 HitRectLeft; int32 HitRectRight; uint32 PlayerConditionID; uint32 Flags; uint32 AreaID[MAX_WORLD_MAP_OVERLAY_AREA_IDX]; }; -struct WorldMapTransformsEntry -{ - uint32 ID; - DBCPosition3D RegionMin; - DBCPosition3D RegionMax; - DBCPosition2D RegionOffset; - float RegionScale; - uint16 MapID; - uint16 AreaID; - uint16 NewMapID; - uint16 NewDungeonMapID; - uint16 NewAreaID; - uint8 Flags; - int32 Priority; -}; - struct WorldSafeLocsEntry { uint32 ID; LocalizedString* AreaName; DBCPosition3D Loc; - float Facing; uint16 MapID; + float Facing; }; #pragma pack(pop) |