using System; using System.Collections.Generic; using System.Text; namespace Server.Ethics { public abstract class Power { protected PowerDefinition m_Definition; public PowerDefinition Definition { get { return m_Definition; } } public virtual bool CheckInvoke( Player from ) { if ( !from.Mobile.CheckAlive() ) return false; if ( from.Power < m_Definition.Power ) { from.Mobile.LocalOverheadMessage( Server.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; } } }