ID-lock Theta equipment in indestructible crates. (#25660)

* ID-lock Theta equipment in indestructible crates.

* Update code/modules/awaymissions/mission_code/ruins/oldstation.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

* Update code/modules/power/cables/cable_coil.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

---------

Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
warriorstar-orion
2024-06-12 14:22:46 -04:00
committed by GitHub
parent c4cd57d7c8
commit 4697b01241
7 changed files with 141 additions and 61 deletions
@@ -594,17 +594,7 @@
/area/ruin/ancientstation/thetacorridor)
"bT" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate,
/obj/item/circular_saw,
/obj/item/retractor,
/obj/item/hemostat,
/obj/item/scalpel,
/obj/item/cautery,
/obj/item/FixOVein,
/obj/item/surgicaldrill,
/obj/item/bonegel,
/obj/item/bonesetter,
/obj/item/stack/medical/bruise_pack/advanced,
/obj/structure/closet/crate/secure/oldstation/surgery,
/turf/simulated/floor/plating,
/area/ruin/ancientstation/thetacorridor)
"bU" = (
@@ -1266,7 +1256,6 @@
"dL" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/recharger,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "blue"
@@ -1372,6 +1361,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/apc/off_station/empty_charge/directional/east,
/obj/structure/closet/crate/secure/oldstation/rechargers,
/turf/simulated/floor/plating,
/area/ruin/ancientstation/comm)
"dY" = (
@@ -1408,16 +1398,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/rnd)
"ec" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/computer/rdconsole/public,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/rnd)
"ed" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/r_n_d/destructive_analyzer,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/rnd)
"ee" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/mecha_part_fabricator,
@@ -1470,7 +1450,6 @@
/area/ruin/ancientstation/betanorth)
"el" = (
/obj/structure/table,
/obj/machinery/recharger,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
dir = 5;
@@ -1755,17 +1734,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/ruin/ancientstation/thetacorridor)
"eT" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/r_n_d/protolathe,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/rnd)
"eU" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/r_n_d/circuit_imprinter,
/obj/item/reagent_containers/dropper,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/rnd)
"eV" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -2022,7 +1990,7 @@
},
/obj/machinery/door/airlock/external{
name = "Engineering External Access";
req_one_access_txt = "271"
req_one_access_txt = "301"
},
/turf/simulated/floor/plating,
/area/ruin/ancientstation/engi)
@@ -2431,6 +2399,7 @@
pixel_x = 2;
pixel_y = -2
},
/obj/item/reagent_containers/dropper,
/turf/simulated/floor/plasteel,
/area/ruin/ancientstation/rnd)
"gh" = (
@@ -3077,7 +3046,7 @@
icon_state = "4-8"
},
/obj/machinery/door/airlock/maintenance_hatch{
req_one_access_txt = "271"
req_one_access_txt = "301"
},
/turf/simulated/floor/plating,
/area/ruin/ancientstation/thetacorridor)
@@ -3155,7 +3124,7 @@
},
/obj/machinery/door/airlock/external{
name = "Engineering External Access";
req_one_access_txt = "271"
req_one_access_txt = "301"
},
/turf/simulated/floor/plating/airless,
/area/ruin/ancientstation/engi)
@@ -3873,7 +3842,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/highsecurity{
name = "Prototype Laboratory";
req_access_txt = "271"
req_access_txt = "301"
},
/turf/simulated/floor/plasteel{
icon_state = "whitehall"
@@ -3884,7 +3853,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/highsecurity{
name = "Prototype Laboratory";
req_access_txt = "271"
req_access_txt = "301"
},
/turf/simulated/floor/plasteel{
icon_state = "whitehall"
@@ -4343,7 +4312,9 @@
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/proto)
"kA" = (
/obj/machinery/computer/nonfunctional,
/obj/machinery/computer/nonfunctional{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel/white,
/area/ruin/ancientstation/proto)
@@ -4796,13 +4767,8 @@
/obj/machinery/alarm/all_access/directional/west{
report_danger_level = 0
},
/obj/structure/rack,
/obj/item/gun/energy/laser/retro/old{
pixel_x = -3;
pixel_y = -3
},
/obj/item/gun/energy/laser/retro/old,
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/secure/oldstation/security,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "red"
@@ -4893,17 +4859,20 @@
/turf/simulated/floor/plasteel,
/area/ruin/ancientstation/thetacorridor)
"lL" = (
/obj/structure/rack,
/obj/item/clothing/suit/armor/vest/old,
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
/obj/item/deck/cards{
pixel_y = 5
},
/turf/simulated/floor/plasteel{
icon_state = "red"
},
/area/ruin/ancientstation/sec)
"lM" = (
/obj/structure/rack,
/obj/item/clothing/head/helmet/old,
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair{
dir = 8
},
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "red"
@@ -4959,6 +4928,11 @@
icon_state = "red"
},
/area/ruin/ancientstation/sec)
"JF" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/secure/oldstation/research,
/turf/simulated/floor/plasteel,
/area/ruin/ancientstation/rnd)
"Lu" = (
/obj/structure/transit_tube/horizontal{
dir = 4
@@ -7989,7 +7963,7 @@ eb
ex
dE
fm
gf
JF
gy
dG
hg
@@ -8033,9 +8007,9 @@ cp
cN
dj
dE
ec
dE
eT
dE
dE
dE
gg
gy
@@ -8081,9 +8055,9 @@ ev
fz
dj
dE
ed
dE
eU
dE
dE
dE
gh
gy
+1
View File
@@ -110,3 +110,4 @@
//Ghost roles
#define ACCESS_FREE_GOLEMS 300
#define ACCESS_THETA_STATION 301
@@ -159,6 +159,9 @@ GLOBAL_LIST_INIT(metal_recipes, list(
/obj/item/stack/sheet/metal/cyborg/drone
energy_type = /datum/robot_storage/energy/metal
/obj/item/stack/sheet/metal/ten
amount = 10
/obj/item/stack/sheet/metal/fifty
amount = 50
@@ -216,16 +216,18 @@
/obj/structure/closet/crate/secure/proc/togglelock(mob/user)
if(opened)
to_chat(user, "<span class='notice'>Close the crate first.</span>")
return
return FALSE
if(broken)
to_chat(user, "<span class='warning'>The crate appears to be broken.</span>")
return
return FALSE
if(allowed(user))
locked = !locked
visible_message("<span class='notice'>The crate has been [locked ? null : "un"]locked by [user].</span>")
update_icon()
return TRUE
else
to_chat(user, "<span class='notice'>Access Denied.</span>")
return FALSE
/obj/structure/closet/crate/secure/AltClick(mob/user)
if(Adjacent(user) && !opened)
@@ -15,7 +15,7 @@
desc = "A perfectly retrograde identification card. Looks like it could use some flavor."
icon = 'icons/obj/card.dmi'
icon_state = "retro"
access = list(ACCESS_AWAY01)
access = list(ACCESS_THETA_STATION)
/obj/item/card/id/away/old/sec
name = "Security Officer ID"
@@ -329,6 +329,103 @@
name = "bromine bottle"
list_reagents = list("bromine" = 30)
/// Secure Crates: Access locked to Theta crew. Cannot be moved, destroyed,
/// emagged or EMPed because gamers can't be trusted not to game.
/obj/structure/closet/crate/secure/oldstation
anchored = TRUE
resistance_flags = INDESTRUCTIBLE
req_access = list(ACCESS_THETA_STATION)
/// Allow Theta crew to move the crates once unlocked so they don't get in the way
/obj/structure/closet/crate/secure/oldstation/togglelock(mob/user)
if(!..())
return
anchored = locked
if(anchored)
to_chat(user, "<span class='info'>The crate reanchors itself to the ground.</span>")
else
to_chat(user, "<span class='info'>The crate unanchors itself from the ground.</span>")
/obj/structure/closet/crate/secure/oldstation/emag_act(mob/user)
// var/can_be_emaged works in mysterious ways so screw it
return
/obj/structure/closet/crate/secure/oldstation/emp_act(severity)
return
/obj/structure/closet/crate/secure/oldstation/security
name = "security equipment crate"
desc = "A crate containing various security equipment."
icon_state = "secgearcrate"
icon_opened = "secgearcrate_open"
icon_closed = "secgearcrate"
/obj/structure/closet/crate/secure/oldstation/security/populate_contents()
new /obj/item/gun/energy/laser/retro/old(src)
new /obj/item/gun/energy/laser/retro/old(src)
new /obj/item/clothing/suit/armor/vest/old(src)
new /obj/item/clothing/head/helmet/old(src)
/obj/structure/closet/crate/secure/oldstation/rechargers
name = "recharger crate"
desc = "A crate containing the components to build weapon rechargers."
/obj/structure/closet/crate/secure/oldstation/rechargers/populate_contents()
new /obj/item/circuitboard/recharger(src)
new /obj/item/circuitboard/recharger(src)
new /obj/item/stock_parts/capacitor(src)
new /obj/item/stock_parts/capacitor(src)
new /obj/item/stack/cable_coil/ten(src)
new /obj/item/stack/sheet/metal/ten(src)
new /obj/item/screwdriver(src)
/obj/structure/closet/crate/secure/oldstation/research
name = "research crate"
desc = "A crate containing the components necessary to perform research."
icon_state = "scisecurecrate"
icon_opened = "scisecurecrate_open"
icon_closed = "scisecurecrate"
/obj/structure/closet/crate/secure/oldstation/research/populate_contents()
new /obj/item/circuitboard/circuit_imprinter(src)
new /obj/item/circuitboard/destructive_analyzer(src)
new /obj/item/circuitboard/protolathe(src)
new /obj/item/circuitboard/rdconsole/public(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/stock_parts/manipulator(src)
new /obj/item/stock_parts/manipulator(src)
new /obj/item/stock_parts/manipulator(src)
new /obj/item/stock_parts/manipulator(src)
new /obj/item/stock_parts/matter_bin(src)
new /obj/item/stock_parts/matter_bin(src)
new /obj/item/stock_parts/matter_bin(src)
new /obj/item/stock_parts/micro_laser(src)
new /obj/item/stock_parts/scanning_module(src)
/obj/structure/closet/crate/secure/oldstation/surgery
name = "surgery crate"
desc = "A crate containing surgical tools and equipment."
icon_state = "medicalsecurecrate"
icon_opened = "medicalsecurecrate_open"
icon_closed = "medicalsecurecrate"
/obj/structure/closet/crate/secure/oldstation/surgery/populate_contents()
new /obj/item/circular_saw(src)
new /obj/item/retractor(src)
new /obj/item/hemostat(src)
new /obj/item/scalpel(src)
new /obj/item/cautery(src)
new /obj/item/FixOVein(src)
new /obj/item/surgicaldrill(src)
new /obj/item/bonegel(src)
new /obj/item/bonesetter(src)
new /obj/item/stack/medical/bruise_pack/advanced(src)
//////////////////////////////
// MARK: ENGINES
//////////////////////////////
+6 -3
View File
@@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
usesound = 'sound/items/deconstruct.ogg'
toolspeed = 1
/obj/item/stack/cable_coil/New(location, length = MAXCOIL, paramcolor = null)
/obj/item/stack/cable_coil/New(location, length, paramcolor)
. = ..()
if(paramcolor)
color = paramcolor
@@ -351,8 +351,11 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
return color
/obj/item/stack/cable_coil/five/New(loc, new_amount = 5, merge = TRUE, paramcolor = null)
..()
/obj/item/stack/cable_coil/five
amount = 5
/obj/item/stack/cable_coil/ten
amount = 10
/obj/item/stack/cable_coil/yellow
color = COLOR_YELLOW
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB