Core/DataStores: Updated to 11.0.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/df511503815b7798c83acbffbb1ce5208f189ce7)
This commit is contained in:
Hondacrx
2024-09-02 22:27:11 -04:00
parent f38ad4607e
commit 2590e31d57
36 changed files with 407 additions and 208 deletions
+2
View File
@@ -91,6 +91,7 @@ namespace Game.DataStorage
BattlePetSpeciesStorage = ReadDB2<BattlePetSpeciesRecord>("BattlePetSpecies.db2", HotfixStatements.SEL_BATTLE_PET_SPECIES, HotfixStatements.SEL_BATTLE_PET_SPECIES_LOCALE);
BattlePetSpeciesStateStorage = ReadDB2<BattlePetSpeciesStateRecord>("BattlePetSpeciesState.db2", HotfixStatements.SEL_BATTLE_PET_SPECIES_STATE);
BattlemasterListStorage = ReadDB2<BattlemasterListRecord>("BattlemasterList.db2", HotfixStatements.SEL_BATTLEMASTER_LIST, HotfixStatements.SEL_BATTLEMASTER_LIST_LOCALE);
BattlemasterListXMapStorage = ReadDB2<BattlemasterListXMapRecord>("BattlemasterListXMap.db2", HotfixStatements.SEL_BATTLEMASTER_LIST_X_MAP);
BroadcastTextStorage = ReadDB2<BroadcastTextRecord>("BroadcastText.db2", HotfixStatements.SEL_BROADCAST_TEXT, HotfixStatements.SEL_BROADCAST_TEXT_LOCALE);
BroadcastTextDurationStorage = ReadDB2<BroadcastTextDurationRecord>("BroadcastTextDuration.db2", HotfixStatements.SEL_BROADCAST_TEXT_DURATION);
CfgCategoriesStorage = ReadDB2<Cfg_CategoriesRecord>("Cfg_Categories.db2", HotfixStatements.SEL_CFG_CATEGORIES, HotfixStatements.SEL_CFG_CATEGORIES_LOCALE);
@@ -536,6 +537,7 @@ namespace Game.DataStorage
public static DB6Storage<BattlePetSpeciesRecord> BattlePetSpeciesStorage;
public static DB6Storage<BattlePetSpeciesStateRecord> BattlePetSpeciesStateStorage;
public static DB6Storage<BattlemasterListRecord> BattlemasterListStorage;
public static DB6Storage<BattlemasterListXMapRecord> BattlemasterListXMapStorage;
public static DB6Storage<BroadcastTextRecord> BroadcastTextStorage;
public static DB6Storage<BroadcastTextDurationRecord> BroadcastTextDurationStorage;
public static DB6Storage<Cfg_CategoriesRecord> CfgCategoriesStorage;
+3 -1
View File
@@ -892,7 +892,9 @@ namespace Game.DataStorage
public uint GetEmptyAnimStateID()
{
return AnimationDataStorage.GetNumRows();
return 1778;
// TEMP: well... AnimationData.db2 in 11.0.0 has more rows than max hardcoded anim id in client
//return AnimationDataStorage.GetNumRows();
}
public List<uint> GetAreasForGroup(uint areaGroupId)
+1 -1
View File
@@ -85,7 +85,7 @@ namespace Game.DataStorage
public uint Id;
public ushort Fallback;
public byte BehaviorTier;
public int BehaviorID;
public short BehaviorID;
public int[] Flags = new int[2];
}
+7 -1
View File
@@ -92,11 +92,17 @@ namespace Game.DataStorage
public int Flags;
public int IconFileDataID;
public int RequiredPlayerConditionID;
public short[] MapId = new short[16];
public bool HasFlag(BattlemasterListFlags battlemasterListFlags) { return (Flags & (int)battlemasterListFlags) != 0; }
}
public sealed class BattlemasterListXMapRecord
{
public uint ID;
public int MapID;
public uint BattlemasterListID;
}
public sealed class BroadcastTextRecord
{
public LocalizedString Text;
+13 -8
View File
@@ -36,10 +36,8 @@ namespace Game.DataStorage
public uint Id;
public int ItemBonusTreeGroupID;
public int DstItemBonusTreeID;
public sbyte Type;
public int Value;
public int MythicPlusSeasonID;
public int PvPSeasonID;
public int RequiredTimeEventPassed;
public uint SrcItemBonusTreeID;
}
@@ -198,6 +196,8 @@ namespace Game.DataStorage
public uint Id;
public ushort SecondaryID;
public int Flags;
public int ChrRacesID;
public int Sex;
public uint ChrModelID;
public int SortIndex;
public int ChrCustomizationCategoryID;
@@ -468,7 +468,7 @@ namespace Game.DataStorage
public int PortraitTextureFileDataID;
public ushort ObjectEffectPackageID;
public ushort AnimReplacementSetID;
public byte Flags;
public int Flags;
public int StateSpellVisualKitID;
public float PlayerOverrideScale;
public float PetInstanceScale; // scale of not own player pets inside dungeons/raids/scenarios
@@ -478,6 +478,9 @@ namespace Game.DataStorage
public sbyte Gender;
public int DissolveOutEffectID;
public sbyte CreatureModelMinLod;
public ushort ConditionalCreatureModelID;
public float Unknown_1100_1;
public ushort Unknown_1100_2;
public int[] TextureVariationFileDataID = new int[4];
}
@@ -510,7 +513,7 @@ namespace Game.DataStorage
{
public uint Id;
public float[] GeoBox = new float[6];
public uint Flags;
public int Flags;
public uint FileDataID;
public float WalkSpeed;
public float RunSpeed;
@@ -539,9 +542,10 @@ namespace Game.DataStorage
public float OverrideNameScale;
public float OverrideSelectionRadius;
public float TamedPetBaseScale;
public sbyte Unknown820_1; // scale related
public float Unknown820_2; // scale related
public float[] Unknown820_3 = new float[2]; // scale related
public sbyte MountScaleOtherIndex;
public float MountScaleSelf;
public ushort Unknown1100;
public float[] MountScaleOther = new float[2];
public bool HasFlag(CreatureModelDataFlags creatureModelDataFlags) { return (Flags & (uint)creatureModelDataFlags) != 0; }
}
@@ -617,6 +621,7 @@ namespace Game.DataStorage
public int MaxQtyWorldStateID;
public uint RechargingAmountPerCycle;
public uint RechargingCycleDurationMS;
public float AccountTransferPercentage;
public int[] Flags = new int[2];
public bool HasFlag(CurrencyTypesFlags currencyTypesFlags) { return (Flags[0] & (int)currencyTypesFlags) != 0; }
+1 -1
View File
@@ -43,7 +43,7 @@ namespace Game.DataStorage
public byte MinPlayers;
public byte MaxPlayers;
public ushort Flags;
public byte ItemContext;
public sbyte ItemContext;
public byte ToggleDifficultyID;
public uint GroupSizeHealthCurveID;
public uint GroupSizeDmgCurveID;
+3 -3
View File
@@ -8,9 +8,9 @@ namespace Game.DataStorage
public uint Id;
public long RaceMask;
public string EmoteSlashCommand;
public int AnimId;
public uint EmoteFlags;
public byte EmoteSpecProc;
public short AnimID;
public int EmoteFlags;
public int EmoteSpecProc;
public uint EmoteSpecProcParam;
public uint EventSoundID;
public uint SpellVisualKitId;
+1 -1
View File
@@ -39,7 +39,7 @@ namespace Game.DataStorage
public uint Id;
public ushort Faction;
public ushort Flags;
public int Flags;
public byte FactionGroup;
public byte FriendGroup;
public byte EnemyGroup;
+6 -4
View File
@@ -24,6 +24,7 @@ namespace Game.DataStorage
public int AlternateDisplayType;
public int ClientCreatureDisplayInfoID;
public int ClientItemID;
public ushort Unknown1100;
public Vector3 GeoBoxMin
{
@@ -50,6 +51,7 @@ namespace Game.DataStorage
public int PhaseUseFlags;
public int PhaseID;
public int PhaseGroupID;
public ushort Unknown1100;
public int[] PropValue = new int[8];
}
@@ -133,7 +135,7 @@ namespace Game.DataStorage
public byte AllianceGarrFollRaceID;
public uint HordeGarrClassSpecID;
public uint AllianceGarrClassSpecID;
public sbyte Quality;
public int Quality;
public byte FollowerLevel;
public ushort ItemLevelWeapon;
public ushort ItemLevelArmor;
@@ -206,7 +208,7 @@ namespace Game.DataStorage
{
public uint Id;
public string Name;
public byte PlotType;
public sbyte PlotType;
public uint HordeConstructObjID;
public uint AllianceConstructObjID;
public byte Flags;
@@ -293,7 +295,7 @@ namespace Game.DataStorage
{
public uint Id;
public uint SpellID;
public byte GlyphType;
public sbyte GlyphType;
public byte GlyphExclusiveCategoryID;
public uint SpellIconID;
}
@@ -311,7 +313,7 @@ namespace Game.DataStorage
public int GossipNpcOption;
public int LFGDungeonsID;
public int TrainerID;
public int GarrFollowerTypeID;
public sbyte GarrFollowerTypeID;
public int CharShipmentID;
public int GarrTalentTreeID;
public int UiMapID;
+5 -5
View File
@@ -52,7 +52,7 @@ namespace Game.DataStorage
public sealed class ItemAppearanceRecord
{
public uint Id;
public int DisplayType;
public sbyte DisplayType;
public uint ItemDisplayInfoID;
public int DefaultIconFileDataID;
public int UiOrder;
@@ -164,7 +164,7 @@ namespace Game.DataStorage
public sealed class ItemContextPickerEntryRecord
{
public uint Id;
public byte ItemCreationContext;
public sbyte ItemCreationContext;
public byte OrderIndex;
public int PVal;
public int LabelID;
@@ -329,7 +329,7 @@ namespace Game.DataStorage
public ushort RequiredSkillRank;
public uint RequiredAbility;
public ushort ItemLevel;
public int[] Flags = new int[4];
public int[] Flags = new int[5];
}
public sealed class ItemSetRecord
@@ -373,6 +373,7 @@ namespace Game.DataStorage
public float ItemRange;
public float[] StatPercentageOfSocket = new float[ItemConst.MaxStats];
public int[] StatPercentEditor = new int[ItemConst.MaxStats];
public int[] StatModifierBonusStat = new int[ItemConst.MaxStats];
public uint Stackable;
public uint MaxCount;
public uint MinReputation;
@@ -382,7 +383,7 @@ namespace Game.DataStorage
public uint VendorStackCount;
public float PriceVariance;
public float PriceRandomValue;
public int[] Flags = new int[4];
public int[] Flags = new int[5];
public uint FactionRelated;
public int ModifiedCraftingReagentItemID;
public uint ContentTuningID;
@@ -413,7 +414,6 @@ namespace Game.DataStorage
public byte PageMaterialID;
public byte Bonding;
public byte DamageType;
public sbyte[] StatModifierBonusStat = new sbyte[ItemConst.MaxStats];
public byte ContainerSlots;
public byte RequiredPVPMedal;
public byte RequiredPVPRank;
@@ -59,6 +59,7 @@ namespace Game.DataStorage
{
public uint Id;
public LocalizedString Name;
public int Expansion;
public int PlayerConditionID;
}
}
+4 -1
View File
@@ -38,6 +38,7 @@ namespace Game.DataStorage
public int ZmpFileDataID;
public int WdtFileDataID;
public int NavigationMaxDistance;
public int PreloadFileDataID;
public uint[] Flags = new uint[3];
// Helpers
@@ -127,7 +128,7 @@ namespace Game.DataStorage
public int LockID;
public MapDifficultyResetInterval ResetInterval;
public uint MaxPlayers;
public int ItemContext;
public byte ItemContext;
public uint ItemContextPickerID;
public int Flags;
public int ContentTuningID;
@@ -227,6 +228,7 @@ namespace Game.DataStorage
public uint Id;
public uint CreatureDisplayInfoID;
public uint PlayerConditionID;
public ushort Unknown1100;
public uint MountID;
}
@@ -244,6 +246,7 @@ namespace Game.DataStorage
{
public uint Id;
public int MilestoneSeason;
public int StartTimeEvent;
public int ExpansionLevel;
public int HeroicLFGDungeonMinGear;
}
+4 -4
View File
@@ -106,7 +106,7 @@ namespace Game.DataStorage
public sbyte ChrSpecializationRole;
public uint ModifierTreeID;
public sbyte PowerType;
public byte PowerTypeComp;
public sbyte PowerTypeComp;
public byte PowerTypeValue;
public int WeaponSubclassMask;
public byte MaxGuildLevel;
@@ -151,7 +151,7 @@ namespace Game.DataStorage
{
public uint Id;
public string GlobalStringBaseTag;
public byte ActualType;
public sbyte ActualType;
public byte Red;
public byte Green;
public byte Blue;
@@ -171,9 +171,9 @@ namespace Game.DataStorage
public int RegenInterruptTimeMS;
public float RegenPeace;
public float RegenCombat;
public short Flags;
public int Flags;
public bool HasFlag(PowerTypeFlags powerTypeFlags) { return (Flags & (short)powerTypeFlags) != 0; }
public bool HasFlag(PowerTypeFlags powerTypeFlags) { return (Flags & (int)powerTypeFlags) != 0; }
}
public sealed class PrestigeLevelInfoRecord
+19 -16
View File
@@ -19,9 +19,9 @@ namespace Game.DataStorage
public sealed class ScenarioStepRecord
{
public uint Id;
public string Description;
public string Title;
public uint Id;
public ushort ScenarioID;
public uint CriteriaTreeId;
public uint RewardQuestID;
@@ -88,7 +88,7 @@ namespace Game.DataStorage
public sbyte CanLink;
public uint ParentSkillLineID;
public int ParentTierIndex;
public ushort Flags;
public int Flags;
public int SpellBookSpellID;
public int ExpansionNameSharedStringID;
public int HordeExpansionNameSharedStringID;
@@ -133,8 +133,8 @@ namespace Game.DataStorage
public long RaceMask;
public ushort SkillID;
public int ClassMask;
public ushort Flags;
public sbyte Availability;
public int Flags;
public int Availability;
public sbyte MinLevel;
public ushort SkillTierID;
@@ -374,6 +374,7 @@ namespace Game.DataStorage
public string HordeName;
public int Duration;
public uint[] EffectArg = new uint[ItemConst.MaxItemEnchantmentEffects];
public int Flags;
public float[] EffectScalingPoints = new float[ItemConst.MaxItemEnchantmentEffects];
public uint IconFileDataID;
public int MinItemLevel;
@@ -382,7 +383,6 @@ namespace Game.DataStorage
public uint TransmogCost;
public ushort[] EffectPointsMin = new ushort[ItemConst.MaxItemEnchantmentEffects];
public ushort ItemVisual;
public ushort Flags;
public ushort RequiredSkillID;
public ushort RequiredSkillRank;
public ushort ItemLevel;
@@ -450,6 +450,7 @@ namespace Game.DataStorage
public byte DifficultyID;
public ushort CastingTimeIndex;
public ushort DurationIndex;
public ushort PvPDurationIndex;
public ushort RangeIndex;
public byte SchoolMask;
public float Speed;
@@ -647,6 +648,17 @@ namespace Game.DataStorage
public int DissolveEffectID;
public int ModelPosition;
public sbyte Unknown901;
public ushort Unknown1100;
}
public sealed class SpellVisualKitRecord
{
public uint ID;
public int ClutterLevel;
public int FallbackSpellVisualKitId;
public ushort DelayMin;
public ushort DelayMax;
public int[] Flags = new int[2];
}
public sealed class SpellVisualMissileRecord
@@ -666,21 +678,12 @@ namespace Game.DataStorage
public uint Flags;
public ushort SpellMissileMotionID;
public uint AnimKitID;
public sbyte ClutterLevel;
public int ClutterLevel;
public int DecayTimeAfterImpact;
public ushort Unused1100;
public uint SpellVisualMissileSetID;
}
public sealed class SpellVisualKitRecord
{
public uint Id;
public sbyte FallbackPriority;
public int FallbackSpellVisualKitId;
public ushort DelayMin;
public ushort DelayMax;
public int[] Flags = new int[2];
}
public sealed class SpellXSpellVisualRecord
{
public uint Id;
+10 -7
View File
@@ -125,6 +125,7 @@ namespace Game.DataStorage
public int RequiredLevel;
public int FreeSharedStringID;
public int SpendMoreSharedStringID;
public int TraitCondAccountElementID;
public TraitConditionType GetCondType() { return (TraitConditionType)CondType; }
}
@@ -199,8 +200,9 @@ namespace Game.DataStorage
public int TraitTreeID;
public int PosX;
public int PosY;
public sbyte Type;
public byte Type;
public int Flags;
public int TraitSubTreeID;
public TraitNodeType GetNodeType() { return (TraitNodeType)Type; }
}
@@ -211,6 +213,7 @@ namespace Game.DataStorage
public int TraitDefinitionID;
public int MaxRanks;
public byte NodeEntryType;
public int TraitSubTreeID;
public TraitNodeEntryType GetNodeEntryType() { return (TraitNodeEntryType)NodeEntryType; }
}
@@ -219,7 +222,7 @@ namespace Game.DataStorage
{
public uint Id;
public int TraitCondID;
public uint TraitNodeEntryID;
public int TraitNodeEntryID;
}
public sealed class TraitNodeEntryXTraitCostRecord
@@ -342,15 +345,15 @@ namespace Game.DataStorage
public string Name;
public uint Id;
public int ClassMask;
public uint TrackingQuestID;
public int TrackingQuestID;
public int Flags;
public uint TransmogSetGroupID;
public int ItemNameDescriptionID;
public ushort ParentTransmogSetID;
public byte Unknown810;
public byte ExpansionID;
public int ParentTransmogSetID;
public int Unknown810;
public int ExpansionID;
public int PatchID;
public short UiOrder;
public int UiOrder;
public uint PlayerConditionID;
}
+3 -2
View File
@@ -22,6 +22,7 @@ namespace Game.DataStorage
public int BkgAtlasID;
public int AlternateUiMapGroup;
public int ContentTuningID;
public int AdventureMapTextureKitID;
public bool HasFlag(UiMapFlag uiMapFlag) { return (Flags & (int)uiMapFlag) != 0; }
}
@@ -85,9 +86,9 @@ namespace Game.DataStorage
public sealed class UnitConditionRecord
{
public uint Id;
public byte Flags;
public int Flags;
public byte[] Variable = new byte[8];
public sbyte[] Op = new sbyte[8];
public byte[] Op = new byte[8];
public int[] Value = new int[8];
public bool HasFlag(UnitConditionFlags unitConditionFlags) { return (Flags & (byte)unitConditionFlags) != 0; }
+10 -10
View File
@@ -40,7 +40,7 @@ namespace Game.DataStorage
public int Flags;
public int FlagsB;
public int FlagsC;
public sbyte AttachmentID;
public int AttachmentID;
public float EnterPreDelay;
public float EnterSpeed;
public float EnterGravity;
@@ -48,12 +48,12 @@ namespace Game.DataStorage
public float EnterMaxDuration;
public float EnterMinArcHeight;
public float EnterMaxArcHeight;
public int EnterAnimStart;
public int EnterAnimLoop;
public int RideAnimStart;
public int RideAnimLoop;
public int RideUpperAnimStart;
public int RideUpperAnimLoop;
public short EnterAnimStart;
public short EnterAnimLoop;
public short RideAnimStart;
public short RideAnimLoop;
public short RideUpperAnimStart;
public short RideUpperAnimLoop;
public float ExitPreDelay;
public float ExitSpeed;
public float ExitGravity;
@@ -61,9 +61,9 @@ namespace Game.DataStorage
public float ExitMaxDuration;
public float ExitMinArcHeight;
public float ExitMaxArcHeight;
public int ExitAnimStart;
public int ExitAnimLoop;
public int ExitAnimEnd;
public short ExitAnimStart;
public short ExitAnimLoop;
public short ExitAnimEnd;
public short VehicleEnterAnim;
public sbyte VehicleEnterAnimBone;
public short VehicleExitAnim;