Core/Items: Disable legion artifacts except fishing artifact
Port From (https://github.com/TrinityCore/TrinityCore/commit/e718440599b2ce69a45bfdf0af0aee7d37621072)
This commit is contained in:
@@ -2152,6 +2152,15 @@ namespace Game.Entities
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.ItemAppearanceModID), (byte)_bonusData.AppearanceModID);
|
||||
}
|
||||
|
||||
public bool IsArtifactDisabled()
|
||||
{
|
||||
ArtifactRecord artifact = CliDB.ArtifactStorage.LookupByKey(GetTemplate().GetArtifactID());
|
||||
if (artifact != null)
|
||||
return artifact.ArtifactCategoryID != 2; // fishing artifact
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public ArtifactPower GetArtifactPower(uint artifactPowerId)
|
||||
{
|
||||
var index = m_artifactPowerIdToIndex.LookupByKey(artifactPowerId);
|
||||
|
||||
@@ -5385,6 +5385,9 @@ namespace Game.Entities
|
||||
//Artifact
|
||||
void ApplyArtifactPowers(Item item, bool apply)
|
||||
{
|
||||
if (item.IsArtifactDisabled())
|
||||
return;
|
||||
|
||||
foreach (ArtifactPower artifactPower in item.m_itemData.ArtifactPowers)
|
||||
{
|
||||
byte rank = artifactPower.CurrentRankWithBonus;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Game
|
||||
return;
|
||||
|
||||
Item artifact = _player.GetItemByGuid(artifactAddPower.ArtifactGUID);
|
||||
if (!artifact)
|
||||
if (!artifact || artifact.IsArtifactDisabled())
|
||||
return;
|
||||
|
||||
uint currentArtifactTier = artifact.GetModifier(ItemModifier.ArtifactTier);
|
||||
@@ -210,7 +210,7 @@ namespace Game
|
||||
return;
|
||||
|
||||
Item artifact = _player.GetItemByGuid(confirmArtifactRespec.ArtifactGUID);
|
||||
if (!artifact)
|
||||
if (!artifact || artifact.IsArtifactDisabled())
|
||||
return;
|
||||
|
||||
ulong xpCost = 0;
|
||||
|
||||
Reference in New Issue
Block a user