Fixes issue 927

my face

(the fix is entirely in door.dm)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4695 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
petethegoat@gmail.com
2012-09-16 00:01:19 +00:00
parent 5b33027e69
commit 5f62f4c864
3 changed files with 28 additions and 33 deletions

View File

@@ -211,7 +211,7 @@
src.density = 0
explosion_resistance = 0
update_icon()
src.SetOpacity(0)
SetOpacity(0)
update_nearby_tiles()
if(operating) operating = 0
@@ -237,8 +237,8 @@
src.layer = 3.1
sleep(10)
update_icon()
src.SetOpacity(initial(opacity))
if(visible && !glass)
SetOpacity(1) //caaaaarn!
operating = 0
update_nearby_tiles()
return

View File

@@ -1,15 +1,14 @@
/var/const/OPEN = 1
/var/const/CLOSED = 2
/obj/machinery/door/firedoor
name = "Firelock"
desc = "Apply crowbar"
icon = 'icons/obj/doors/Doorfire.dmi'
icon_state = "door_open"
var/blocked = 0
opacity = 0
density = 0
var/blocked = 0
var/nextstate = null
@@ -28,24 +27,22 @@
attackby(obj/item/weapon/C as obj, mob/user as mob)
src.add_fingerprint(user)
add_fingerprint(user)
if(operating) return//Already doing something.
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(0, user))
src.blocked = !src.blocked
blocked = !blocked
user << text("\red You [blocked?"welded":"unwelded"] the [src]")
update_icon()
return
if(istype(C, /obj/item/weapon/crowbar) || (istype(C,/obj/item/weapon/twohanded/fireaxe) && C:wielded == 1))
if(blocked || operating) return
if(src.density)
spawn(0)
if(density)
open()
return
else //close it up again
spawn(0)
else //close it up again //fucking 10/10 commenting here einstein
close()
return
return
@@ -56,10 +53,8 @@
return
switch(nextstate)
if(OPEN)
spawn()
open()
if(CLOSED)
spawn()
close()
nextstate = null
return

View File

@@ -8,10 +8,10 @@
layer = 3.1
/obj/machinery/door/poddoor/shutters/attackby(obj/item/weapon/C as obj, mob/user as mob)
src.add_fingerprint(user)
add_fingerprint(user)
if(!(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/twohanded/fireaxe) && C:wielded == 1) ))
return
if(src.density && (stat & NOPOWER) && !src.operating)
if(density && (stat & NOPOWER) && !operating)
operating = 1
spawn(-1)
flick("shutterc0", src)
@@ -24,16 +24,16 @@
return
/obj/machinery/door/poddoor/shutters/open()
if (src.operating == 1) //doors can still open when emag-disabled
if(operating == 1) //doors can still open when emag-disabled
return
if(!ticker)
return 0
if(!operating) //in case of emag
operating = 1
flick("shutterc0", src)
src.icon_state = "shutter0"
icon_state = "shutter0"
sleep(10)
src.density = 0
density = 0
SetOpacity(0)
update_nearby_tiles()
@@ -45,16 +45,16 @@
return 1
/obj/machinery/door/poddoor/shutters/close()
if (src.operating)
if(operating)
return
src.operating = 1
operating = 1
flick("shutterc1", src)
src.icon_state = "shutter1"
src.density = 1
if(src.visible)
icon_state = "shutter1"
density = 1
if(visible)
SetOpacity(1)
update_nearby_tiles()
sleep(10)
src.operating = 0
operating = 0
return