Big Fat Emission PR (#18124)

* amogus

* Revert "amogus"

This reverts commit ebaa99c77b.

* Part 1

* rest of the airlocks

holy shit that took a long time

* part 2

* part 3

finale

* conflict resolution

* fixes warnings

* fixes paneloen airlock emissives

* adds back changes from #18145

* #18085 sprites

* SteelSlayer Review

readded process in status_display, idk why I removed it, it broke some functionality

* future proofing firedoors

Talked with the contributor who added emissive appearances to the codebase. As of now they wont block them unless they spawn as closed, but with future PR merges this code will work.

* solar panel PR conflict resolve

* pain

* small fix

* farie82 suggestions

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* farie82 suggestions part 2

* farie82 suggestions part 3

* finalle

pog champ ers 2000

* farie82 suggestions the sequel

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* SteelSlayer Suggestions

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
Kugamo
2022-07-23 11:31:20 -05:00
committed by GitHub
co-authored by Farie82 SteelSlayer
parent ad7d3b443f
commit 38f335e8b9
58 changed files with 622 additions and 199 deletions
@@ -7,6 +7,7 @@
w_class = WEIGHT_CLASS_BULKY
canhear_range = 2
flags = CONDUCT
blocks_emissive = FALSE
var/circuitry_installed = 1
var/buildstage = 0
var/custom_name
@@ -64,7 +65,7 @@
b_stat = TRUE
on = FALSE
GLOB.global_intercoms.Add(src)
update_icon(UPDATE_ICON_STATE)
update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS)
/obj/item/radio/intercom/Initialize()
. = ..()
@@ -205,7 +206,7 @@
on = FALSE
b_stat = TRUE
buildstage = 1
update_icon(UPDATE_ICON_STATE)
update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS)
update_operating_status(FALSE)
/obj/item/radio/intercom/welder_act(mob/user, obj/item/I)
@@ -226,6 +227,13 @@
else
icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]"
/obj/item/radio/intercom/update_overlays()
. = ..()
underlays.Cut()
if(on && buildstage == 3)
underlays += emissive_appearance(icon, "intercom_lightmask")
/obj/item/radio/intercom/proc/update_operating_status(on = TRUE)
var/area/current_area = get_area(src)
if(!current_area)
@@ -247,9 +255,11 @@
var/area/current_area = get_area(src)
if(!current_area)
on = FALSE
set_light(0)
else
on = current_area.powered(EQUIP) // set "on" to the equipment power status of our area.
update_icon(UPDATE_ICON_STATE)
set_light(1, LIGHTING_MINIMUM_POWER)
update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS)
/obj/item/intercom_electronics
name = "intercom electronics"