#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] } }