Core/Items: Disable legion artifacts except fishing artifact

Port From (https://github.com/TrinityCore/TrinityCore/commit/e718440599b2ce69a45bfdf0af0aee7d37621072)
This commit is contained in:
hondacrx
2019-11-27 11:17:35 -05:00
parent c94edca8c3
commit 713f1b1f06
3 changed files with 14 additions and 2 deletions
+9
View File
@@ -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;
+2 -2
View File
@@ -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;