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);
}