Baystation12/Baystation12 — pull request #1095 by Uristqwerty (2012-05-19 00:34:36+00:00)
Title: Minimap

Well, I believe that this is ready enough, so here it is.

Basically, an extra popup window that shows each turf as a little 2x2 square, shaded based on whether it is solid or not, plus a little extra to differentiate doors, windows, and structures, plus the doors and windows that only occupy the edge of a tile drawing only a 1x2 square over the map.

Additionally, two minutes after something changes, the map will update the nearby 16x16 areas. The delay is intentional, for both balance and performance purposes, though the specific value was chosen as something that seemed good enough (with no actual testing to back it up).

Anything that was visible, but no longer is will still show up, though tinted red, and not updated to reflect current structures, and only things within line of sight of an active camera will be drawn.

Finally, clicking on the map will teleport you to the location clicked. For AIs, it enters freelook mode and places the eye at the target location, and for ghosts and admins it physically moves the player.

The minimap is opened through one of three identical verbs, one available to AIs, one to ghosts, and one to sufficiently ranked admins (I chose the lowest rank that had access to the Jump to X verbs)

Included is an icon file containing the base icon for the map tiles. As they are 32x32, there was probably n existing icon that could have been used, but, at the time it was added, I was experimenting with 3x3 and 4x4 minimap squares, which almost certainly did not have a suitable existing icon.

I reccomend that at least one person tests it before deciding if it should be merged into the main repository, as there may be bugs that I missed, or balance concerns that should be considered. Additionally, I have no idea how much impact it would have on game performance.