ID:161113
 
Is there any way to make an overlay not disappear when it reaches the edge of the map? without changing the map size, for example a 2 tile mob, simply a mob with a pixel_y+32 overlay, when u enter the top of the map the overlay disappears... can this be stopped?
As far as I know, no.
But that is only considering you actually want them to stand on the very edge of the map and still have the icon showing.

You could add a area or some black tiles on the edge which makes sure no one can enter. This way it still looks like the end of the map but their overlays still get displayed.
In response to Fint (#1)
I thought of that but i dont think i can add it to the type of game in making
In response to BrotherBear (#2)
A simple solution would be to prevent them from reaching the edge of the map.
atom/movable/Move(atom/loc)
//Gets the direction the object would be moving in
var/direction = get_dir(src, loc)
if(x == 2 && (direction & WEST))
//If they're at the 2nd x position and they're
//trying to move any direction to the west, don't
//allow them to move.
return 0

if(x == (world.maxx - 1) && (direction & EAST))
//If they're at the 2nd-to-last x position and
//they're trying to move any direction to the east,
//don't allow them to move.
return 0

if(y == 2 && (direction & SOUTH))
//If they're at the 2nd y position and they're
//trying to move any direction to the south, don't
//allow them to move.
return 0

if(y == (world.maxy - 1) && (direction & NORTH))
//If they're at the 2nd-to-last y position and
//they're trying to move any direction to the
//north, don't allow them to move.
return 0

//If none of these conditions are true, then allow them
//to move normally.
return ..()
In response to Popisfizzy (#3)
It would probably be safer to override client/Move() instead. Also, I believe you could trick the way out of all those if statements with a quick double get_step() call in the direction.