Core/DataStores: Updated db2 structures to 9.1.5
Port From (https://github.com/TrinityCore/TrinityCore/commit/d52c00a8fe79186013980af0e2caa3fd13c0c5fa)
This commit is contained in:
@@ -2074,7 +2074,7 @@ namespace Framework.Constants
|
|||||||
Max
|
Max
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum UiMapType
|
public enum UiMapType : uint
|
||||||
{
|
{
|
||||||
Cosmic = 0,
|
Cosmic = 0,
|
||||||
World = 1,
|
World = 1,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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`;
|
||||||
Reference in New Issue
Block a user