* Replace the teleportation logic on the SCRAM implant!
Now instead of just trying to pick a random tile in range 20 times, the
scram teleportation logic now:
- Gets a list of grids in range
- Until a suitable tile is picked it picks a random grid
- From that grid it picks a random tile.
- If the tile is suitable, then it is set as the target and the user
will be teleported there.
- Grids and tiles are randomly picked as outlined above until a valid
tile is found, or all valid grids and tiles are exhausted.
- Should no suitable tile be found then they get teleported to the same
position they are at. Effectively not teleporting them.
* Actually make the defaults sane which I forgor in the last commit
* Extract tile section to its own function. Bias selection for current grid. Use proper coords for box.
* Address reviews as much as possible
* Address reviews
(cherry picked from commit 2ffd616c41b548e8fcd869dca7e980ffc6e384b1)
* Fix scram! implant keeping you pulled to someone when teleporting you
* Exorcise sleep deprivation speak
(cherry picked from commit eb80d9752e0309f8485478a43bcba6fb15fc3711)
* Fix scram teleportation out of containers
* re-run ci
* Use AttachToGridOrMap method
(cherry picked from commit d4434dbb5e586544a5dbd067a3fee4a6bd4e9e89)