public override SpellFailedReason Initialize() { if (m_cast.TargetItem == null) { return SpellFailedReason.ItemGone; } if (m_cast.TargetItem.Template.Level < Effect.Spell.BaseLevel) { return SpellFailedReason.TargetLowlevel; } enchantEntry = EnchantMgr.GetEnchantmentEntry((uint)Effect.MiscValue); if (enchantEntry == null) { log.Error("Spell {0} refers to invalid EnchantmentEntry {1}", Effect.Spell, Effect.MiscValue); return SpellFailedReason.Error; } if (!enchantEntry.CheckRequirements(m_cast.CasterUnit)) { return SpellFailedReason.MinSkill; } return SpellFailedReason.Ok; }
public override void Initialize(ref SpellFailedReason failReason) { if (m_cast.UsedItem.Template.Level < Effect.Spell.BaseLevel) { failReason = SpellFailedReason.Lowlevel; } enchantEntry = EnchantMgr.GetEnchantmentEntry((uint)Effect.MiscValue); if (enchantEntry == null) { log.Error("Spell {0} refers to invalid EnchantmentEntry {1}", Effect.Spell, Effect.MiscValue); failReason = SpellFailedReason.Error; } else if (!enchantEntry.CheckRequirements(m_cast.CasterUnit)) { failReason = SpellFailedReason.MinSkill; } }