Fixes #1932 and converts airlock_electronics.dm to absolute paths (#2053)

Fixes #1932 by adding an 'inuse' variable to airlock electronics and setting/checking whether it's in use when constructing doors.
Converted airlock_electronics.dm to absolute paths from relative paths.
This commit is contained in:
MarinaGryphon
2017-04-10 11:58:04 +03:00
committed by skull132
parent 3834fd9dec
commit 964e49b0f8
4 changed files with 102 additions and 90 deletions
+16 -11
View File
@@ -212,17 +212,22 @@
src.state = 0
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
if(do_after(user, 40))
if(!src) return
user.drop_item()
W.loc = src
user << "<span class='notice'>You installed the airlock electronics!</span>"
src.state = 2
src.name = "Near finished Airlock Assembly"
src.electronics = W
var/obj/item/weapon/airlock_electronics/EL = W
if(!EL.inuse)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
EL.inuse = 1
if(do_after(user, 40))
EL.inuse = 0
if(!src) return
user.drop_item()
EL.forceMove(src)
user << "<span class='notice'>You installed the airlock electronics!</span>"
src.state = 2
src.name = "Near finished Airlock Assembly"
src.electronics = EL
else
EL.inuse = 0
else if(istype(W, /obj/item/weapon/crowbar) && state == 2 )
//This should never happen, but just in case I guess
@@ -167,19 +167,21 @@ obj/structure/windoor_assembly/Destroy()
//Adding airlock electronics for access. Step 6 complete.
else if(istype(W, /obj/item/weapon/airlock_electronics) && W:icon_state != "door_electronics_smoked")
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
if(do_after(user, 40))
if(!src) return
user.drop_item()
W.loc = src
user << "<span class='notice'>You've installed the airlock electronics!</span>"
src.name = "Near finished Windoor Assembly"
src.electronics = W
else
W.loc = src.loc
var/obj/item/weapon/airlock_electronics/EL = W
if(!EL.inuse)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
EL.inuse = 1
if(do_after(user, 40))
EL.inuse = 0
if(!src) return
user.drop_item()
EL.forceMove(src)
user << "<span class='notice'>You've installed the airlock electronics!</span>"
src.name = "Near finished Windoor Assembly"
src.electronics = EL
else
EL.inuse = 0
//Screwdriver to remove airlock electronics. Step 6 undone.
else if(istype(W, /obj/item/weapon/screwdriver) && src.electronics)