Merge pull request #335 from Petethegoat/blastdoors

[MAP] Adds WJ's blastdoor sprites, recodes blast doors.
This commit is contained in:
Cael Aislinn
2013-04-09 19:03:50 -07:00
9 changed files with 5990 additions and 6020 deletions
+44 -37
View File
@@ -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 -17
View File
@@ -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'
+67 -51
View File
@@ -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 = ""
*/
+19 -54
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff