Bar Remodel; Control Hub; and Idris Smart Switch (#21437)

This PR does the following:
1. Creates a control hub variant to eliminate the need for using
multiple buttons (mostly so the bar wouldn't have like 5 of them, and i
could make it prettier, but it's extendable for other button
types/locations).
2. Creates a light switch variant which controls the color and
brightness of the lights in the area it's placed in.
3. Creatures a secure safe variant which relies on an ID, instead of an
access code.
4. Remodels the Bar

###IMAGES/VIDEO
<details>
**<summary>Control Hub/Idris Smart Switch</summary>**


https://github.com/user-attachments/assets/8b16698a-df50-444e-8428-d85ac07ddbbf
</details>

<details>
<summary> Bar Remodel (Final as of Oct. 17, 2025) </summary>
<img width="652" height="649" alt="finalbar1"
src="https://github.com/user-attachments/assets/3f8a9a47-ebb6-447d-906a-695dd3f200ce"
/>
<img width="977" height="952" alt="finalbar2"
src="https://github.com/user-attachments/assets/f09e48a3-8d3c-4922-9e2b-0e65f5ac2540"
/>
<img width="590" height="548" alt="finalbar3"
src="https://github.com/user-attachments/assets/923e0763-fe6c-4428-9556-9d98b869327b"
/>
<img width="655" height="596" alt="finalbar4"
src="https://github.com/user-attachments/assets/13ce66af-6e6e-4b93-b9b3-b21d5290d0f8"
/>
<img width="499" height="465" alt="finalbar5"
src="https://github.com/user-attachments/assets/98d54f51-1422-4a50-9806-aa9d20ee112e"
/>
<img width="727" height="482" alt="finalbar6"
src="https://github.com/user-attachments/assets/b16c12bf-91e1-4668-930b-db2fd0dbaf31"
/>
<img width="692" height="638" alt="finalbar7"
src="https://github.com/user-attachments/assets/c994ea1c-d46d-4988-b5d8-5ac465b4bee9"
/>
<img width="432" height="877" alt="finalbar8"
src="https://github.com/user-attachments/assets/765a451c-e88a-4f19-a40c-716aa376d7c2"
/>

</details>
This commit is contained in:
Mnemeory
2025-10-19 10:19:06 +00:00
committed by GitHub
parent 926657e592
commit 5a1bd08d69
10 changed files with 1375 additions and 834 deletions
@@ -196,3 +196,37 @@ ABSTRACT_TYPE(/obj/item/storage/secure)
..()
//new /obj/item/storage/lockbox/clusterbang(src) This item is currently broken... and probably shouldnt exist to begin with (even though it's cool)
*/
// -----------------------------
// ID-Access Secure Safe
// -----------------------------
/obj/item/storage/secure/safe/id_lock
name = "ID-locked safe"
desc = "A secure safe with an ID card scanner instead of a combination lock."
/obj/item/storage/secure/safe/id_lock/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/card/id))
if(!allowed(user))
to_chat(user, SPAN_WARNING("Access denied."))
return
if(locked)
playsound(src, 'sound/machines/boop1.ogg', 30, 1)
to_chat(user, SPAN_NOTICE("\The [src] beeps and unlocks."))
locked = 0
ClearOverlays()
AddOverlays(icon_opened)
else
playsound(src, 'sound/machines/boop2.ogg', 30, 1)
to_chat(user, SPAN_NOTICE("\The [src] beeps and locks."))
locked = 1
ClearOverlays()
close(user)
return
return ..()
/obj/item/storage/secure/safe/id_lock/attack_self(mob/user)
if(!locked)
open(user)
else
to_chat(user, SPAN_WARNING("\The [src] is locked. Swipe an authorized ID card to unlock it."))
+14
View File
@@ -108,3 +108,17 @@
/obj/structure/curtain/open/shower/security
color = "#AA0000"
/obj/structure/curtain/open/bar
name = "curtain"
color = "#792f27"
icon_state = "open"
/obj/structure/curtain/open/bar/toggle()
src.set_opacity(!src.opacity)
if(opacity)
icon_state = "closed"
layer = ABOVE_ABOVE_HUMAN_LAYER
else
icon_state = "open"
layer = ABOVE_ABOVE_HUMAN_LAYER
+4
View File
@@ -457,6 +457,10 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
return FALSE
return TRUE
/obj/structure/rod_railing/bar
layer = ABOVE_ABOVE_HUMAN_LAYER
/obj/structure/dam
name = "concrete dam"
desc = "A hulking mass of concrete meant to hold in a large reservoir of water from passing downwards."