mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 22:47:59 +01:00
New Security Levels
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user