mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
Merge pull request #335 from Petethegoat/blastdoors
[MAP] Adds WJ's blastdoor sprites, recodes blast doors.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
/*
|
||||
New methods:
|
||||
pulse - sends a pulse into a wire for hacking purposes
|
||||
@@ -20,7 +19,7 @@
|
||||
|
||||
|
||||
/obj/machinery/door/airlock
|
||||
name = "Airlock"
|
||||
name = "airlock"
|
||||
icon = 'icons/obj/doors/Doorint.dmi'
|
||||
icon_state = "door_closed"
|
||||
power_channel = ENVIRON
|
||||
@@ -40,133 +39,127 @@
|
||||
var/obj/machinery/door/airlock/closeOther = null
|
||||
var/closeOtherId = null
|
||||
var/lockdownbyai = 0
|
||||
autoclose = 1
|
||||
var/doortype = 0
|
||||
var/justzap = 0
|
||||
var/safe = 1
|
||||
normalspeed = 1
|
||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||
var/hasShocked = 0 //Prevents multiple shocks from happening
|
||||
var/autoclose = 1
|
||||
|
||||
/obj/machinery/door/airlock/command
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doorcom.dmi'
|
||||
doortype = 1
|
||||
|
||||
/obj/machinery/door/airlock/security
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doorsec.dmi'
|
||||
doortype = 2
|
||||
|
||||
/obj/machinery/door/airlock/engineering
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Dooreng.dmi'
|
||||
doortype = 3
|
||||
|
||||
/obj/machinery/door/airlock/medical
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doormed.dmi'
|
||||
doortype = 4
|
||||
|
||||
/obj/machinery/door/airlock/maintenance
|
||||
name = "Maintenance Access"
|
||||
name = "maintenance access"
|
||||
icon = 'icons/obj/doors/Doormaint.dmi'
|
||||
doortype = 5
|
||||
|
||||
/obj/machinery/door/airlock/external
|
||||
name = "External Airlock"
|
||||
name = "external airlock"
|
||||
icon = 'icons/obj/doors/Doorext.dmi'
|
||||
doortype = 6
|
||||
|
||||
/obj/machinery/door/airlock/glass
|
||||
name = "Glass Airlock"
|
||||
name = "glass airlock"
|
||||
icon = 'icons/obj/doors/Doorglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 7
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/centcom
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doorele.dmi'
|
||||
opacity = 0
|
||||
doortype = 8
|
||||
|
||||
/obj/machinery/door/airlock/vault
|
||||
name = "Vault"
|
||||
name = "vault"
|
||||
icon = 'icons/obj/doors/vault.dmi'
|
||||
opacity = 1
|
||||
doortype = 9
|
||||
|
||||
/obj/machinery/door/airlock/glass_large
|
||||
name = "Glass Airlock"
|
||||
name = "glass airlock"
|
||||
icon = 'icons/obj/doors/Door2x1glassfull.dmi'
|
||||
opacity = 0
|
||||
doortype = 10
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/freezer
|
||||
name = "Freezer Airlock"
|
||||
name = "freezer airlock"
|
||||
icon = 'icons/obj/doors/Doorfreezer.dmi'
|
||||
opacity = 1
|
||||
doortype = 11
|
||||
|
||||
/obj/machinery/door/airlock/hatch
|
||||
name = "Airtight Hatch"
|
||||
name = "airtight hatch"
|
||||
icon = 'icons/obj/doors/Doorhatchele.dmi'
|
||||
opacity = 1
|
||||
doortype = 12
|
||||
|
||||
/obj/machinery/door/airlock/maintenance_hatch
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorhatchmaint2.dmi'
|
||||
opacity = 1
|
||||
doortype = 13
|
||||
|
||||
/obj/machinery/door/airlock/glass_command
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorcomglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 14
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_engineering
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorengglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 15
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_security
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorsecglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 16
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_medical
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doormedglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 17
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/mining
|
||||
name = "Mining Airlock"
|
||||
name = "mining airlock"
|
||||
icon = 'icons/obj/doors/Doormining.dmi'
|
||||
doortype = 18
|
||||
|
||||
/obj/machinery/door/airlock/atmos
|
||||
name = "Atmospherics Airlock"
|
||||
name = "atmospherics airlock"
|
||||
icon = 'icons/obj/doors/Dooratmo.dmi'
|
||||
doortype = 19
|
||||
|
||||
/obj/machinery/door/airlock/research
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doorresearch.dmi'
|
||||
doortype = 20
|
||||
|
||||
/obj/machinery/door/airlock/glass_research
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorresearchglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 21
|
||||
@@ -174,39 +167,39 @@
|
||||
heat_proof = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_mining
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Doorminingglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 22
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_atmos
|
||||
name = "Maintenance Hatch"
|
||||
name = "maintenance hatch"
|
||||
icon = 'icons/obj/doors/Dooratmoglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 23
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/gold
|
||||
name = "Gold Airlock"
|
||||
name = "gold airlock"
|
||||
icon = 'icons/obj/doors/Doorgold.dmi'
|
||||
var/mineral = "gold"
|
||||
doortype = 24
|
||||
|
||||
/obj/machinery/door/airlock/silver
|
||||
name = "Silver Airlock"
|
||||
name = "silver airlock"
|
||||
icon = 'icons/obj/doors/Doorsilver.dmi'
|
||||
var/mineral = "silver"
|
||||
doortype = 25
|
||||
|
||||
/obj/machinery/door/airlock/diamond
|
||||
name = "Diamond Airlock"
|
||||
name = "diamond airlock"
|
||||
icon = 'icons/obj/doors/Doordiamond.dmi'
|
||||
var/mineral = "diamond"
|
||||
doortype = 26
|
||||
|
||||
/obj/machinery/door/airlock/uranium
|
||||
name = "Uranium Airlock"
|
||||
name = "uranium airlock"
|
||||
desc = "And they said I was crazy."
|
||||
icon = 'icons/obj/doors/Dooruranium.dmi'
|
||||
var/mineral = "uranium"
|
||||
@@ -226,7 +219,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/door/airlock/plasma
|
||||
name = "Plasma Airlock"
|
||||
name = "plasma airlock"
|
||||
desc = "No way this can end badly."
|
||||
icon = 'icons/obj/doors/Doorplasma.dmi'
|
||||
var/mineral = "plasma"
|
||||
@@ -262,32 +255,31 @@
|
||||
del (src)
|
||||
|
||||
/obj/machinery/door/airlock/clown
|
||||
name = "Bananium Airlock"
|
||||
name = "bananium airlock"
|
||||
desc = "Honkhonkhonk"
|
||||
icon = 'icons/obj/doors/Doorbananium.dmi'
|
||||
var/mineral = "clown"
|
||||
doortype = 29
|
||||
|
||||
/obj/machinery/door/airlock/sandstone
|
||||
name = "Sandstone Airlock"
|
||||
name = "sandstone airlock"
|
||||
icon = 'icons/obj/doors/Doorsand.dmi'
|
||||
var/mineral = "sandstone"
|
||||
doortype = 30
|
||||
|
||||
/obj/machinery/door/airlock/science
|
||||
name = "Airlock"
|
||||
icon = 'icons/obj/doors/Doorsci.dmi'
|
||||
doortype = 31
|
||||
|
||||
/obj/machinery/door/airlock/glass_science
|
||||
name = "Glass Airlocks"
|
||||
name = "glass airlock"
|
||||
icon = 'icons/obj/doors/Doorsciglass.dmi'
|
||||
opacity = 0
|
||||
doortype = 32
|
||||
glass = 1
|
||||
|
||||
/obj/machinery/door/airlock/highsecurity
|
||||
name = "High Tech Security Airlock"
|
||||
name = "high tech security airlock"
|
||||
icon = 'icons/obj/doors/hightechsecurity.dmi'
|
||||
doortype = 33
|
||||
|
||||
@@ -986,8 +978,17 @@ About the new airlock wires panel:
|
||||
playsound(src.loc, 'sound/machines/airlock.ogg', 30, 1)
|
||||
if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density)
|
||||
src.closeOther.close()
|
||||
|
||||
if(autoclose && normalspeed)
|
||||
spawn(150)
|
||||
autoclose()
|
||||
else if(autoclose && !normalspeed)
|
||||
spawn(5)
|
||||
autoclose()
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/close(var/forced=0)
|
||||
if(operating || welded || locked)
|
||||
return
|
||||
@@ -1023,8 +1024,9 @@ About the new airlock wires panel:
|
||||
var/obj/structure/window/killthis = (locate(/obj/structure/window) in get_turf(src))
|
||||
if(killthis)
|
||||
killthis.ex_act(2)//Smashin windows
|
||||
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/New()
|
||||
..()
|
||||
@@ -1042,3 +1044,8 @@ About the new airlock wires panel:
|
||||
src.open()
|
||||
src.locked = 1
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/proc/autoclose()
|
||||
if(!density && !operating && !locked && !welded && autoclose)
|
||||
close()
|
||||
@@ -1,7 +1,5 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
/obj/machinery/door
|
||||
name = "Door"
|
||||
name = "door"
|
||||
desc = "It opens and closes."
|
||||
icon = 'icons/obj/doors/Doorint.dmi'
|
||||
icon_state = "door1"
|
||||
@@ -14,7 +12,6 @@
|
||||
var/visible = 1
|
||||
var/p_open = 0
|
||||
var/operating = 0
|
||||
var/autoclose = 0
|
||||
var/glass = 0
|
||||
var/normalspeed = 1
|
||||
var/heat_proof = 0 // For glass airlocks/opacity firedoors
|
||||
@@ -204,13 +201,6 @@
|
||||
|
||||
if(operating) operating = 0
|
||||
|
||||
if(autoclose && normalspeed)
|
||||
spawn(150)
|
||||
autoclose()
|
||||
if(autoclose && !normalspeed)
|
||||
spawn(5)
|
||||
autoclose()
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -286,11 +276,5 @@
|
||||
else
|
||||
source.thermal_conductivity = initial(source.thermal_conductivity)
|
||||
|
||||
/obj/machinery/door/proc/autoclose()
|
||||
var/obj/machinery/door/airlock/A = src
|
||||
if(!A.density && !A.operating && !A.locked && !A.welded && A.autoclose)
|
||||
close()
|
||||
return
|
||||
|
||||
/obj/machinery/door/morgue
|
||||
icon = 'icons/obj/doors/doormorgue.dmi'
|
||||
@@ -1,67 +1,81 @@
|
||||
/obj/machinery/door/poddoor
|
||||
name = "Podlock"
|
||||
desc = "Why it no open!!!"
|
||||
icon = 'icons/obj/doors/rapid_pdoor.dmi'
|
||||
icon_state = "pdoor1"
|
||||
var/id = 1.0
|
||||
name = "blast door"
|
||||
desc = "A heavy duty blast door that opens mechanically."
|
||||
icon = 'icons/obj/doors/blastdoor.dmi'
|
||||
icon_state = "closed"
|
||||
explosion_resistance = 25
|
||||
var/id = 1
|
||||
|
||||
/obj/machinery/door/poddoor/preopen
|
||||
icon_state = "open"
|
||||
density = 0
|
||||
opacity = 0
|
||||
|
||||
|
||||
/obj/machinery/door/poddoor/Bumped(atom/AM)
|
||||
if(!density)
|
||||
return ..()
|
||||
if(density)
|
||||
return 0
|
||||
else
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/poddoor/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if (!( istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/twohanded/fireaxe) && C:wielded == 1) ))
|
||||
|
||||
/obj/machinery/door/poddoor/attackby(obj/item/I, mob/user)
|
||||
add_fingerprint(user)
|
||||
|
||||
if(!istype(I, /obj/item/weapon/crowbar))
|
||||
return
|
||||
if ((src.density && (stat & NOPOWER) && !( src.operating )))
|
||||
spawn( 0 )
|
||||
src.operating = 1
|
||||
flick("pdoorc0", src)
|
||||
src.icon_state = "pdoor0"
|
||||
src.SetOpacity(0)
|
||||
sleep(15)
|
||||
src.density = 0
|
||||
src.operating = 0
|
||||
if(istype(I, /obj/item/weapon/twohanded/fireaxe))
|
||||
var/obj/item/weapon/twohanded/fireaxe/F = I
|
||||
if(!F.wielded)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/machinery/door/poddoor/open()
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
if(stat & NOPOWER)
|
||||
open(1) //ignore the usual power requirement.
|
||||
|
||||
|
||||
/obj/machinery/door/poddoor/open(ignorepower = 0)
|
||||
if(operating)
|
||||
return
|
||||
if(!density)
|
||||
return
|
||||
if(!ignorepower && (stat & NOPOWER))
|
||||
return
|
||||
if (!ticker)
|
||||
return 0
|
||||
if(!src.operating) //in case of emag
|
||||
src.operating = 1
|
||||
flick("pdoorc0", src)
|
||||
src.icon_state = "pdoor0"
|
||||
src.SetOpacity(0)
|
||||
sleep(10)
|
||||
src.density = 0
|
||||
update_nearby_tiles()
|
||||
|
||||
if(operating == 1) //emag again
|
||||
src.operating = 0
|
||||
if(autoclose)
|
||||
spawn(150)
|
||||
autoclose()
|
||||
operating = 1
|
||||
flick("opening", src)
|
||||
icon_state = "open"
|
||||
SetOpacity(0)
|
||||
sleep(10)
|
||||
|
||||
density = 0
|
||||
explosion_resistance = 0
|
||||
update_nearby_tiles()
|
||||
operating = 0
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/poddoor/close()
|
||||
if (src.operating)
|
||||
return
|
||||
src.operating = 1
|
||||
flick("pdoorc1", src)
|
||||
src.icon_state = "pdoor1"
|
||||
src.density = 1
|
||||
src.SetOpacity(initial(opacity))
|
||||
update_nearby_tiles()
|
||||
|
||||
/obj/machinery/door/poddoor/close(ignorepower = 0)
|
||||
if(operating)
|
||||
return
|
||||
if(density)
|
||||
return
|
||||
if(!ignorepower && (stat & NOPOWER))
|
||||
return
|
||||
|
||||
operating = 1
|
||||
flick("closing", src)
|
||||
icon_state = "closed"
|
||||
density = 1
|
||||
explosion_resistance = initial(explosion_resistance)
|
||||
SetOpacity(1)
|
||||
update_nearby_tiles()
|
||||
sleep(10)
|
||||
src.operating = 0
|
||||
return
|
||||
|
||||
operating = 0
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
/obj/machinery/door/poddoor/two_tile_hor/open()
|
||||
@@ -370,7 +384,9 @@
|
||||
del f3
|
||||
del f4
|
||||
..()
|
||||
*/
|
||||
|
||||
/obj/machinery/door/poddoor/filler_object
|
||||
name = ""
|
||||
icon_state = ""
|
||||
icon_state = ""
|
||||
|
||||
*/
|
||||
@@ -1,61 +1,26 @@
|
||||
/obj/machinery/door/poddoor/shutters
|
||||
name = "Shutters"
|
||||
icon = 'icons/obj/doors/rapid_pdoor.dmi'
|
||||
icon_state = "shutter1"
|
||||
power_channel = ENVIRON
|
||||
name = "shutters"
|
||||
icon = 'icons/obj/doors/shutters.dmi'
|
||||
layer = 3.1
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/preopen
|
||||
icon_state = "open"
|
||||
density = 0
|
||||
opacity = 0
|
||||
|
||||
|
||||
//shutters look like ass with things on top of them.
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/New()
|
||||
..()
|
||||
layer = 3.1 //to handle /obj/machinery/door/New() resetting the layer.
|
||||
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/open(ignorepower = 0)
|
||||
..()
|
||||
layer = 3.1
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
||||
add_fingerprint(user)
|
||||
if(!(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/twohanded/fireaxe) && C:wielded == 1) ))
|
||||
return
|
||||
if(density && (stat & NOPOWER) && !operating)
|
||||
operating = 1
|
||||
spawn(-1)
|
||||
flick("shutterc0", src)
|
||||
icon_state = "shutter0"
|
||||
sleep(15)
|
||||
density = 0
|
||||
SetOpacity(0)
|
||||
operating = 0
|
||||
return
|
||||
return
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/open()
|
||||
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)
|
||||
icon_state = "shutter0"
|
||||
sleep(10)
|
||||
density = 0
|
||||
SetOpacity(0)
|
||||
update_nearby_tiles()
|
||||
|
||||
if(operating == 1) //emag again
|
||||
operating = 0
|
||||
if(autoclose)
|
||||
spawn(150)
|
||||
autoclose() //TODO: note to self: look into this ~Carn
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/close()
|
||||
if(operating)
|
||||
return
|
||||
operating = 1
|
||||
flick("shutterc1", src)
|
||||
icon_state = "shutter1"
|
||||
density = 1
|
||||
if(visible)
|
||||
SetOpacity(1)
|
||||
update_nearby_tiles()
|
||||
|
||||
sleep(10)
|
||||
operating = 0
|
||||
return
|
||||
/obj/machinery/door/poddoor/shutters/close(ignorepower = 0)
|
||||
..()
|
||||
layer = 3.1
|
||||
@@ -1,5 +1,4 @@
|
||||
/obj/machinery/door/unpowered
|
||||
autoclose = 0
|
||||
var/locked = 0
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
+5859
-5860
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user