Core/Items: Implement azerite empowered items

Port From (https://github.com/TrinityCore/TrinityCore/commit/d934824421c83598853487c5cc9e4cbb3c5d0006)
This commit is contained in:
hondacrx
2019-12-05 22:55:44 -05:00
parent 86e1065da0
commit 5b9ad41953
47 changed files with 1050 additions and 239 deletions
+31
View File
@@ -6234,6 +6234,37 @@ namespace Game.Spells
}
break;
}
case SpellEffectName.RespecAzeriteEmpoweredItem:
{
Item item = m_targets.GetItemTarget();
if (item == null)
return SpellCastResult.AzeriteEmpoweredOnly;
if (item.GetOwnerGUID() != m_caster.GetGUID())
return SpellCastResult.DontReport;
AzeriteEmpoweredItem azeriteEmpoweredItem = item.ToAzeriteEmpoweredItem();
if (azeriteEmpoweredItem == null)
return SpellCastResult.AzeriteEmpoweredOnly;
bool hasSelections = false;
for (int tier = 0; tier < azeriteEmpoweredItem.GetMaxAzeritePowerTier(); ++tier)
{
if (azeriteEmpoweredItem.GetSelectedAzeritePower(tier) != 0)
{
hasSelections = true;
break;
}
}
if (!hasSelections)
return SpellCastResult.AzeriteEmpoweredNoChoicesToUndo;
if (!m_caster.ToPlayer().HasEnoughMoney(azeriteEmpoweredItem.GetRespecCost()))
return SpellCastResult.DontReport;
break;
}
default:
break;
}