Core/Items: implement some helper methods for easier readability

Port From (https://github.com/TrinityCore/TrinityCore/commit/9124fd1f1fafea19b118eb69c6a35f94376fc7e8)
This commit is contained in:
hondacrx
2022-01-06 10:57:06 -05:00
parent 8f8cd4a7d4
commit 6e0becd106
23 changed files with 105 additions and 100 deletions
+5 -5
View File
@@ -4219,7 +4219,7 @@ namespace Game.Spells
return;
// do not take reagents for these item casts
if (m_CastItem != null && m_CastItem.GetTemplate().GetFlags().HasAnyFlag(ItemFlags.NoReagentCost))
if (m_CastItem != null && m_CastItem.GetTemplate().HasFlag(ItemFlags.NoReagentCost))
return;
Player p_caster = m_caster.ToPlayer();
@@ -6037,7 +6037,7 @@ namespace Game.Spells
}
// do not take reagents for these item casts
if (!(m_CastItem != null && Convert.ToBoolean(m_CastItem.GetTemplate().GetFlags() & ItemFlags.NoReagentCost)))
if (!(m_CastItem != null && m_CastItem.GetTemplate().HasFlag(ItemFlags.NoReagentCost)))
{
bool checkReagents = !Convert.ToBoolean(_triggeredCastFlags & TriggerCastFlags.IgnorePowerAndReagentCost) && !player.CanNoReagentCast(m_spellInfo);
// Not own traded item (in trader trade slot) requires reagents even if triggered spell
@@ -6202,7 +6202,7 @@ namespace Game.Spells
if (m_targets.GetItemTarget().GetOwner() != player)
return SpellCastResult.NotTradeable;
// do not allow to enchant vellum from scroll made by vellum-prevent exploit
if (m_CastItem != null && Convert.ToBoolean(m_CastItem.GetTemplate().GetFlags() & ItemFlags.NoReagentCost))
if (m_CastItem != null && m_CastItem.GetTemplate().HasFlag(ItemFlags.NoReagentCost))
return SpellCastResult.TotemCategory;
List<ItemPosCount> dest = new();
InventoryResult msg = player.CanStoreNewItem(ItemConst.NullBag, ItemConst.NullSlot, dest, spellEffectInfo.ItemType, 1);
@@ -6326,7 +6326,7 @@ namespace Game.Spells
if (!item)
return SpellCastResult.CantBeProspected;
//ensure item is a prospectable ore
if (!Convert.ToBoolean(item.GetTemplate().GetFlags() & ItemFlags.IsProspectable))
if (!item.GetTemplate().HasFlag(ItemFlags.IsProspectable))
return SpellCastResult.CantBeProspected;
//prevent prospecting in trade slot
if (item.GetOwnerGUID() != player.GetGUID())
@@ -6354,7 +6354,7 @@ namespace Game.Spells
if (!item)
return SpellCastResult.CantBeMilled;
//ensure item is a millable herb
if (!(item.GetTemplate().GetFlags().HasAnyFlag(ItemFlags.IsMillable)))
if (!item.GetTemplate().HasFlag(ItemFlags.IsMillable))
return SpellCastResult.CantBeMilled;
//prevent milling in trade slot
if (item.GetOwnerGUID() != player.GetGUID())
+3 -3
View File
@@ -2020,7 +2020,7 @@ namespace Game.Spells
else
{
// do not increase skill if vellum used
if (!(m_CastItem && m_CastItem.GetTemplate().GetFlags().HasAnyFlag(ItemFlags.NoReagentCost)))
if (!(m_CastItem && m_CastItem.GetTemplate().HasFlag(ItemFlags.NoReagentCost)))
player.UpdateCraftSkill(m_spellInfo.Id);
uint enchant_id = (uint)effectInfo.MiscValue;
@@ -4125,7 +4125,7 @@ namespace Game.Spells
if (player == null)
return;
if (itemTarget == null || !itemTarget.GetTemplate().GetFlags().HasAnyFlag(ItemFlags.IsProspectable))
if (itemTarget == null || !itemTarget.GetTemplate().HasFlag(ItemFlags.IsProspectable))
return;
if (itemTarget.GetCount() < 5)
@@ -4151,7 +4151,7 @@ namespace Game.Spells
if (player == null)
return;
if (itemTarget == null || !itemTarget.GetTemplate().GetFlags().HasAnyFlag(ItemFlags.IsMillable))
if (itemTarget == null || !itemTarget.GetTemplate().HasFlag(ItemFlags.IsMillable))
return;
if (itemTarget.GetCount() < 5)