ModernUO/Projects/UOContent/Spells/Targeting/SpellTargetItem.cs
2020-05-09 12:55:56 -07:00

28 lines
683 B
C#

using Server.Targeting;
namespace Server.Spells
{
public interface ISpellTargetingItem : ISpell
{
void Target(Item item);
}
public class SpellTargetItem : Target, ISpellTarget
{
private readonly ISpellTargetingItem m_Spell;
public ISpell Spell => m_Spell;
public SpellTargetItem(ISpellTargetingItem spell, TargetFlags flags, int range = 12) : base(range, false, flags) => m_Spell = spell;
protected override void OnTarget(Mobile from, object o)
{
if (o is Item item)
m_Spell.Target(item);
}
protected override void OnTargetFinish(Mobile from)
{
m_Spell?.FinishSequence();
}
}
}