using System; using System.Runtime.CompilerServices; namespace Server.Misc; /// /// Skill system events. Plain C# events so other assemblies can subscribe; generated events cannot be /// subscribed across assemblies. /// public static class SkillEvents { /// /// Raised once per skill attempt from the four Mobile_SkillCheck* handlers with the attempt's /// outcome, including attempts the handler resolves without a roll (too difficult, no challenge). /// Not raised when the mobile lacks the skill. Fires for every , including /// creatures. Subscribers must not block or allocate. /// public static event Action SkillUsed; [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void InvokeSkillUsed(Mobile from, Skill skill, bool success) => SkillUsed?.Invoke(from, skill, success); }