### Summary - Drastically streamlines the spell targeting by collapsing the target classes into a single `SpellTarget<T>` class. - Moves TargetRange to the spell itself so it can be used by MageAI. - Changes range check in MageAI to use TargetRange. This should fix target acquisition bugs
14 lines
262 B
C#
14 lines
262 B
C#
namespace Server.Spells;
|
|
|
|
public interface IRangedSpell
|
|
{
|
|
Mobile Caster { get; }
|
|
|
|
int TargetRange => Core.ML ? 10 : 12;
|
|
void FinishSequence();
|
|
}
|
|
|
|
public interface ITargetingSpell<in T> : IRangedSpell where T : IPoint3D
|
|
{
|
|
void Target(T target);
|
|
}
|