Core/DataStores: Updated db2 structures to 9.1.5

Port From (https://github.com/TrinityCore/TrinityCore/commit/d52c00a8fe79186013980af0e2caa3fd13c0c5fa)
This commit is contained in:
hondacrx
2021-11-07 15:53:12 -05:00
parent 4f700e6f8d
commit f2e56ccb41
26 changed files with 123 additions and 47 deletions
+1 -1
View File
@@ -2074,7 +2074,7 @@ namespace Framework.Constants
Max Max
} }
public enum UiMapType public enum UiMapType : uint
{ {
Cosmic = 0, Cosmic = 0,
World = 1, World = 1,
+2 -2
View File
@@ -23,7 +23,7 @@ namespace Framework.Constants
public const uint Alliance = 1; public const uint Alliance = 1;
} }
public enum GarrisonBuildingFlags : byte public enum GarrisonBuildingFlags : int
{ {
NeedsPlan = 0x1 NeedsPlan = 0x1
} }
@@ -42,7 +42,7 @@ namespace Framework.Constants
Covenant = 123 Covenant = 123
} }
public enum GarrisonAbilityFlags : ushort public enum GarrisonAbilityFlags : int
{ {
Trait = 0x01, Trait = 0x01,
CannotRoll = 0x02, CannotRoll = 0x02,
+1 -1
View File
@@ -501,7 +501,7 @@ namespace Framework.Constants
CookingSupp = 0x10000 CookingSupp = 0x10000
} }
public enum InventoryType : byte public enum InventoryType : sbyte
{ {
NonEquip = 0, NonEquip = 0,
Head = 1, Head = 1,
+1 -1
View File
@@ -45,7 +45,7 @@ namespace Framework.Constants
public const uint infinityCooldownDelayCheck = Time.Month / 2; public const uint infinityCooldownDelayCheck = Time.Month / 2;
public const int MaxPlayerSummonDelay = 2 * Time.Minute; public const int MaxPlayerSummonDelay = 2 * Time.Minute;
public const int TaxiMaskSize = 338; public const int TaxiMaskSize = 339;
// corpse reclaim times // corpse reclaim times
public const int DeathExpireStep = (5 * Time.Minute); public const int DeathExpireStep = (5 * Time.Minute);
@@ -2379,6 +2379,8 @@ namespace Framework.Constants
CompleteCampaign = 283, // Flags all quests as completed that are assigned to campaign (MiscValueA) CompleteCampaign = 283, // Flags all quests as completed that are assigned to campaign (MiscValueA)
SendChatMessage = 284, // MiscValue[0] = BroadcastTextID, MiscValue[1] = ChatType SendChatMessage = 284, // MiscValue[0] = BroadcastTextID, MiscValue[1] = ChatType
ModifyKeystone2 = 285, ModifyKeystone2 = 285,
GrantBattlepetExperience = 286,
SetGarrisonFollowerLevel = 287,
TotalSpellEffects TotalSpellEffects
} }
@@ -230,7 +230,7 @@ namespace Framework.Database
// ChrCustomizationChoice.db2 // ChrCustomizationChoice.db2
PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT Name, ID, ChrCustomizationOptionID, ChrCustomizationReqID, SortOrder, UiOrderIndex, " + PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT Name, ID, ChrCustomizationOptionID, ChrCustomizationReqID, SortOrder, UiOrderIndex, " +
"Flags, SwatchColor1, SwatchColor2 FROM chr_customization_choice"); "Flags, AddedInPatch, SwatchColor1, SwatchColor2 FROM chr_customization_choice");
PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_CHOICE_LOCALE, "SELECT ID, Name_lang FROM chr_customization_choice_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_CHOICE_LOCALE, "SELECT ID, Name_lang FROM chr_customization_choice_locale WHERE locale = ?");
// ChrCustomizationDisplayInfo.db2 // ChrCustomizationDisplayInfo.db2
@@ -244,7 +244,7 @@ namespace Framework.Database
// ChrCustomizationOption.db2 // ChrCustomizationOption.db2
PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_OPTION, "SELECT Name, ID, SecondaryID, Flags, ChrModelID, SortIndex, ChrCustomizationCategoryID, " + PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_OPTION, "SELECT Name, ID, SecondaryID, Flags, ChrModelID, SortIndex, ChrCustomizationCategoryID, " +
"OptionType, BarberShopCostModifier, ChrCustomizationID, ChrCustomizationReqID, UiOrderIndex FROM chr_customization_option"); "OptionType, BarberShopCostModifier, ChrCustomizationID, ChrCustomizationReqID, UiOrderIndex, AddedInPatch FROM chr_customization_option");
PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_OPTION_LOCALE, "SELECT ID, Name_lang FROM chr_customization_option_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_OPTION_LOCALE, "SELECT ID, Name_lang FROM chr_customization_option_locale WHERE locale = ?");
// ChrCustomizationReq.db2 // ChrCustomizationReq.db2
@@ -285,7 +285,7 @@ namespace Framework.Database
" WHERE locale = ?"); " WHERE locale = ?");
// CinematicCamera.db2 // CinematicCamera.db2
PrepareStatement(HotfixStatements.SEL_CINEMATIC_CAMERA, "SELECT ID, OriginX, OriginY, OriginZ, SoundID, OriginFacing, FileDataID FROM cinematic_camera"); PrepareStatement(HotfixStatements.SEL_CINEMATIC_CAMERA, "SELECT ID, OriginX, OriginY, OriginZ, SoundID, OriginFacing, FileDataID, Unknown915 FROM cinematic_camera");
// CinematicSequences.db2 // CinematicSequences.db2
PrepareStatement(HotfixStatements.SEL_CINEMATIC_SEQUENCES, "SELECT ID, SoundID, Camera1, Camera2, Camera3, Camera4, Camera5, Camera6, Camera7, Camera8 FROM cinematic_sequences"); PrepareStatement(HotfixStatements.SEL_CINEMATIC_SEQUENCES, "SELECT ID, SoundID, Camera1, Camera2, Camera3, Camera4, Camera5, Camera6, Camera7, Camera8 FROM cinematic_sequences");
@@ -415,7 +415,7 @@ namespace Framework.Database
"Enemies4, Friend1, Friend2, Friend3, Friend4 FROM faction_template"); "Enemies4, Friend1, Friend2, Friend3, Friend4 FROM faction_template");
// FriendshipRepReaction.db2 // FriendshipRepReaction.db2
PrepareStatement(HotfixStatements.SEL_FRIENDSHIP_REP_REACTION, "SELECT ID, Reaction, FriendshipRepID, ReactionThreshold FROM friendship_rep_reaction"); PrepareStatement(HotfixStatements.SEL_FRIENDSHIP_REP_REACTION, "SELECT ID, Reaction, FriendshipRepID, ReactionThreshold, OverrideColor FROM friendship_rep_reaction");
PrepareStatement(HotfixStatements.SEL_FRIENDSHIP_REP_REACTION_LOCALE, "SELECT ID, Reaction_lang FROM friendship_rep_reaction_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_FRIENDSHIP_REP_REACTION_LOCALE, "SELECT ID, Reaction_lang FROM friendship_rep_reaction_locale WHERE locale = ?");
// FriendshipReputation.db2 // FriendshipReputation.db2
@@ -524,8 +524,8 @@ namespace Framework.Database
// Heirloom.db2 // Heirloom.db2
PrepareStatement(HotfixStatements.SEL_HEIRLOOM, "SELECT SourceText, ID, ItemID, LegacyUpgradedItemID, StaticUpgradedItemID, SourceTypeEnum, Flags, " + PrepareStatement(HotfixStatements.SEL_HEIRLOOM, "SELECT SourceText, ID, ItemID, LegacyUpgradedItemID, StaticUpgradedItemID, SourceTypeEnum, Flags, " +
"LegacyItemID, UpgradeItemID1, UpgradeItemID2, UpgradeItemID3, UpgradeItemID4, UpgradeItemBonusListID1, UpgradeItemBonusListID2, " + "LegacyItemID, UpgradeItemID1, UpgradeItemID2, UpgradeItemID3, UpgradeItemID4, UpgradeItemID5, UpgradeItemID6, UpgradeItemBonusListID1, " +
"UpgradeItemBonusListID3, UpgradeItemBonusListID4 FROM heirloom"); "UpgradeItemBonusListID2, UpgradeItemBonusListID3, UpgradeItemBonusListID4, UpgradeItemBonusListID5, UpgradeItemBonusListID6 FROM heirloom");
PrepareStatement(HotfixStatements.SEL_HEIRLOOM_LOCALE, "SELECT ID, SourceText_lang FROM heirloom_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_HEIRLOOM_LOCALE, "SELECT ID, SourceText_lang FROM heirloom_locale WHERE locale = ?");
// Holidays.db2 // Holidays.db2
@@ -549,7 +549,7 @@ namespace Framework.Database
// Item.db2 // Item.db2
PrepareStatement(HotfixStatements.SEL_ITEM, "SELECT ID, ClassID, SubclassID, Material, InventoryType, SheatheType, SoundOverrideSubclassID, IconFileDataID, " + PrepareStatement(HotfixStatements.SEL_ITEM, "SELECT ID, ClassID, SubclassID, Material, InventoryType, SheatheType, SoundOverrideSubclassID, IconFileDataID, " +
"ItemGroupSoundsID, ModifiedCraftingReagentItemID FROM item"); "ItemGroupSoundsID, ContentTuningID, ModifiedCraftingReagentItemID FROM item");
// ItemAppearance.db2 // ItemAppearance.db2
PrepareStatement(HotfixStatements.SEL_ITEM_APPEARANCE, "SELECT ID, DisplayType, ItemDisplayInfoID, DefaultIconFileDataID, UiOrder, PlayerConditionID FROM item_appearance"); PrepareStatement(HotfixStatements.SEL_ITEM_APPEARANCE, "SELECT ID, DisplayType, ItemDisplayInfoID, DefaultIconFileDataID, UiOrder, PlayerConditionID FROM item_appearance");
@@ -726,7 +726,7 @@ namespace Framework.Database
"Key16, Key17, Key18, Key19, Key20, Key21, Key22, Key23, Key24, Key25, Key26, Key27, Key28, Key29, Key30, Key31, Key32 FROM keychain"); "Key16, Key17, Key18, Key19, Key20, Key21, Key22, Key23, Key24, Key25, Key26, Key27, Key28, Key29, Key30, Key31, Key32 FROM keychain");
// KeystoneAffix.db2 // KeystoneAffix.db2
PrepareStatement(HotfixStatements.SEL_KEYSTONE_AFFIX, "SELECT ID, Name, Description, FiledataID FROM keystone_affix"); PrepareStatement(HotfixStatements.SEL_KEYSTONE_AFFIX, "SELECT Name, Description, ID, FiledataID FROM keystone_affix");
PrepareStatement(HotfixStatements.SEL_KEYSTONE_AFFIX_LOCALE, "SELECT ID, Name_lang, Description_lang FROM keystone_affix_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_KEYSTONE_AFFIX_LOCALE, "SELECT ID, Name_lang, Description_lang FROM keystone_affix_locale WHERE locale = ?");
// LanguageWords.db2 // LanguageWords.db2
@@ -772,7 +772,7 @@ namespace Framework.Database
"PvpLongDescription_lang FROM map_locale WHERE locale = ?"); "PvpLongDescription_lang FROM map_locale WHERE locale = ?");
// MapChallengeMode.db2 // MapChallengeMode.db2
PrepareStatement(HotfixStatements.SEL_MAP_CHALLENGE_MODE, "SELECT Name, ID, MapID, Flags, ExpansionLevel, CriteriaCount1, CriteriaCount2, CriteriaCount3 FROM map_challenge_mode"); PrepareStatement(HotfixStatements.SEL_MAP_CHALLENGE_MODE, "SELECT Name, ID, MapID, Flags, ExpansionLevel, RequiredWorldStateID, CriteriaCount1, CriteriaCount2, CriteriaCount3 FROM map_challenge_mode");
PrepareStatement(HotfixStatements.SEL_MAP_CHALLENGE_MODE_LOCALE, "SELECT ID, Name_lang FROM map_challenge_mode_locale WHERe locale = ?"); PrepareStatement(HotfixStatements.SEL_MAP_CHALLENGE_MODE_LOCALE, "SELECT ID, Name_lang FROM map_challenge_mode_locale WHERe locale = ?");
// MapDifficulty.db2 // MapDifficulty.db2
@@ -900,7 +900,7 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_QUEST_INFO_LOCALE, "SELECT ID, InfoName_lang FROM quest_info_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_QUEST_INFO_LOCALE, "SELECT ID, InfoName_lang FROM quest_info_locale WHERE locale = ?");
// QuestLineXQuest.db2 // QuestLineXQuest.db2
PrepareStatement(HotfixStatements.SEL_QUEST_LINE_X_QUEST, "SELECT ID, QuestLineID, QuestID, OrderIndex FROM quest_line_x_quest"); PrepareStatement(HotfixStatements.SEL_QUEST_LINE_X_QUEST, "SELECT ID, QuestLineID, QuestID, OrderIndex, Flags FROM quest_line_x_quest");
// QuestMoneyReward.db2 // QuestMoneyReward.db2
PrepareStatement(HotfixStatements.SEL_QUEST_MONEY_REWARD, "SELECT ID, Difficulty1, Difficulty2, Difficulty3, Difficulty4, Difficulty5, Difficulty6, " + PrepareStatement(HotfixStatements.SEL_QUEST_MONEY_REWARD, "SELECT ID, Difficulty1, Difficulty2, Difficulty3, Difficulty4, Difficulty5, Difficulty6, " +
@@ -945,13 +945,13 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_SCENARIO_STEP_LOCALE, "SELECT ID, Description_lang, Title_lang FROM scenario_step_locale WHERE locale = ?"); PrepareStatement(HotfixStatements.SEL_SCENARIO_STEP_LOCALE, "SELECT ID, Description_lang, Title_lang FROM scenario_step_locale WHERE locale = ?");
// SceneScript.db2 // SceneScript.db2
PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT, "SELECT ID, FirstSceneScriptID, NextSceneScriptID FROM scene_script"); PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT, "SELECT ID, FirstSceneScriptID, NextSceneScriptID, Unknown915 FROM scene_script");
// SceneScriptGlobalText.db2 // SceneScriptGlobalText.db2
PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_GLOBAL_TEXT, "SELECT ID, Name, Script FROM scene_script_global_text"); PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_GLOBAL_TEXT, "SELECT ID, Name, Script FROM scene_script_global_text");
// SceneScriptPackage.db2 // SceneScriptPackage.db2
PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_PACKAGE, "SELECT ID, Name FROM scene_script_package"); PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_PACKAGE, "SELECT ID, Name, Unknown915 FROM scene_script_package");
// SceneScriptText.db2 // SceneScriptText.db2
PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_TEXT, "SELECT ID, Name, Script FROM scene_script_text"); PrepareStatement(HotfixStatements.SEL_SCENE_SCRIPT_TEXT, "SELECT ID, Name, Script FROM scene_script_text");
+1 -1
View File
@@ -892,7 +892,7 @@ namespace Game
var itemModifiedAppearance = CliDB.ItemModifiedAppearanceStorage.LookupByKey(bucketAppearance.Item1); var itemModifiedAppearance = CliDB.ItemModifiedAppearanceStorage.LookupByKey(bucketAppearance.Item1);
if (itemModifiedAppearance != null) if (itemModifiedAppearance != null)
{ {
if (!knownAppearanceIds.Contains(itemModifiedAppearance.ItemAppearanceID)) if (!knownAppearanceIds.Contains((uint)itemModifiedAppearance.ItemAppearanceID))
{ {
hasAll = false; hasAll = false;
break; break;
+1 -1
View File
@@ -395,7 +395,7 @@ namespace Game.DataStorage
public uint AzeritePowerSetID; public uint AzeritePowerSetID;
public int AzeritePowerID; public int AzeritePowerID;
public int Class; public int Class;
public int Tier; public byte Tier;
public uint OrderIndex; public uint OrderIndex;
} }
@@ -134,6 +134,7 @@ namespace Game.DataStorage
public ushort SortOrder; public ushort SortOrder;
public ushort UiOrderIndex; public ushort UiOrderIndex;
public int Flags; public int Flags;
public int AddedInPatch;
public int[] SwatchColor = new int[2]; public int[] SwatchColor = new int[2];
} }
@@ -174,6 +175,7 @@ namespace Game.DataStorage
public int ChrCustomizationID; public int ChrCustomizationID;
public int ChrCustomizationReqID; public int ChrCustomizationReqID;
public int UiOrderIndex; public int UiOrderIndex;
public int AddedInPatch;
} }
public sealed class ChrCustomizationReqRecord public sealed class ChrCustomizationReqRecord
@@ -310,6 +312,7 @@ namespace Game.DataStorage
public uint SoundID; // Sound ID (voiceover for cinematic) public uint SoundID; // Sound ID (voiceover for cinematic)
public float OriginFacing; // Orientation in map used for basis for M2 co public float OriginFacing; // Orientation in map used for basis for M2 co
public uint FileDataID; // Model public uint FileDataID; // Model
public int Unknown915;
} }
public sealed class CinematicSequencesRecord public sealed class CinematicSequencesRecord
@@ -106,6 +106,7 @@ namespace Game.DataStorage
public LocalizedString Reaction; public LocalizedString Reaction;
public uint FriendshipRepID; public uint FriendshipRepID;
public ushort ReactionThreshold; public ushort ReactionThreshold;
public int OverrideColor;
} }
public sealed class FriendshipReputationRecord public sealed class FriendshipReputationRecord
+8 -8
View File
@@ -63,7 +63,7 @@ namespace Game.DataStorage
public string Name; public string Name;
public string Description; public string Description;
public byte GarrAbilityCategoryID; public byte GarrAbilityCategoryID;
public byte GarrFollowerTypeID; public sbyte GarrFollowerTypeID;
public int IconFileDataID; public int IconFileDataID;
public ushort FactionChangeGarrAbilityID; public ushort FactionChangeGarrAbilityID;
public GarrisonAbilityFlags Flags; public GarrisonAbilityFlags Flags;
@@ -77,7 +77,7 @@ namespace Game.DataStorage
public string Description; public string Description;
public string Tooltip; public string Tooltip;
public byte GarrTypeID; public byte GarrTypeID;
public byte BuildingType; public sbyte BuildingType;
public uint HordeGameObjectID; public uint HordeGameObjectID;
public uint AllianceGameObjectID; public uint AllianceGameObjectID;
public int GarrSiteID; public int GarrSiteID;
@@ -116,7 +116,7 @@ namespace Game.DataStorage
public ushort UiTextureAtlasMemberID; public ushort UiTextureAtlasMemberID;
public ushort GarrFollItemSetID; public ushort GarrFollItemSetID;
public byte FollowerClassLimit; public byte FollowerClassLimit;
public byte Flags; public int Flags;
} }
public sealed class GarrFollowerRecord public sealed class GarrFollowerRecord
@@ -126,14 +126,14 @@ namespace Game.DataStorage
public string AllianceSourceText; public string AllianceSourceText;
public string TitleName; public string TitleName;
public byte GarrTypeID; public byte GarrTypeID;
public byte GarrFollowerTypeID; public sbyte GarrFollowerTypeID;
public int HordeCreatureID; public int HordeCreatureID;
public int AllianceCreatureID; public int AllianceCreatureID;
public byte HordeGarrFollRaceID; public byte HordeGarrFollRaceID;
public byte AllianceGarrFollRaceID; public byte AllianceGarrFollRaceID;
public uint HordeGarrClassSpecID; public uint HordeGarrClassSpecID;
public uint AllianceGarrClassSpecID; public uint AllianceGarrClassSpecID;
public byte Quality; public sbyte Quality;
public byte FollowerLevel; public byte FollowerLevel;
public ushort ItemLevelWeapon; public ushort ItemLevelWeapon;
public ushort ItemLevelArmor; public ushort ItemLevelArmor;
@@ -151,7 +151,7 @@ namespace Game.DataStorage
public uint HordeSlottingBroadcastTextID; public uint HordeSlottingBroadcastTextID;
public uint AllySlottingBroadcastTextID; public uint AllySlottingBroadcastTextID;
public byte ChrClassID; public byte ChrClassID;
public byte Flags; public int Flags;
public byte Gender; public byte Gender;
public int AutoCombatantID; public int AutoCombatantID;
public int CovenantID; public int CovenantID;
@@ -176,7 +176,7 @@ namespace Game.DataStorage
public Vector2 WorldPos; public Vector2 WorldPos;
public byte GarrTypeID; public byte GarrTypeID;
public byte GarrMissionTypeID; public byte GarrMissionTypeID;
public byte GarrFollowerTypeID; public sbyte GarrFollowerTypeID;
public byte MaxFollowers; public byte MaxFollowers;
public uint MissionCost; public uint MissionCost;
public ushort MissionCostCurrencyTypesID; public ushort MissionCostCurrencyTypesID;
@@ -196,7 +196,7 @@ namespace Game.DataStorage
public uint OvermaxRewardPackID; public uint OvermaxRewardPackID;
public byte FollowerDeathChance; public byte FollowerDeathChance;
public uint AreaID; public uint AreaID;
public uint Flags; public int Flags;
public float AutoMissionScalar; public float AutoMissionScalar;
public int AutoMissionScalarCurveID; public int AutoMissionScalarCurveID;
public int AutoCombatantEnvCasterID; public int AutoCombatantEnvCasterID;
+2 -2
View File
@@ -29,8 +29,8 @@ namespace Game.DataStorage
public sbyte SourceTypeEnum; public sbyte SourceTypeEnum;
public byte Flags; public byte Flags;
public int LegacyItemID; public int LegacyItemID;
public int[] UpgradeItemID = new int[4]; public int[] UpgradeItemID = new int[6];
public ushort[] UpgradeItemBonusListID = new ushort[4]; public ushort[] UpgradeItemBonusListID = new ushort[6];
} }
public sealed class HolidaysRecord public sealed class HolidaysRecord
+7 -6
View File
@@ -57,13 +57,14 @@ namespace Game.DataStorage
public sbyte SoundOverrideSubclassID; public sbyte SoundOverrideSubclassID;
public int IconFileDataID; public int IconFileDataID;
public byte ItemGroupSoundsID; public byte ItemGroupSoundsID;
public int ContentTuningID;
public int ModifiedCraftingReagentItemID; public int ModifiedCraftingReagentItemID;
} }
public sealed class ItemAppearanceRecord public sealed class ItemAppearanceRecord
{ {
public uint Id; public uint Id;
public byte DisplayType; public int DisplayType;
public uint ItemDisplayInfoID; public uint ItemDisplayInfoID;
public int DefaultIconFileDataID; public int DefaultIconFileDataID;
public int UiOrder; public int UiOrder;
@@ -265,10 +266,10 @@ namespace Game.DataStorage
{ {
public uint Id; public uint Id;
public uint ItemID; public uint ItemID;
public byte ItemAppearanceModifierID; public int ItemAppearanceModifierID;
public ushort ItemAppearanceID; public int ItemAppearanceID;
public byte OrderIndex; public int OrderIndex;
public sbyte TransmogSourceTypeEnum; public byte TransmogSourceTypeEnum;
} }
public sealed class ItemModifiedAppearanceExtraRecord public sealed class ItemModifiedAppearanceExtraRecord
@@ -399,7 +400,7 @@ namespace Game.DataStorage
public byte RequiredPVPRank; public byte RequiredPVPRank;
public sbyte RequiredLevel; public sbyte RequiredLevel;
public InventoryType inventoryType; public InventoryType inventoryType;
public byte OverallQualityID; public sbyte OverallQualityID;
} }
public sealed class ItemSpecRecord public sealed class ItemSpecRecord
+1 -1
View File
@@ -25,9 +25,9 @@ namespace Game.DataStorage
public sealed class KeystoneAffixRecord public sealed class KeystoneAffixRecord
{ {
public uint Id;
public LocalizedString Name; public LocalizedString Name;
public LocalizedString Description; public LocalizedString Description;
public uint Id;
public int FiledataID; public int FiledataID;
} }
} }
@@ -98,6 +98,7 @@ namespace Game.DataStorage
public ushort MapID; public ushort MapID;
public byte Flags; public byte Flags;
public uint ExpansionLevel; public uint ExpansionLevel;
public int RequiredWorldStateID; // maybe?
public short[] CriteriaCount = new short[3]; public short[] CriteriaCount = new short[3];
} }
+2 -1
View File
@@ -30,7 +30,7 @@ namespace Game.DataStorage
public uint Id; public uint Id;
public LocalizedString InfoName; public LocalizedString InfoName;
public sbyte Type; public sbyte Type;
public byte Modifiers; public int Modifiers;
public ushort Profession; public ushort Profession;
} }
@@ -40,6 +40,7 @@ namespace Game.DataStorage
public uint QuestLineID; public uint QuestLineID;
public uint QuestID; public uint QuestID;
public uint OrderIndex; public uint OrderIndex;
public int Flags;
} }
public sealed class QuestMoneyRewardRecord public sealed class QuestMoneyRewardRecord
@@ -58,6 +58,7 @@ namespace Game.DataStorage
public uint Id; public uint Id;
public ushort FirstSceneScriptID; public ushort FirstSceneScriptID;
public ushort NextSceneScriptID; public ushort NextSceneScriptID;
public int Unknown915;
} }
public sealed class SceneScriptGlobalTextRecord public sealed class SceneScriptGlobalTextRecord
@@ -71,6 +72,7 @@ namespace Game.DataStorage
{ {
public uint Id; public uint Id;
public string Name; public string Name;
public int Unknown915;
} }
public sealed class SceneScriptTextRecord public sealed class SceneScriptTextRecord
+1 -1
View File
@@ -25,7 +25,7 @@ namespace Game.DataStorage
public uint Id; public uint Id;
public int ParentUiMapID; public int ParentUiMapID;
public int Flags; public int Flags;
public int System; public uint System;
public UiMapType Type; public UiMapType Type;
public int BountySetID; public int BountySetID;
public uint BountyDisplayLocation; public uint BountyDisplayLocation;
+1 -1
View File
@@ -44,7 +44,7 @@ namespace Game.DataStorage
public uint Id; public uint Id;
public uint QuestFeedbackEffectID; public uint QuestFeedbackEffectID;
public byte WhenToDisplay; public byte WhenToDisplay;
public int TargetType; public byte TargetType;
public int TargetAsset; public int TargetAsset;
public uint PlayerConditionID; public uint PlayerConditionID;
public ushort CombatConditionID; public ushort CombatConditionID;
+1 -1
View File
@@ -1991,7 +1991,7 @@ namespace Game.Entities
ItemModifiedAppearanceRecord transmog = CliDB.ItemModifiedAppearanceStorage.LookupByKey(itemModifiedAppearanceId); ItemModifiedAppearanceRecord transmog = CliDB.ItemModifiedAppearanceStorage.LookupByKey(itemModifiedAppearanceId);
if (transmog != null) if (transmog != null)
return transmog.ItemAppearanceModifierID; return (ushort)transmog.ItemAppearanceModifierID;
return (ushort)GetAppearanceModId(); return (ushort)GetAppearanceModId();
} }
@@ -784,7 +784,7 @@ namespace Game.Entities
{ {
List<uint> appearances = new(); List<uint> appearances = new();
foreach (int id in _appearances) foreach (int id in _appearances)
appearances.Add(CliDB.ItemModifiedAppearanceStorage.LookupByKey(id).ItemAppearanceID); appearances.Add((uint)CliDB.ItemModifiedAppearanceStorage.LookupByKey(id).ItemAppearanceID);
return appearances; return appearances;
} }
+1 -1
View File
@@ -52,7 +52,7 @@ namespace Game.Garrisons
_garrisonBuildingPlotInstances[MathFunctions.MakePair64(buildingPlotInst.GarrBuildingID, buildingPlotInst.GarrSiteLevelPlotInstID)] = buildingPlotInst.Id; _garrisonBuildingPlotInstances[MathFunctions.MakePair64(buildingPlotInst.GarrBuildingID, buildingPlotInst.GarrSiteLevelPlotInstID)] = buildingPlotInst.Id;
foreach (GarrBuildingRecord building in CliDB.GarrBuildingStorage.Values) foreach (GarrBuildingRecord building in CliDB.GarrBuildingStorage.Values)
_garrisonBuildingsByType.Add(building.BuildingType, building.Id); _garrisonBuildingsByType.Add((byte)building.BuildingType, building.Id);
for (var i = 0; i < 2; ++i) for (var i = 0; i < 2; ++i)
_garrisonFollowerAbilities[i] = new Dictionary<uint, GarrAbilities>(); _garrisonFollowerAbilities[i] = new Dictionary<uint, GarrAbilities>();
+2 -2
View File
@@ -430,7 +430,7 @@ namespace Game.Garrisons
if (constructing.UpgradeLevel > 1) if (constructing.UpgradeLevel > 1)
{ {
// Restore previous level building // Restore previous level building
uint restored = Global.GarrisonMgr.GetPreviousLevelBuilding(constructing.BuildingType, constructing.UpgradeLevel); uint restored = Global.GarrisonMgr.GetPreviousLevelBuilding((byte)constructing.BuildingType, constructing.UpgradeLevel);
Cypher.Assert(restored != 0); Cypher.Assert(restored != 0);
GarrisonPlaceBuildingResult placeBuildingResult = new(); GarrisonPlaceBuildingResult placeBuildingResult = new();
@@ -500,7 +500,7 @@ namespace Game.Garrisons
Follower follower = new(); Follower follower = new();
follower.PacketInfo.DbID = dbId; follower.PacketInfo.DbID = dbId;
follower.PacketInfo.GarrFollowerID = garrFollowerId; follower.PacketInfo.GarrFollowerID = garrFollowerId;
follower.PacketInfo.Quality = followerEntry.Quality; // TODO: handle magic upgrades follower.PacketInfo.Quality = (uint)followerEntry.Quality; // TODO: handle magic upgrades
follower.PacketInfo.FollowerLevel = followerEntry.FollowerLevel; follower.PacketInfo.FollowerLevel = followerEntry.FollowerLevel;
follower.PacketInfo.ItemLevelWeapon = followerEntry.ItemLevelWeapon; follower.PacketInfo.ItemLevelWeapon = followerEntry.ItemLevelWeapon;
follower.PacketInfo.ItemLevelArmor = followerEntry.ItemLevelArmor; follower.PacketInfo.ItemLevelArmor = followerEntry.ItemLevelArmor;
+1 -1
View File
@@ -2213,7 +2213,7 @@ namespace Game
equipmentInfo.Items[i].ItemId, equipmentInfo.Items[i].AppearanceModId, i + 1, i + 1, entry, id); equipmentInfo.Items[i].ItemId, equipmentInfo.Items[i].AppearanceModId, i + 1, i + 1, entry, id);
ItemModifiedAppearanceRecord defaultAppearance = Global.DB2Mgr.GetDefaultItemModifiedAppearance(equipmentInfo.Items[i].ItemId); ItemModifiedAppearanceRecord defaultAppearance = Global.DB2Mgr.GetDefaultItemModifiedAppearance(equipmentInfo.Items[i].ItemId);
if (defaultAppearance != null) if (defaultAppearance != null)
equipmentInfo.Items[i].AppearanceModId = defaultAppearance.ItemAppearanceModifierID; equipmentInfo.Items[i].AppearanceModId = (ushort)defaultAppearance.ItemAppearanceModifierID;
else else
equipmentInfo.Items[i].AppearanceModId = 0; equipmentInfo.Items[i].AppearanceModId = 0;
continue; continue;
+2
View File
@@ -4686,6 +4686,8 @@ namespace Game.Spells
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 283 SPELL_EFFECT_COMPLETE_CAMPAIGN new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 283 SPELL_EFFECT_COMPLETE_CAMPAIGN
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 284 SPELL_EFFECT_SEND_CHAT_MESSAGE new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 284 SPELL_EFFECT_SEND_CHAT_MESSAGE
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 285 SPELL_EFFECT_MODIFY_KEYSTONE_2 new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 285 SPELL_EFFECT_MODIFY_KEYSTONE_2
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 284 SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 285 SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL
}; };
#region Fields #region Fields
@@ -0,0 +1,63 @@
ALTER TABLE `azerite_power_set_member` MODIFY `Tier` tinyint(4) NOT NULL DEFAULT 0 AFTER `Class`;
ALTER TABLE `chr_customization_choice` ADD `AddedInPatch` int(11) NOT NULL DEFAULT 0 AFTER `Flags`;
ALTER TABLE `chr_customization_option` ADD `AddedInPatch` int(11) NOT NULL DEFAULT 0 AFTER `UiOrderIndex`;
ALTER TABLE `cinematic_camera` ADD `Unknown915` int(11) NOT NULL DEFAULT 0 AFTER `FileDataID`;
ALTER TABLE `friendship_rep_reaction` ADD `OverrideColor` int(11) NOT NULL DEFAULT 0 AFTER `ReactionThreshold`;
ALTER TABLE `garr_ability` MODIFY `GarrFollowerTypeID` tinyint(4) NOT NULL DEFAULT 0 AFTER `GarrAbilityCategoryID`;
ALTER TABLE `garr_ability` MODIFY `Flags` int(11) NOT NULL DEFAULT 0 AFTER `FactionChangeGarrAbilityID`;
ALTER TABLE `garr_building` MODIFY `BuildingType` tinyint(4) NOT NULL DEFAULT 0 AFTER `GarrTypeID`;
ALTER TABLE `garr_building` MODIFY `Flags` int(11) NOT NULL DEFAULT 0 AFTER `GoldCost`;
ALTER TABLE `garr_class_spec` MODIFY `Flags` int(11) NOT NULL DEFAULT 0 AFTER `FollowerClassLimit`;
ALTER TABLE `garr_follower` MODIFY `GarrFollowerTypeID` tinyint(4) NOT NULL DEFAULT 0 AFTER `GarrTypeID`;
ALTER TABLE `garr_follower` MODIFY `Quality` tinyint(4) NOT NULL DEFAULT 0 AFTER `AllianceGarrClassSpecID`;
ALTER TABLE `garr_follower` MODIFY `Flags` int(11) NOT NULL DEFAULT 0 AFTER `ChrClassID`;
ALTER TABLE `garr_follower` MODIFY `GarrFollowerTypeID` tinyint(4) NOT NULL DEFAULT 0 AFTER `GarrTypeID`;
ALTER TABLE `garr_mission` MODIFY `Flags` int(11) NOT NULL DEFAULT 0 AFTER `AreaID`;
ALTER TABLE `heirloom`
ADD `UpgradeItemID5` int(11) NOT NULL DEFAULT 0 AFTER `UpgradeItemID4`,
ADD `UpgradeItemID6` int(11) NOT NULL DEFAULT 0 AFTER `UpgradeItemID5`,
ADD `UpgradeItemBonusListID5` smallint(5) unsigned NOT NULL DEFAULT 0 AFTER `UpgradeItemBonusListID4`,
ADD `UpgradeItemBonusListID6` smallint(5) unsigned NOT NULL DEFAULT 0 AFTER `UpgradeItemBonusListID5`;
ALTER TABLE `item` ADD `ContentTuningID` int(11) NOT NULL DEFAULT 0 AFTER `ItemGroupSoundsID`;
ALTER TABLE `item_appearance` MODIFY `DisplayType` int(11) NOT NULL DEFAULT 0 AFTER `ID`;
ALTER TABLE `item_modified_appearance` MODIFY `ItemAppearanceModifierID` int(11) NOT NULL DEFAULT 0 AFTER `ItemID`;
ALTER TABLE `item_modified_appearance` MODIFY `ItemAppearanceID` int(11) NOT NULL DEFAULT 0 AFTER `ItemAppearanceModifierID`;
ALTER TABLE `item_modified_appearance` MODIFY `OrderIndex` int(11) NOT NULL DEFAULT 0 AFTER `ItemAppearanceID`;
ALTER TABLE `item_modified_appearance` MODIFY `TransmogSourceTypeEnum` tinyint(3) unsigned NOT NULL DEFAULT 0 AFTER `OrderIndex`;
ALTER TABLE `item_sparse` MODIFY `InventoryType` tinyint(4) NOT NULL DEFAULT 0 AFTER `RequiredLevel`;
ALTER TABLE `item_sparse` MODIFY `OverallQualityID` tinyint(4) NOT NULL DEFAULT 0 AFTER `InventoryType`;
ALTER TABLE `keystone_affix` MODIFY `ID` int(10) unsigned NOT NULL DEFAULT 0 AFTER `Description`;
ALTER TABLE `map_challenge_mode` ADD `RequiredWorldStateID` int(11) NOT NULL DEFAULT 0 AFTER `ExpansionLevel`;
ALTER TABLE `quest_info` MODIFY `Modifiers` int(11) NOT NULL DEFAULT 0 AFTER `Type`;
ALTER TABLE `quest_line_x_quest` ADD `Flags` int(11) NOT NULL DEFAULT 0 AFTER `OrderIndex`;
ALTER TABLE `scene_script` ADD `Unknown915` int(11) NOT NULL DEFAULT 0 AFTER `NextSceneScriptID`;
ALTER TABLE `scene_script_package` ADD `Unknown915` int(11) NOT NULL DEFAULT 0 AFTER `Name`;
ALTER TABLE `spell_effect` MODIFY `Effect` int(10) unsigned NOT NULL DEFAULT 0 AFTER `EffectIndex`;
ALTER TABLE `ui_map` MODIFY `System` int(10) unsigned NOT NULL DEFAULT 0 AFTER `Flags`;
ALTER TABLE `ui_map` MODIFY `Type` int(10) unsigned NOT NULL DEFAULT 0 AFTER `System`;
ALTER TABLE `world_effect` MODIFY `TargetType` tinyint(3) unsigned NOT NULL DEFAULT 0 AFTER `WhenToDisplay`;
ALTER TABLE `hotfix_data` ADD `UniqueId` int(10) unsigned NOT NULL DEFAULT 0 AFTER `Id`;