Suggested improvement to `::tp [username]` command
Problem
Currently, the ::tp [username]
command will teleport a user to the same square the target is on. This is accurate & intended.
However, a user in the discord recently reported
I was in character, I felt like the mod was humping my character from behind, like if he was a few squares away or had the decency to say hi I doubt I'd have minded
While perhaps overly theatrical here, I can confirm feeling the same way. It is jarring to users when another user pops in underneath you. It is unexpected and unintentionally intimate.
I believe the current implementation was not really thought out from the social aspect.
A current workaround would be to go ::invisible before teleporting, however, personally this feels 1) clunky, as I may wish to teleport to a user and be visible & 2) in some cases unnecessarily sneaky/deceptive
Solution
::tp [username]
should look for walkable tiles nearby, and place the user at the furthest walkable tile within a 4 tile radius. i.e., if there is a way to teleport and maintain 3 tiles empty space between the players while still being able to walk to the user, it should go ahead and teleport there.
The following syntaxes could also be supported:
-
::tp [username] [radius]
, where radius could be between 0 and 10, replacing the static default 4 above -
::tpat [username]
, tp "at", with the same behavior as the current tp command