New Security Levels

This commit is contained in:
ZomgPonies
2013-11-26 03:22:12 -05:00
parent 1344bbcf98
commit 82104d9565
4 changed files with 80 additions and 11 deletions
+35 -7
View File
@@ -121,13 +121,10 @@
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_hatch
/obj/machinery/door/airlock/hatch/delta
name = "Delta Level Hatch"
icon = 'icons/obj/doors/Doorhatchele.dmi'
opacity = 1
/obj/machinery/door/airlock/hatch/gamma
name = "Gamma Level Hatch"
hackProof = 1
aiControlDisabled = 1
assembly_type = /obj/structure/door_assembly/door_assembly_hatch
/obj/machinery/door/airlock/maintenance_hatch
name = "Maintenance Hatch"
@@ -296,6 +293,11 @@
icon = 'icons/obj/doors/hightechsecurity.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity
/obj/machinery/door/airlock/highsecurity/red
name = "Secure Armory Airlock"
hackProof = 1
aiControlDisabled = 1
/*
About the new airlock wires panel:
* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires.
@@ -1072,7 +1074,7 @@ About the new airlock wires panel:
return
/obj/machinery/door/airlock/hatch/delta/attackby(C as obj, mob/user as mob)
/obj/machinery/door/airlock/hatch/gamma/attackby(C as obj, mob/user as mob)
//world << text("airlock attackby src [] obj [] mob []", src, C, user)
if(!istype(usr, /mob/living/silicon))
if(src.isElectrified())
@@ -1094,4 +1096,30 @@ About the new airlock wires panel:
src.update_icon()
return
else
return
return
/obj/machinery/door/airlock/highsecurity/red/attackby(C as obj, mob/user as mob)
//world << text("airlock attackby src [] obj [] mob []", src, C, user)
if(!istype(usr, /mob/living/silicon))
if(src.isElectrified())
if(src.shock(user, 75))
return
if(istype(C, /obj/item/device/detective_scanner) || istype(C, /obj/item/taperoll))
return
src.add_fingerprint(user)
if((istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(0,user))
if(frozen)
frozen = 0
if(!src.welded)
src.welded = 1
else
src.welded = null
src.update_icon()
return
else
return
@@ -14,6 +14,10 @@
level = SEC_LEVEL_BLUE
if("red")
level = SEC_LEVEL_RED
if("gamma")
level = SEC_LEVEL_GAMMA
if("epsiolon")
level = SEC_LEVEL_EPSILON
if("delta")
level = SEC_LEVEL_DELTA
@@ -48,7 +52,10 @@
world << "<font size=4 color='red'>Attention! Code red!</font>"
world << "<font color='red'>[config.alert_desc_red_downto]</font>"
security_level = SEC_LEVEL_RED
for(var/obj/machinery/door/airlock/highsecurity/red/R in machines)
if(R.z == 1)
R.locked = 0
R.update_icon()
/* - At the time of commit, setting status displays didn't work properly
var/obj/machinery/computer/communications/CC = locate(/obj/machinery/computer/communications,world)
if(CC)
@@ -59,6 +66,26 @@
FA.overlays = list()
FA.overlays += image('icons/obj/monitors.dmi', "overlay_red")
if(SEC_LEVEL_GAMMA)
world << "<font size=4 color='red'>Attention! GAMMA security level activated!</font>"
world << "<font color='red'>[config.alert_desc_red_upto]</font>"
if(security_level < SEC_LEVEL_RED)
for(var/obj/machinery/door/airlock/highsecurity/red/R in machines)
if(R.z == 1)
R.locked = 0
R.update_icon()
for(var/obj/machinery/door/airlock/hatch/gamma/H in machines)
if(H.z == 1)
H.open()
spawn(10)
H.locked = 1
H.update_icon()
security_level = SEC_LEVEL_GAMMA
if(SEC_LEVEL_EPSILON)
world << "<font size=4 color='red'>Attention! EPSILON security level activated!</font>"
world << "<font color='red'>[config.alert_desc_red_upto]</font>"
security_level = SEC_LEVEL_EPSILON
if(SEC_LEVEL_DELTA)
world << "<font size=4 color='red'>Attention! Delta security level reached!</font>"
world << "<font color='red'>[config.alert_desc_delta]</font>"
@@ -78,6 +105,10 @@
return "blue"
if(SEC_LEVEL_RED)
return "red"
if(SEC_LEVEL_GAMMA)
return "gamma"
if(SEC_LEVEL_EPSILON)
return "epsilon"
if(SEC_LEVEL_DELTA)
return "delta"
@@ -89,6 +120,10 @@
return "blue"
if(SEC_LEVEL_RED)
return "red"
if(SEC_LEVEL_GAMMA)
return "gamma"
if(SEC_LEVEL_EPSILON)
return "epsilon"
if(SEC_LEVEL_DELTA)
return "delta"
@@ -100,6 +135,10 @@
return SEC_LEVEL_BLUE
if("red")
return SEC_LEVEL_RED
if("gamma")
return SEC_LEVEL_GAMMA
if("epsilon")
return SEC_LEVEL_EPSILON
if("delta")
return SEC_LEVEL_DELTA
+3 -1
View File
@@ -473,7 +473,9 @@ var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons
#define SEC_LEVEL_GREEN 0
#define SEC_LEVEL_BLUE 1
#define SEC_LEVEL_RED 2
#define SEC_LEVEL_DELTA 3
#define SEC_LEVEL_GAMMA 3
#define SEC_LEVEL_EPSILON 4
#define SEC_LEVEL_DELTA 5
#define TRANSITIONEDGE 7 //Distance from edge to move to another z-level