Files
Polaris/code/modules/turbolift/turbolift_door.dm
2017-03-04 21:35:00 -05:00

44 lines
1.3 KiB
Plaintext

/obj/machinery/door/airlock/lift
name = "Elevator Door"
desc = "Ding."
req_access = list(access_maint_tunnels)
opacity = 0
autoclose = 0
glass = 1
icon = 'icons/obj/doors/doorlift.dmi'
var/datum/turbolift/lift
var/datum/turbolift_floor/floor
/obj/machinery/door/airlock/lift/Destroy()
if(lift)
lift.doors -= src
if(floor)
floor.doors -= src
return ..()
/obj/machinery/door/airlock/lift/bumpopen(var/mob/user)
return // No accidental sprinting into open elevator shafts.
/obj/machinery/door/airlock/lift/allowed(mob/M)
return FALSE //only the lift machinery is allowed to operate this door
/obj/machinery/door/airlock/lift/close(var/forced=0)
for(var/turf/turf in locs)
for(var/mob/living/LM in turf)
if(LM.mob_size <= MOB_TINY)
var/moved = 0
for(dir in shuffle(cardinal.Copy()))
var/dest = get_step(LM,dir)
if(!(locate(/obj/machinery/door/airlock/lift) in dest))
if(LM.Move(dest))
moved = 1
LM.visible_message("\The [LM] scurries away from the closing doors.")
break
if(!moved) // nowhere to go....
LM.gib()
else // the mob is too big to just move, so we need to give up what we're doing
audible_message("\The [src]'s motors grind as they quickly reverse direction, unable to safely close.")
cur_command = null // the door will just keep trying otherwise
return 0
return ..()