Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
		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;
			}
		}