Merge pull request #953 from CHOMPStationBot/upstream-merge-9382

[MIRROR] Add tintable doors
This commit is contained in:
Razgriz
2020-11-30 23:57:15 -07:00
committed by GitHub
7 changed files with 59 additions and 0 deletions

View File

@@ -20,3 +20,11 @@
req_one_access = list()
normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside.
hackProof = TRUE //VOREStation Edit - No borgos
/obj/machinery/door/airlock/glass_security/polarized
name = "Electrochromic Security Airlock"
icon_tinted = 'icons/obj/doors/Doorsectinted_vr.dmi'
/obj/machinery/door/airlock/glass_medical/polarized
name = "Electrochromic Medical Airlock"
icon_tinted = 'icons/obj/doors/doormedtinted_vr.dmi'

View File

@@ -4,6 +4,9 @@
/obj/machinery/door
var/reinforcing = 0 //vorestation addition
var/tintable = 0
var/icon_tinted
var/id_tint
/obj/machinery/door/firedoor
heat_proof = 1
@@ -102,4 +105,29 @@
/obj/machinery/door/blast/regular/
heat_proof = 1 //just so repairing them doesn't try to fireproof something that never takes fire damage
/obj/machinery/door/proc/toggle()
if(glass)
icon = icon_tinted
glass = 0
if(!operating)
set_opacity(1)
else
icon = initial(icon)
glass = 1
if(!operating)
set_opacity(0)
/obj/machinery/button/windowtint/doortint
name = "door tint control"
desc = "A remote control switch for polarized glass doors."
/obj/machinery/button/windowtint/doortint/toggle_tint()
use_power(5)
active = !active
update_icon()
for(var/obj/machinery/door/D in range(src,range))
if(D.icon_tinted && (D.id_tint == src.id || !D.id_tint))
spawn(0)
D.toggle()
return

View File

@@ -0,0 +1,22 @@
/obj/machinery/door/airlock/multi_tile/glass/polarized
name = "Electrochromic Glass Airlock"
icon_tinted = 'icons/obj/doors/Door2x1tinted_vr.dmi'
/obj/machinery/door/airlock/multi_tile/glass/polarized/New()
..()
create_fillers()
/obj/machinery/door/airlock/multi_tile/glass/polarized/toggle()
. = ..()
if(!operating)
if(filler1)
filler1.set_opacity(opacity)
if(filler2)
filler2.set_opacity(opacity)
/obj/machinery/door/airlock/multi_tile/glass/polarized/close()
. = ..()
if(filler1)
filler1.set_opacity(!glass)
if(filler2)
filler2.set_opacity(!glass)

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -940,6 +940,7 @@
#include "code\game\machinery\doors\firedoor_ch.dm"
#include "code\game\machinery\doors\firedoor_vr.dm"
#include "code\game\machinery\doors\multi_tile.dm"
#include "code\game\machinery\doors\multi_tile_vr.dm"
#include "code\game\machinery\doors\unpowered.dm"
#include "code\game\machinery\doors\windowdoor.dm"
#include "code\game\machinery\embedded_controller\airlock_controllers.dm"