mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Chairs now handle layer updates/rotation with setDir
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user