}
}
- // Whether the user and the target are too far apart.
+ // Whether the user and the target are too far apart or they are inaccessible.
if (args.Target != null)
{
if (args.DistanceThreshold != null)
{
- if (!_interaction.InRangeUnobstructed(args.User, args.Target.Value, args.DistanceThreshold.Value))
+ if (!_interaction.InRangeAndAccessible(args.User, args.Target.Value, args.DistanceThreshold.Value))
return true;
}
}
- // Whether the distance between the tool and the user has grown too much.
+ // Whether the distance between the tool and the user has grown too much or they became inaccessible.
if (args.Used != null)
{
if (args.DistanceThreshold != null)
{
- if (!_interaction.InRangeUnobstructed(args.User,
+ if (!_interaction.InRangeAndAccessible(args.User,
args.Used.Value,
args.DistanceThreshold.Value))
return true;