ID:1972307
 
Here's just a simple question. Are any of you aware of codes that would interfere with an icon Shift function.

I coded in a testing project environment that made changes to an icon using shift. It turned out perfectly, when I went to integrate it to my source, it only partially worked.

Basically icon.Shift() only works when I want to shift WEST or EAST directions. NORTH or SOUTH shift have no effect whatsoever.

Any ideas on what is interfering with my use of icon.Shift() NORTH OR SOUTH?
Pay attention to whether or not there's any offsets to the y axis.
Code:
obj
Overlays
Hairs
proc
FitBigBase()
src.pixel_y=4
var/icon/i=new(originalicon)
var/direction=list(NORTH,SOUTH,EAST,WEST)
for(var/x in direction)
var/icon/i2=new(originalicon,"flight",x,1,1,1)
var/offset=0
if(x==WEST||x==EAST)
offset=4
i2.Shift(SOUTH,3)
else i2.Shift(SOUTH,2)
i2.Shift(x,4+offset)
i.Insert(i2,"flight",x,1,1,1)
for(var/n=1;n<=2;n++)
var/offset2=0
if(x==WEST||x==EAST) offset2=1
var/icon/i3=new(originalicon,"flight",x,n,0,6)
i3.Shift(NORTH,4-offset2)
i.Insert(i3,"flight",x,n,0,6)
var/icon/i4=new(originalicon,"spar fury",x,1,0,6)
var/DIR=x
if(x==NORTH) DIR=WEST
if(x==SOUTH) DIR=EAST
i4.Shift(turn(DIR,180),4)
for(var/n=1;n<=7;n++) i.Insert(i4,"spar fury",x,n,0,6)
icon=i

Basically the code edits hair overlays, to fit icons that are bigger than it. I know the code works cause I tested and created in an external project. Are you talking about offsets to the objects(hair) pixel_y value, or icon?