src.overlays -= src.statoverlay
var/obj/overlay/stat/P = new/obj/overlay/stat
P.icon_state = null
P.icon_state = "[src.status]"
P.pixel_y += 32
src.statoverlay = P
src.overlays += src.statoverlay
I have a stats system that works, and recently I've added multi-tiled sprites to my game. The issue with this is that the location of the status image is wrong, so I tried to change it.
However, when I did so, I noticed that, even though the code seemed right, nothing changed. The status was still displayed in the same place as for normal mobs! I ran a lot of debugging to see whether it was that the overlay wasn't being replaced, or if it was the wrong one but nope, it's the right overlay, it's being replaced, and it's totally ignoring changes made to pixel_y.
EDIT: Fixed a spot of code that was displaying wrong for some reason e_e
EDIT 2: cwkgkl4v4 GRRRR. Well I found the issue. There was another proc elsewhere overriding the above and thus causing my problem. Bloody heck why is it always the EASY things that cause me the hours of pain?!