ID:269236
 
turf
grass
icon='icons.dmi'
icon_state="grass"
New()
..()
var/t=1
while(t<=3)
var/icon/i=turn(src.icon,pick(-360,180,0,180,360))
var/turf/g=new(src)
g.icon=i
g.icon_state="grass"
g.pixel_x-=8
g.pixel_y-=8
switch(t)
if(1)
g.pixel_y+=16
if(2)
g.pixel_y+=16
g.pixel_x+=16
if(3)
g.pixel_x+=16
t++

It WOULD work if the turfs wouldn't join into one. Is there anyway to avoid this?
lots and lots of icon objects, or lots and lots of image overlays... You could make one default image object for each specific icon_state in each specific quadrant, and then store it globally in a list... Then just add it to the turf overlays. It'll look funny when you right-click the turf, though.
In response to Ter13
you could always disable to popup menu for the right click
by setting it to

set popup_menu = 0