I have a tile_stacks object upon which the active player sees the tile which he/she just received. Whenever the tile is rotated or used (causing a new tile to be drawn), I del(tile_image) and then set tile_image to a new image based on the new tile (or new direction if tile was rotated). The image on the tile_stack is behaving as expected, but I'm having a problem with the MouseDrag() proc. After rotating the tile, the first time I drag the tile_stacks the mouse pointer shows the previous icon (before it was rotated). If I let go and drag it again, I now see the correct icon. Similarly, after the tile is used and replaced, the first time I drag the tile_stacks I see the old tile. After letting go and trying again, I get the correct image. What's going on here? Is there another way I should be programming this?
if(usr == trn.cur_player)
mouse_drag_pointer = tile_image
// other code for context:
var/obj/tile/new_tile = pick(tile_stack)
tile_image = image(new_tile.icon,locate(/obj/ tile_stacks),new_tile.icon_state)