Core: Updated to 10.0.2

Port From (https://github.com/TrinityCore/TrinityCore/commit/e98e1283ea0034baf6be9aa2ffb386eb5582801b)
This commit is contained in:
hondacrx
2022-12-28 15:25:15 -05:00
parent 2dc12dbb69
commit 989b80b056
100 changed files with 6591 additions and 4112 deletions
+4 -3
View File
@@ -47,6 +47,7 @@ namespace Game.DataStorage
public sealed class BattlePetBreedQualityRecord
{
public uint Id;
public int MaxQualityRoll;
public float StateMultiplier;
public sbyte QualityEnum;
}
@@ -68,7 +69,7 @@ namespace Game.DataStorage
public uint SummonSpellID;
public int IconFileDataID;
public sbyte PetTypeEnum;
public ushort Flags;
public int Flags;
public sbyte SourceTypeEnum;
public int CardUIModelSceneID;
public int LoadoutUIModelSceneID;
@@ -96,8 +97,8 @@ namespace Game.DataStorage
public byte MinLevel;
public byte MaxLevel;
public sbyte RatedPlayers;
public byte MinPlayers;
public byte MaxPlayers;
public sbyte MinPlayers;
public int MaxPlayers;
public sbyte GroupsAllowed;
public sbyte MaxGroupSize;
public ushort HolidayWorldState;
+14 -5
View File
@@ -44,8 +44,8 @@ namespace Game.DataStorage
public uint Id;
public long RaceMask;
public sbyte ChrClassID;
public sbyte Purpose;
public sbyte Unused910;
public int Purpose;
public sbyte ItemContext;
public bool IsForNewCharacter() { return Purpose == 9; }
}
@@ -131,6 +131,7 @@ namespace Game.DataStorage
public uint Id;
public uint ChrCustomizationOptionID;
public uint ChrCustomizationReqID;
public int ChrCustomizationVisReqID;
public ushort SortOrder;
public ushort UiOrderIndex;
public int Flags;
@@ -159,6 +160,7 @@ namespace Game.DataStorage
public int ChrCustomizationCondModelID;
public int ChrCustomizationDisplayInfoID;
public int ChrCustItemGeoModifyID;
public int ChrCustomizationVoiceID;
}
public sealed class ChrCustomizationOptionRecord
@@ -181,9 +183,11 @@ namespace Game.DataStorage
public sealed class ChrCustomizationReqRecord
{
public uint Id;
public string ReqSource;
public int Flags;
public int ClassMask;
public int AchievementID;
public int QuestID;
public int OverrideArchive; // -1: allow any, otherwise must match OverrideArchive cvar
public uint ItemModifiedAppearanceID;
@@ -223,6 +227,8 @@ namespace Game.DataStorage
public uint Id;
public int ChrRacesID;
public int ChrModelID;
public int Sex;
public int AllowedTransmogSlots;
}
public sealed class ChrRacesRecord
@@ -273,6 +279,7 @@ namespace Game.DataStorage
public float AlteredFormCustomizeRotationFallback;
public float[] Unknown910_1 = new float[3];
public float[] Unknown910_2 = new float[3];
public int Unknown1000;
public sbyte BaseLanguage;
public sbyte CreatureType;
public sbyte MaleModelFallbackSex;
@@ -312,7 +319,7 @@ namespace Game.DataStorage
public uint SoundID; // Sound ID (voiceover for cinematic)
public float OriginFacing; // Orientation in map used for basis for M2 co
public uint FileDataID; // Model
public int Unknown915;
public uint ConversationID;
}
public sealed class CinematicSequencesRecord
@@ -409,7 +416,7 @@ namespace Game.DataStorage
public sbyte Gender;
public int DissolveOutEffectID;
public sbyte CreatureModelMinLod;
public int[] TextureVariationFileDataID = new int[3];
public int[] TextureVariationFileDataID = new int[4];
}
public sealed class CreatureDisplayInfoExtraRecord
@@ -542,6 +549,8 @@ namespace Game.DataStorage
public int XpQuestDifficulty;
public int AwardConditionID;
public int MaxQtyWorldStateID;
public uint RechargingAmountPerCycle;
public uint RechargingCycleDurationMS;
public int[] Flags = new int[2];
}
@@ -554,9 +563,9 @@ namespace Game.DataStorage
public sealed class CurvePointRecord
{
public uint Id;
public Vector2 Pos;
public Vector2 PreSLSquishPos;
public uint Id;
public ushort CurveID;
public byte OrderIndex;
}
@@ -73,7 +73,6 @@ namespace Game.DataStorage
public int OrderIndex;
public int CompleteWorldStateID;
public sbyte Bit;
public int CreatureDisplayID;
public int Flags;
public int SpellIconFileID;
public int Faction;
+12 -8
View File
@@ -29,8 +29,10 @@ namespace Game.DataStorage
public ushort ParentFactionID;
public byte Expansion;
public uint FriendshipRepID;
public byte Flags;
public int Flags;
public ushort ParagonFactionID;
public int RenownFactionID;
public int RenownCurrencyID;
public short[] ReputationClassMask = new short[4];
public ushort[] ReputationFlags = new ushort[4];
public int[] ReputationBase = new int[4];
@@ -47,14 +49,16 @@ namespace Game.DataStorage
public sealed class FactionTemplateRecord
{
static int MAX_FACTION_RELATIONS = 8;
public uint Id;
public ushort Faction;
public ushort Flags;
public byte FactionGroup;
public byte FriendGroup;
public byte EnemyGroup;
public ushort[] Enemies = new ushort[4];
public ushort[] Friend = new ushort[4];
public ushort[] Enemies = new ushort[MAX_FACTION_RELATIONS];
public ushort[] Friend = new ushort[MAX_FACTION_RELATIONS];
// helpers
public bool IsFriendlyTo(FactionTemplateRecord entry)
@@ -64,10 +68,10 @@ namespace Game.DataStorage
if (entry.Faction != 0)
{
for (int i = 0; i < 4; ++i)
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
if (Enemies[i] == entry.Faction)
return false;
for (int i = 0; i < 4; ++i)
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
if (Friend[i] == entry.Faction)
return true;
}
@@ -80,10 +84,10 @@ namespace Game.DataStorage
if (entry.Faction != 0)
{
for (int i = 0; i < 4; ++i)
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
if (Enemies[i] == entry.Faction)
return true;
for (int i = 0; i < 4; ++i)
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
if (Friend[i] == entry.Faction)
return false;
}
@@ -92,7 +96,7 @@ namespace Game.DataStorage
public bool IsHostileToPlayers() { return (EnemyGroup & (byte)FactionMasks.Player) != 0; }
public bool IsNeutralToAll()
{
for (int i = 0; i < 4; ++i)
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
if (Enemies[i] != 0)
return false;
return EnemyGroup == 0 && FriendGroup == 0;
+21 -1
View File
@@ -270,7 +270,7 @@ namespace Game.DataStorage
public ushort UiTextureKitID;
public int GarrTalentTreeType;
public int PlayerConditionID;
public sbyte FeatureTypeIndex;
public byte FeatureTypeIndex;
public sbyte FeatureSubtypeIndex;
public int CurrencyID;
}
@@ -312,6 +312,26 @@ namespace Game.DataStorage
public uint GlyphPropertiesID;
}
public sealed class GossipNPCOptionRecord
{
public uint Id;
public int GossipNpcOption;
public int LFGDungeonsID;
public int TrainerID;
public int GarrFollowerTypeID;
public int CharShipmentID;
public int GarrTalentTreeID;
public int UiMapID;
public int UiItemInteractionID;
public int Unknown_1000_8;
public int Unknown_1000_9;
public int CovenantID;
public int GossipOptionID;
public int TraitTreeID;
public int ProfessionID;
public int Unknown_1002_14;
}
public sealed class GuildColorBackgroundRecord
{
public uint Id;
@@ -47,6 +47,8 @@ namespace Game.DataStorage
public float DeathKnight;
public float Monk;
public float DemonHunter;
public float Evoker;
public float Adventurer;
}
public sealed class GtBattlePetXPRecord
@@ -128,6 +130,8 @@ namespace Game.DataStorage
public float DeathKnight;
public float Monk;
public float DemonHunter;
public float Evoker;
public float Adventurer;
public float Item;
public float Consumable;
public float Gem1;
@@ -136,6 +140,7 @@ namespace Game.DataStorage
public float Health;
public float DamageReplaceStat;
public float DamageSecondary;
public float ManaConsumable;
}
public sealed class GtXpRecord
+4 -3
View File
@@ -59,6 +59,7 @@ namespace Game.DataStorage
public byte ItemGroupSoundsID;
public int ContentTuningID;
public int ModifiedCraftingReagentItemID;
public int CraftingQualityID;
}
public sealed class ItemAppearanceRecord
@@ -215,7 +216,7 @@ namespace Game.DataStorage
public byte ArenaBracket; // arena slot restrictions (min slot value)
public byte Flags;
public byte MinFactionID;
public byte MinReputation;
public int MinReputation;
public byte RequiredAchievement; // required personal arena rating
public uint[] ItemID = new uint[ItemConst.MaxItemExtCostItems]; // required item id
public ushort[] ItemCount = new ushort[ItemConst.MaxItemExtCostItems]; // required count of 1st item
@@ -305,7 +306,7 @@ namespace Game.DataStorage
public byte OverallQualityID;
public int ExpansionID;
public ushort MinFactionID;
public byte MinReputation;
public int MinReputation;
public int AllowableClass;
public sbyte RequiredLevel;
public ushort RequiredSkill;
@@ -356,6 +357,7 @@ namespace Game.DataStorage
public int[] StatPercentEditor = new int[ItemConst.MaxStats];
public uint Stackable;
public uint MaxCount;
public uint MinReputation;
public uint RequiredAbility;
public uint SellPrice;
public uint BuyPrice;
@@ -395,7 +397,6 @@ namespace Game.DataStorage
public byte DamageType;
public sbyte[] StatModifierBonusStat = new sbyte[ItemConst.MaxStats];
public byte ContainerSlots;
public byte MinReputation;
public byte RequiredPVPMedal;
public byte RequiredPVPRank;
public sbyte RequiredLevel;
@@ -65,7 +65,6 @@ namespace Game.DataStorage
public int ButtonFileDataID;
public int ButtonSmallFileDataID;
public int LoreFileDataID;
public byte OrderIndex;
public int Flags;
public ushort AreaID;
}
+4 -1
View File
@@ -51,6 +51,7 @@ namespace Game.DataStorage
public short WindSettingsID;
public int ZmpFileDataID;
public int WdtFileDataID;
public int NavigationMaxDistance;
public uint[] Flags = new uint[3];
// Helpers
@@ -98,6 +99,7 @@ namespace Game.DataStorage
case 1642:
case 1643:
case 2222:
case 2444:
return true;
default:
return false;
@@ -107,7 +109,7 @@ namespace Game.DataStorage
public bool IsDynamicDifficultyMap() { return GetFlags().HasFlag(MapFlags.DynamicDifficulty); }
public bool IsFlexLocking() { return GetFlags().HasFlag(MapFlags.FlexibleRaidLocking); }
public bool IsGarrison() { return GetFlags().HasFlag(MapFlags.Garrison); }
public bool IsSplitByFaction() { return Id == 609 || Id == 2175; }
public bool IsSplitByFaction() { return Id == 609 || Id == 2175 || Id == 2570; }
public MapFlags GetFlags() { return (MapFlags)Flags[0]; }
public MapFlags2 GetFlags2() { return (MapFlags2)Flags[1]; }
@@ -213,6 +215,7 @@ namespace Game.DataStorage
public uint ModSpellAuraID;
public short ReqMapID;
public int PlayerConditionID;
public int FlightCapabilityID;
}
public sealed class MountTypeXCapabilityRecord
+11 -6
View File
@@ -99,6 +99,7 @@ namespace Game.DataStorage
public byte MaxPVPRank;
public uint ContentTuningID;
public int CovenantID;
public uint TraitNodeEntryLogic;
public ushort[] SkillID = new ushort[4];
public ushort[] MinSkill = new ushort[4];
public ushort[] MaxSkill = new ushort[4];
@@ -123,6 +124,9 @@ namespace Game.DataStorage
public uint[] CurrencyCount = new uint[4];
public uint[] QuestKillMonster = new uint[6];
public int[] MovementFlags = new int[2];
public int[]TraitNodeEntryID = new int[4];
public ushort[]TraitNodeEntryMinRank = new ushort[4];
public ushort[]TraitNodeEntryMaxRank = new ushort[4];
}
public sealed class PowerDisplayRecord
@@ -141,12 +145,12 @@ namespace Game.DataStorage
public string CostGlobalStringTag;
public uint Id;
public PowerType PowerTypeEnum;
public sbyte MinPower;
public short MaxBasePower;
public sbyte CenterPower;
public sbyte DefaultPower;
public sbyte DisplayModifier;
public short RegenInterruptTimeMS;
public int MinPower;
public int MaxBasePower;
public int CenterPower;
public int DefaultPower;
public int DisplayModifier;
public int RegenInterruptTimeMS;
public float RegenPeace;
public float RegenCombat;
public short Flags;
@@ -197,6 +201,7 @@ namespace Game.DataStorage
public int ActionBarSpellID;
public int PvpTalentCategoryID;
public int LevelRequired;
public int PlayerConditionID;
}
public sealed class PvpTalentCategoryRecord
+2 -1
View File
@@ -31,7 +31,7 @@ namespace Game.DataStorage
public LocalizedString InfoName;
public sbyte Type;
public int Modifiers;
public ushort Profession;
public int Profession;
}
public sealed class QuestLineXQuestRecord
@@ -69,6 +69,7 @@ namespace Game.DataStorage
{
public uint Id;
public ushort UniqueBitFlag;
public int UiQuestDetailsTheme;
}
public sealed class QuestXPRecord
+22 -7
View File
@@ -97,6 +97,8 @@ namespace Game.DataStorage
public int ParentTierIndex;
public ushort Flags;
public int SpellBookSpellID;
public int ExpansionNameSharedStringID;
public int HordeExpansionNameSharedStringID;
public SkillLineFlags GetFlags() => (SkillLineFlags)Flags;
}
@@ -104,6 +106,8 @@ namespace Game.DataStorage
public sealed class SkillLineAbilityRecord
{
public long RaceMask;
public string AbilityVerb;
public string AbilityAllVerb;
public uint Id;
public ushort SkillLine;
public uint Spell;
@@ -146,7 +150,7 @@ namespace Game.DataStorage
public uint Id;
public uint SoundType;
public float VolumeFloat;
public ushort Flags;
public int Flags;
public float MinDistance;
public float DistanceCutoff;
public byte EAXDef;
@@ -159,6 +163,7 @@ namespace Game.DataStorage
public float PitchAdjust;
public ushort BusOverwriteID;
public byte MaxInstances;
public uint SoundMixGroupID;
}
public sealed class SpecializationSpellsRecord
@@ -194,15 +199,19 @@ namespace Game.DataStorage
public sealed class SpellAuraRestrictionsRecord
{
public uint Id;
public byte DifficultyID;
public byte CasterAuraState;
public byte TargetAuraState;
public byte ExcludeCasterAuraState;
public byte ExcludeTargetAuraState;
public uint DifficultyID;
public int CasterAuraState;
public int TargetAuraState;
public int ExcludeCasterAuraState;
public int ExcludeTargetAuraState;
public uint CasterAuraSpell;
public uint TargetAuraSpell;
public uint ExcludeCasterAuraSpell;
public uint ExcludeTargetAuraSpell;
public int CasterAuraType;
public int TargetAuraType;
public int ExcludeCasterAuraType;
public int ExcludeTargetAuraType;
public uint SpellID;
}
@@ -219,7 +228,7 @@ namespace Game.DataStorage
public uint SpellID;
public byte FacingCasterFlags;
public ushort MinFactionID;
public sbyte MinReputation;
public int MinReputation;
public ushort RequiredAreasID;
public byte RequiredAuraVision;
public ushort RequiresSpellFocus;
@@ -266,6 +275,7 @@ namespace Game.DataStorage
public uint CategoryRecoveryTime;
public uint RecoveryTime;
public uint StartRecoveryTime;
public uint AuraSpellID;
public uint SpellID;
}
@@ -340,6 +350,7 @@ namespace Game.DataStorage
public uint Id;
public string Name;
public string HordeName;
public int Duration;
public uint[] EffectArg = new uint[ItemConst.MaxItemEnchantmentEffects];
public float[] EffectScalingPoints = new float[ItemConst.MaxItemEnchantmentEffects];
public uint IconFileDataID;
@@ -439,6 +450,7 @@ namespace Game.DataStorage
public int AltPowerBarID;
public float PowerCostPct;
public float PowerCostMaxPct;
public float OptionalCostPct;
public float PowerPctPerSecond;
public PowerType PowerType;
public uint RequiredAuraSpellID;
@@ -495,6 +507,8 @@ namespace Game.DataStorage
public uint SpellID;
public int[] Reagent = new int[SpellConst.MaxReagents];
public ushort[] ReagentCount = new ushort[SpellConst.MaxReagents];
public short[] ReagentRecraftCount = new short[SpellConst.MaxReagents];
public byte[] ReagentSource = new byte[SpellConst.MaxReagents];
}
public sealed class SpellReagentsCurrencyRecord
@@ -638,6 +652,7 @@ namespace Game.DataStorage
public byte DifficultyID;
public uint SpellVisualID;
public float Probability;
public int Flags;
public int Priority;
public int SpellIconFileID;
public int ActiveIconFileID;
@@ -61,6 +61,7 @@ namespace Game.DataStorage
public int ParentUiMapID;
public int OrderIndex;
public int ChildUiMapID;
public int PlayerConditionID;
public int OverrideHighlightFileDataID;
public int OverrideHighlightAtlasID;
public int Flags;