ModernUO/Scripts/Engines/Ethics/Core/Power.cs
2018-09-14 12:56:58 -07:00

30 lines
667 B
C#

namespace Server.Ethics
{
public abstract class Power
{
protected PowerDefinition m_Definition;
public PowerDefinition Definition => m_Definition;
public virtual bool CheckInvoke( Player from )
{
if ( !from.Mobile.CheckAlive() )
return false;
if ( from.Power < m_Definition.Power )
{
from.Mobile.LocalOverheadMessage( Network.MessageType.Regular, 0x3B2, false, "You lack the power to invoke this ability." );
return false;
}
return true;
}
public abstract void BeginInvoke( Player from );
public virtual void FinishInvoke( Player from )
{
from.Power -= m_Definition.Power;
}
}
}