#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.Collections; using Arthea.Connections.Players; using Arthea.Continents.Areas.Characters; namespace Arthea.Commands { /// <summary> /// Implements a kill command. /// </summary> public class KillCommand : Command { #region [rgn] Constructors (1) /// <summary> /// Initializes a new instance of the <see cref="KillCommand"/> class. /// </summary> public KillCommand() : base("kill", "Starts a fight with another character") { } #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) { if (!argument) { player.WriteLine("Kill who?"); return; } if (player.Fighting != null) { player.WriteLine("You are to busy fightin {0}.", player.Fighting); return; } Character victim = player.Room.Characters.FindName(argument); if (victim == null) { player.WriteLine("That person is not here."); return; } if (victim.Fighting != null) { player.WriteLine("You can't steal {0}'s kill.", victim.Fighting); return; } player.WriteLine("You attack {0}!", victim); victim.WriteLine("{0} attacks you!", player); player.Fighting = victim; victim.Fighting = player; Combat.MultiHit(player, victim); } #endregion [rgn] } }