internal class Size : Command
{ public Size() : base("size", 1){}
protected override bool Process(Player player, RealmTime time, string[] args)
{
if (args.Length != 3)
{
player.SendHelp("Usage: /size <Playername> <PlayerOrPet> <Amount>");
return false;
}
foreach (KeyValuePair<string, Client> i in player.Manager.Clients
.Where (i => i.Value.Player.Name.EqualsIgnoreCase(args[0])))
{
int size;
if (!int.TryParse(args[2], out size))
{
player.SendError("Invalid Amount");
return false;
}
switch(args[1].ToLower())
{
case "player":
if (!string.Equals(player.Name.ToLower(), args[0].ToLower()))
{
i.Value.Player.Size = size;
return true;
}
player.Size = size;
return true;
case "pet":
if (!string.Equals(player.Name.ToLower(), args[0].ToLower()))
{
i.Value.Player.Pet.Size = size;
return true;
}
player.Pet.Size = size;
return true;
default:
player.SendError("Player or Pet");
return false;
}
}
player.SendError($"Player {args[0]} could not be found");
return false;
}
}