Core: Updated to 11.2.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/5cf0c6c8bb2c4e58a2d66ba5f304af34d18a4782)
This commit is contained in:
Hondacrx
2025-08-25 20:48:29 -04:00
parent d64045154a
commit aaa669210a
63 changed files with 5958 additions and 5434 deletions
@@ -226,8 +226,8 @@ namespace Game.DataStorage
Log.outInfo(LogFilter.ServerLoading, "Loaded 0 AreaTrigger create properties. DB table `areatrigger_create_properties` is empty.");
}
// 0 1 2 3 4 5 6 7 8
SQLResult circularMovementInfos = DB.World.Query("SELECT AreaTriggerCreatePropertiesId, IsCustom, StartDelay, CircleRadius, BlendFromRadius, InitialAngle, ZOffset, CounterClockwise, CanLoop FROM `areatrigger_create_properties_orbit`");
// 0 1 2 3 4 5 6 7 8
SQLResult circularMovementInfos = DB.World.Query("SELECT AreaTriggerCreatePropertiesId, IsCustom, ExtraTimeForBlending, CircleRadius, BlendFromRadius, InitialAngle, ZOffset, CounterClockwise, CanLoop FROM `areatrigger_create_properties_orbit`");
if (!circularMovementInfos.IsEmpty())
{
do
@@ -243,7 +243,7 @@ namespace Game.DataStorage
AreaTriggerOrbitInfo orbitInfo = new();
orbitInfo.StartDelay = circularMovementInfos.Read<uint>(2);
orbitInfo.ExtraTimeForBlending = circularMovementInfos.Read<int>(2);
float ValidateAndSetFloat(float value)
{
+11 -9
View File
@@ -83,7 +83,7 @@ namespace Game.DataStorage
AzeriteTierUnlockStorage = ReadDB2<AzeriteTierUnlockRecord>("AzeriteTierUnlock.db2", HotfixStatements.SEL_AZERITE_TIER_UNLOCK);
AzeriteTierUnlockSetStorage = ReadDB2<AzeriteTierUnlockSetRecord>("AzeriteTierUnlockSet.db2", HotfixStatements.SEL_AZERITE_TIER_UNLOCK_SET);
AzeriteUnlockMappingStorage = ReadDB2<AzeriteUnlockMappingRecord>("AzeriteUnlockMapping.db2", HotfixStatements.SEL_AZERITE_UNLOCK_MAPPING);
BankBagSlotPricesStorage = ReadDB2<BankBagSlotPricesRecord>("BankBagSlotPrices.db2", HotfixStatements.SEL_BANK_BAG_SLOT_PRICES);
BankTabStorage = ReadDB2<BankTabRecord>("BankTab.db2", HotfixStatements.SEL_BANK_TAB);
BannedAddOnsStorage = ReadDB2<BannedAddonsRecord>("BannedAddons.db2", HotfixStatements.SEL_BANNED_ADDONS);
BarberShopStyleStorage = ReadDB2<BarberShopStyleRecord>("BarberShopStyle.db2", HotfixStatements.SEL_BARBER_SHOP_STYLE, HotfixStatements.SEL_BARBER_SHOP_STYLE_LOCALE);
BattlePetBreedQualityStorage = ReadDB2<BattlePetBreedQualityRecord>("BattlePetBreedQuality.db2", HotfixStatements.SEL_BATTLE_PET_BREED_QUALITY);
@@ -403,14 +403,16 @@ namespace Game.DataStorage
WorldStateExpressionStorage = ReadDB2<WorldStateExpressionRecord>("WorldStateExpression.db2", HotfixStatements.SEL_WORLD_STATE_EXPRESSION);
// Check loaded DB2 files proper version
if (!AreaTableStorage.ContainsKey(16108) || // last area added in 11.0.7 (58162)
!CharTitlesStorage.ContainsKey(876) || // last char title added in 11.0.7 (58162)
if (!AreaTableStorage.ContainsKey(16579) || // last area added in 11.2.0 (62213)
!CharTitlesStorage.ContainsKey(937) || // last char title added in 11.2.0 (62213)
!FlightCapabilityStorage.ContainsKey(1) || // default flight capability (required)
!GemPropertiesStorage.ContainsKey(4266) || // last gem property added in 11.0.7 (58162)
!ItemStorage.ContainsKey(235551) || // last item added in 11.0.7 (58162)
!ItemExtendedCostStorage.ContainsKey(9918) || // last item extended cost added in 11.0.7 (58162)
!MapStorage.ContainsKey(2829) || // last map added in 11.0.7 (58162)
!SpellNameStorage.ContainsKey(1218101)) // last spell added in 11.0.7 (58162)
!GemPropertiesStorage.ContainsKey(4287) || // last gem property added in 11.2.0 (62213)
!ItemStorage.ContainsKey(252009) || // last item added in 11.2.0 (62213)
!ItemSparseStorage.ContainsKey(208392) ||
!ItemSparseStorage.ContainsKey(242709) ||
!ItemExtendedCostStorage.ContainsKey(10637) || // last item extended cost added in 11.2.0 (62213)
!MapStorage.ContainsKey(2951) || // last map added in 11.2.0 (62213)
!SpellNameStorage.ContainsKey(1254022)) // last spell added in 11.2.0 (62213)
{
Log.outFatal(LogFilter.ServerLoading, "You have _outdated_ DB2 files. Please extract correct versions from current using client.");
Environment.Exit(1);
@@ -487,7 +489,7 @@ namespace Game.DataStorage
public static DB6Storage<AzeriteTierUnlockRecord> AzeriteTierUnlockStorage;
public static DB6Storage<AzeriteTierUnlockSetRecord> AzeriteTierUnlockSetStorage;
public static DB6Storage<AzeriteUnlockMappingRecord> AzeriteUnlockMappingStorage;
public static DB6Storage<BankBagSlotPricesRecord> BankBagSlotPricesStorage;
public static DB6Storage<BankTabRecord> BankTabStorage;
public static DB6Storage<BannedAddonsRecord> BannedAddOnsStorage;
public static DB6Storage<BarberShopStyleRecord> BarberShopStyleStorage;
public static DB6Storage<BattlePetBreedQualityRecord> BattlePetBreedQualityStorage;
+1 -1
View File
@@ -84,7 +84,7 @@ namespace Game.DataStorage
{
public uint Id;
public ushort Fallback;
public byte BehaviorTier;
public sbyte BehaviorTier;
public short BehaviorID;
public int[] Flags = new int[2];
}
+12 -4
View File
@@ -5,10 +5,18 @@ using Framework.Constants;
namespace Game.DataStorage
{
public sealed class BankBagSlotPricesRecord
public sealed class BankTabRecord
{
public uint Id;
public uint Cost;
public ulong Cost;
public byte BankType;
public sbyte OrderIndex;
public int PlayerConditionID;
public int PurchasePromptTitle;
public int PurchasePromptBody;
public int PurchasePromptConfirmation;
public int TabCleanupConfirmation;
public int TabNameEditBoxHeader;
}
public sealed class BannedAddonsRecord
@@ -16,7 +24,7 @@ namespace Game.DataStorage
public uint Id;
public string Name;
public string Version;
public byte Flags;
public int Flags;
}
public sealed class BarberShopStyleRecord
@@ -63,7 +71,7 @@ namespace Game.DataStorage
public int CovenantID;
public bool HasFlag(BattlePetSpeciesFlags battlePetSpeciesFlags) { return (Flags & (int)battlePetSpeciesFlags) != 0; }
}
}
public sealed class BattlePetSpeciesStateRecord
{
+7 -1
View File
@@ -29,6 +29,7 @@ namespace Game.DataStorage
public uint Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval
public byte RegionGroupMask;
public uint ChallengeOrigin;
public int TimeEventRegionGroupID;
}
public sealed class ChallengeModeItemBonusOverrideRecord
@@ -56,7 +57,7 @@ namespace Game.DataStorage
public LocalizedString Name;
public LocalizedString Name1;
public ushort MaskID;
public sbyte Flags;
public int Flags;
}
public sealed class CharacterLoadoutRecord
@@ -115,6 +116,7 @@ namespace Game.DataStorage
public uint IconFileDataID;
public uint LowResScreenFileDataID;
public int Flags;
public int StartingLevel;
public uint SpellTextureBlobFileDataID;
public uint ArmorTypeMask;
public int CharStartKitUnknown901;
@@ -129,6 +131,7 @@ namespace Game.DataStorage
public ushort CinematicSequenceID;
public ushort DefaultSpec;
public uint Id;
public byte HasStrengthBonus;
public sbyte PrimaryStatPriority;
public PowerType DisplayPower;
public byte RangedAttackPowerPerAgility;
@@ -139,6 +142,8 @@ namespace Game.DataStorage
public byte ClassColorG;
public byte ClassColorB;
public byte RolesMask;
public byte DamageBonusStat;
public byte HasRelicSlot;
}
public sealed class ChrClassesXPowerTypesRecord
@@ -506,6 +511,7 @@ namespace Game.DataStorage
public sbyte MaxScaleLevel;
public ushort PetFoodMask;
public sbyte PetTalentType;
public int CategoryEnumID;
public int IconFileID;
public short[] SkillLine = new short[2];
}
@@ -47,6 +47,7 @@ namespace Game.DataStorage
public float PlayerSecondaryStat;
public float ArmorConstant;
public float CreatureSpellDamage;
public int ContentSetID;
public uint Lvl;
}
@@ -349,6 +349,7 @@ namespace Game.DataStorage
public uint Id;
public ushort ChrSpecID;
public uint SpellID;
public ushort TraitSubTreeID;
public byte Threshold;
public uint ItemSetID;
}
+4 -1
View File
@@ -87,6 +87,7 @@ namespace Game.DataStorage
case 1643:
case 2222:
case 2444:
case 2601:
return true;
default:
return false;
@@ -114,10 +115,12 @@ namespace Game.DataStorage
public LocalizedString Name;
public uint Id;
public ushort MapID;
public byte Flags;
public int Flags;
public uint ExpansionLevel;
public int RequiredWorldStateID; // maybe?
public short[] CriteriaCount = new short[3];
public int[] FirstRewardQuestID = new int[6];
public int[] RewardQuestID = new int[6];
}
public sealed class MapDifficultyRecord
+7 -3
View File
@@ -258,8 +258,8 @@ namespace Game.DataStorage
public uint Id;
public string Name;
public int Flags;
public byte UsesPerWeek;
public byte MaxCharges;
public int UsesPerWeek;
public int MaxCharges;
public int ChargeRecoveryTime;
public int TypeMask;
@@ -346,7 +346,7 @@ namespace Game.DataStorage
{
public uint Id;
public uint SpellID;
public sbyte EquippedItemClass;
public int EquippedItemClass;
public int EquippedItemInvTypes;
public int EquippedItemSubclass;
}
@@ -658,6 +658,10 @@ namespace Game.DataStorage
public int FallbackSpellVisualKitId;
public ushort DelayMin;
public ushort DelayMax;
public int MinimumSpellVisualDensityFilterType;
public int MinimumSpellVisualDensityFilterParam;
public int ReducedSpellVisualDensityFilterType;
public int ReducedSpellVisualDensityFilterParam;
public int[] Flags = new int[2];
}
+1 -1
View File
@@ -109,7 +109,7 @@ namespace Game.DataStorage
public float RegenerationPeace;
public float RegenerationCombat;
public byte BarType;
public ushort Flags;
public int Flags;
public float StartInset;
public float EndInset;
public uint[] FileDataID = new uint[6];
@@ -10,7 +10,6 @@ namespace Game.DataStorage
{
public LocalizedString Name;
public LocalizedString Description;
public LocalizedString Source;
public Vector3 Position;
public Vector3 LookAt;
public uint Id;
@@ -22,7 +21,6 @@ namespace Game.DataStorage
public sbyte Quality;
public int TextureKit;
public int DefaultScenePriority;
public sbyte SourceType;
public WarbandSceneFlags GetFlags() { return (WarbandSceneFlags)Flags; }
}