30 lines
667 B
C#
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;
|
|
}
|
|
}
|
|
}
|