diff --git a/Source/Game/Entities/Item/Item.cs b/Source/Game/Entities/Item/Item.cs index 2c6492179..8b2a91f82 100644 --- a/Source/Game/Entities/Item/Item.cs +++ b/Source/Game/Entities/Item/Item.cs @@ -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); diff --git a/Source/Game/Entities/Player/Player.Items.cs b/Source/Game/Entities/Player/Player.Items.cs index a8cb176fe..52f0d2b0c 100644 --- a/Source/Game/Entities/Player/Player.Items.cs +++ b/Source/Game/Entities/Player/Player.Items.cs @@ -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; diff --git a/Source/Game/Handlers/ArtifactHandler.cs b/Source/Game/Handlers/ArtifactHandler.cs index 40613fb48..8fdf2034e 100644 --- a/Source/Game/Handlers/ArtifactHandler.cs +++ b/Source/Game/Handlers/ArtifactHandler.cs @@ -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;