ModernUO/Projects/UOContent/Engines/Ethics/Core/Power.cs
2020-09-13 21:49:46 -07:00

39 lines
918 B
C#

using Server.Network;
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(
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;
}
}
}