Code:
internal class BringMobCommand : Command {
public BringMobCommand()
: base("bring", 8)
{
}
protected override bool Process(Player player, RealmTime time, string[] args)
{
if (string.IsNullOrEmpty(args[0]))
{
player.SendHelp("Usage: /bring <entity>");
return false;
}
{
string name = string.Join(" ", args);
ushort objType;
//creates a new case insensitive dictionary based on the XmlDatas
Dictionary<string, ushort> icdatas = new Dictionary<string, ushort>(
player.Manager.GameData.IdToObjectType,
StringComparer.OrdinalIgnoreCase);
if (!icdatas.TryGetValue(name, out objType) || !player.Manager.GameData.ObjectDescs.ContainsKey(objType))
{ }
else
{
var entity = player.GetNearestEntity(10000, objType);
entity.Move(player.X, player.Y);
player.SendInfo("Success!");
return true;
}
player.SendError("Entity does not exist!");
return false;
}
}
}