Core: Updated to 11.2.5.63704

Port From (https://github.com/TrinityCore/TrinityCore/commit/53068a94e88991ae7196fb247df4b7ca2e47e554)
This commit is contained in:
Hondacrx
2025-12-16 13:57:09 -05:00
parent ed33a88776
commit 3a890782b5
57 changed files with 3079 additions and 2630 deletions
+7 -4
View File
@@ -22,12 +22,15 @@ namespace Framework.Constants
PerCharacterEditModeCache = 14,
GlobalFrontendChatSettings = 15,
GlobalCharacterListOrder = 16,
GlobalCooldownManager = 17,
PerCharacterCooldownManager2 = 18,
GlobalShop2PendingOrders = 19,
Max = 17,
Max = 20,
AllAccountDataCacheMask = 0x0001FFFFu,
GlobalCacheMask = 0x0001A515u,
PerCharacterCacheMask = 0x00005AEAu
AllAccountDataCacheMask = 0x000FFFFFu,
GlobalCacheMask = 0x000BA515u,
PerCharacterCacheMask = 0x00045AEAu
}
public enum TutorialAction
+10 -2
View File
@@ -2609,7 +2609,8 @@ namespace Framework.Constants
{
Gold = 0,
CurrencyTypesBased = 1,
TraitSourced = 2
TraitSourced = 2,
TraitSourcedPlayerDataElement = 3,
}
public enum TraitEdgeType
@@ -2633,7 +2634,8 @@ namespace Framework.Constants
SpendDiamond = 6,
ProfPath = 7,
ProfPerk = 8,
ProfPathUnlock = 9
ProfPathUnlock = 9,
SpendInfinite = 10
}
[Flags]
@@ -2658,6 +2660,12 @@ namespace Framework.Constants
Multiply = 1
}
public enum TraitSystemVariationType
{
None = 0,
Spec = 1
}
[Flags]
public enum TraitTreeFlag
{
+28
View File
@@ -477,6 +477,9 @@ namespace Framework.Constants
OverrideDescriptionColor = 45, // Overrides color of item description and upgrade track if TimeEvent from value[1] has passed
OverrideCannotTradeBop = 46,
BondingWithPriority = 47,
ItemOffsetCurve = 48,
ScalingConfigAndReqLevel = 49,
ScalingConfig = 51,
}
public enum ItemCollectionType : byte
@@ -489,6 +492,10 @@ namespace Framework.Constants
RuneforgeLegendaryAbility = 5,
TransmogIllusion = 6,
WarbandScene = 7,
Room = 8,
ExteriorFixture = 9,
RoomTheme = 10,
RoomMaterial = 11
}
public enum ItemContext : byte
@@ -658,6 +665,27 @@ namespace Framework.Constants
TournamentRealm2 = 162,
TournamentRealm3 = 163,
TournamentRealm4 = 164,
Warbound1 = 165,
Warbound2 = 166,
Warbound3 = 167,
Warbound4 = 168,
Warbound5 = 169,
Warbound6 = 170,
Warbound7 = 171,
Warbound8 = 172,
Warbound9 = 173,
Warbound10 = 174,
Warbound11 = 175,
Warbound12 = 176,
Warbound13 = 177,
Warbound14 = 178,
Warbound15 = 179,
Warbound16 = 180,
Warbound17 = 181,
Warbound18 = 182,
Warbound19 = 183,
Warbound20 = 184,
Endeavors = 185,
Max
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -19,6 +19,10 @@ namespace Framework.Constants
Calendar = 11,
Mail = 12,
PvP = 13,
PvPScoreboard = 14,
PvPGroupMember = 15,
CraftingOrder = 16,
RecentAlly = 17
}
public enum ReportMajorCategory
@@ -35,13 +35,13 @@ namespace Framework.Database
"subject, deliver_time, expire_time, money, has_items FROM mail WHERE receiver = ? ");
PrepareStatement(CharStatements.SEL_MAIL_LIST_ITEMS, "SELECT itemEntry,count FROM item_instance WHERE guid = ?");
PrepareStatement(CharStatements.SEL_ENUM, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.createTime, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"c.personalTabardEmblemStyle, c.personalTabardEmblemColor, c.personalTabardBorderStyle, c.personalTabardBorderColor, c.personalTabardBackgroundColor " +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.summonedPetNumber = cp.id LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 " +
"WHERE c.account = ? AND c.deleteInfos_Name IS NULL");
PrepareStatement(CharStatements.SEL_ENUM_DECLINED_NAME, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.createTime, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"c.personalTabardEmblemStyle, c.personalTabardEmblemColor, c.personalTabardBorderStyle, c.personalTabardBorderColor, c.personalTabardBackgroundColor, cd.genitive " +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.summonedPetNumber = cp.id LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid " +
@@ -49,13 +49,13 @@ namespace Framework.Database
PrepareStatement(CharStatements.SEL_ENUM_CUSTOMIZATIONS, "SELECT cc.guid, cc.chrCustomizationOptionID, cc.chrCustomizationChoiceID FROM character_customizations cc " +
"LEFT JOIN characters c ON cc.guid = c.guid WHERE c.account = ? AND c.deleteInfos_Name IS NULL ORDER BY cc.guid, cc.chrCustomizationOptionID");
PrepareStatement(CharStatements.SEL_UNDELETE_ENUM, "SELECT c.guid, c.deleteInfos_Name, c.race, c.class, c.gender, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.createTime, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"c.personalTabardEmblemStyle, c.personalTabardEmblemColor, c.personalTabardBorderStyle, c.personalTabardBorderColor, c.personalTabardBackgroundColor " +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.summonedPetNumber = cp.id LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 " +
"WHERE c.deleteInfos_Account = ? AND c.deleteInfos_Name IS NOT NULL");
PrepareStatement(CharStatements.SEL_UNDELETE_ENUM_DECLINED_NAME, "SELECT c.guid, c.deleteInfos_Name, c.race, c.class, c.gender, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level AS cpLevel, c.equipmentCache, cb.guid AS cbGuid, c.slot, c.createTime, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, " +
"c.personalTabardEmblemStyle, c.personalTabardEmblemColor, c.personalTabardBorderStyle, c.personalTabardBorderColor, c.personalTabardBackgroundColor, cd.genitive" +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.summonedPetNumber = cp.id LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid " +
@@ -649,8 +649,8 @@ namespace Framework.Database
PrepareStatement(CharStatements.INS_CHAR_TRAIT_ENTRIES, "INSERT INTO character_trait_entry (guid, traitConfigId, traitNodeId, traitNodeEntryId, `rank`) VALUES (?, ?, ?, ?, ?)");
PrepareStatement(CharStatements.DEL_CHAR_TRAIT_ENTRIES, "DELETE FROM character_trait_entry WHERE guid = ? AND traitConfigId = ?");
PrepareStatement(CharStatements.DEL_CHAR_TRAIT_ENTRIES_BY_CHAR, "DELETE FROM character_trait_entry WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHAR_TRAIT_CONFIGS, "SELECT traitConfigId, type, chrSpecializationId, combatConfigFlags, localIdentifier, skillLineId, traitSystemId, `name` FROM character_trait_config WHERE guid = ?");
PrepareStatement(CharStatements.INS_CHAR_TRAIT_CONFIGS, "INSERT INTO character_trait_config (guid, traitConfigId, type, chrSpecializationId, combatConfigFlags, localIdentifier, skillLineId, traitSystemId, `name`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
PrepareStatement(CharStatements.SEL_CHAR_TRAIT_CONFIGS, "SELECT traitConfigId, type, chrSpecializationId, combatConfigFlags, localIdentifier, skillLineId, traitSystemId, variationId, `name` FROM character_trait_config WHERE guid = ?");
PrepareStatement(CharStatements.INS_CHAR_TRAIT_CONFIGS, "INSERT INTO character_trait_config (guid, traitConfigId, type, chrSpecializationId, combatConfigFlags, localIdentifier, skillLineId, traitSystemId, variationId, `name`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
PrepareStatement(CharStatements.DEL_CHAR_TRAIT_CONFIGS, "DELETE FROM character_trait_config WHERE guid = ? AND traitConfigId = ?");
PrepareStatement(CharStatements.DEL_CHAR_TRAIT_CONFIGS_BY_CHAR, "DELETE FROM character_trait_config WHERE guid = ?");
@@ -365,8 +365,9 @@ namespace Framework.Database
// ContentTuning.db2
PrepareStatement(HotfixStatements.SEL_CONTENT_TUNING, "SELECT ID, Flags, ExpansionID, HealthItemLevelCurveID, DamageItemLevelCurveID, " +
"HealthPrimaryStatCurveID, DamagePrimaryStatCurveID, MinLevel, MaxLevel, MinLevelType, MaxLevelType, TargetLevelDelta, TargetLevelMaxDelta, " +
"TargetLevelMin, TargetLevelMax, MinItemLevel, QuestXpMultiplier FROM content_tuning WHERE (`VerifiedBuild` > 0) = ?");
"HealthPrimaryStatCurveID, DamagePrimaryStatCurveID, PrimaryStatScalingModPlayerDataElementCharacterID, " +
"PrimaryStatScalingModPlayerDataElementCharacterMultiplier, MinLevel, MaxLevel, MinLevelType, MaxLevelType, TargetLevelDelta, " +
"TargetLevelMaxDelta, TargetLevelMin, TargetLevelMax, MinItemLevel, QuestXpMultiplier FROM content_tuning WHERE (`VerifiedBuild` > 0) = ?");
// ContentTuningXExpected.db2
PrepareStatement(HotfixStatements.SEL_CONTENT_TUNING_X_EXPECTED, "SELECT ID, ExpectedStatModID, MinMythicPlusSeasonID, MaxMythicPlusSeasonID, " +
@@ -722,8 +723,8 @@ namespace Framework.Database
// ItemBonusTreeNode.db2
PrepareStatement(HotfixStatements.SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, ItemContext, ChildItemBonusTreeID, ChildItemBonusListID, ChildItemLevelSelectorID, " +
"ChildItemBonusListGroupID, IblGroupPointsModSetID, MinMythicPlusLevel, MaxMythicPlusLevel, ParentItemBonusTreeID FROM item_bonus_tree_node" +
" WHERE (`VerifiedBuild` > 0) = ?");
"ChildItemBonusListGroupID, IblGroupPointsModSetID, MinMythicPlusLevel, MaxMythicPlusLevel, ItemCreationContextGroupID, Flags, " +
"ParentItemBonusTreeID FROM item_bonus_tree_node WHERE (`VerifiedBuild` > 0) = ?");
// ItemChildEquipment.db2
PrepareStatement(HotfixStatements.SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, ParentItemID, ChildItemID, ChildItemEquipSlot FROM item_child_equipment" +
@@ -737,6 +738,10 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_ITEM_CONTEXT_PICKER_ENTRY, "SELECT ID, ItemCreationContext, OrderIndex, PVal, LabelID, Flags, PlayerConditionID, " +
"ItemContextPickerID FROM item_context_picker_entry WHERE (`VerifiedBuild` > 0) = ?");
// ItemCreationContext.db2
PrepareStatement(HotfixStatements.SEL_ITEM_CREATION_CONTEXT, "SELECT ID, ItemContext, ItemCreationContextGroupID FROM item_creation_context" +
" WHERE (`VerifiedBuild` > 0) = ?");
// ItemCurrencyCost.db2
PrepareStatement(HotfixStatements.SEL_ITEM_CURRENCY_COST, "SELECT ID, ItemID FROM item_currency_cost WHERE (`VerifiedBuild` > 0) = ?");
@@ -808,9 +813,16 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_ITEM_NAME_DESCRIPTION_LOCALE, "SELECT ID, Description_lang FROM item_name_description_locale" +
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?");
// ItemOffsetCurve.db2
PrepareStatement(HotfixStatements.SEL_ITEM_OFFSET_CURVE, "SELECT ID, CurveID, Offset FROM item_offset_curve WHERE (`VerifiedBuild` > 0) = ?");
// ItemPriceBase.db2
PrepareStatement(HotfixStatements.SEL_ITEM_PRICE_BASE, "SELECT ID, ItemLevel, Armor, Weapon FROM item_price_base WHERE (`VerifiedBuild` > 0) = ?");
// ItemScalingConfig.db2
PrepareStatement(HotfixStatements.SEL_ITEM_SCALING_CONFIG, "SELECT ID, ItemOffsetCurveID, ItemLevel, RequiredLevel, Unknown1125 FROM item_scaling_config" +
" WHERE (`VerifiedBuild` > 0) = ?");
// ItemSearchName.db2
PrepareStatement(HotfixStatements.SEL_ITEM_SEARCH_NAME, "SELECT ID, AllowableRace, Display, OverallQualityID, ExpansionID, MinFactionID, MinReputation, " +
"AllowableClass, RequiredLevel, RequiredSkill, RequiredSkillRank, RequiredAbility, ItemLevel, Flags1, Flags2, Flags3, Flags4, Flags5" +
@@ -837,12 +849,12 @@ namespace Framework.Database
"StatPercentEditor10, StatModifierBonusStat1, StatModifierBonusStat2, StatModifierBonusStat3, StatModifierBonusStat4, StatModifierBonusStat5, " +
"StatModifierBonusStat6, StatModifierBonusStat7, StatModifierBonusStat8, StatModifierBonusStat9, StatModifierBonusStat10, Stackable, " +
"MaxCount, MinReputation, RequiredAbility, SellPrice, BuyPrice, VendorStackCount, PriceVariance, PriceRandomValue, Flags1, Flags2, Flags3, " +
"Flags4, Flags5, FactionRelated, ModifiedCraftingReagentItemID, ContentTuningID, PlayerLevelToItemLevelCurveID, ItemNameDescriptionID, " +
"RequiredTransmogHoliday, RequiredHoliday, GemProperties, SocketMatchEnchantmentId, TotemCategoryID, InstanceBound, ZoneBound1, ZoneBound2, " +
"ItemSet, LockID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, ArtifactID, SpellWeight, " +
"SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, PageMaterialID, Bonding, DamageDamageType, " +
"ContainerSlots, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, OverallQualityID FROM item_sparse" +
" WHERE (`VerifiedBuild` > 0) = ?");
"Flags4, Flags5, FactionRelated, ModifiedCraftingReagentItemID, ContentTuningID, PlayerLevelToItemLevelCurveID, ItemLevelOffsetCurveID, " +
"ItemLevelOffsetItemLevel, ItemNameDescriptionID, RequiredTransmogHoliday, RequiredHoliday, GemProperties, SocketMatchEnchantmentId, " +
"TotemCategoryID, InstanceBound, ZoneBound1, ZoneBound2, ItemSet, LockID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, " +
"ItemLevel, AllowableClass, ArtifactID, SpellWeight, SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, " +
"PageMaterialID, Bonding, DamageDamageType, ContainerSlots, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, " +
"OverallQualityID FROM item_sparse WHERE (`VerifiedBuild` > 0) = ?");
PrepareStatement(HotfixStatements.SEL_ITEM_SPARSE_LOCALE, "SELECT ID, Description_lang, Display3_lang, Display2_lang, Display1_lang, Display_lang" +
" FROM item_sparse_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?");
@@ -1068,19 +1080,19 @@ namespace Framework.Database
" AND locale = ?");
// PlayerDataElementAccount.db2
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_ELEMENT_ACCOUNT, "SELECT ID, StorageIndex, Type FROM player_data_element_account" +
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_ELEMENT_ACCOUNT, "SELECT ID, StorageIndex, Type, Unknown1125 FROM player_data_element_account" +
" WHERE (`VerifiedBuild` > 0) = ?");
// PlayerDataElementCharacter.db2
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_ELEMENT_CHARACTER, "SELECT ID, StorageIndex, Type FROM player_data_element_character" +
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_ELEMENT_CHARACTER, "SELECT ID, StorageIndex, Type, Unknown1125 FROM player_data_element_character" +
" WHERE (`VerifiedBuild` > 0) = ?");
// PlayerDataFlagAccount.db2
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_FLAG_ACCOUNT, "SELECT ID, StorageIndex, Unknown1107 FROM player_data_flag_account" +
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_FLAG_ACCOUNT, "SELECT ID, StorageIndex, Unknown1107, Unknown1125 FROM player_data_flag_account" +
" WHERE (`VerifiedBuild` > 0) = ?");
// PlayerDataFlagCharacter.db2
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_FLAG_CHARACTER, "SELECT ID, StorageIndex, Unknown1107 FROM player_data_flag_character" +
PrepareStatement(HotfixStatements.SEL_PLAYER_DATA_FLAG_CHARACTER, "SELECT ID, StorageIndex, Unknown1107, Unknown1125 FROM player_data_flag_character" +
" WHERE (`VerifiedBuild` > 0) = ?");
// PowerDisplay.db2
@@ -1483,10 +1495,11 @@ namespace Framework.Database
"TraitCondAccountElementID FROM trait_cond WHERE (`VerifiedBuild` > 0) = ?");
// TraitCost.db2
PrepareStatement(HotfixStatements.SEL_TRAIT_COST, "SELECT InternalName, ID, Amount, TraitCurrencyID FROM trait_cost WHERE (`VerifiedBuild` > 0) = ?");
PrepareStatement(HotfixStatements.SEL_TRAIT_COST, "SELECT InternalName, ID, Amount, TraitCurrencyID, CurveID FROM trait_cost WHERE (`VerifiedBuild` > 0) = ?");
// TraitCurrency.db2
PrepareStatement(HotfixStatements.SEL_TRAIT_CURRENCY, "SELECT ID, Type, CurrencyTypesID, Flags, Icon FROM trait_currency WHERE (`VerifiedBuild` > 0) = ?");
PrepareStatement(HotfixStatements.SEL_TRAIT_CURRENCY, "SELECT ID, Type, CurrencyTypesID, Flags, Icon, PlayerDataElementAccountID, " +
"PlayerDataElementCharacterID FROM trait_currency WHERE (`VerifiedBuild` > 0) = ?");
// TraitCurrencySource.db2
PrepareStatement(HotfixStatements.SEL_TRAIT_CURRENCY_SOURCE, "SELECT Requirement, ID, TraitCurrencyID, Amount, QuestID, AchievementID, PlayerLevel, " +
@@ -1557,6 +1570,10 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_TRAIT_SUB_TREE_LOCALE, "SELECT ID, Name_lang, Description_lang FROM trait_sub_tree_locale WHERE (`VerifiedBuild` > 0) = ?" +
" AND locale = ?");
// TraitSystem.db2
PrepareStatement(HotfixStatements.SEL_TRAIT_SYSTEM, "SELECT ID, Flags, WidgetSetID, TraitChangeSpell, ItemID, VariationType FROM trait_system" +
" WHERE (`VerifiedBuild` > 0) = ?");
// TraitTree.db2
PrepareStatement(HotfixStatements.SEL_TRAIT_TREE, "SELECT ID, TraitSystemID, Unused1000_1, FirstTraitNodeID, PlayerConditionID, Flags, Unused1000_2, " +
"Unused1000_3 FROM trait_tree WHERE (`VerifiedBuild` > 0) = ?");
@@ -1611,7 +1628,8 @@ namespace Framework.Database
// UiMapAssignment.db2
PrepareStatement(HotfixStatements.SEL_UI_MAP_ASSIGNMENT, "SELECT UiMinX, UiMinY, UiMaxX, UiMaxY, Region1X, Region1Y, Region1Z, Region2X, Region2Y, " +
"Region2Z, ID, UiMapID, OrderIndex, MapID, AreaID, WmoDoodadPlacementID, WmoGroupID FROM ui_map_assignment WHERE (`VerifiedBuild` > 0) = ?");
"Region2Z, ID, UiMapID, OrderIndex, MapID, AreaID, WmoDoodadPlacementID, WmoGroupID, Unknown1125 FROM ui_map_assignment" +
" WHERE (`VerifiedBuild` > 0) = ?");
// UiMapLink.db2
PrepareStatement(HotfixStatements.SEL_UI_MAP_LINK, "SELECT UiMinX, UiMinY, UiMaxX, UiMaxY, ID, ParentUiMapID, OrderIndex, ChildUiMapID, PlayerConditionID, " +
@@ -2040,6 +2058,8 @@ namespace Framework.Database
SEL_ITEM_CONTEXT_PICKER_ENTRY,
SEL_ITEM_CREATION_CONTEXT,
SEL_ITEM_CURRENCY_COST,
SEL_ITEM_DAMAGE_AMMO,
@@ -2076,8 +2096,12 @@ namespace Framework.Database
SEL_ITEM_NAME_DESCRIPTION,
SEL_ITEM_NAME_DESCRIPTION_LOCALE,
SEL_ITEM_OFFSET_CURVE,
SEL_ITEM_PRICE_BASE,
SEL_ITEM_SCALING_CONFIG,
SEL_ITEM_SEARCH_NAME,
SEL_ITEM_SEARCH_NAME_LOCALE,
@@ -2441,6 +2465,8 @@ namespace Framework.Database
SEL_TRAIT_SUB_TREE,
SEL_TRAIT_SUB_TREE_LOCALE,
SEL_TRAIT_SYSTEM,
SEL_TRAIT_TREE,
SEL_TRAIT_TREE_LOADOUT,
+23
View File
@@ -351,6 +351,29 @@ namespace Framework.IO
{
WriteUInt32(Time.GetPackedTimeFromDateTime(DateTime.Now));
}
public void Write<T>(T value)
{
switch (value)
{
case sbyte v: WriteInt8(v); break;
case short v: WriteInt16(v); break;
case int v: WriteInt32(v); break;
case long v: WriteInt64(v); break;
case byte v: WriteUInt8(v); break;
case ushort v: WriteUInt16(v); break;
case uint v: WriteUInt32(v); break;
case ulong v: WriteUInt64(v); break;
case float v: WriteFloat(v); break;
case double v: WriteDouble(v); break;
case string v: WriteString(v); break;
case bool v: WriteBit(v); break;
case byte[] v: WriteBytes(v); break;
case Vector3 v: WriteVector3(v); break;
default:
throw new InvalidOperationException($"Type {typeof(T)} is not supported for writing.");
}
}
#endregion
public bool HasUnfinishedBitPack()