Chairs now handle layer updates/rotation with setDir

This commit is contained in:
Joan Lung
2016-06-12 22:56:41 -04:00
parent ee2b2fb972
commit 8582d0fbbd
@@ -28,10 +28,6 @@
if(M.environment_smash)
deconstruct()
/obj/structure/chair/Move(atom/newloc, direct)
..()
handle_rotation()
/obj/structure/chair/ex_act(severity, target)
switch(severity)
if(1)
@@ -78,31 +74,24 @@
return
/obj/structure/chair/proc/handle_rotation(direction)
handle_layer()
if(has_buckled_mobs())
for(var/m in buckled_mobs)
var/mob/living/buckled_mob = m
buckled_mob.buckled = null //Temporary, so Move() succeeds.
if(!direction || !buckled_mob.Move(get_step(src, direction), direction))
buckled_mob.buckled = src
setDir(buckled_mob.dir)
return 0
buckled_mob.buckled = src //Restoring
handle_layer()
return 1
buckled_mob.setDir(direction)
/obj/structure/chair/proc/handle_layer()
if(dir == NORTH)
layer = FLY_LAYER
layer = ABOVE_ALL_MOB_LAYER
else
layer = OBJ_LAYER
/obj/structure/chair/proc/spin()
setDir(turn(dir, 90))
handle_layer()
if(has_buckled_mobs())
for(var/m in buckled_mobs)
var/mob/living/buckled_mob = m
buckled_mob.setDir(dir)
/obj/structure/chair/setDir(newdir)
..()
handle_rotation(newdir)
/obj/structure/chair/verb/rotate()
set name = "Rotate Chair"