public static RoomTemplate find_location(CharacterInstance ch, string arg) { if (arg.IsNumber()) { return(RepositoryManager.Instance.ROOMS.CastAs <Repository <long, RoomTemplate> >().Get(arg.ToInt32())); } if (arg.Equals("pk")) { return(RepositoryManager.Instance.ROOMS.CastAs <Repository <long, RoomTemplate> >().Get(db.LastPKRoom)); } var victim = ch.GetCharacterInWorld(arg); if (victim != null) { return(victim.CurrentRoom); } var obj = ch.GetObjectInWorld(arg); return(obj?.InRoom); }