#region Arthea License
/***********************************************************************
* Arthea MUD by R. Jennings (2007) http://arthea.googlecode.com/ *
* By using this code you comply with the Artistic and GPLv2 Licenses. *
***********************************************************************/
#endregion
using Arthea.Connections.Players;
namespace Arthea.Commands.PlayerCommands
{
/// <summary>
/// Implementation of password command.
/// </summary>
public class PasswordCommand : Command
{
#region [rgn] Constructors (1)
/// <summary>
/// Initializes a new instance of the <see cref="PasswordCommand"/> class.
/// </summary>
public PasswordCommand()
: base("password")
{
}
#endregion [rgn]
#region [rgn] Methods (1)
// [rgn] Public Methods (1)
/// <summary>
/// Processes the command for a player.
/// </summary>
/// <param name="player">The player.</param>
/// <param name="argument">The argument.</param>
public override void Process(Player player, String argument)
{
String old = argument.FirstArg();
String pass = argument.FirstArg();
if (!old || !pass)
{
Syntax(player, "<old> <new>");
return;
}
if (pass.Length < 6 || pass.Length > 12)
{
player.WriteLine("Please choose a password between 6 and 12 characters.");
return;
}
if (Util.Encrypt(old) == player.Password)
{
player.Password = Util.Encrypt(pass);
player.WriteLine("Password set.");
}
else
{
player.WriteLine("Invalid old password, cannot set a new one.");
}
}
#endregion [rgn]
}
}