Core/Items: Item bonus generation improvements
* Pass ItemContext to item creation wherever possible * Support scaling item levels with m+ keystone levels (not used currently) * Fixed item link validation when client sends it as default uninitialized bonus list with context only * Support scaling items depending on current active season (seasons not implemented) * Implemented content tuning redirection Port From (https://github.com/TrinityCore/TrinityCore/commit/0fb8765a6638fd947b59fce44d5c31251d0cdadd)
This commit is contained in:
@@ -16,6 +16,18 @@ namespace Game.DataStorage
|
||||
public uint ChallengeOrigin;
|
||||
}
|
||||
|
||||
public sealed class ChallengeModeItemBonusOverrideRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int ItemBonusTreeGroupID;
|
||||
public int DstItemBonusTreeID;
|
||||
public sbyte Type;
|
||||
public int Value;
|
||||
public int MythicPlusSeasonID;
|
||||
public int PvPSeasonID;
|
||||
public uint SrcItemBonusTreeID;
|
||||
}
|
||||
|
||||
public sealed class CharTitlesRecord
|
||||
{
|
||||
public uint Id;
|
||||
@@ -317,6 +329,15 @@ namespace Game.DataStorage
|
||||
public ushort[] Camera = new ushort[8];
|
||||
}
|
||||
|
||||
public sealed class ConditionalContentTuningRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int OrderIndex;
|
||||
public int RedirectContentTuningID;
|
||||
public int RedirectFlag;
|
||||
public uint ParentContentTuningID;
|
||||
}
|
||||
|
||||
public sealed class ContentTuningRecord
|
||||
{
|
||||
public uint Id;
|
||||
@@ -357,6 +378,13 @@ namespace Game.DataStorage
|
||||
public uint ContentTuningID;
|
||||
}
|
||||
|
||||
public sealed class ContentTuningXLabelRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int LabelID;
|
||||
public uint ContentTuningID;
|
||||
}
|
||||
|
||||
public sealed class ConversationLineRecord
|
||||
{
|
||||
public uint Id;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
||||
|
||||
using Framework.Constants;
|
||||
using System;
|
||||
|
||||
namespace Game.DataStorage
|
||||
{
|
||||
@@ -99,12 +100,14 @@ namespace Game.DataStorage
|
||||
public sealed class ItemBonusListGroupEntryRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint ItemBonusListGroupID;
|
||||
public int ItemBonusListGroupID;
|
||||
public int ItemBonusListID;
|
||||
public int ItemLevelSelectorID;
|
||||
public int OrderIndex;
|
||||
public int SequenceValue;
|
||||
public int ItemExtendedCostID;
|
||||
public int PlayerConditionID;
|
||||
public int Flags;
|
||||
public int ItemLogicalCostGroupID;
|
||||
}
|
||||
|
||||
public sealed class ItemBonusListLevelDeltaRecord
|
||||
@@ -120,6 +123,13 @@ namespace Game.DataStorage
|
||||
public int ItemID;
|
||||
}
|
||||
|
||||
public sealed class ItemBonusTreeRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int Flags;
|
||||
public int InventoryTypeSlotMask;
|
||||
}
|
||||
|
||||
public sealed class ItemBonusTreeNodeRecord
|
||||
{
|
||||
public uint Id;
|
||||
@@ -129,8 +139,8 @@ namespace Game.DataStorage
|
||||
public ushort ChildItemLevelSelectorID;
|
||||
public uint ChildItemBonusListGroupID;
|
||||
public uint IblGroupPointsModSetID;
|
||||
public int Unknown1010_1;
|
||||
public int Unknown1010_2;
|
||||
public int MinMythicPlusLevel;
|
||||
public int MaxMythicPlusLevel;
|
||||
public uint ParentItemBonusTreeID;
|
||||
}
|
||||
|
||||
@@ -151,11 +161,24 @@ namespace Game.DataStorage
|
||||
public byte Flags;
|
||||
}
|
||||
|
||||
public sealed class ItemContextPickerEntryRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte ItemCreationContext;
|
||||
public byte OrderIndex;
|
||||
public int PVal;
|
||||
public int LabelID;
|
||||
public uint Flags;
|
||||
public uint PlayerConditionID;
|
||||
public uint ItemContextPickerID;
|
||||
}
|
||||
|
||||
public sealed class ItemCurrencyCostRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
}
|
||||
|
||||
// common struct for:
|
||||
// ItemDamageAmmo.dbc
|
||||
// ItemDamageOneHand.dbc
|
||||
@@ -220,12 +243,16 @@ namespace Game.DataStorage
|
||||
public ushort AzeriteUnlockMappingSet;
|
||||
}
|
||||
|
||||
public sealed class ItemLevelSelectorQualityRecord
|
||||
public sealed class ItemLevelSelectorQualityRecord : IEquatable<ItemLevelSelectorQualityRecord>, IEquatable<ItemQuality>
|
||||
{
|
||||
public uint Id;
|
||||
public uint QualityItemBonusListID;
|
||||
public sbyte Quality;
|
||||
public uint ParentILSQualitySetID;
|
||||
|
||||
public bool Equals(ItemLevelSelectorQualityRecord other) { return Quality < other.Quality; }
|
||||
|
||||
public bool Equals(ItemQuality quality) { return Quality < (sbyte)quality; }
|
||||
}
|
||||
|
||||
public sealed class ItemLevelSelectorQualitySetRecord
|
||||
|
||||
@@ -229,4 +229,12 @@ namespace Game.DataStorage
|
||||
public uint SubtitleFileDataID;
|
||||
public int SubtitleFileFormat;
|
||||
}
|
||||
|
||||
public sealed class MythicPlusSeasonRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int MilestoneSeason;
|
||||
public int ExpansionLevel;
|
||||
public int HeroicLFGDungeonMinGear;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,6 +178,14 @@ namespace Game.DataStorage
|
||||
public byte ItemLevelDelta;
|
||||
}
|
||||
|
||||
public sealed class PvpSeasonRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int MilestoneSeason;
|
||||
public int AllianceAchievementID;
|
||||
public int HordeAchievementID;
|
||||
}
|
||||
|
||||
public sealed class PvpTalentRecord
|
||||
{
|
||||
public string Description;
|
||||
|
||||
Reference in New Issue
Block a user