If I don't define step_size, sometimes step(src,dir,1) will instead step you world.icon_size, instead of 1 pixel.
fireBall
icon_state = "fireball"
//step_size = 1
var
list
takenDam = new/list()
New()
..()
dir = owner.dir
var/turf/T = loc
if(T.density)duration = 0
doDam()
Move()
.=..()
var/list/oboundslist = obounds(src,-2)
for(var/turf/T in oboundslist)
if(T.density)
duration = 0
update()
..()
step(src,dir,1)
doDam()
See here, step(src,dir,1), if the object spawns without any associated pixel movement vars assigned that aren't default (ex, if step_x = 0, step_y = 0, and step_size = world.icon_size), even within my pixel-movement enabled environment, it will step world.icon_size pixels. If I uncomment that step_size line, it doesn't do it.
I don't really know what to say.
I want off Mr. BYOND's wild ride.
All that said, it probably makes way more sense to ignore the is-pixel-mover check when the world's gliding has been turned off, and assume all movable atoms are pixel movers.